diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-07-01 13:49:25 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-07-01 13:49:25 -0400 |
commit | 02201e3f1b46aed7c6348f406b7b40de80ba6de3 (patch) | |
tree | 2392c9098359725c195dd82a72b20ccedc1a1509 /include/linux/kernel.h | |
parent | 0890a264794f33df540fbaf274699146903b4e6b (diff) | |
parent | 20bdc2cfdbc484777b30b96fcdbb8994038f3ce1 (diff) |
Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux
Pull module updates from Rusty Russell:
"Main excitement here is Peter Zijlstra's lockless rbtree optimization
to speed module address lookup. He found some abusers of the module
lock doing that too.
A little bit of parameter work here too; including Dan Streetman's
breaking up the big param mutex so writing a parameter can load
another module (yeah, really). Unfortunately that broke the usual
suspects, !CONFIG_MODULES and !CONFIG_SYSFS, so those fixes were
appended too"
* tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (26 commits)
modules: only use mod->param_lock if CONFIG_MODULES
param: fix module param locks when !CONFIG_SYSFS.
rcu: merge fix for Convert ACCESS_ONCE() to READ_ONCE() and WRITE_ONCE()
module: add per-module param_lock
module: make perm const
params: suppress unused variable error, warn once just in case code changes.
modules: clarify CONFIG_MODULE_COMPRESS help, suggest 'N'.
kernel/module.c: avoid ifdefs for sig_enforce declaration
kernel/workqueue.c: remove ifdefs over wq_power_efficient
kernel/params.c: export param_ops_bool_enable_only
kernel/params.c: generalize bool_enable_only
kernel/module.c: use generic module param operaters for sig_enforce
kernel/params: constify struct kernel_param_ops uses
sysfs: tightened sysfs permission checks
module: Rework module_addr_{min,max}
module: Use __module_address() for module_address_lookup()
module: Make the mod_tree stuff conditional on PERF_EVENTS || TRACING
module: Optimize __module_address() using a latched RB-tree
rbtree: Implement generic latch_tree
seqlock: Introduce raw_read_seqcount_latch()
...
Diffstat (limited to 'include/linux/kernel.h')
-rw-r--r-- | include/linux/kernel.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 5acf5b70866d..cfa9351c7536 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
@@ -813,13 +813,15 @@ static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { } | |||
813 | #endif | 813 | #endif |
814 | 814 | ||
815 | /* Permissions on a sysfs file: you didn't miss the 0 prefix did you? */ | 815 | /* Permissions on a sysfs file: you didn't miss the 0 prefix did you? */ |
816 | #define VERIFY_OCTAL_PERMISSIONS(perms) \ | 816 | #define VERIFY_OCTAL_PERMISSIONS(perms) \ |
817 | (BUILD_BUG_ON_ZERO((perms) < 0) + \ | 817 | (BUILD_BUG_ON_ZERO((perms) < 0) + \ |
818 | BUILD_BUG_ON_ZERO((perms) > 0777) + \ | 818 | BUILD_BUG_ON_ZERO((perms) > 0777) + \ |
819 | /* User perms >= group perms >= other perms */ \ | 819 | /* USER_READABLE >= GROUP_READABLE >= OTHER_READABLE */ \ |
820 | BUILD_BUG_ON_ZERO(((perms) >> 6) < (((perms) >> 3) & 7)) + \ | 820 | BUILD_BUG_ON_ZERO((((perms) >> 6) & 4) < (((perms) >> 3) & 4)) + \ |
821 | BUILD_BUG_ON_ZERO((((perms) >> 3) & 7) < ((perms) & 7)) + \ | 821 | BUILD_BUG_ON_ZERO((((perms) >> 3) & 4) < ((perms) & 4)) + \ |
822 | /* Other writable? Generally considered a bad idea. */ \ | 822 | /* USER_WRITABLE >= GROUP_WRITABLE */ \ |
823 | BUILD_BUG_ON_ZERO((perms) & 2) + \ | 823 | BUILD_BUG_ON_ZERO((((perms) >> 6) & 2) < (((perms) >> 3) & 2)) + \ |
824 | /* OTHER_WRITABLE? Generally considered a bad idea. */ \ | ||
825 | BUILD_BUG_ON_ZERO((perms) & 2) + \ | ||
824 | (perms)) | 826 | (perms)) |
825 | #endif | 827 | #endif |