Re: [PATCH] proc_mknod() should check the mode parameter

Erik Mouw (J.A.K.Mouw@ITS.TUDelft.NL)
Wed, 18 Apr 2001 23:56:56 +0200


On Wed, Apr 18, 2001 at 05:51:08PM -0400, Alexander Viro wrote:
> On Wed, 18 Apr 2001, Erik Mouw wrote:
> > While documenting the procfs interface (more of that later), I came
> > across proc_mknod() which is supposed to be used to create devices in
> > the procfs. IMHO it should therefore check if the mode parameter
> > contains S_IFBLK or S_IFCHR.
>
> Why? All callers of proc_mknod() are in the kernel and they should
> know better. I could understand
> if (....)
> BUG();
> but silently doing nothing is really odd.

OK, what about this one:

Index: fs/proc/generic.c
===================================================================
RCS file: /home/erik/cvsroot/elinux/fs/proc/generic.c,v
retrieving revision 1.1.1.16
diff -u -r1.1.1.16 generic.c
--- fs/proc/generic.c 2001/04/08 23:34:42 1.1.1.16
+++ fs/proc/generic.c 2001/04/18 21:55:14
@@ -445,6 +445,9 @@
const char *fn = name;
int len;

+ if (! (S_ISCHR(mode) || S_ISBLK(mode)))
+ BUG();
+
if (!parent && xlate_proc_name(name, &parent, &fn) != 0)
goto out;
len = strlen(fn);

Erik

-- 
J.A.K. (Erik) Mouw, Information and Communication Theory Group, Department
of Electrical Engineering, Faculty of Information Technology and Systems,
Delft University of Technology, PO BOX 5031,  2600 GA Delft, The Netherlands
Phone: +31-15-2783635  Fax: +31-15-2781843  Email: J.A.K.Mouw@its.tudelft.nl
WWW: http://www-ict.its.tudelft.nl/~erik/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/