summaryrefslogtreecommitdiffstats
path: root/include/linux/kernel.h
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2014-07-27 07:26:01 +0930
committerRusty Russell <rusty@rustcorp.com.au>2014-07-27 20:52:45 +0930
commit37549e94c77a94a9c32b5ae3313a3801cb66adf9 (patch)
tree5fc99f283d749e7ff869e3c0253979be5bb0d15f /include/linux/kernel.h
parent76681c8faa07f9e07caa3cc69f235c8719b2a6ea (diff)
downloadlinux-37549e94c77a94a9c32b5ae3313a3801cb66adf9.tar.gz
linux-37549e94c77a94a9c32b5ae3313a3801cb66adf9.tar.bz2
linux-37549e94c77a94a9c32b5ae3313a3801cb66adf9.zip
sysfs: disallow world-writable files.
This check was introduced in 2006 by Alexey Dobriyan (9774a1f54f173) for module parameters; we removed it when we unified the check into VERIFY_OCTAL_PERMISSIONS() as sysfs didn't have the same requirement. Now all those users are fixed, reintroduce it. Cc: Alexey Dobriyan <adobriyan@gmail.com> Cc: Dave Jones <davej@redhat.com> Cc: Joe Perches <joe@perches.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'include/linux/kernel.h')
-rw-r--r--include/linux/kernel.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 4c52907a6d8b..43e1c6a9683e 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -849,5 +849,7 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { }
/* User perms >= group perms >= other perms */ \
BUILD_BUG_ON_ZERO(((perms) >> 6) < (((perms) >> 3) & 7)) + \
BUILD_BUG_ON_ZERO((((perms) >> 3) & 7) < ((perms) & 7)) + \
+ /* Other writable? Generally considered a bad idea. */ \
+ BUILD_BUG_ON_ZERO((perms) & 2) + \
(perms))
#endif