panic: bufwrite: buffer is not busy???
Eugene Grosbein
egrosbein at rdtc.ru
Mon Jan 31 09:49:29 UTC 2011
On 31.01.2011 14:20, Julian Elischer wrote:
>> # gdb kernel
>> GNU gdb 6.1.1 [FreeBSD]
>> Copyright 2004 Free Software Foundation, Inc.
>> GDB is free software, covered by the GNU General Public License, and you are
>> welcome to change it and/or distribute copies of it under certain conditions.
>> Type "show copying" to see the conditions.
>> There is absolutely no warranty for GDB. Type "show warranty" for details.
>> This GDB was configured as "amd64-marcel-freebsd"...
>> (gdb) l *0xffffffff803c1315
>> 0xffffffff803c1315 is in ng_address_hook (/home/src/sys/netgraph/ng_base.c:3504).
>> 3499 * Quick sanity check..
>> 3500 * Since a hook holds a reference on it's node, once we know
>> 3501 * that the peer is still connected (even if invalid,) we know
>> 3502 * that the peer node is present, though maybe invalid.
>> 3503 */
>> 3504 if ((hook == NULL) ||
>> 3505 NG_HOOK_NOT_VALID(hook) ||
>> 3506 NG_HOOK_NOT_VALID(peer = NG_HOOK_PEER(hook)) ||
>> 3507 NG_NODE_NOT_VALID(peernode = NG_PEER_NODE(hook))) {
>> 3508 NG_FREE_ITEM(item);
>
>
> replace with:
>
> 3504 if ((hook == NULL) ||
> 3505 NG_HOOK_NOT_VALID(hook) ||
> ((peer = NG_HOOK_PEER(hook)) == NULL) ||
> 3506 NG_HOOK_NOT_VALID(peer) ||
> ((peernode = NG_PEER_NODE(hook)) == NULL) ||
> 3507 NG_NODE_NOT_VALID(peernode)) {
> if (peer)
> kassert((peernode != NULL), ("peer node NULL wile peer hook exists"));
> 3508 NG_FREE_ITEM(item);
>
It does not compile:
/home/src/sys/netgraph/ng_base.c: In function 'ng_address_hook':
/home/src/sys/netgraph/ng_base.c:3511: warning: implicit declaration of function 'kassert'
/home/src/sys/netgraph/ng_base.c:3511: warning: nested extern declaration of 'kassert'
*** Error code 1
1 error
*** Error code 2
1 error
*** Error code 2
1 error
More information about the freebsd-net
mailing list