NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/51767: reproducable kernel stack overflow(?!)
The following reply was made to PR kern/51767; it has been noted by GNATS.
From: =?UTF-8?B?SmFyb23DrXIgRG9sZcSNZWs=?= <jaromir.dolecek%gmail.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc:
Subject: Re: kern/51767: reproducable kernel stack overflow(?!)
Date: Tue, 3 Jan 2017 16:13:39 +0100
Christos just fixed some off-by-one error in the general area, can you
check if that fixed this?
Jaromir
2017-01-03 16:10 GMT+01:00 <martin%netbsd.org@localhost>:
>>Number: 51767
>>Category: kern
>>Synopsis: reproducable kernel stack overflow(?!)
>>Confidential: no
>>Severity: critical
>>Priority: high
>>Responsible: kern-bug-people
>>State: open
>>Class: sw-bug
>>Submitter-Id: net
>>Arrival-Date: Tue Jan 03 15:10:00 +0000 2017
>>Originator: Martin Husemann
>>Release: NetBSD 7.99.54
>>Organization:
> The NetBSD Foundation, Inc.
>>Environment:
> System: NetBSD night-owl.duskware.de 7.99.53 NetBSD 7.99.53 (NIGHT-OWL) #450: Wed Dec 28 12:18:50 CET 2016 martin%night-owl.duskware.de@localhost:/usr/src/sys/arch/amd64/compile/NIGHT-OWL amd64
> Architecture: x86_64
> Machine: amd64
>
> ... but the crash happens with a newer .54 kernel!
>
>>Description:
>
> ssh'ing to a machine that still has the SACK bug which recently got fixed
> (not sure if this is relevant) and doing a cvs update there crashes
> my machine ~instantly.
>
> stack overflow detected; terminated
> ...
> vpanic()
> snprintf()
> ssp_init()
> tcp_output()+0x231e
> tcp_input()+0x10b2
> ipintr()
>
> and the source lines are:
> 0xffffffff804f11d8 is in tcp_output (../../../../netinet/tcp_output.c:592).
> 587 #endif
> 588 uint64_t *tcps;
> 589
> 590 #ifdef DIAGNOSTIC
> 591 if (tp->t_inpcb && tp->t_in6pcb)
> 592 panic("tcp_output: both t_inpcb and t_in6pcb are set");
> 593 #endif
> 594 so = NULL;
> 595 ro = NULL;
> 596 if (tp->t_inpcb) {
>
> 0xffffffff804ecabc is in tcp_input (../../../../netinet/tcp_input.c:3027).
> 3022 * Return any desired output.
> 3023 */
> 3024 if (needoutput || (tp->t_flags & TF_ACKNOW)) {
> 3025 KERNEL_LOCK(1, NULL);
> 3026 (void) tcp_output(tp);
> 3027 KERNEL_UNLOCK_ONE(NULL);
> 3028 }
> 3029 if (tcp_saveti)
> 3030 m_freem(tcp_saveti);
> 3031
>
>
>>How-To-Repeat:
> s/a
>
>>Fix:
> n/a
>
Home |
Main Index |
Thread Index |
Old Index