[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug hurd/24110] SS_DISABLE never set in stack_t value returned by s
From: |
Svante Signell |
Subject: |
Re: [Bug hurd/24110] SS_DISABLE never set in stack_t value returned by sigaltstack |
Date: |
Mon, 28 Jan 2019 21:50:50 +0100 |
User-agent: |
Evolution 3.30.4-1 |
On Mon, 2019-01-28 at 21:28 +0100, Samuel Thibault wrote:
> Svante Signell, le lun. 28 janv. 2019 20:22:42 +0100, a ecrit:
> > $24 = {ss_sp = 0x9501c, ss_size = 45028, ss_flags = 1}
>
> Actually these values look odd. You could check with a breakpoint
> whether sigaltstack() is really used to set these values.
>
> If that's not what sets it, there's possibly an overwrite from somewhere
> else. What you could then do is:
>
> gdb> b sigaltstack.c:55
> gdb> c
>
> to get after sigaltstack() has made its duty (after __spin_unlock), and
> at that breakpoint, check *argss for the values that were supposed to be
> put into s->sigaltstack.ss_sp, and put a hardware watchpoint:
>
> gdb> p &s->sigaltstack.ss_sp
> $1 = (void **) 0x1030cd0
> gdb> watch * (void **) 0x1030cd0
>
> watching the address instead of the expression is important for the
> watch to be hardware-assisted.
>
> That way you'll get to see what modifies the ss_sp field.
Not much new here:
(gdb) b sigaltstack.c:55
Breakpoint 2 at 0x22d18da: file ../sysdeps/mach/hurd/sigaltstack.c, line 55.
(gdb) run
[New Thread 4553.18]
Thread 4 hit Breakpoint 2, __GI___sigaltstack (argss=0x0, oss=0x3005cb4) at
../sysdeps/mach/hu\
rd/sigaltstack.c:55
55 ../sysdeps/mach/hurd/sigaltstack.c: No such file or directory.
(gdb) c
Continuing.
Thread 4 hit Breakpoint 2, __GI___sigaltstack (argss=0x3005c84, oss=0x0) at
../sysdeps/mach/hurd/sigaltstack.c:55
55 in ../sysdeps/mach/hurd/sigaltstack.c
(gdb) p *argss
$9 = {ss_sp = 0x9501c, ss_size = 45028, ss_flags = 0}
(gdb) p->sigaltstack.ss_sp
$10 = (void **) 0x25139ac
(gdb) watch * (void **) 0x25139ac
Continuing.
[New Thread 4553.19]
Thread 4 received signal SIGTRAP, Trace/breakpoint trap.
0x022a8425 in __GI__hurd_intr_rpc_mach_msg (msg=<optimized out>,
option=<optimized out>, send_size=268509186,rcv_size=4, rcv_name=2353981702,
timeout=<optimized out>, notify=0) at intr-msg.c:118
118 intr-msg.c: No such file or directory.
(gdb) c
Continuing.
Thread 4 received signal SIGSEGV, Segmentation fault.
0x022a6530 in trampoline () from /lib/i386-gnu/libc.so.0.3
(gdb) bt
#0 0x022a6530 in trampoline () from /lib/i386-gnu/libc.so.0.3
#1 0x00000014 in ?? ()
#2 0x0009ffdc in ?? ()
#3 0x00000000 in ?? ()
- Re: [Bug hurd/24110] SS_DISABLE never set in stack_t value returned by sigaltstack, (continued)
- Re: [Bug hurd/24110] SS_DISABLE never set in stack_t value returned by sigaltstack, Svante Signell, 2019/01/28
- Re: [Bug hurd/24110] SS_DISABLE never set in stack_t value returned by sigaltstack, Samuel Thibault, 2019/01/28
- Re: [Bug hurd/24110] SS_DISABLE never set in stack_t value returned by sigaltstack, Svante Signell, 2019/01/28
- Re: [Bug hurd/24110] SS_DISABLE never set in stack_t value returned by sigaltstack, Samuel Thibault, 2019/01/28
- Re: [Bug hurd/24110] SS_DISABLE never set in stack_t value returned by sigaltstack, Svante Signell, 2019/01/28
- Re: [Bug hurd/24110] SS_DISABLE never set in stack_t value returned by sigaltstack, Samuel Thibault, 2019/01/28
- Re: [Bug hurd/24110] SS_DISABLE never set in stack_t value returned by sigaltstack, Svante Signell, 2019/01/28
- Re: [Bug hurd/24110] SS_DISABLE never set in stack_t value returned by sigaltstack, Svante Signell, 2019/01/28
- Re: [Bug hurd/24110] SS_DISABLE never set in stack_t value returned by sigaltstack, Svante Signell, 2019/01/28
- Re: [Bug hurd/24110] SS_DISABLE never set in stack_t value returned by sigaltstack, Samuel Thibault, 2019/01/28
- Re: [Bug hurd/24110] SS_DISABLE never set in stack_t value returned by sigaltstack,
Svante Signell <=
- Re: [Bug hurd/24110] SS_DISABLE never set in stack_t value returned by sigaltstack, Samuel Thibault, 2019/01/28
- Re: [Bug hurd/24110] SS_DISABLE never set in stack_t value returned by sigaltstack, Svante Signell, 2019/01/28