2001-11-01 15:53:13

by FORT David

[permalink] [raw]
Subject: Oops on 2.4.13

ksymoops 2.4.3 on i686 2.4.13. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.13/ (default)
-m /usr/src/linux/System.map (default)

Warning: You did not tell me where to find symbol information. I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc. ksymoops -h explains the options.

ac97_codec: AC97 Audio codec, id: 0x4352:0x5913 (Cirrus Logic CS4297A rev A)
3c59x: Donald Becker and others. http://www.scyld.com/network/vortex.html
Unable to handle kernel paging request at virtual address 00008008
c013c7e4
*pde = 00000000
Oops: 0002
CPU: 1
EIP: 0010:[<c013c7e4>] Tainted: P
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010206
eax: 00008000 ebx: e228f220 ecx: 00008000 edx: e228f240
esi: efee5f34 edi: e02ee608 ebp: efee5f48 esp: efee5efc
ds: 0018 es: 0018 ss: 0018
Process kswapd (pid: 5, stackpage=efee5000)
Stack: c0149840 00008000 c0148bcd c1c0a37c e228f040 e228f040 e228f220 c0149898
e228f220 e02ee7e8 e02ee7e0 c0149b25 efee5f34 00004f8c e228f408 e27379a8
00000011 000001d0 00000006 000001d0 c0149b60 00000000 c012f0e6 00000006
Call Trace: [<c0149840>] [<c0148bcd>] [<c0149898>] [<c0149b25>] [<c0149b60>]
[<c012f0e6>] [<c012f12c>] [<c012f1e1>] [<c012f256>] [<c012f3a1>] [<c012f300>]
[<c0105000>] [<c0105656>] [<c012f300>]
Code: f0 ff 49 08 0f 94 c0 84 c0 74 2d f0 fe 0d 08 92 25 c0 0f 88

>>EIP; c013c7e4 <cdput+4/40> <=====
Trace; c0149840 <clear_inode+c0/e0>
Trace; c0148bcc <destroy_inode+2c/40>
Trace; c0149898 <dispose_list+38/50>
Trace; c0149b24 <prune_icache+f4/110>
Trace; c0149b60 <shrink_icache_memory+20/40>
Trace; c012f0e6 <shrink_caches+76/90>
Trace; c012f12c <try_to_free_pages+2c/60>
Trace; c012f1e0 <kswapd_balance_pgdat+50/a0>
Trace; c012f256 <kswapd_balance+26/50>
Trace; c012f3a0 <kswapd+a0/c0>
Trace; c012f300 <kswapd+0/c0>
Trace; c0105000 <_stext+0/0>
Trace; c0105656 <kernel_thread+26/30>
Trace; c012f300 <kswapd+0/c0>
Code; c013c7e4 <cdput+4/40>
00000000 <_EIP>:
Code; c013c7e4 <cdput+4/40> <=====
0: f0 ff 49 08 lock decl 0x8(%ecx) <=====
Code; c013c7e8 <cdput+8/40>
4: 0f 94 c0 sete %al
Code; c013c7ea <cdput+a/40>
7: 84 c0 test %al,%al
Code; c013c7ec <cdput+c/40>
9: 74 2d je 38 <_EIP+0x38> c013c81c <cdput+3c/40>
Code; c013c7ee <cdput+e/40>
b: f0 fe 0d 08 92 25 c0 lock decb 0xc0259208
Code; c013c7f6 <cdput+16/40>
12: 0f 88 00 00 00 00 js 18 <_EIP+0x18> c013c7fc <cdput+1c/40>


1 warning issued. Results may not be reliable.


Attachments:
31-10-2001-oops (2.84 kB)

2001-11-01 22:52:56

by Keith Owens

[permalink] [raw]
Subject: Re: Oops on 2.4.13

On Thu, 01 Nov 2001 16:45:04 -0500,
FORT David <[email protected]> wrote:
>the kernel is tainted but by a kernel driver which hasn't set
>any licence(can't remember which one)

modinfo `modprobe -l` | sed -ne '/^filename/h; /^license.*none/{g;p;}'

lists all modules without a license, please report so it can be fixed.

2001-11-02 00:58:00

by David Chow

[permalink] [raw]
Subject: Re: Oops on 2.4.13

I have no output for modinfo even running kernel 2.4.2 .. what's the
problem here?

Thanks.

DC

Keith Owens wrote:

>On Thu, 01 Nov 2001 16:45:04 -0500,
>FORT David <[email protected]> wrote:
>
>>the kernel is tainted but by a kernel driver which hasn't set
>>any licence(can't remember which one)
>>
>
>modinfo `modprobe -l` | sed -ne '/^filename/h; /^license.*none/{g;p;}'
>
>lists all modules without a license, please report so it can be fixed.
>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [email protected]
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
>


2001-11-02 01:02:00

by FORT David

[permalink] [raw]
Subject: Re: Oops on 2.4.13

Keith Owens wrote:

>On Thu, 01 Nov 2001 16:45:04 -0500,
>FORT David <[email protected]> wrote:
>
>>the kernel is tainted but by a kernel driver which hasn't set
>>any licence(can't remember which one)
>>
>
>modinfo `modprobe -l` | sed -ne '/^filename/h; /^license.*none/{g;p;}'
>
>lists all modules without a license, please report so it can be fixed.
>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [email protected]
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
>
Looks like there's many candidates, and some quite commonly
used modules:
filename: /lib/modules/2.4.13/kernel/drivers/block/loop.o
filename: /lib/modules/2.4.13/kernel/drivers/media/video/cpia.o
filename: /lib/modules/2.4.13/kernel/drivers/media/video/cpia_usb.o
filename: /lib/modules/2.4.13/kernel/drivers/media/video/mod_quickcam.o
filename: /lib/modules/2.4.13/kernel/drivers/net/pppoe.o
filename: /lib/modules/2.4.13/kernel/drivers/net/pppox.o
filename:
/lib/modules/2.4.13/kernel/drivers/video/matrox/matroxfb_crtc2.o
filename: /lib/modules/2.4.13/kernel/drivers/video/matrox/matroxfb_g450.o
filename:
/lib/modules/2.4.13/kernel/drivers/video/matrox/matroxfb_maven.o
filename: /lib/modules/2.4.13/kernel/drivers/video/matrox/matroxfb_misc.o
filename: /lib/modules/2.4.13/kernel/fs/coda/coda.o
filename: /lib/modules/2.4.13/kernel/fs/msdos/msdos.o
filename: /lib/modules/2.4.13/kernel/fs/nfs/nfs.o
filename: /lib/modules/2.4.13/kernel/fs/nls/nls_big5.o
filename: /lib/modules/2.4.13/kernel/fs/nls/nls_cp936.o
filename: /lib/modules/2.4.13/kernel/fs/nls/nls_cp950.o
filename: /lib/modules/2.4.13/kernel/fs/nls/nls_gb2312.o
filename: /lib/modules/2.4.13/kernel/fs/nls/nls_iso8859-1.o
filename: /lib/modules/2.4.13/kernel/fs/nls/nls_iso8859-15.o
filename: /lib/modules/2.4.13/kernel/fs/nls/nls_iso8859-2.o
filename: /lib/modules/2.4.13/kernel/fs/nls/nls_iso8859-4.o
filename: /lib/modules/2.4.13/kernel/fs/nls/nls_utf8.o
filename: /lib/modules/2.4.13/kernel/fs/vfat/vfat.o
filename: /lib/modules/2.4.13/kernel/net/khttpd/khttpd.o
filename: /lib/modules/2.4.13/kernel/net/netlink/netlink_dev.o


--
%-------------------------------------------------------------------------%
% FORT David, 0668373331 %
% 5 boulevard de solf?rino 0299679330 %
% 35000 Rennes, France [email protected] %
% ICU:78064991 [email protected] %
%--LINUX-HTTPD-PIOGENE----------------------------------------------------%
% -datamining <-/ | .~. %
% -networking/PHP/java/JSPs | /V\ L I N U X %
% -opensource | // \\ >Fear the Penguin< %
% -GNOME/enlightenment/GIMP | /( )\ %
% feel enlightened.... | ^^-^^ %
% HomePage: http://www.enlightened-popo.net %
%---------- -- This was sent by Djinn running Linux 2.4.13 -- ------------%



2001-11-02 01:40:35

by Keith Owens

[permalink] [raw]
Subject: Re: Oops on 2.4.13

On Fri, 02 Nov 2001 21:00:19 +0800,
David Chow <[email protected]> wrote:
>I have no output for modinfo even running kernel 2.4.2 .. what's the
>problem here?

Old modutils. modinfo was changed in modutils 2.4.5 to produce
parsable output. Current modutils is 2.4.10.

2001-11-02 02:03:08

by Keith Owens

[permalink] [raw]
Subject: Re: Oops on 2.4.13

On Fri, 02 Nov 2001 01:52:32 -0500,
FORT David <[email protected]> wrote:
>Keith Owens wrote:
>>modinfo `modprobe -l` | sed -ne '/^filename/h; /^license.*none/{g;p;}'
>>lists all modules without a license, please report so it can be fixed.

/lib/modules/2.4.13/kernel/... modules without license, from David Fort.

drivers/block/loop.o - has MODULE_LICENSE("GPL") in -AC tree
drivers/media/video/cpia.o - in -AC tree
drivers/media/video/cpia_usb.o - in -AC tree
drivers/media/video/mod_quickcam.o - add on module, contact the maintainers
drivers/net/pppoe.o - in -AC tree
drivers/net/pppox.o - in -AC tree
drivers/video/matrox/matroxfb_crtc2.o - no license, needs patch
drivers/video/matrox/matroxfb_g450.o - no license, needs patch
drivers/video/matrox/matroxfb_maven.o - no license, needs patch
drivers/video/matrox/matroxfb_misc.o - no license, needs patch
fs/coda/coda.o - no license, needs patch
fs/msdos/msdos.o - no license, needs patch
fs/nfs/nfs.o - in -AC tree
fs/nls/nls_big5.o - no license, needs patch
fs/nls/nls_cp936.o - no license, needs patch
fs/nls/nls_cp950.o - no license, needs patch
fs/nls/nls_gb2312.o - no license, needs patch
fs/nls/nls_iso8859-1.o - no license, needs patch
fs/nls/nls_iso8859-15.o - no license, needs patch
fs/nls/nls_iso8859-2.o - no license, needs patch
fs/nls/nls_iso8859-4.o - no license, needs patch
fs/nls/nls_utf8.o - no license, needs patch
fs/vfat/vfat.o - no license, needs patch
net/khttpd/khttpd.o - no license, needs patch
net/netlink/netlink_dev.o - no license, needs patch

2001-11-02 18:42:26

by Petr Vandrovec

[permalink] [raw]
Subject: Re: Oops on 2.4.13

On 2 Nov 01 at 13:02, Keith Owens wrote:

> drivers/video/matrox/matroxfb_crtc2.o - no license, needs patch
> drivers/video/matrox/matroxfb_g450.o - no license, needs patch
> drivers/video/matrox/matroxfb_maven.o - no license, needs patch
> drivers/video/matrox/matroxfb_misc.o - no license, needs patch

They are all GPL-ed. Does it mean that I have to fix that someone
else changed kernel API during stable serie?
Thanks,
Petr Vandrovec
[email protected]

P.S.: I still do not understand this MODULE_LICENSE() thing. VMware
modules will probably contain GPL tag in next release, but kernel
hackers refuse to look at these reports anyway (I'm not complaining,
this is their right to ignore these reports; but if they say that they
are doing that due to non-GPL, they lie). So I think it should be changed
from MODULE_LICENSE() to
MODULE_CERTIFIED_BY_LINUX_KERNEL_WORKING_GROUP("xxx says it works").
It would match real meaning much better.

2001-11-02 18:50:00

by Stephen C. Tweedie

[permalink] [raw]
Subject: [PATCH] Re: Oops on 2.4.13

Hi,

On Thu, Nov 01, 2001 at 04:45:04PM -0500, FORT David wrote:

> >>EIP; c013c7e4 <cdput+4/40> <=====
> Trace; c0149840 <clear_inode+c0/e0>
> Trace; c0148bcc <destroy_inode+2c/40>

In your case you appear to have a bit-flip in inode->i_cdev (which
contains 0x00008000). It could be pretty much any thing causing
that... but the locking in cdput is still suspect:

void cdput(struct char_device *cdev)
{
if (atomic_dec_and_test(&cdev->count)) {
spin_lock(&cdev_lock);

lets somebody else elevate the cdev->count before we get the lock, and
we'll proceed to destroy the cdev which is now in use again.

Al already fixed this for bdput, but it looks like we need

--- linux-2.4.14-pre6/fs/char_dev.c.~1~ Tue May 22 17:35:42 2001
+++ linux-2.4.14-pre6/fs/char_dev.c Fri Nov 2 00:49:55 2001
@@ -104,8 +104,7 @@

void cdput(struct char_device *cdev)
{
- if (atomic_dec_and_test(&cdev->count)) {
- spin_lock(&cdev_lock);
+ if (atomic_dec_and_lock(&cdev->count, &cdev_lock)) {
list_del(&cdev->hash);
spin_unlock(&cdev_lock);
destroy_cdev(cdev);

for cdput too (compiled but not tested). I'm not 100% convinced this
is the problem you're seeing, though.

Cheers,
Stephen

2001-11-02 18:56:17

by Jeff Garzik

[permalink] [raw]
Subject: Re: Oops on 2.4.13

Petr Vandrovec wrote:
>
> On 2 Nov 01 at 13:02, Keith Owens wrote:
>
> > drivers/video/matrox/matroxfb_crtc2.o - no license, needs patch
> > drivers/video/matrox/matroxfb_g450.o - no license, needs patch
> > drivers/video/matrox/matroxfb_maven.o - no license, needs patch
> > drivers/video/matrox/matroxfb_misc.o - no license, needs patch
>
> They are all GPL-ed. Does it mean that I have to fix that someone
> else changed kernel API during stable serie?

yes, they need MODULE_LICENSE


> P.S.: I still do not understand this MODULE_LICENSE() thing. VMware
> modules will probably contain GPL tag in next release, but kernel
> hackers refuse to look at these reports anyway (I'm not complaining,
> this is their right to ignore these reports; but if they say that they
> are doing that due to non-GPL, they lie). So I think it should be changed
> from MODULE_LICENSE() to
> MODULE_CERTIFIED_BY_LINUX_KERNEL_WORKING_GROUP("xxx says it works").
> It would match real meaning much better.

Are VMware kernel modules 100% open source? If yes, then that is
appropriate.

If VMware kernel modules use ANY closed source libraries (foo.a) etc.,
then putting MODULE_LICENSE("GPL") on that source is wrong.

--
Jeff Garzik | Only so many songs can be sung
Building 1024 | with two lips, two lungs, and one tongue.
MandrakeSoft | - nomeansno