From 8092ca63cffc475105612450ba922c7feb864acb Mon Sep 17 00:00:00 2001 From: Frodo Looijaard Date: Fri, 12 Feb 1999 05:38:23 +0000 Subject: [PATCH] Documented cdrom.o bug and fix. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@216 7894878c-1315-0410-8ee3-d5d059ff63e0 --- BUGS | 48 +++++++++++++++++++++++++++++++++++++++++++++--- INSTALL | 4 ++++ 2 files changed, 49 insertions(+), 3 deletions(-) diff --git a/BUGS b/BUGS index 1b947a18..01056098 100644 --- a/BUGS +++ b/BUGS @@ -2,6 +2,9 @@ Except for many unimplemented things (listed in the TODO file), there may be true bugs too. If you experience any problems, do not hesitate to mail lm78@stimpy.netroedge.com. But read the documentation first, please! +Pre-2.1.58 /proc directory Oops +=============================== + There is a problem in pre 2.1.58 kernels that can make the kernel Oops. You can trigger this Oops if you have opened any file, or are in any directory, created by a module. If you remove the module at such a moment, successive @@ -15,6 +18,45 @@ Alan Cox (alan@lxorguk.ukuu.org.uk), the maintainer of 2.0 kernels, has said he will consider patches that backport this 2.1 feature; perhaps it will be in 2.0.37. Until then, be careful when you unload modules. -Module cdrom.o in all 2.2 kernels conflicts with our sensors.o module. Patches -to correct this are being created. At this moment, make sure cdrom.o never -gets unloaded, or you will almost certainly receive an Oops! + +2.2.x cdrom.o Oops +================== + +Module cdrom.o in all 2.2 kernels conflicts with our sensors.o module. +You can get an Oops if cdrom.o is unloaded after sensors.o was loaded. +Below is a small diff that you can apply to the kernel to correct this. +Another solution is to make sure cdrom.o is never unloaded, or to make +sure it is not a module but compiled into the kernel proper. + +The diff corrects a long-standing /proc bug. It will go into kernel 2.2.2 +or later in a somewhat modified form. It was written by Jens Axboe +. + +-----cut here----- +--- virgin/kernel/sysctl.c Sat Jan 9 07:54:16 1999 ++++ linux/kernel/sysctl.c Mon Feb 1 23:44:58 1999 +@@ -559,12 +559,12 @@ + unregister_proc_table(table->child, de); + } + /* Don't unregister proc directories which still have +- entries... */ +- if (!((de->mode & S_IFDIR) && de->subdir)) { ++ entries or are still being used... */ ++ if (!((de->mode & S_IFDIR) && de->subdir) && !de->count) +{ + proc_unregister(root, de->low_ino); + table->de = NULL; + kfree(de); +- } ++ } + } + } +-----cut here----- + + +Kernel i2c conflict +=================== + +An older version of the i2c modules is distributed in 2.2 and late 2.1 +kernels. If you try to use it at the same moment as our i2c modules, you +may get into trouble. There is no nice solution for this yet. diff --git a/INSTALL b/INSTALL index cd5dc841..495d7e56 100644 --- a/INSTALL +++ b/INSTALL @@ -2,6 +2,10 @@ Please read this file thoroughly before you try to install and run things. It will safe you many headaches. Installation is not really difficult, but there are a few pitfalls. +ALWAYS READ THE `BUGS' FILE! This file contains a list of known +incompatibilities with this package. Most are highly kernel-dependent and +usually not fatal, but still. + COMPILATION AND INSTALLATION ============================