From nobody@FreeBSD.org  Tue Jan 13 18:34:09 2004
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id C638416A4CE
	for <freebsd-gnats-submit@FreeBSD.org>; Tue, 13 Jan 2004 18:34:09 -0800 (PST)
Received: from www.freebsd.org (www.freebsd.org [216.136.204.117])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 0813643D46
	for <freebsd-gnats-submit@FreeBSD.org>; Tue, 13 Jan 2004 18:34:09 -0800 (PST)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.12.10/8.12.10) with ESMTP id i0E2Y8dL030702
	for <freebsd-gnats-submit@FreeBSD.org>; Tue, 13 Jan 2004 18:34:08 -0800 (PST)
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.12.10/8.12.10/Submit) id i0E2Y8os030701;
	Tue, 13 Jan 2004 18:34:08 -0800 (PST)
	(envelope-from nobody)
Message-Id: <200401140234.i0E2Y8os030701@www.freebsd.org>
Date: Tue, 13 Jan 2004 18:34:08 -0800 (PST)
From: Hiroki Mori <hiroki.mori@jcom.home.ne.jp>
To: freebsd-gnats-submit@FreeBSD.org
Subject: rue driver mbuf flag is bad
X-Send-Pr-Version: www-2.0

>Number:         61345
>Category:       misc
>Synopsis:       rue driver mbuf flag is bad
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jan 13 18:40:22 PST 2004
>Closed-Date:    Sat May 29 09:04:46 PDT 2004
>Last-Modified:  Sat May 29 09:04:46 PDT 2004
>Originator:     Hiroki Mori
>Release:        5.2-CURRENT
>Organization:
>Environment:
5.2-CURRENT FreeBSD 5.2-CURRENT
>Description:
I useing USB ether net interface that is rue. If I useing this interface, then out put as follow message to /var/log/messages many times.

Jan 14 11:00:35 c1 kernel: Stack backtrace:
Jan 14 11:00:36 c1 kernel: Bad mbuf alloc flags: 1

>How-To-Repeat:
Useing rue interface.
>Fix:
src/sys/dev/usb/if_rue.c contain "M_NOWAIT" flag at MGETHDR,MCLGET. I think that "M_DONTWAIT" is correct flag.
>Release-Note:
>Audit-Trail:

From: Sven Mohr <svmohr@rm6.net>
To: freebsd-gnats-submit@FreeBSD.org, hiroki.mori@jcom.home.ne.jp
Cc:  
Subject: Re: misc/61345: rue driver mbuf flag is bad
Date: Mon, 01 Mar 2004 17:38:41 +0100

 Replacing M_NOWAIT with M_DONTWAIT does not solve anything here. I get 
 the following debug messages every time a packet makes its way through 
 the adapter.
 
 Mar  1 17:34:26 vigia kernel: Bad mbuf alloc flags: 1
 Mar  1 17:34:26 vigia kernel: Stack backtrace:
 Mar  1 17:34:26 vigia kernel: backtrace(c066eaa3,1,c049567d,c06c5fb0,0) 
 at backtrace+0x12
 Mar  1 17:34:26 vigia kernel: mb_alloc(c06cf280,1,1,0,0) at mb_alloc+0x4d
 Mar  1 17:34:26 vigia kernel: m_gethdr(1,1,c441663c,c4416400,d73a0cd0) 
 at m_gethdr+0x1c
 Mar  1 17:34:26 vigia kernel: 
 free(c4416400,c441663c,0,c08456c0,c4416400) at free+0x2284
 Mar  1 17:34:26 vigia kernel: free(c4416400,c4416400,c1988e00) at 
 free+0x24bc
 Mar  1 17:34:26 vigia kernel: 
 usbintr(0,c196d800,c1974480,d73a0d1c,c04d3ab8) at usbintr+0x7a
 Mar  1 17:34:26 vigia kernel: swi_net(0) at swi_net+0x7d
 Mar  1 17:34:26 vigia kernel: 
 ithread_loop(c1974480,d73a0d48,c1974480,c04d3984,0) at ithread_loop+0x134
 Mar  1 17:34:26 vigia kernel: fork_exit(c04d3984,c1974480,d73a0d48) at 
 fork_exit+0xa8
 Mar  1 17:34:26 vigia kernel: fork_trampoline() at fork_trampoline+0x8
 Mar  1 17:34:26 vigia kernel: --- trap 0x1, eip = 0, esp = 0xd73a0d7c, 
 ebp = 0 ---

From: Hiroki Mori <hiroki.mori@jcom.home.ne.jp>
To: Sven Mohr <svmohr@rm6.net>
Cc: freebsd-gnats-submit@FreeBSD.org
Subject: Re: misc/61345: rue driver mbuf flag is bad
Date: Tue, 2 Mar 2004 09:44:22 +0900

 On 2004.3.2, at 01:38 AM, Sven Mohr wrote:
 
 > Replacing M_NOWAIT with M_DONTWAIT does not solve anything here. I get 
 > the following debug messages every time a packet makes its way through 
 > the adapter.
 >
 > Mar  1 17:34:26 vigia kernel: Bad mbuf alloc flags: 1
 >
 
 I look like still use M_NOWAIT. Because of  M_NOWAIT is defined 0x0001 
 at malloc.h
 and M_DONTWAIT  is defined at mbuf.h. Your message have still "flags: 
 1".
 
 Regards,
 
 Hiroki Mori
 
 > Mar  1 17:34:26 vigia kernel: Stack backtrace:
 > Mar  1 17:34:26 vigia kernel: 
 > backtrace(c066eaa3,1,c049567d,c06c5fb0,0) at backtrace+0x12
 > Mar  1 17:34:26 vigia kernel: mb_alloc(c06cf280,1,1,0,0) at 
 > mb_alloc+0x4d
 > Mar  1 17:34:26 vigia kernel: m_gethdr(1,1,c441663c,c4416400,d73a0cd0) 
 > at m_gethdr+0x1c
 > Mar  1 17:34:26 vigia kernel: 
 > free(c4416400,c441663c,0,c08456c0,c4416400) at free+0x2284
 > Mar  1 17:34:26 vigia kernel: free(c4416400,c4416400,c1988e00) at 
 > free+0x24bc
 > Mar  1 17:34:26 vigia kernel: 
 > usbintr(0,c196d800,c1974480,d73a0d1c,c04d3ab8) at usbintr+0x7a
 > Mar  1 17:34:26 vigia kernel: swi_net(0) at swi_net+0x7d
 > Mar  1 17:34:26 vigia kernel: 
 > ithread_loop(c1974480,d73a0d48,c1974480,c04d3984,0) at 
 > ithread_loop+0x134
 > Mar  1 17:34:26 vigia kernel: fork_exit(c04d3984,c1974480,d73a0d48) at 
 > fork_exit+0xa8
 > Mar  1 17:34:26 vigia kernel: fork_trampoline() at fork_trampoline+0x8
 > Mar  1 17:34:26 vigia kernel: --- trap 0x1, eip = 0, esp = 0xd73a0d7c, 
 > ebp = 0 ---
 >
 
State-Changed-From-To: open->closed 
State-Changed-By: iedowse 
State-Changed-When: Sat May 29 09:02:38 PDT 2004 
State-Changed-Why:  

This was fixed in revision 1.10 of if_rue.c. Sorry, I didn't see 
your PR at the time. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=61345 
>Unformatted:
