linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Panic `cat /proc/ioports`
@ 2003-02-11 20:55 Richard B. Johnson
  2003-02-11 23:44 ` Andrew Morton
  0 siblings, 1 reply; 7+ messages in thread
From: Richard B. Johnson @ 2003-02-11 20:55 UTC (permalink / raw)
  To: Linux kernel

Linux version 2.4.18, after it runs for a few days, will panic
if I do `cat /proc/ioports`. Has this been reported/fixed in
later versions?

: Unable to handle kernel paging request at virtual address d48e2fa0 
: c01d0ecb 
: *pde = 13c22067 
: Oops: 0000 
: CPU:    0 
: EIP:    0010:[3c59x:__insmod_3c59x_O/lib/modules/2.4.18/kernel/drivers/net/3c59+-342778165/84]    Not tainted 
: EFLAGS: 00010297 
: eax: d48e2fa0   ebx: ffffffff   ecx: d48e2fa0   edx: fffffffe 
: esi: d22b70b9   edi: ffffffff   ebp: 00000000   esp: d0a41e90 
: ds: 0018   es: 0018   ss: 0018 
: Process cat (pid: 15481, stackpage=d0a41000) 
: Stack: d22b70ad d2fce2c0 00000300 00000008 c01daa26 00000001 d32c19b0 c0123303  
:        d0a2a6c0 d32c19b0 cfc97064 00000001 0000004e 00000000 ffffffff 0000000a  
:        c01d118e d22b70ad 2dd48f53 c01daa26 d0a41f0c c01d11a8 d22b70ad c01daa17  
: Call Trace: [3c59x:__insmod_3c59x_O/lib/modules/2.4.18/kernel/drivers/net/3c59+-343489789/84] [3c59x:__insmod_3c59x_O/lib/modules/2.4.18/kernel/drivers/net/3c59+-342777458/84] [3c59x:__insmod_3c59x_O/lib/modules/2.4.18/kernel
/drivers/net/3c59+-342777432/84] [3c59x:__insmod_3c59x_O/lib/modules/2.4.18/kernel/drivers/net/3c59+-343526992/84] [3c59x:__insmod_3c59x_O/lib/modules/2.4.18/kernel/drivers/net/3c59+-343526874/84]  
: Code: 80 38 00 74 07 40 4a 83 fa ff 75 f4 29 c8 89 c7 f7 c5 10 00  

Code:  00000000 Before first symbol            00000000 <_IP>: <===
Code:  00000000 Before first symbol               0:	80 38 00             	cmpb   $0x0,(%eax) <===
Code:  00000003 Before first symbol               3:	74 07                	je      0000000c Before first symbol
Code:  00000005 Before first symbol               5:	40                   	inc    %eax
Code:  00000006 Before first symbol               6:	4a                   	dec    %edx
Code:  00000007 Before first symbol               7:	83 fa ff             	cmp    $0xffffffff,%edx
Code:  0000000a Before first symbol               a:	75 f4                	jne    0 <_IP>
Code:  0000000c Before first symbol               c:	29 c8                	sub    %ecx,%eax
Code:  0000000e Before first symbol               e:	89 c7                	mov    %eax,%edi
Code:  00000010 Before first symbol              10:	f7 c5 10 00 00 00    	test   $0x10,%ebp


25 warnings issued.  Results may not be reliable.

`insmod` was not being executed even though the trace pretends
that it was active.


Cheers,
Dick Johnson
Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips).
Why is the government concerned about the lunatic fringe? Think about it.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Panic `cat /proc/ioports`
  2003-02-11 20:55 Panic `cat /proc/ioports` Richard B. Johnson
@ 2003-02-11 23:44 ` Andrew Morton
  2003-02-12 13:25   ` Richard B. Johnson
  0 siblings, 1 reply; 7+ messages in thread
From: Andrew Morton @ 2003-02-11 23:44 UTC (permalink / raw)
  To: root; +Cc: linux-kernel

"Richard B. Johnson" <root@chaos.analogic.com> wrote:
>
> Linux version 2.4.18, after it runs for a few days, will panic
> if I do `cat /proc/ioports`. Has this been reported/fixed in
> later versions?
> 
> : Unable to handle kernel paging request at virtual address d48e2fa0 

This means that some driver which was previously loaded forgot to do a
release_region().  Later, the /proc code tries to read stuff from within the
driver which isn't there any more and oopses.

So you need to look at whatever drivers were rmmodded before you did the read
from /proc/ioports.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Panic `cat /proc/ioports`
  2003-02-11 23:44 ` Andrew Morton
@ 2003-02-12 13:25   ` Richard B. Johnson
  2003-02-12 17:22     ` Andrew Morton
  0 siblings, 1 reply; 7+ messages in thread
From: Richard B. Johnson @ 2003-02-12 13:25 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Tue, 11 Feb 2003, Andrew Morton wrote:

> "Richard B. Johnson" <root@chaos.analogic.com> wrote:
> >
> > Linux version 2.4.18, after it runs for a few days, will panic
> > if I do `cat /proc/ioports`. Has this been reported/fixed in
> > later versions?
> > 
> > : Unable to handle kernel paging request at virtual address d48e2fa0 
> 
> This means that some driver which was previously loaded forgot to do a
> release_region().  Later, the /proc code tries to read stuff from within the
> driver which isn't there any more and oopses.
> 

Yes. I just noticed that most network board drivers in version 2.4.18
do not execute release_region() after they have done a request_region(),
if they fail to install because of some error. The error in this case was
the failure to allocate memory because I told the kernel I only had 4
megabytes (exprimental ioremap() of the rest in another module).

Is somebody fixing these drivers (do you know).  I could download the
latest of the 2.4.n series and clean some of these up if they have not
already been done by somebody else.


Cheers,
Dick Johnson
Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips).
Why is the government concerned about the lunatic fringe? Think about it.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Panic `cat /proc/ioports`
  2003-02-12 13:25   ` Richard B. Johnson
@ 2003-02-12 17:22     ` Andrew Morton
  2003-02-12 18:25       ` Randy.Dunlap
  0 siblings, 1 reply; 7+ messages in thread
From: Andrew Morton @ 2003-02-12 17:22 UTC (permalink / raw)
  To: root; +Cc: linux-kernel

"Richard B. Johnson" <root@chaos.analogic.com> wrote:
>
> On Tue, 11 Feb 2003, Andrew Morton wrote:
> 
> > "Richard B. Johnson" <root@chaos.analogic.com> wrote:
> > >
> > > Linux version 2.4.18, after it runs for a few days, will panic
> > > if I do `cat /proc/ioports`. Has this been reported/fixed in
> > > later versions?
> > > 
> > > : Unable to handle kernel paging request at virtual address d48e2fa0 
> > 
> > This means that some driver which was previously loaded forgot to do a
> > release_region().  Later, the /proc code tries to read stuff from within the
> > driver which isn't there any more and oopses.
> > 
> 
> Yes. I just noticed that most network board drivers in version 2.4.18
> do not execute release_region() after they have done a request_region(),
> if they fail to install because of some error.

Fairly common error.

> The error in this case was
> the failure to allocate memory because I told the kernel I only had 4
> megabytes (exprimental ioremap() of the rest in another module).
> 
> Is somebody fixing these drivers (do you know).

There is ongoing janitorial work, and things are getting better.
But I'm not aware of anyone specifically auditing for missing
release_region()s.  And given that it is a box-killer rather than
just a memory leak, yes, it is worth an audit.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Panic `cat /proc/ioports`
  2003-02-12 17:22     ` Andrew Morton
@ 2003-02-12 18:25       ` Randy.Dunlap
  2003-02-12 18:56         ` Richard B. Johnson
  0 siblings, 1 reply; 7+ messages in thread
From: Randy.Dunlap @ 2003-02-12 18:25 UTC (permalink / raw)
  To: Andrew Morton; +Cc: root, linux-kernel

On Wed, 12 Feb 2003 09:22:24 -0800
Andrew Morton <akpm@digeo.com> wrote:

| "Richard B. Johnson" <root@chaos.analogic.com> wrote:
| >
| > On Tue, 11 Feb 2003, Andrew Morton wrote:
| > 
| > > "Richard B. Johnson" <root@chaos.analogic.com> wrote:
| > > >
| > > > Linux version 2.4.18, after it runs for a few days, will panic
| > > > if I do `cat /proc/ioports`. Has this been reported/fixed in
| > > > later versions?
| > > > 
| > > > : Unable to handle kernel paging request at virtual address d48e2fa0 
| > > 
| > > This means that some driver which was previously loaded forgot to do a
| > > release_region().  Later, the /proc code tries to read stuff from within the
| > > driver which isn't there any more and oopses.
| > > 
| > 
| > Yes. I just noticed that most network board drivers in version 2.4.18
| > do not execute release_region() after they have done a request_region(),
| > if they fail to install because of some error.
| 
| Fairly common error.
| 
| > The error in this case was
| > the failure to allocate memory because I told the kernel I only had 4
| > megabytes (exprimental ioremap() of the rest in another module).
| > 
| > Is somebody fixing these drivers (do you know).
| 
| There is ongoing janitorial work, and things are getting better.
| But I'm not aware of anyone specifically auditing for missing
| release_region()s.  And given that it is a box-killer rather than
| just a memory leak, yes, it is worth an audit.

Dick,
Did you ever determine which driver (or module) was causing this problem?

--
~Randy

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Panic `cat /proc/ioports`
  2003-02-12 18:25       ` Randy.Dunlap
@ 2003-02-12 18:56         ` Richard B. Johnson
  2003-02-12 19:16           ` Dave Jones
  0 siblings, 1 reply; 7+ messages in thread
From: Richard B. Johnson @ 2003-02-12 18:56 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: Andrew Morton, linux-kernel

On Wed, 12 Feb 2003, Randy.Dunlap wrote:

> On Wed, 12 Feb 2003 09:22:24 -0800
> Andrew Morton <akpm@digeo.com> wrote:
> 
> | "Richard B. Johnson" <root@chaos.analogic.com> wrote:
> | >
> | > On Tue, 11 Feb 2003, Andrew Morton wrote:
> | > 
> | > > "Richard B. Johnson" <root@chaos.analogic.com> wrote:
> | > > >
> | > > > Linux version 2.4.18, after it runs for a few days, will panic
> | > > > if I do `cat /proc/ioports`. Has this been reported/fixed in
> | > > > later versions?
> | > > > 
> | > > > : Unable to handle kernel paging request at virtual address d48e2fa0 
> | > > 
> | > > This means that some driver which was previously loaded forgot to do a
> | > > release_region().  Later, the /proc code tries to read stuff from within the
> | > > driver which isn't there any more and oopses.
> | > > 
> | > 
> | > Yes. I just noticed that most network board drivers in version 2.4.18
> | > do not execute release_region() after they have done a request_region(),
> | > if they fail to install because of some error.
> | 
> | Fairly common error.
> | 
> | > The error in this case was
> | > the failure to allocate memory because I told the kernel I only had 4
> | > megabytes (exprimental ioremap() of the rest in another module).
> | > 
> | > Is somebody fixing these drivers (do you know).
> | 
> | There is ongoing janitorial work, and things are getting better.
> | But I'm not aware of anyone specifically auditing for missing
> | release_region()s.  And given that it is a box-killer rather than
> | just a memory leak, yes, it is worth an audit.
> 
> Dick,
> Did you ever determine which driver (or module) was causing this problem?
> 

Yes! pcnet32 to start. Practically all the network drivers end up
doing this if they fail somewhere in the initialization. I didn't
get a chance to look at others. I got called away for a "work break".


Cheers,
Dick Johnson
Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips).
Why is the government concerned about the lunatic fringe? Think about it.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Panic `cat /proc/ioports`
  2003-02-12 18:56         ` Richard B. Johnson
@ 2003-02-12 19:16           ` Dave Jones
  0 siblings, 0 replies; 7+ messages in thread
From: Dave Jones @ 2003-02-12 19:16 UTC (permalink / raw)
  To: Richard B. Johnson; +Cc: Randy.Dunlap, Andrew Morton, linux-kernel

On Wed, Feb 12, 2003 at 01:56:58PM -0500, Richard B. Johnson wrote:

 > Yes! pcnet32 to start. Practically all the network drivers end up
 > doing this if they fail somewhere in the initialization. I didn't
 > get a chance to look at others. I got called away for a "work break".

You might want to try using a more recent kernel for auditting purposes,
.18 is just shy of a year old now, and a lot has changed in various
network drivers.  The region handling of pcnet32 looks to be fixed
since rev1.23.1.1 at least.

	Dave

-- 
| Dave Jones.        http://www.codemonkey.org.uk
| SuSE Labs

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2003-02-12 19:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-02-11 20:55 Panic `cat /proc/ioports` Richard B. Johnson
2003-02-11 23:44 ` Andrew Morton
2003-02-12 13:25   ` Richard B. Johnson
2003-02-12 17:22     ` Andrew Morton
2003-02-12 18:25       ` Randy.Dunlap
2003-02-12 18:56         ` Richard B. Johnson
2003-02-12 19:16           ` Dave Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).