[lkml]   [2001]   [Oct]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Invalid operand with 2.4.11
In article <> you write:
>I am using a SuSE 7.2 distro. When I'm starting their yast2, it crashes
>reliably and leaves this message in the log (run through ksymoops):

I'd absolutely _love_ it if you can pinpoint this to a particular
pre-release. Something like "it doesn't happen with pre5, but it does
happen with pre6". Or "pre6 was fine, but the final 2.4.11 breaks".

Mind doing that? Together with a full config file, and I'll have a much
better idea of what broke..

The oops itself _seems_ to because the slab debugging (which you had
enabled: good for you!) catches on CHECK_PAGE() when freeing the name
slab at the end of open_namei():

# define CHECK_PAGE(page) \
do { \
CHECK_NR(page); \
if (!PageSlab(page)) { \
printk(KERN_ERR "kfree: bad ptr %lxh.\n", \
(unsigned long)objp); \
BUG(); \
} \
} while (0)

but it's a bit hard sometimes to debug these things remotely. Did you
see that "kfree: bad ptr" message?

Anyway, I do have one (possibly bad) suspicion: one thing you can try
with plain 2.4.11 is to remove the "FASTCALL()" macro in <linux/fs.h>
around the __user_walk/path_init/path_walk/link_path_walk declarations.
Those FASTCALL's are new, and I wonder if gcc has register pressure
problems with them, which could cause corruption, which in turn would
explain how "open_namei()" would to try to free a bad pointer.

[ Yeah, that's it, blame it on the compiler.. ]

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:08    [W:0.053 / U:0.248 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site