public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libc/6684] New: Segmentation fault after getcontext() and setcontext() on ppc64
@ 2008-06-20 22:55 khoroshilov at linuxtesting dot org
2008-08-14 3:38 ` [Bug libc/6684] " drepper at redhat dot com
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: khoroshilov at linuxtesting dot org @ 2008-06-20 22:55 UTC (permalink / raw)
To: glibc-bugs
#include <ucontext.h>
#include <stdarg.h>
#include <stdio.h>
typedef struct ReturnValue { int a; } ReturnValue;
ReturnValue defaultReturnValue = { 0 };
ucontext_t globalUcp;
int outputMessage( char * format, ... ) {
int res;
va_list arg_list;
va_start( arg_list, format );
res = vprintf( format, arg_list );
va_end( arg_list );
return res;
}
ReturnValue getcontextCall( void ) {
outputMessage( "getcontextCall : 1\n" );
getcontext( & globalUcp );
outputMessage( "getcontextCall : 2\n" );
return defaultReturnValue;
}
ReturnValue setcontextCall( void ) {
outputMessage( "setcontextCall : 1\n" );
setcontext( & globalUcp );
outputMessage( "setcontextCall : 2\n" );
return defaultReturnValue;
}
int main( int argc,const char ** argv ) {
getcontextCall();
setcontextCall();
return 0;
}
The example above leads to segmentation fault in the outputMessage() function
after call of the setcontext() on ppc64 platform. The output of the process is
as follows:
getcontextCall : 1
getcontextCall : 2
setcontextCall : 1
Segmentation fault
If someone replace "typedef struct ReturnValue { int a; } ReturnValue;" by
"typedef int ReturnValue;" in the example segmentation fault disappears.
See also: http://linuxtesting.org/results/report?num=S0688
--
Summary: Segmentation fault after getcontext() and setcontext()
on ppc64
Product: glibc
Version: 2.4
Status: NEW
Severity: normal
Priority: P2
Component: libc
AssignedTo: drepper at redhat dot com
ReportedBy: khoroshilov at linuxtesting dot org
CC: glibc-bugs at sources dot redhat dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=6684
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libc/6684] Segmentation fault after getcontext() and setcontext() on ppc64
2008-06-20 22:55 [Bug libc/6684] New: Segmentation fault after getcontext() and setcontext() on ppc64 khoroshilov at linuxtesting dot org
@ 2008-08-14 3:38 ` drepper at redhat dot com
2008-08-14 6:44 ` khoroshilov at linuxtesting dot org
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: drepper at redhat dot com @ 2008-08-14 3:38 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From drepper at redhat dot com 2008-08-14 03:37 -------
This code is invalid. It just works by accident. You cannot leave the call
frame you try to reinstate.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |INVALID
http://sourceware.org/bugzilla/show_bug.cgi?id=6684
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libc/6684] Segmentation fault after getcontext() and setcontext() on ppc64
2008-06-20 22:55 [Bug libc/6684] New: Segmentation fault after getcontext() and setcontext() on ppc64 khoroshilov at linuxtesting dot org
2008-08-14 3:38 ` [Bug libc/6684] " drepper at redhat dot com
@ 2008-08-14 6:44 ` khoroshilov at linuxtesting dot org
2008-08-14 13:51 ` drepper at redhat dot com
2008-08-14 20:26 ` khoroshilov at linuxtesting dot org
3 siblings, 0 replies; 6+ messages in thread
From: khoroshilov at linuxtesting dot org @ 2008-08-14 6:44 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From khoroshilov at linuxtesting dot org 2008-08-14 06:43 -------
(In reply to comment #1)
> This code is invalid. It just works by accident. You cannot leave the call
> frame you try to reinstate.
I do not see such restriction for applications neither in POSIX nor in man pages.
Should it be a bug in POSIX?
--
http://sourceware.org/bugzilla/show_bug.cgi?id=6684
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libc/6684] Segmentation fault after getcontext() and setcontext() on ppc64
2008-06-20 22:55 [Bug libc/6684] New: Segmentation fault after getcontext() and setcontext() on ppc64 khoroshilov at linuxtesting dot org
2008-08-14 3:38 ` [Bug libc/6684] " drepper at redhat dot com
2008-08-14 6:44 ` khoroshilov at linuxtesting dot org
@ 2008-08-14 13:51 ` drepper at redhat dot com
2008-08-14 20:26 ` khoroshilov at linuxtesting dot org
3 siblings, 0 replies; 6+ messages in thread
From: drepper at redhat dot com @ 2008-08-14 13:51 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From drepper at redhat dot com 2008-08-14 13:49 -------
(In reply to comment #2)
> Should it be a bug in POSIX?
No. You just don't understand how these functions work.
--
http://sourceware.org/bugzilla/show_bug.cgi?id=6684
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libc/6684] Segmentation fault after getcontext() and setcontext() on ppc64
2008-06-20 22:55 [Bug libc/6684] New: Segmentation fault after getcontext() and setcontext() on ppc64 khoroshilov at linuxtesting dot org
` (2 preceding siblings ...)
2008-08-14 13:51 ` drepper at redhat dot com
@ 2008-08-14 20:26 ` khoroshilov at linuxtesting dot org
3 siblings, 0 replies; 6+ messages in thread
From: khoroshilov at linuxtesting dot org @ 2008-08-14 20:26 UTC (permalink / raw)
To: glibc-bugs
------- Additional Comments From khoroshilov at linuxtesting dot org 2008-08-14 20:24 -------
(In reply to comment #3)
> (In reply to comment #2)
> > Should it be a bug in POSIX?
>
> No. You just don't understand how these functions work.
I thought I have not to khow how any functions work BEFORE reading their POSIX
definitions (man pages).
I do not see how to understand this usage limitation from the existing text if
the reader does not know implementation details.
POSIX follows a very good rule to explicitly specify any usage limitation and
here is an obvious violation of the rule.
--
http://sourceware.org/bugzilla/show_bug.cgi?id=6684
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libc/6684] Segmentation fault after getcontext() and setcontext() on ppc64
[not found] <bug-6684-131@http.sourceware.org/bugzilla/>
@ 2014-07-04 6:52 ` fweimer at redhat dot com
0 siblings, 0 replies; 6+ messages in thread
From: fweimer at redhat dot com @ 2014-07-04 6:52 UTC (permalink / raw)
To: glibc-bugs
https://sourceware.org/bugzilla/show_bug.cgi?id=6684
Florian Weimer <fweimer at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fweimer at redhat dot com
Flags| |security-
--- Comment #5 from Florian Weimer <fweimer at redhat dot com> ---
makecontext was removed from POSIX after deprecation, instead of being
clarified.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-07-04 6:52 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-06-20 22:55 [Bug libc/6684] New: Segmentation fault after getcontext() and setcontext() on ppc64 khoroshilov at linuxtesting dot org
2008-08-14 3:38 ` [Bug libc/6684] " drepper at redhat dot com
2008-08-14 6:44 ` khoroshilov at linuxtesting dot org
2008-08-14 13:51 ` drepper at redhat dot com
2008-08-14 20:26 ` khoroshilov at linuxtesting dot org
[not found] <bug-6684-131@http.sourceware.org/bugzilla/>
2014-07-04 6:52 ` fweimer at redhat dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).