mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Willy Tarreau <wtarreau@exosec.fr>
To: linux-kernel@vger.kernel.org, Marcelo Tosatti <marcelo@kvack.org>
Cc: Grant Coady <grant_lkml@dodo.com.au>, willy@w.ods.org
Subject: [ANNOUNCE] Linux-2.4.32-hf32.6
Date: Fri, 26 May 2006 17:25:42 +0200	[thread overview]
Message-ID: <20060526152542.GA18609@exosec.fr> (raw)

Hi,

Last hotfix caused some regression : a recent patch caused 7 panics at
boot on Grant Coady's machines, I'm quickly releasing a new hotfix with
this patch reverted. I have restricted download permissions on previous
one (32.5) in order to avoid a large mess.

If you have already downloaded 32.5, please either apply he patch included
in this mail, or download plain 32.6 from the sites below.

Sorry for the inconvenience,
Willy

  hotfixes home : http://linux.exosec.net/kernel/2.4-hf/
   last version : http://linux.exosec.net/kernel/2.4-hf/LATEST/LATEST/
       RSS feed : http://linux.exosec.net/kernel/hf.xml
  build results : http://bugsplatter.mine.nu/test/linux-2.4/ (Grant's site)
            GIT : http://w.ods.org/kernel/2.4/patches-2.4-hf.git/
         GITWEB : http://w.ods.org/git/?p=patches-2.4-hf.git;a=summary


New kernel information :

   Version | New | Total
   --------+-----+------
    2.4.28 |   0 |  177 
    2.4.29 |   0 |  174 
    2.4.30 |   0 |  108 
    2.4.31 |   0 |   95 
    2.4.32 |   0 |   45 
   --------+-----+------

Changelog from 2.4.32-hf32.5 to 2.4.32-hf32.6
---------------------------------------
'+' = added ; '-' = removed

- 2.4.32-ext3-link-unlink-race-1                              (Vadim Egorov)

  7 panics at boot reported by Grant Coady. Looks like dentry->d_inode is
  NULL in vfs_unlink(). Reverting the patch for now.


--- linux-2.4.32-hf32.5/fs/namei.c	2006-05-26 17:17:08.000000000 +0200
+++ linux-2.4.32-hf32.6/fs/namei.c	2005-04-14 09:43:34.000000000 +0200
@@ -1479,7 +1479,7 @@
 {
 	int error;
 
-	double_down(&dir->i_zombie, &dentry->d_inode->i_zombie);
+	down(&dir->i_zombie);
 	error = may_delete(dir, dentry, 0);
 	if (!error) {
 		error = -EPERM;
@@ -1491,14 +1491,14 @@
 				lock_kernel();
 				error = dir->i_op->unlink(dir, dentry);
 				unlock_kernel();
+				if (!error)
+					d_delete(dentry);
 			}
 		}
 	}
-	double_up(&dir->i_zombie, &dentry->d_inode->i_zombie);
-	if (!error) {
-		d_delete(dentry);
+	up(&dir->i_zombie);
+	if (!error)
 		inode_dir_notify(dir, DN_DELETE);
-	}
 	return error;
 }
 
@@ -1607,21 +1607,20 @@
 	struct inode *inode;
 	int error;
 
+	down(&dir->i_zombie);
 	error = -ENOENT;
 	inode = old_dentry->d_inode;
 	if (!inode)
-		goto exit;
-
-	error = -EXDEV;
-	if (dir->i_dev != inode->i_dev)
-		goto exit;
-
-	double_down(&dir->i_zombie, &old_dentry->d_inode->i_zombie);
+		goto exit_lock;
 
 	error = may_create(dir, new_dentry);
 	if (error)
 		goto exit_lock;
 
+	error = -EXDEV;
+	if (dir->i_dev != inode->i_dev)
+		goto exit_lock;
+
 	/*
 	 * A link to an append-only or immutable file cannot be created.
 	 */
@@ -1637,10 +1636,9 @@
 	unlock_kernel();
 
 exit_lock:
-	double_up(&dir->i_zombie, &old_dentry->d_inode->i_zombie);
+	up(&dir->i_zombie);
 	if (!error)
 		inode_dir_notify(dir, DN_CREATE);
-exit:
 	return error;
 }
 

--

Willy Tarreau - http://w.ods.org/
PGP Fingerprint : 72C2 A394 02EA F546 BA6F  A7B1 E82C B631 848A 1004
EXOSEC - ZAC des Metz - 3 Rue du petit robinson - 78350 JOUY EN JOSAS
N°Indigo: 0 825 075 510 - Accueil: +33 1 72 89 72 30 - Fax: +33 1 72 89 80 19
Site web : http://www.exosec.fr/


                 reply	other threads:[~2006-05-26 15:25 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060526152542.GA18609@exosec.fr \
    --to=wtarreau@exosec.fr \
    --cc=grant_lkml@dodo.com.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo@kvack.org \
    --cc=willy@w.ods.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®