diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2014-07-27 07:26:01 +0930 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2014-07-27 20:52:45 +0930 |
commit | 37549e94c77a94a9c32b5ae3313a3801cb66adf9 (patch) | |
tree | 5fc99f283d749e7ff869e3c0253979be5bb0d15f /include/linux/kernel.h | |
parent | 76681c8faa07f9e07caa3cc69f235c8719b2a6ea (diff) | |
download | linux-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.h | 2 |
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 |