NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/44742: Remotely triggerable ECN panic in tcp_output() on current
>Number: 44742
>Category: kern
>Synopsis: When ECN is enabled, panics can be remotely triggered
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Mar 19 04:25:00 +0000 2011
>Originator: Dustin Marquess
>Release: NetBSD 5.99.48 (also effects at least 5.99.47)
>Organization:
>Environment:
System: NetBSD bobdole.fdf.net 5.99.48 NetBSD 5.99.48 (BOBDOLE) #0: Sat Mar 19
03:18:47 UTC 2011
root%bobdole.fdf.net@localhost:/usr/src/sys/arch/amd64/compile/BOBDOLE amd64
Architecture: x86_64
Machine: amd64
>Description:
login: uvm_fault(0xffff80004d5b1018, 0x0, 2) -> e
fatal page fault in supervisor mode
trap type 6 code 2 rip ffffffff80358f4c cs 8 rflags 10246 cr2 91 cpl 4 rsp fff0
kernel: page fault trap, code=0
Stopped in pid 71.1 (ftpd) at netbsd:tcp_output+0x1aef: orb $0x2,0x9
1(%rax)
db{1}> trace
tcp_output() at netbsd:tcp_output+0x1aef
tcp_usrreq() at netbsd:tcp_usrreq+0x179
tcp_usrreq_wrapper() at netbsd:tcp_usrreq_wrapper+-0x351b
sosend() at netbsd:sosend+0x497
soo_write() at netbsd:soo_write+0x2d
dofilewrite() at netbsd:dofilewrite+0x76
sys_write() at netbsd:sys_write+0x6e
syscall() at netbsd:syscall+0xaa
(gdb) info line *(tcp_output+0x1aef)
Line 1350 of "../../../../netinet/tcp_output.c"
starts at address 0xffffffff80358f45 <tcp_output+6888>
and ends at 0xffffffff80358f58 <tcp_output+6907>.
tcp_output.c:1350 is:
tp->t_inpcb->inp_ip.ip_tos |= IPTOS_ECN_ECT0;
>How-To-Repeat:
Connect from an ECN capable host (in this case, Windows 7 x86 using
FlashFXP).
>Fix:
Disabling ECN stops the panic:
sysctl -w net.inet.tcp.ecn.enable=0
sysctl -w net.inet6.tcp6.ecn.enable=0
>Unformatted:
sys/netinet/tcp_output.c 1.169
Home |
Main Index |
Thread Index |
Old Index