[PVFS-developers] Kernel Oops prevention
Porter Don
PorterDE at mercury.hendrix.edu
Thu Jun 10 10:45:07 EDT 2004
In dorking with the size checking stuff I accidentally caused a garbage
errno to be sent back to the client in a stat call. This, in turn, was
passed by the kernel module to ERR_PTR, which in some cases interpreted the
errno as a real pointer and tried to dereference it, thus oopsing the
kernel.
Granted, this is probably the last time in all of pvfs1 history that someone
will do something so foolish, but I thought it would be good if the kernel
module failed with something a little less painful than an oops. Put
another way, it would be good if a broken manager would not oops the client
kernel.
Attached is a patch that catches errno's greater than 1000 and changes them
to EIO and prints a message to the syslog. Thus, commands will fail if the
command is broken, but the kernel will not oops in this case.
Thoughts?
Thanks,
Don
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kernel-errno.patch
Type: application/octet-stream
Size: 897 bytes
Desc: not available
Url : http://www.beowulf-underground.org/pipermail/pvfs-developers/attachments/20040610/b25069cf/kernel-errno.obj
More information about the PVFS-developers
mailing list