r4122 - in dists/trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian: . patches patches/series

Simon Horman horms at costa.debian.org
Thu Sep 1 09:08:04 UTC 2005


Author: horms
Date: 2005-09-01 09:08:03 +0000 (Thu, 01 Sep 2005)
New Revision: 4122

Added:
   dists/trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/180_fs-isofs-ignored-parameters.diff
Modified:
   dists/trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/changelog
   dists/trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/series/2.4.27-12
Log:
+  * 180_fs-isofs-ignored-parameters.diff
+    isofs ignores any mount parameters after iocharset, map or session.
+    http://lists.debian.org/debian-kernel/2005/08/msg00581.html


Modified: dists/trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/changelog
===================================================================
--- dists/trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/changelog	2005-09-01 08:03:40 UTC (rev 4121)
+++ dists/trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/changelog	2005-09-01 09:08:03 UTC (rev 4122)
@@ -46,8 +46,12 @@
      Fix SKB leak in ip6_input_finish()
      From 2.6.12.6
 
- -- Simon Horman <horms at debian.org>  Thu,  1 Sep 2005 15:06:15 +0900
+  * 180_fs-isofs-ignored-parameters.diff
+    isofs ignores any mount parameters after iocharset, map or session.
+    http://lists.debian.org/debian-kernel/2005/08/msg00581.html
 
+ -- Simon Horman <horms at debian.org>  Thu,  1 Sep 2005 17:54:24 +0900
+
 kernel-source-2.4.27 (2.4.27-11) unstable; urgency=low
 
   [ Simon Horman ]

Added: dists/trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/180_fs-isofs-ignored-parameters.diff
===================================================================
--- dists/trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/180_fs-isofs-ignored-parameters.diff	2005-09-01 08:03:40 UTC (rev 4121)
+++ dists/trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/180_fs-isofs-ignored-parameters.diff	2005-09-01 09:08:03 UTC (rev 4122)
@@ -0,0 +1,66 @@
+commit 3fcb3e818e6bb1cdf742b77a382844d117c41b26
+tree e38358e15cfb5c2c5e8eec93b3f15a459e9b958b
+parent 3e6c661ddb88083186ef55ced851d5a834bc34c0
+author Horms <horms at debian.org> ²Ð, 16 8·î 2005 17:38:09 +0900
+committer Marcelo Tosatti <marcelo at dmt.cnet> ²Ð, 16 8·î 2005 12:09:03 -0300
+
+    [PATCH] isofs driver ignore parameters
+    
+    It seems that Alexander Pytlev's original (simple) patch was correct.
+    
+    Without it the logic looks a bit like this.
+    
+    while (...) {
+    if iocharset
+    ...
+    else if map
+    ...
+    if session
+    ...
+    if sbsector
+    ...
+    else if check
+    ...
+    ...
+    else
+    return 1;
+    }
+    
+    Now, if iocharset, map or session are matched, then none of the if or
+    else if clauses under sbsector will match (that is none of these clauses
+    match iocharset, map or session), and thus the else clause will be hit,
+    and the function will return 1 without parsing any furhter options.
+    
+    With Alexander's fix, the if session and if sbsector clauses
+    become else if, and its easy to see that the return 1 won't
+    be premeturely called.
+    
+    I have tested that this patch works using the testcase options
+    iocharset=koi8-r,gid=100, and checking that gid is set correctly
+    with the patch, and incorrectly without.
+    
+    Here is the patch and signoff again, just for the record.
+    I will send a second patch to clean up the *value = 0 code
+    that Marcelo cast concerns over - its bogus but harmless.
+    
+    Signed-off-by: Horms <horms at verge.net.au>
+
+diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c
+--- a/fs/isofs/inode.c
++++ b/fs/isofs/inode.c
+@@ -335,13 +335,13 @@ static int parse_options(char *options, 
+ 			else if (!strcmp(value,"acorn")) popt->map = 'a';
+ 			else return 0;
+ 		}
+-		if (!strcmp(this_char,"session") && value) {
++		else if (!strcmp(this_char,"session") && value) {
+ 			char * vpnt = value;
+ 			unsigned int ivalue = simple_strtoul(vpnt, &vpnt, 0);
+ 			if(ivalue < 0 || ivalue >99) return 0;
+ 			popt->session=ivalue+1;
+ 		}
+-		if (!strcmp(this_char,"sbsector") && value) {
++		else if (!strcmp(this_char,"sbsector") && value) {
+ 			char * vpnt = value;
+ 			unsigned int ivalue = simple_strtoul(vpnt, &vpnt, 0);
+ 			if(ivalue < 0 || ivalue >660*512) return 0;

Modified: dists/trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/series/2.4.27-12
===================================================================
--- dists/trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/series/2.4.27-12	2005-09-01 08:03:40 UTC (rev 4121)
+++ dists/trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/series/2.4.27-12	2005-09-01 09:08:03 UTC (rev 4122)
@@ -4,3 +4,4 @@
 + 187_zisofs-2.diff
 + 188_fix-dst-leak-in-icmp_push_reply.diff
 + 189_ipv6-skb-leak.diff
++ 180_fs-isofs-ignored-parameters.diff




More information about the Kernel-svn-changes mailing list