Re: [Oops] Unable to handle kernel NULL pointer dereference

From: Martin Diehl (mdiehlcs@compuserve.de)
Date: Thu Sep 21 2000 - 04:33:59 EST


On Wed, 20 Sep 2000, J Brook wrote:

> >>EIP; c01527b9 <check_idq+d/118> <=====
> Trace; c015357b <dquot_transfer+28b/4c8>

this is the quota issue for which I've posted a fix some days ago.
It's (as of 2.4.0-t9p5) waiting on the TODO list to be merged.
I'd consider it "critical" (wrt what Linus accepts for 2.4.0) as
processes calling sys_chown() may be trapped in D-state forever so you end
up fscking.

Martin

--- linux-2.4.0-test8/fs/dquot.c.orig Mon Sep 11 01:42:56 2000
+++ linux-2.4.0-test8/fs/dquot.c Mon Sep 11 02:12:04 2000
@@ -1285,12 +1285,15 @@
                 blocks = isize_to_blocks(inode->i_size, BLOCK_SIZE_BITS);
         else
                 blocks = (inode->i_blocks >> 1);
- for (cnt = 0; cnt < MAXQUOTAS; cnt++)
+ for (cnt = 0; cnt < MAXQUOTAS; cnt++) {
+ if (transfer_to[cnt] == NODQUOT)
+ continue;
                 if (check_idq(transfer_to[cnt], 1) == NO_QUOTA ||
                     check_bdq(transfer_to[cnt], blocks, 0) == NO_QUOTA) {
                         cnt = MAXQUOTAS;
                         goto put_all;
                 }
+ }
 
         if ((error = notify_change(dentry, iattr)))
                 goto put_all;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Sep 23 2000 - 21:00:24 EST