[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#629862: FTBFS: tst-writev fails on amd64 due to changes in kernels >= 2.6.37



Package: eglibc
Version: FTBFS with kernels >= 2.6.37 (error in tst-writev)
Severity: serious
Justification: fails to build from source

Tested with (self-built) kernels 2.6.38.6 and 2.6.39.1: tst-writev fails with
Error 1. It succeeds on 2.6.36.4.

On closer inspection the writev() call in tst-writev returns a value that is
4096 smaller than expected.
strace howeer shows that the iovec parameter to the actual syscall is as
expected.

IMHO this result is correct (and tst-writev must be modified or scrapped):
starting with 2.6.37 the Linux kernel "clamps" the maximum amount
of what can be written in a single syscall to MAX_RW_COUNT = INT_MAX &
PAGE_CACHE_MASK.
Cf. the changes to rw_copy_check_uvector() in fs/read_write.c in 2.6.37

Cheers, Roderich



-- System Information:
Debian Release: wheezy/sid
  APT prefers oneiric
  APT policy: (500, 'oneiric'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.39.1 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash



Reply to: