Re: 2.6.24-rc8-mm1: sparc64 warning at fs/file_table.c:49 __fput+0x1a8/0x1e0()

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Andrew Morton <akpm@...>
Cc: Mariusz Kozlowski <m.kozlowski@...>, <linux-kernel@...>, <davem@...>, <sparclinux@...>, Christoph Hellwig <hch@...>
Date: Tuesday, January 22, 2008 - 7:13 pm

On Tue, 2008-01-22 at 13:02 -0800, Andrew Morton wrote:
...


The emergency remount code forcibly removes FMODE_WRITE from
filps.  The r/o bind mount code notices that this was done
without a proper mnt_drop_write() and properly gives a
warning.

This patch does a mnt_drop_write() and also notes in the
filp that this was done to suppress any warning that would
have otherwise been triggered.

I also wonder if inode->i_writecount is made inconsistent
by the emergency remount code.  I guess it is, but the
damage is limited to a single inode instead of being
visible more globally like the mnt write count.  Probably
not really worth fixing.

BTW, this wasn't just a sparc thing.  I triggered it in about
3 seconds on a plain old x86 machine.

Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
---

 linux-2.6.git-dave/fs/super.c |   21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff -puN fs/super.c~robind-sysrq-fix fs/super.c
--- linux-2.6.git/fs/super.c~robind-sysrq-fix	2008-01-22 14:33:38.000000000 -0800
+++ linux-2.6.git-dave/fs/super.c	2008-01-22 14:51:13.000000000 -0800
@@ -37,6 +37,7 @@
 #include <linux/idr.h>
 #include <linux/kobject.h>
 #include <linux/mutex.h>
+#include <linux/file.h>
 #include <asm/uaccess.h>
 
 
@@ -566,10 +567,26 @@ static void mark_files_ro(struct super_b
 {
 	struct file *f;
 
+retry:
 	file_list_lock();
 	list_for_each_entry(f, &sb->s_files, f_u.fu_list) {
-		if (S_ISREG(f->f_path.dentry->d_inode->i_mode) && file_count(f))
-			f->f_mode &= ~FMODE_WRITE;
+		struct vfsmount mnt;
+		if (!S_ISREG(f->f_path.dentry->d_inode->i_mode))
+		       continue;
+		if (!file_count(f))
+			continue;
+		if (!(f->f_mode & FMODE_WRITE))
+			continue;
+		f->f_mode &= ~FMODE_WRITE;
+		f->f_mnt_write_state |= FILE_MNT_WRITE_RELEASED;
+		mnt = f->f_path.mnt;
+		file_list_unlock();
+		/*
+		 * This can sleep, so we can't hold
+		 * the file_list_lock() spinlock.
+		 */
+		mnt_drop_write(mnt);
+		goto retry;
 	}
 	file_list_unlock();
 }
_


-- Dave

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
2.6.24-rc8-mm1, Andrew Morton, (Thu Jan 17, 6:35 am)
Re: 2.6.24-rc8-mm1, Torsten Kaiser, (Fri Jan 25, 5:59 pm)
Re: 2.6.24-rc8-mm1: old sparc64 bug, Mariusz Kozlowski, (Thu Jan 24, 8:04 pm)
Re: 2.6.24-rc8-mm1: old sparc64 bug, Takashi Iwai, (Fri Jan 25, 1:11 pm)
Re: 2.6.24-rc8-mm1: old sparc64 bug, Mariusz Kozlowski, (Fri Jan 25, 2:34 pm)
Re: 2.6.24-rc8-mm1: old sparc64 bug, Takashi Iwai, (Mon Jan 28, 7:55 am)
Re: 2.6.24-rc8-mm1: old sparc64 bug, Mariusz Kozlowski, (Mon Jan 28, 6:13 pm)
Re: 2.6.24-rc8-mm1 Badness at net/ipv4/tcp_input.c:2506, Kamalesh Babulal, (Thu Jan 24, 2:44 am)
Re: 2.6.24-rc8-mm1 Kernel oops on CIFS while running fsstress, Kamalesh Babulal, (Thu Jan 24, 2:09 am)
Re: 2.6.24-rc8-mm1: sparc64 warning at fs/file_table.c:49 __..., Mariusz Kozlowski, (Tue Jan 22, 4:30 pm)
Re: 2.6.24-rc8-mm1: sparc64 warning at fs/file_table.c:49 __..., Dave Hansen, (Tue Jan 22, 7:13 pm)
Re: 2.6.24-rc8-mm1: sparc64 warning at fs/file_table.c:49 __..., Christoph Hellwig, (Wed Jan 23, 1:47 am)
Re: 2.6.24-rc8-mm1 - SELinux issues, , (Mon Jan 21, 2:31 pm)
Re: 2.6.24-rc8-mm1, Mel Gorman, (Sun Jan 20, 12:31 pm)
Re: 2.6.24-rc8-mm1, Balbir Singh, (Sun Jan 20, 12:35 pm)
Re: 2.6.24-rc8-mm1, Mel Gorman, (Sun Jan 20, 2:24 pm)
Re: 2.6.24-rc8-mm1: WARN_ON() in clockevents_register_device..., Rafael J. Wysocki, (Sat Jan 19, 9:10 pm)
Re: 2.6.24-rc8-mm1: WARN_ON() in clockevents_register_device..., Rafael J. Wysocki, (Sun Jan 20, 7:21 am)
Re: 2.6.24-rc8-mm1, Kyle McMartin, (Fri Jan 18, 2:06 pm)
Re: 2.6.24-rc8-mm1 (KVM build issues), Balbir Singh, (Fri Jan 18, 1:26 pm)
Re: 2.6.24-rc8-mm1 (KVM build issues), Andrew Morton, (Tue Jan 22, 4:40 am)
Re: 2.6.24-rc8-mm1: broken suspend (due to git-cpufreq.patch), Rafael J. Wysocki, (Fri Jan 18, 9:34 am)
Re: 2.6.24-rc8-mm1: broken suspend (due to git-cpufreq.patch), Rafael J. Wysocki, (Fri Jan 18, 4:50 pm)
Re: 2.6.24-rc8-mm1: broken suspend (due to git-cpufreq.patch), Rafael J. Wysocki, (Fri Jan 18, 5:55 pm)
Re: 2.6.24-rc8-mm1 Kernel oops will running kernbench, Kamalesh Babulal, (Fri Jan 18, 4:36 am)
Re: 2.6.24-rc8-mm1 Kernel oops will running kernbench, Andrew Morton, (Fri Jan 18, 4:44 am)
Re: 2.6.24-rc8-mm1 Kernel oops will running kernbench, Paul Mackerras, (Fri Jan 18, 5:01 am)
Re: 2.6.24-rc8-mm1 Kernel oops will running kernbench, Kamalesh Babulal, (Fri Jan 18, 5:34 am)
Re: 2.6.24-rc8-mm1 Kernel oops will running kernbench, Paul Mackerras, (Fri Jan 18, 6:26 am)
Re: 2.6.24-rc8-mm1 Kernel oops will running kernbench, Kamalesh Babulal, (Fri Jan 18, 6:44 am)
Re: 2.6.24-rc8-mm1 Kernel oops will running kernbench, Balbir Singh, (Fri Jan 18, 6:54 am)
Re: 2.6.24-rc8-mm1 Kernel oops will running kernbench, Paul Mackerras, (Fri Jan 18, 6:19 am)
Re: 2.6.24-rc8-mm1 build failure on headers_check, Kamalesh Babulal, (Fri Jan 18, 3:09 am)
Re: 2.6.24-rc8-mm1 build failure on headers_check, Andrew Morton, (Fri Jan 18, 3:38 am)
Re: 2.6.24-rc8-mm1 - mkubootimg wants &lt;zlib.h&gt;, Joseph Fannin, (Thu Jan 17, 5:29 pm)
Re: 2.6.24-rc8-mm1 - mkubootimg wants &lt;zlib.h&gt;, Josh Boyer, (Thu Jan 17, 6:21 pm)
Re: 2.6.24-rc8-mm1: powerpc oopses, Mariusz Kozlowski, (Thu Jan 17, 6:15 pm)
Re: 2.6.24-rc8-mm1: powerpc oopses, Andrew Morton, (Thu Jan 17, 6:51 pm)
Re: 2.6.24-rc8-mm1: powerpc oopses, Matt Mackall, (Thu Jan 17, 7:39 pm)
Re: 2.6.24-rc8-mm1: powerpc oopses, Andrew Morton, (Thu Jan 17, 8:05 pm)
Re: 2.6.24-rc8-mm1: powerpc oopses, Matt Mackall, (Thu Jan 17, 8:12 pm)
Re: 2.6.24-rc8-mm1: powerpc oopses, Andrew Morton, (Thu Jan 17, 8:29 pm)
Re: 2.6.24-rc8-mm1: powerpc oopses, Matt Mackall, (Thu Jan 17, 8:47 pm)
Re: 2.6.24-rc8-mm1: powerpc oopses, Mariusz Kozlowski, (Fri Jan 18, 1:23 pm)
Re: 2.6.24-rc8-mm1: powerpc oopses, Matt Mackall, (Fri Jan 18, 1:33 pm)
Re: 2.6.24-rc8-mm1: powerpc oopses, Andrew Morton, (Thu Jan 17, 9:07 pm)
Re: 2.6.24-rc8-mm1: powerpc oopses, Matt Mackall, (Thu Jan 17, 9:16 pm)
Re: 2.6.24-rc8-mm1, Matt Mackall, (Thu Jan 17, 5:10 pm)
Re: 2.6.24-rc8-mm1, Matt Mackall, (Thu Jan 17, 9:29 pm)
Re: 2.6.24-rc8-mm1, Andrew Morton, (Fri Jan 18, 1:08 am)
Re: 2.6.24-rc8-mm1, Matt Mackall, (Fri Jan 18, 9:55 am)
Re: 2.6.24-rc8-mm1 powerpc build errors, Olof Johansson, (Thu Jan 17, 3:06 pm)
Re: 2.6.24-rc8-mm1 powerpc build errors, Andrew Morton, (Thu Jan 17, 3:35 pm)
Re: 2.6.24-rc8-mm1 powerpc build errors, Greg KH, (Thu Jan 17, 6:00 pm)
Re: 2.6.24-rc8-mm1: powerpc: include/asm/nvram.h:62: error: ..., Mariusz Kozlowski, (Thu Jan 17, 2:18 pm)
Re: 2.6.24-rc8-mm1: broken suspend, Rafael J. Wysocki, (Thu Jan 17, 2:13 pm)
x86 refuses to build [Re: 2.6.24-rc8-mm1], Dhaval Giani, (Thu Jan 17, 1:28 pm)
Re: x86 refuses to build [Re: 2.6.24-rc8-mm1], Dhaval Giani, (Thu Jan 17, 2:44 pm)
Re: x86 refuses to build [Re: 2.6.24-rc8-mm1], Ingo Molnar, (Fri Jan 18, 4:59 am)
Re: x86 refuses to build [Re: 2.6.24-rc8-mm1], Mike Travis, (Fri Jan 18, 12:16 pm)
Re: 2.6.24-rc8-mm1 (BUG: sched_rt), Randy Dunlap, (Thu Jan 17, 12:48 pm)
Re: 2.6.24-rc8-mm1 (BUG: sched_rt), Peter Zijlstra, (Thu Jan 17, 1:15 pm)
Re: 2.6.24-rc8-mm1 (BUG: sched_rt), Peter Zijlstra, (Thu Jan 17, 1:11 pm)
Re: 2.6.24-rc8-mm1 (BUG: sched_rt), Randy Dunlap, (Thu Jan 17, 3:14 pm)
Re: 2.6.24-rc8-mm1 (BUG: sched_rt), Andrew Morton, (Thu Jan 17, 3:38 pm)
Re: 2.6.24-rc8-mm1 (BUG: sched_rt), Randy Dunlap, (Thu Jan 17, 2:05 pm)
Re: 2.6.24-rc8-mm1 Build Failure on scsi driver, Kamalesh Babulal, (Thu Jan 17, 12:15 pm)
Re: 2.6.24-rc8-mm1 Build Failure on scsi driver, Andrew Morton, (Thu Jan 17, 3:11 pm)
Re: 2.6.24-rc8-mm1 Build Failure on scsi driver, Kamalesh Babulal, (Fri Jan 18, 2:37 am)
Re: 2.6.24-rc8-mm1 Build Failure on scsi driver, Andrew Morton, (Fri Jan 18, 3:27 am)
[PATCH] SCSI: fix isa/pcmcia compile problem, Tejun Heo, (Fri Jan 18, 3:20 am)
Re: [PATCH] SCSI: fix isa/pcmcia compile problem, Christoph Hellwig, (Mon Jan 21, 5:56 am)
Re: [PATCH] SCSI: fix isa/pcmcia compile problem, James Bottomley, (Mon Jan 21, 10:59 am)
Re: [PATCH] SCSI: fix isa/pcmcia compile problem, James Bottomley, (Fri Jan 18, 10:58 am)
Re: [PATCH] SCSI: fix isa/pcmcia compile problem, Tejun Heo, (Fri Jan 18, 7:27 pm)
Re: [PATCH] SCSI: fix isa/pcmcia compile problem, James Bottomley, (Fri Jan 18, 7:32 pm)
Re: [PATCH] SCSI: fix isa/pcmcia compile problem, James Bottomley, (Fri Jan 18, 7:47 pm)
Re: [PATCH] SCSI: fix isa/pcmcia compile problem, Tejun Heo, (Fri Jan 18, 7:54 pm)
Re: [PATCH] SCSI: fix isa/pcmcia compile problem, Tejun Heo, (Fri Jan 18, 7:46 pm)
Re: [PATCH] SCSI: fix isa/pcmcia compile problem, Tejun Heo, (Fri Jan 18, 7:28 pm)
Re: [PATCH] SCSI: fix isa/pcmcia compile problem, Kamalesh Babulal, (Fri Jan 18, 3:30 am)
[PATCH] aha152x: fix isa/pcmcia compile problem, Tejun Heo, (Thu Jan 17, 8:53 pm)
Re: [PATCH] aha152x: fix isa/pcmcia compile problem, Kamalesh Babulal, (Fri Jan 18, 2:29 am)
do_md_run returned -22 [Was: 2.6.24-rc8-mm1], Jiri Slaby, (Thu Jan 17, 11:23 am)
Re: do_md_run returned -22 [Was: 2.6.24-rc8-mm1], Andrew Morton, (Thu Jan 17, 3:01 pm)
[-mm Patch] uml: fix a building error, WANG Cong, (Thu Jan 17, 9:56 am)
Re: [-mm Patch] uml: fix a building error, Mariusz Kozlowski, (Thu Jan 17, 2:11 pm)
Re: [-mm Patch] uml: fix a building error, Jeff Dike, (Thu Jan 17, 2:56 pm)
Re: [-mm Patch] uml: fix a building error, Andrew Morton, (Thu Jan 17, 2:56 pm)
RE: [-mm Patch] uml: fix a building error, Pallipadi, Venkatesh, (Thu Jan 17, 3:38 pm)
Re: [-mm Patch] uml: fix a building error, Jeff Dike, (Thu Jan 17, 5:14 pm)
Re: [-mm Patch] uml: fix a building error, Venki Pallipadi, (Thu Jan 17, 5:41 pm)
Re: [-mm Patch] uml: fix a building error, Jeff Dike, (Thu Jan 17, 7:08 pm)
RE: [-mm Patch] uml: fix a building error, Pallipadi, Venkatesh, (Thu Jan 17, 7:17 pm)
Re: [-mm Patch] uml: fix a building error, Jeff Dike, (Thu Jan 17, 10:19 pm)
Re: [-mm Patch] uml: fix a building error, Mariusz Kozlowski, (Thu Jan 17, 4:42 pm)
Re: [-mm Patch] uml: fix a building error, Andrew Morton, (Thu Jan 17, 3:44 pm)
Re: [-mm Patch] uml: fix a building error, Jeff Dike, (Thu Jan 17, 1:59 pm)
Re: 2.6.24-rc8-mm1 kernel panic while bootup, Kamalesh Babulal, (Thu Jan 17, 9:54 am)
Re: 2.6.24-rc8-mm1 kernel panic while bootup, Andrew Morton, (Thu Jan 17, 2:54 pm)
Re: 2.6.24-rc8-mm1 kernel panic while bootup, Kamalesh Babulal, (Sun Jan 20, 2:24 am)
Re: 2.6.24-rc8-mm1 kernel panic while bootup, Andrew Morton, (Sun Jan 20, 3:17 am)
Re: 2.6.24-rc8-mm1 kernel panic while bootup, Randy Dunlap, (Thu Jan 17, 3:00 pm)
Re: 2.6.24-rc8-mm1, Kamalesh Babulal, (Thu Jan 17, 9:34 am)
Re: 2.6.24-rc8-mm1, Ingo Molnar, (Thu Jan 17, 10:26 am)
[-mm Patch] UML: fix a building error, WANG Cong, (Thu Jan 17, 9:21 am)
Re: [-mm Patch] UML: fix a building error, Jeff Dike, (Thu Jan 17, 1:59 pm)
Re: 2.6.24-rc8-mm1, Balbir Singh, (Thu Jan 17, 8:46 am)
Re: 2.6.24-rc8-mm1, Andrew Morton, (Thu Jan 17, 2:40 pm)
Re: 2.6.24-rc8-mm1, Balbir Singh, (Thu Jan 17, 4:25 pm)
RE: 2.6.24-rc8-mm1, Pallipadi, Venkatesh, (Thu Jan 17, 3:22 pm)
Re: 2.6.24-rc8-mm1, Balbir Singh, (Thu Jan 17, 7:04 pm)
Re: 2.6.24-rc8-mm1, Siddha, Suresh B, (Thu Jan 17, 9:42 pm)
Re: 2.6.24-rc8-mm1, Balbir Singh, (Fri Jan 18, 1:06 am)
Re: 2.6.24-rc8-mm1, Andrew Morton, (Thu Jan 17, 3:40 pm)
Re: 2.6.24-rc8-mm1, Venki Pallipadi, (Thu Jan 17, 7:33 pm)
RE: [E1000-devel] 2.6.24-rc8-mm1, Brandeburg, Jesse, (Thu Jan 17, 3:47 pm)
Re: 2.6.24-rc8-mm1 Build Failure on S390x, Kamalesh Babulal, (Thu Jan 17, 8:41 am)
Re: 2.6.24-rc8-mm1 Build Failure on S390x, Martin Schwidefsky, (Thu Jan 17, 10:05 am)