packages: kernel/kernel-small_fixes.patch - always apply mount options when...

arekm arekm at pld-linux.org
Fri Mar 23 19:45:50 CET 2012


Author: arekm                        Date: Fri Mar 23 18:45:50 2012 GMT
Module: packages                      Tag: HEAD
---- Log message:
- always apply mount options when mounting /proc

---- Files affected:
packages/kernel:
   kernel-small_fixes.patch (1.57 -> 1.58) 

---- Diffs:

================================================================
Index: packages/kernel/kernel-small_fixes.patch
diff -u packages/kernel/kernel-small_fixes.patch:1.57 packages/kernel/kernel-small_fixes.patch:1.58
--- packages/kernel/kernel-small_fixes.patch:1.57	Wed Mar 21 16:48:28 2012
+++ packages/kernel/kernel-small_fixes.patch	Fri Mar 23 19:45:45 2012
@@ -127,3 +127,43 @@
 
 
 
+From: Vasiliy Kulikov <segoon at openwall.com>
+Date: Fri, 23 Mar 2012 20:56:42 +0400
+Subject: [PATCH] proc: fix mount -t proc -o AAA
+
+proc_parse_options() inside of proc_mount() runs only once at the boot
+time without any given options.  So, following umount(2)+mount(2) ignore
+mount options: proc_parse_options() is not called as ->s_root is already
+initialized.  To fix that parse mount options unconditionally.
+
+Signed-off-by: Vasiliy Kulikov <segoon at openwall.com>
+Reported-by: Arkadiusz Miśkiewicz <a.miskiewicz at gmail.com>
+---
+ fs/proc/root.c |    9 +++++----
+ 1 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/fs/proc/root.c b/fs/proc/root.c
+index 46a15d8..eed44bf 100644
+--- a/fs/proc/root.c
++++ b/fs/proc/root.c
+@@ -115,12 +115,13 @@ static struct dentry *proc_mount(struct file_system_type *fs_type,
+ 	if (IS_ERR(sb))
+ 		return ERR_CAST(sb);
+ 
++	if (!proc_parse_options(options, ns)) {
++		deactivate_locked_super(sb);
++		return ERR_PTR(-EINVAL);
++	}
++
+ 	if (!sb->s_root) {
+ 		sb->s_flags = flags;
+-		if (!proc_parse_options(options, ns)) {
+-			deactivate_locked_super(sb);
+-			return ERR_PTR(-EINVAL);
+-		}
+ 		err = proc_fill_super(sb);
+ 		if (err) {
+ 			deactivate_locked_super(sb);
+-- 
+1.7.0.4
+
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/packages/kernel/kernel-small_fixes.patch?r1=1.57&r2=1.58



More information about the pld-cvs-commit mailing list