diff options
-rw-r--r-- | kernel/params.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/params.c b/kernel/params.c index 795321aba29f..0af9b2c4e56c 100644 --- a/kernel/params.c +++ b/kernel/params.c | |||
@@ -645,7 +645,9 @@ static __modinit int add_sysfs_param(struct module_kobject *mk, | |||
645 | sysfs_attr_init(&mk->mp->attrs[mk->mp->num].mattr.attr); | 645 | sysfs_attr_init(&mk->mp->attrs[mk->mp->num].mattr.attr); |
646 | mk->mp->attrs[mk->mp->num].param = kp; | 646 | mk->mp->attrs[mk->mp->num].param = kp; |
647 | mk->mp->attrs[mk->mp->num].mattr.show = param_attr_show; | 647 | mk->mp->attrs[mk->mp->num].mattr.show = param_attr_show; |
648 | mk->mp->attrs[mk->mp->num].mattr.store = param_attr_store; | 648 | /* Do not allow runtime DAC changes to make param writable. */ |
649 | if ((kp->perm & (S_IWUSR | S_IWGRP | S_IWOTH)) != 0) | ||
650 | mk->mp->attrs[mk->mp->num].mattr.store = param_attr_store; | ||
649 | mk->mp->attrs[mk->mp->num].mattr.attr.name = (char *)name; | 651 | mk->mp->attrs[mk->mp->num].mattr.attr.name = (char *)name; |
650 | mk->mp->attrs[mk->mp->num].mattr.attr.mode = kp->perm; | 652 | mk->mp->attrs[mk->mp->num].mattr.attr.mode = kp->perm; |
651 | mk->mp->num++; | 653 | mk->mp->num++; |