Commit Graph

26853 Commits

Author SHA1 Message Date
Siddhesh Poyarekar
d7b00f9810 Fix invalid memory access when parsing netgroup files with blank lines (BZ #16506)
The netgroups file parsing code tries to access the character before
the newline in parsed lines to see if it is a backslash (\).  This
results in an access before the block allocated for the line if the
line is blank, i.e. does not have anything other than the newline
character.  This doesn't seem like it will cause any crashes because
the byte belongs to the malloc metadata block and hence access to it
will always succeed.

There could be an invalid alteration in code flow where a blank line
is seen as a continuation due to the preceding byte *happening* to be
'\\'.  This could be done by interposing malloc, but that's not really
a security problem since one could interpose getnetgrent_r itself and
achieve a similar 'exploit'.

The possibility of actually exploiting this is remote to impossible
since it also requires the previous line to end with a '\\', which
would happen only on invalid configurations.
2014-01-27 16:49:33 +05:30
Siddhesh Poyarekar
af37a8a349 Avoid undefined behaviour in netgroupcache
Using a buffer after it has been reallocated is undefined behaviour,
so get offsets of the triplets in the old buffer before reallocating
it.
2014-01-27 11:32:44 +05:30
Allan McRae
0c00f062dd Update French translations 2014-01-27 11:28:02 +10:00
Kaz Kojima
7d69a1b092 Regenerate SH libm-test-ulps with proper compiler options. 2014-01-27 08:50:47 +09:00
David S. Miller
6e697ff746 Rebuild sparc ULPs.
* sysdeps/sparc/fpu/libm-test-ulps: Regenerate.
2014-01-24 18:32:53 -08:00
Kaz Kojima
9cadb35cbb Move SH libm-test-ulps to sysdeps/sh and regenerate it. 2014-01-25 10:22:14 +09:00
Chris Metcalf
cf965b144a tile: Regenerate libm-test-ulps 2014-01-24 13:23:23 -05:00
Richard Henderson
e466417f25 alpha: Update libm-test-ulps 2014-01-24 09:43:19 -08:00
Richard Henderson
4ab6acaebd alpha: Fix tls-macros.h
Reported to the gcc bugzilla, there was a missing dependency on $gp
that let the compiler generated $gp reload be scheduled across the
macros here.
2014-01-24 09:07:04 -08:00
Will Newton
47590bce28 ARM: Fix clone build for ARMv4
ARMv4 does not have the blx instruction, so use the BLX macro which
handles abstracting this for us.

Build tested for armv7, armv4t and armv4.

ports/ChangeLog.arm:

2014-01-24  Will Newton  <will.newton@linaro.org>

	[BZ #16499]
	* sysdeps/unix/sysv/linux/arm/clone.S: Use BLX macro instead
	of blx instruction directly.
2014-01-24 13:15:46 +00:00
Siddhesh Poyarekar
5d41dadf31 Adjust pointers to triplets in netgroup query data (BZ #16474)
The _nss_*_getnetgrent_r query populates the netgroup results in the
allocated buffer and then sets the result triplet to point to strings
in the buffer.  This is a problem when the buffer is reallocated since
the pointers to the triplet strings are no longer valid.  The pointers
need to be adjusted so that they now point to strings in the
reallocated buffer.
2014-01-24 13:51:15 +05:30
Kaz Kojima
0bad441c77 Restore ucontext ABI for soft-float sh4. 2014-01-24 12:56:12 +09:00
Stefan Liebler
e68485398b S/390: Increase tst-tls7 test case timeout
TLS in a dlopened object works fine when accessed from a signal
handler. The default kernel scheduling parameters prevents the
testcase to finish within the 4 seconds.

Tested the bigger timeout on s390 and s390x.
2014-01-23 16:26:16 +05:30
Kaz Kojima
7007c661ad Adjust SH specific fpu_control.h and ucontext.h files. 2014-01-23 14:22:58 +09:00
Andreas Krebbel
0f0c35e46e S/390: Merge 32 and 64 bit ucontext.h. 2014-01-22 18:44:35 +01:00
H.J. Lu
4959e284ca Include generic symbol-hacks.h for x32
In BZ #15605 fix with addding memset/memmove alias in symbol-hacks.h,
x32 symbol-hacks.h change was missing.  Fixed by including
<sysdeps/generic/symbol-hacks.h> in x32 symbol-hacks.h.
2014-01-20 11:11:01 -08:00
Adhemerval Zanella
d98720e07f PowerPC: Fix gettimeofday ifunc selection
The IFUNC selector for gettimeofday runs before _libc_vdso_platform_setup where
__vdso_gettimeofday is set. The selector then sets __gettimeofday (the internal
version used within GLIBC) to use the system call version instead of the vDSO one.
This patch changes the check if vDSO is available to get its value directly
instead of rely on __vdso_gettimeofday.

This patch changes it by getting the vDSO value directly.

It fixes BZ#16431.
2014-01-20 12:29:51 -06:00
Marcus Shawcroft
2bc52556b7 [AArch64] Fix type in abi-lp64_be-options. 2014-01-20 17:45:06 +00:00
Tom Tromey
3a3acb6afc [AArch64] BZ #16169 Add CFI directives to clone.S
[BZ #16169] Add CFI directives to the AArch64 clone.S implementation
and ensure that the FP in the child is zero'd in order to comply with
AAPCS.
2014-01-20 15:44:05 +00:00
Marcus Shawcroft
b67e7fe0f9 [AArch64] Define BE loader name. 2014-01-20 15:43:06 +00:00
Allan McRae
91cbd0bc72 Update Catalan translations 2014-01-20 11:36:37 +10:00
H.J. Lu
2145f8b51d Don't check asynchronous cancellation on system
Since asynchronous cancellation was removed from system by

commit c4dd57c300
Author: Ondřej Bílka <neleai@seznam.cz>
Date:   Tue Jan 14 16:07:50 2014 +0100

    Do not enable asynchronous cancellation in system. Fixes bug 14782.

    We needlessly enabled thread cancellation before it was necessary.
As
    only call that needs to be guarded is waitpid which is cancellation
    point we could remove cancellation altogether.

we shouldn't check asynchronous cancellation on system.

	[BZ #14782]
	* tst-cancel-wrappers.sh: Remove system.
2014-01-18 06:58:36 -08:00
Adam Conrad
6e077ee5c3 Fix incorrect ChangeLog formatting 2014-01-17 13:11:26 -07:00
Mike Frysinger
7a02cfade8 s390: implement sotruss support
See commit 41b1792698 for testcase.

Note: while this works on s390x, the s390 code hangs when using -e.
But it hangs regardless of this code (the hang seems to occur before
the exit func is even called).  I didn't look too closely at it as
it seems to be an issue external to this file, so this code shouldn't
make the situation any worse.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2014-01-16 15:10:14 -05:00
Adhemerval Zanella
0daf33f7d5 Add BZ#16430 to NEWS. 2014-01-16 07:15:30 -06:00
Adhemerval Zanella
736c304a1a PowerPC: Fix ftime gettimeofday internal call returning bogus data
This patches fixes BZ#16430 by setting a different symbol for internal
GLIBC calls that points to ifunc resolvers. For PPC32, if the symbol
is defined as hidden (which is the case for gettimeofday and time) the
compiler will create local branches (symbol@local) and linker will not
create PLT calls (required for IFUNC). This will leads to internal symbol
calling the IFUNC resolver instead of the resolved symbol.
For PPC64 this behavior does not occur because a call to a function in
another translation unit might use a different toc pointer thus requiring
a PLT call.
2014-01-16 06:53:18 -06:00
Joseph Myers
94d0cea0ad Fix math/test-fpucw-*.c for sysdeps test-fpucw.c overrides.
ARM has an override of the test math/test-fpucw.c, to disable (for
soft-float testing) definitions of hard-float macros in fpu_control.h
that the header normally defines not only when building for
hard-float, but also when building for soft-float with _LIBC defined
so that libc code can dynamically test whether VFP hardware is
present.  (_LIBC is defined when building tests, although ideally it
wouldn't be.)

The override doesn't work for the derived tests test-fpucw-*.c because
they use #include "" instead of <> to include test-fpucw.c, so always
get the math/ version instead of the ARM sysdeps override.  This patch
changes them to use <> so the sysdeps override is effective.
(test-fpucw-ieee-static.c doesn't need a change because it includes
test-fpucw-ieee.c, which isn't itself being overridden, which in turn
includes test-fpucw.c with a #include changed by this patch.)

Tested for ARM (big-endian soft-float, non-VFP hardware).

	* math/test-fpucw-ieee.c: Use <> in #include of test-fpucw.c.
	* math/test-fpucw-static.c: Likewise.
2014-01-16 05:30:52 +00:00
Siddhesh Poyarekar
5d29ccce66 Mention addition of multiple precision fallback libm probes in NEWS 2014-01-16 10:21:52 +05:30
Siddhesh Poyarekar
980cb5180e Don't use alloca in addgetnetgrentX (BZ #16453)
addgetnetgrentX has a buffer which is grown as per the needs of the
requested size either by using alloca or by falling back to malloc if
the size is larger than 1K.  There are two problems with the alloca
bits: firstly, it doesn't really extend the buffer since it does not
use the return value of the extend_alloca macro, which is the location
of the reallocated buffer.  Due to this the buffer does not actually
extend itself and hence a subsequent write may overwrite stuff on the
stack.

The second problem is more subtle - the buffer growth on the stack is
discontinuous due to block scope local variables.  Combine that with
the fact that unlike realloc, extend_alloca does not copy over old
content and you have a situation where the buffer just has garbage in
the space where it should have had data.

This could have been fixed by adding code to copy over old data
whenever we call extend_alloca, but it seems unnecessarily
complicated.  This code is not exactly a performance hotspot (it's
called when there is a cache miss, so factors like network lookup or
file reads will dominate over memory allocation/reallocation), so this
premature optimization is unnecessary.

Thanks Brad Hubbard <bhubbard@redhat.com> for his help with debugging
the problem.
2014-01-16 10:21:52 +05:30
Adhemerval Zanella
2393fc0119 PowerPC: sotruss-lib implementation
This patch add the missing sotruss-lib interfaces for PowerPC.
2014-01-15 12:14:06 -06:00
Ondřej Bílka
d359bcc2ad Add ChangeLog entry 2014-01-15 18:43:03 +01:00
Ondřej Bílka
c4dd57c300 Do not enable asynchronous cancellation in system. Fixes bug 14782.
We needlessly enabled thread cancellation before it was necessary. As
only call that needs to be guarded is waitpid which is cancellation
point we could remove cancellation altogether.
2014-01-15 18:39:21 +01:00
Andreas Krebbel
7beb48cbb7 [BZ #16427] Fix ldbl-128 exp overflows.
Invoke the non-IEEE handling only for numbers special also in the IEEE
case.  This aligns the exp handling with the other ldbl variants.
2014-01-15 09:50:31 +01:00
Andreas Krebbel
c20d5bf509 S/390: Regenerate ULPs. 2014-01-15 09:49:54 +01:00
Will Newton
2f10c4d690 ARM: Don't apply pointer encryption to the frame pointer
The frame pointer register is rarely used for that purpose on ARM and
applications that look at the contents of the jmp_buf may be relying
on reading an unencrypted value. For example, Ruby uses the contents
of jmp_buf to find the root set for garbage collection so relies on
this pointer value being unencrypted. Without this patch the Ruby
testsuite fails with a segmentation fault.

ports/ChangeLog.arm:

2013-01-14  Will Newton  <will.newton@linaro.org>

	* sysdeps/arm/__longjmp.S: Don't apply pointer encryption
	to fp register.
	* sysdeps/arm/setjmp.S: Likewise.
	* sysdeps/arm/include/bits/setjmp.h (JMP_BUF_REGLIST): Add
	fp to register list, remove a4.
	* sysdeps/unix/sysv/linux/arm/sysdep.h (PTR_MANGLE_LOAD):
	New macro.
2014-01-14 14:02:34 +00:00
Paul Pluzhnikov
497b1e69f9 Mention BZ 9721 2014-01-12 09:23:10 -08:00
Carlos O'Donell
e732c5f049 Add BZ #15850 to ChangeLog. 2014-01-12 12:17:33 -05:00
Paul Pluzhnikov
a494421f52 BZ 16133 has been fixed (async signal safe TLS). 2014-01-11 16:59:43 -08:00
Paul Pluzhnikov
2112e17675 Fix a race in tst-tls7, which caused crashes on ppc32. 2014-01-11 16:34:15 -08:00
Ondřej Bílka
5d43293bac Add 15850 to NEWS. 2014-01-11 13:49:56 +01:00
Allan McRae
76d0ea6990 Update Bulgarian translations 2014-01-11 15:19:59 +10:00
Allan McRae
e83bd4eeba Update German translations 2014-01-11 15:02:34 +10:00
Roland McGrath
bc2ba20ae8 ARM: Disable compat mcount code when unneeded. 2014-01-10 13:32:35 -08:00
Siddhesh Poyarekar
649ecea212 Correct inputs for sin and cos
The inputs for the slowest path in asin and acos were incorrect and
had some fast path inputs there too.
2014-01-10 09:57:51 +05:30
Allan McRae
a46dab08ac Update Swedish translations 2014-01-10 12:25:59 +10:00
Allan McRae
421df74a00 Update Vietnamese translations 2014-01-10 12:24:43 +10:00
Allan McRae
d61c51a710 Update Esperanto translations 2014-01-10 12:23:21 +10:00
Allan McRae
0339a31917 Update Czech translations 2014-01-10 12:22:12 +10:00
Allan McRae
94ad3e991a Update Dutch translations 2014-01-10 12:20:48 +10:00
Allan McRae
e349ca71e5 Update Polish translations 2014-01-10 12:20:44 +10:00