NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/41070: bad adjustment of iov len in swcr_compdec can panic kernel
>Number: 41070
>Category: kern
>Synopsis: bad adjustment of iov len in swcr_compdec can panic kernel
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Mar 24 23:45:01 +0000 2009
>Originator: Thor Lancelot Simon
>Release: NetBSD 5.0_RC2
>Organization:
>Environment:
System: NetBSD panix5.panix.com 5.0_RC2 NetBSD 5.0_RC2 (PANIX-XEN3U-USER-pae)
#1: Sat Feb 21 20:24:11 EST 2009
root%juggler.panix.com@localhost:/misc1/obj/misc2/devel/netbsd/5.0-RC2/src/sys/arch/i386/compile/PANIX-XEN3U-USER-pae
i386
Architecture: i386
Machine: i386
>Description:
In cryptosoft.c (the software backend for /dev/crypto), when
handling a request submitted in an iovec, the length field is
adjusted, analogously to the same operation for a request submitted
in an mbuf. When the requests were allocated with malloc, this was
mostly harmless. Now that they are allocated with kmem_alloc, it
can cause a kernel panic on request free (request completion).
This is an uncommon problem as few transforms can actually change
the result size, and the main one involved (deflate) is called in
the stock NetBSD kernel only from the IPcomp code, which submits
requests in mbufs. But it is still a bug, and is serious if one
encounters it.
>How-To-Repeat:
Submit a compression request in an iovec.
>Fix:
Don't change the length to be freed!
Home |
Main Index |
Thread Index |
Old Index