about summary refs log tree commit diff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-11-22 18:02:20 -0200
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-11-24 12:16:15 -0200
commitc45d78aac47db08bc8ea7641c5330cccaecd3ddb (patch)
tree769aca2259f4781214044cb87e1d326955bc866e /sysdeps/unix
parent3ffc4cc1ad37fb36e419c9a3a72e1916d7d893d3 (diff)
downloadglibc-c45d78aac47db08bc8ea7641c5330cccaecd3ddb.tar.gz
glibc-c45d78aac47db08bc8ea7641c5330cccaecd3ddb.tar.xz
glibc-c45d78aac47db08bc8ea7641c5330cccaecd3ddb.zip
posix: Fix generic p{read,write}v buffer allocation (BZ#22457)
As described in BZ#22457 an interpose malloc can free an invalid
pointer for fallback preadv implementation.  Fortunately this is
just and issue on microblaze-linux-gnu running kernels older than
3.15.  This patch fixes it by calling mmap/unmap instead of
posix_memalign/ free.

Checked on microblaze-linux-gnu check with run-built-tests=no and
by using the sysdeps/posix implementation on x86_64-linux-gnu (just
for sanity test where it shown no regression).

	[BZ #22457]
	* sysdeps/posix/preadv_common.c (PREADV): Use mmap/munmap instead of
	posix_memalign/free.
	* sysdeps/posix/pwritev_common.c (PWRITEV): Likewise.
Diffstat (limited to 'sysdeps/unix')
0 files changed, 0 insertions, 0 deletions