On Thu, 2017-01-12 at 14:54 +1100, Russell Currey wrote: > Symbolic macros are unintuitive and hard to read, whereas octal constants > are much easier to interpret. Replace macros for the basic permission > flags (user/group/other read/write/execute) with numeric constants > instead, across the whole powerpc tree. > > Introducing a significant number of changes across the tree for no runtime > benefit isn't exactly desirable, but so long as these macros are still > used in the tree people will keep sending patches that add them. Not only > are they hard to parse at a glance, there are multiple ways of coming to > the same value (as you can see with 0444 and 0644 in this patch) which > hurts readability. > > Signed-off-by: Russell Currey <rus...@russell.cc>
Reviewed-by: Cyril Bur <cyril...@gmail.com> > --- > I wondered what a "S_IRUGO" was and subsequently found the following: > https://lwn.net/Articles/696229/ > so I figured making numeric constants standard across the tree was a good > idea instead of the mix we currently have. > > For new patches that come in, checkpatch warns when using something like > S_IRUGO and tells you to use something like 0444 instead. I wonder if both these points shouldn't actually be in the commit message? > --- > arch/powerpc/kernel/eeh_sysfs.c | 2 +- > arch/powerpc/kernel/iommu.c | 2 +- > arch/powerpc/kernel/proc_powerpc.c | 2 +- > arch/powerpc/kernel/rtas-proc.c | 14 +++++++------- > arch/powerpc/kernel/rtas_flash.c | 2 +- > arch/powerpc/kernel/rtasd.c | 2 +- > arch/powerpc/kernel/traps.c | 4 ++-- > arch/powerpc/kvm/book3s_hv.c | 10 ++++------ > arch/powerpc/kvm/book3s_xics.c | 2 +- > arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c | 2 +- > arch/powerpc/platforms/cell/spufs/inode.c | 4 ++-- > arch/powerpc/platforms/powernv/opal-dump.c | 4 ++-- > arch/powerpc/platforms/powernv/opal-elog.c | 4 ++-- > arch/powerpc/platforms/powernv/opal-sysparam.c | 6 +++--- > arch/powerpc/platforms/pseries/cmm.c | 16 ++++++++-------- > arch/powerpc/platforms/pseries/dlpar.c | 2 +- > arch/powerpc/platforms/pseries/hvCall_inst.c | 2 +- > arch/powerpc/platforms/pseries/ibmebus.c | 4 ++-- > arch/powerpc/platforms/pseries/lparcfg.c | 4 ++-- > arch/powerpc/platforms/pseries/mobility.c | 4 ++-- > arch/powerpc/platforms/pseries/reconfig.c | 2 +- > arch/powerpc/platforms/pseries/scanlog.c | 2 +- > arch/powerpc/platforms/pseries/suspend.c | 3 +-- > arch/powerpc/platforms/pseries/vio.c | 8 ++++---- > arch/powerpc/sysdev/axonram.c | 2 +- > arch/powerpc/sysdev/mv64x60_pci.c | 2 +- > 26 files changed, 54 insertions(+), 57 deletions(-) > > diff --git a/arch/powerpc/kernel/eeh_sysfs.c b/arch/powerpc/kernel/eeh_sysfs.c > index 1ceecdda810b..f6d2d5b66907 100644 > --- a/arch/powerpc/kernel/eeh_sysfs.c > +++ b/arch/powerpc/kernel/eeh_sysfs.c > @@ -48,7 +48,7 @@ static ssize_t eeh_show_##_name(struct device *dev, \ > \ > return sprintf(buf, _format "\n", edev->_memb); \ > } \ > -static DEVICE_ATTR(_name, S_IRUGO, eeh_show_##_name, NULL); > +static DEVICE_ATTR(_name, 0444, eeh_show_##_name, NULL); > > EEH_SHOW_ATTR(eeh_mode, mode, "0x%x"); > EEH_SHOW_ATTR(eeh_config_addr, config_addr, "0x%x"); > diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c > index 5f202a566ec5..7ef279a0888e 100644 > --- a/arch/powerpc/kernel/iommu.c > +++ b/arch/powerpc/kernel/iommu.c > @@ -127,7 +127,7 @@ static ssize_t fail_iommu_store(struct device *dev, > return count; > } > > -static DEVICE_ATTR(fail_iommu, S_IRUGO|S_IWUSR, fail_iommu_show, > +static DEVICE_ATTR(fail_iommu, 0644, fail_iommu_show, > fail_iommu_store); > > static int fail_iommu_bus_notify(struct notifier_block *nb, > diff --git a/arch/powerpc/kernel/proc_powerpc.c > b/arch/powerpc/kernel/proc_powerpc.c > index 56548bf6231f..9bfbd800d32f 100644 > --- a/arch/powerpc/kernel/proc_powerpc.c > +++ b/arch/powerpc/kernel/proc_powerpc.c > @@ -63,7 +63,7 @@ static int __init proc_ppc64_init(void) > { > struct proc_dir_entry *pde; > > - pde = proc_create_data("powerpc/systemcfg", S_IFREG|S_IRUGO, NULL, > + pde = proc_create_data("powerpc/systemcfg", S_IFREG | 0444, NULL, > &page_map_fops, vdso_data); > if (!pde) > return 1; > diff --git a/arch/powerpc/kernel/rtas-proc.c b/arch/powerpc/kernel/rtas-proc.c > index df56dfc4b681..bb5e8cbcc553 100644 > --- a/arch/powerpc/kernel/rtas-proc.c > +++ b/arch/powerpc/kernel/rtas-proc.c > @@ -260,19 +260,19 @@ static int __init proc_rtas_init(void) > if (rtas_node == NULL) > return -ENODEV; > > - proc_create("powerpc/rtas/progress", S_IRUGO|S_IWUSR, NULL, > + proc_create("powerpc/rtas/progress", 0644, NULL, > &ppc_rtas_progress_operations); > - proc_create("powerpc/rtas/clock", S_IRUGO|S_IWUSR, NULL, > + proc_create("powerpc/rtas/clock", 0644, NULL, > &ppc_rtas_clock_operations); > - proc_create("powerpc/rtas/poweron", S_IWUSR|S_IRUGO, NULL, > + proc_create("powerpc/rtas/poweron", 0644, NULL, > &ppc_rtas_poweron_operations); > - proc_create("powerpc/rtas/sensors", S_IRUGO, NULL, > + proc_create("powerpc/rtas/sensors", 0444, NULL, > &ppc_rtas_sensors_operations); > - proc_create("powerpc/rtas/frequency", S_IWUSR|S_IRUGO, NULL, > + proc_create("powerpc/rtas/frequency", 0644, NULL, > &ppc_rtas_tone_freq_operations); > - proc_create("powerpc/rtas/volume", S_IWUSR|S_IRUGO, NULL, > + proc_create("powerpc/rtas/volume", 0644, NULL, > &ppc_rtas_tone_volume_operations); > - proc_create("powerpc/rtas/rmo_buffer", S_IRUSR, NULL, > + proc_create("powerpc/rtas/rmo_buffer", 0400, NULL, > &ppc_rtas_rmo_buf_ops); > return 0; > } > diff --git a/arch/powerpc/kernel/rtas_flash.c > b/arch/powerpc/kernel/rtas_flash.c > index f6f6a8a5103a..10fabae2574d 100644 > --- a/arch/powerpc/kernel/rtas_flash.c > +++ b/arch/powerpc/kernel/rtas_flash.c > @@ -727,7 +727,7 @@ static int __init rtas_flash_init(void) > const struct rtas_flash_file *f = &rtas_flash_files[i]; > int token; > > - if (!proc_create(f->filename, S_IRUSR | S_IWUSR, NULL, > &f->fops)) > + if (!proc_create(f->filename, 0600, NULL, &f->fops)) > goto enomem; > > /* > diff --git a/arch/powerpc/kernel/rtasd.c b/arch/powerpc/kernel/rtasd.c > index 2bf1f9b5b34b..e144bd563929 100644 > --- a/arch/powerpc/kernel/rtasd.c > +++ b/arch/powerpc/kernel/rtasd.c > @@ -576,7 +576,7 @@ static int __init rtas_init(void) > if (!rtas_log_buf) > return -ENODEV; > > - entry = proc_create("powerpc/rtas/error_log", S_IRUSR, NULL, > + entry = proc_create("powerpc/rtas/error_log", 0400, NULL, > &proc_rtas_log_operations); > if (!entry) > printk(KERN_ERR "Failed to create error_log proc entry\n"); > diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c > index e6cc56b61d01..4b9240e4571f 100644 > --- a/arch/powerpc/kernel/traps.c > +++ b/arch/powerpc/kernel/traps.c > @@ -2039,13 +2039,13 @@ static int __init ppc_warn_emulated_init(void) > if (!dir) > return -ENOMEM; > > - d = debugfs_create_u32("do_warn", S_IRUGO | S_IWUSR, dir, > + d = debugfs_create_u32("do_warn", 0644, dir, > &ppc_warn_emulated); > if (!d) > goto fail; > > for (i = 0; i < sizeof(ppc_emulated)/sizeof(*entries); i++) { > - d = debugfs_create_u32(entries[i].name, S_IRUGO | S_IWUSR, dir, > + d = debugfs_create_u32(entries[i].name, 0644, dir, > (u32 *)&entries[i].val.counter); > if (!d) > goto fail; > diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c > index ec34e39471a7..2da1501cc25f 100644 > --- a/arch/powerpc/kvm/book3s_hv.c > +++ b/arch/powerpc/kvm/book3s_hv.c > @@ -87,10 +87,10 @@ > static DECLARE_BITMAP(default_enabled_hcalls, MAX_HCALL_OPCODE/4 + 1); > > static int dynamic_mt_modes = 6; > -module_param(dynamic_mt_modes, int, S_IRUGO | S_IWUSR); > +module_param(dynamic_mt_modes, int, 0644); > MODULE_PARM_DESC(dynamic_mt_modes, "Set of allowed dynamic micro-threading > modes: 0 (= none), 2, 4, or 6 (= 2 or 4)"); > static int target_smt_mode; > -module_param(target_smt_mode, int, S_IRUGO | S_IWUSR); > +module_param(target_smt_mode, int, 0644); > MODULE_PARM_DESC(target_smt_mode, "Target threads per core (0 = max)"); > > #ifdef CONFIG_KVM_XICS > @@ -99,12 +99,10 @@ static struct kernel_param_ops module_param_ops = { > .get = param_get_int, > }; > > -module_param_cb(kvm_irq_bypass, &module_param_ops, &kvm_irq_bypass, > - S_IRUGO | S_IWUSR); > +module_param_cb(kvm_irq_bypass, &module_param_ops, &kvm_irq_bypass, 0644); > MODULE_PARM_DESC(kvm_irq_bypass, "Bypass passthrough interrupt > optimization"); > > -module_param_cb(h_ipi_redirect, &module_param_ops, &h_ipi_redirect, > - S_IRUGO | S_IWUSR); > +module_param_cb(h_ipi_redirect, &module_param_ops, &h_ipi_redirect, 0644); > MODULE_PARM_DESC(h_ipi_redirect, "Redirect H_IPI wakeup to a free host > core"); > #endif > > diff --git a/arch/powerpc/kvm/book3s_xics.c b/arch/powerpc/kvm/book3s_xics.c > index 20dff102a06f..d30b6130b8ff 100644 > --- a/arch/powerpc/kvm/book3s_xics.c > +++ b/arch/powerpc/kvm/book3s_xics.c > @@ -1011,7 +1011,7 @@ static void xics_debugfs_init(struct kvmppc_xics *xics) > return; > } > > - xics->dentry = debugfs_create_file(name, S_IRUGO, powerpc_debugfs_root, > + xics->dentry = debugfs_create_file(name, 0444, powerpc_debugfs_root, > xics, &xics_debug_fops); > > pr_debug("%s: created %s\n", __func__, name); > diff --git a/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c > b/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c > index 63c5ab6489c9..c5c709e484c7 100644 > --- a/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c > +++ b/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c > @@ -84,7 +84,7 @@ static ssize_t show_status(struct device *d, > > return sprintf(buf, "%02x\n", ret); > } > -static DEVICE_ATTR(status, S_IRUGO, show_status, NULL); > +static DEVICE_ATTR(status, 0444, show_status, NULL); > > static void mcu_power_off(void) > { > diff --git a/arch/powerpc/platforms/cell/spufs/inode.c > b/arch/powerpc/platforms/cell/spufs/inode.c > index d8af9bc0489f..f682be2a48e6 100644 > --- a/arch/powerpc/platforms/cell/spufs/inode.c > +++ b/arch/powerpc/platforms/cell/spufs/inode.c > @@ -455,7 +455,7 @@ spufs_create_context(struct inode *inode, struct dentry > *dentry, > } > } > > - ret = spufs_mkdir(inode, dentry, flags, mode & S_IRWXUGO); > + ret = spufs_mkdir(inode, dentry, flags, mode & 0777); > if (ret) > goto out_aff_unlock; > > @@ -546,7 +546,7 @@ static int spufs_create_gang(struct inode *inode, > struct path path = {.mnt = mnt, .dentry = dentry}; > int ret; > > - ret = spufs_mkgang(inode, dentry, mode & S_IRWXUGO); > + ret = spufs_mkgang(inode, dentry, mode & 0777); > if (!ret) { > ret = spufs_gang_open(&path); > if (ret < 0) { > diff --git a/arch/powerpc/platforms/powernv/opal-dump.c > b/arch/powerpc/platforms/powernv/opal-dump.c > index 4c827826c05e..0dc8fa4e0af2 100644 > --- a/arch/powerpc/platforms/powernv/opal-dump.c > +++ b/arch/powerpc/platforms/powernv/opal-dump.c > @@ -103,9 +103,9 @@ static ssize_t dump_ack_store(struct dump_obj *dump_obj, > * due to the dynamic size of the dump > */ > static struct dump_attribute id_attribute = > - __ATTR(id, S_IRUGO, dump_id_show, NULL); > + __ATTR(id, 0444, dump_id_show, NULL); > static struct dump_attribute type_attribute = > - __ATTR(type, S_IRUGO, dump_type_show, NULL); > + __ATTR(type, 0444, dump_type_show, NULL); > static struct dump_attribute ack_attribute = > __ATTR(acknowledge, 0660, dump_ack_show, dump_ack_store); > > diff --git a/arch/powerpc/platforms/powernv/opal-elog.c > b/arch/powerpc/platforms/powernv/opal-elog.c > index ecd6d9177d13..ba6e437abb4b 100644 > --- a/arch/powerpc/platforms/powernv/opal-elog.c > +++ b/arch/powerpc/platforms/powernv/opal-elog.c > @@ -83,9 +83,9 @@ static ssize_t elog_ack_store(struct elog_obj *elog_obj, > } > > static struct elog_attribute id_attribute = > - __ATTR(id, S_IRUGO, elog_id_show, NULL); > + __ATTR(id, 0444, elog_id_show, NULL); > static struct elog_attribute type_attribute = > - __ATTR(type, S_IRUGO, elog_type_show, NULL); > + __ATTR(type, 0444, elog_type_show, NULL); > static struct elog_attribute ack_attribute = > __ATTR(acknowledge, 0660, elog_ack_show, elog_ack_store); > > diff --git a/arch/powerpc/platforms/powernv/opal-sysparam.c > b/arch/powerpc/platforms/powernv/opal-sysparam.c > index 23fb6647dced..6fd4092798d5 100644 > --- a/arch/powerpc/platforms/powernv/opal-sysparam.c > +++ b/arch/powerpc/platforms/powernv/opal-sysparam.c > @@ -260,13 +260,13 @@ void __init opal_sys_param_init(void) > /* If the parameter is read-only or read-write */ > switch (perm[i] & 3) { > case OPAL_SYSPARAM_READ: > - attr[i].kobj_attr.attr.mode = S_IRUGO; > + attr[i].kobj_attr.attr.mode = 0444; > break; > case OPAL_SYSPARAM_WRITE: > - attr[i].kobj_attr.attr.mode = S_IWUSR; > + attr[i].kobj_attr.attr.mode = 0200; > break; > case OPAL_SYSPARAM_RW: > - attr[i].kobj_attr.attr.mode = S_IRUGO | S_IWUSR; > + attr[i].kobj_attr.attr.mode = 0644; > break; > default: > break; > diff --git a/arch/powerpc/platforms/pseries/cmm.c > b/arch/powerpc/platforms/pseries/cmm.c > index 4839db385bb0..6406c61a6f5e 100644 > --- a/arch/powerpc/platforms/pseries/cmm.c > +++ b/arch/powerpc/platforms/pseries/cmm.c > @@ -72,20 +72,20 @@ MODULE_DESCRIPTION("IBM System p Collaborative Memory > Manager"); > MODULE_LICENSE("GPL"); > MODULE_VERSION(CMM_DRIVER_VERSION); > > -module_param_named(delay, delay, uint, S_IRUGO | S_IWUSR); > +module_param_named(delay, delay, uint, 0644); > MODULE_PARM_DESC(delay, "Delay (in seconds) between polls to query > hypervisor paging requests. " > "[Default=" __stringify(CMM_DEFAULT_DELAY) "]"); > -module_param_named(hotplug_delay, hotplug_delay, uint, S_IRUGO | S_IWUSR); > +module_param_named(hotplug_delay, hotplug_delay, uint, 0644); > MODULE_PARM_DESC(delay, "Delay (in seconds) after memory hotplug remove " > "before loaning resumes. " > "[Default=" __stringify(CMM_HOTPLUG_DELAY) "]"); > -module_param_named(oom_kb, oom_kb, uint, S_IRUGO | S_IWUSR); > +module_param_named(oom_kb, oom_kb, uint, 0644); > MODULE_PARM_DESC(oom_kb, "Amount of memory in kb to free on OOM. " > "[Default=" __stringify(CMM_OOM_KB) "]"); > -module_param_named(min_mem_mb, min_mem_mb, ulong, S_IRUGO | S_IWUSR); > +module_param_named(min_mem_mb, min_mem_mb, ulong, 0644); > MODULE_PARM_DESC(min_mem_mb, "Minimum amount of memory (in MB) to not > balloon. " > "[Default=" __stringify(CMM_MIN_MEM_MB) "]"); > -module_param_named(debug, cmm_debug, uint, S_IRUGO | S_IWUSR); > +module_param_named(debug, cmm_debug, uint, 0644); > MODULE_PARM_DESC(debug, "Enable module debugging logging. Set to 1 to > enable. " > "[Default=" __stringify(CMM_DEBUG) "]"); > > @@ -385,7 +385,7 @@ static int cmm_thread(void *dummy) > { \ > return sprintf(buf, format, ##args); \ > } \ > - static DEVICE_ATTR(name, S_IRUGO, show_##name, NULL) > + static DEVICE_ATTR(name, 0444, show_##name, NULL) > > CMM_SHOW(loaned_kb, "%lu\n", PAGES2KB(loaned_pages)); > CMM_SHOW(loaned_target_kb, "%lu\n", PAGES2KB(loaned_pages_target)); > @@ -411,7 +411,7 @@ static ssize_t store_oom_pages(struct device *dev, > return count; > } > > -static DEVICE_ATTR(oom_freed_kb, S_IWUSR | S_IRUGO, > +static DEVICE_ATTR(oom_freed_kb, 0644, > show_oom_pages, store_oom_pages); > > static struct device_attribute *cmm_attrs[] = { > @@ -765,7 +765,7 @@ static int cmm_set_disable(const char *val, struct > kernel_param *kp) > } > > module_param_call(disable, cmm_set_disable, param_get_uint, > - &cmm_disabled, S_IRUGO | S_IWUSR); > + &cmm_disabled, 0644); > MODULE_PARM_DESC(disable, "Disable CMM. Set to 1 to disable. " > "[Default=" __stringify(CMM_DISABLE) "]"); > > diff --git a/arch/powerpc/platforms/pseries/dlpar.c > b/arch/powerpc/platforms/pseries/dlpar.c > index 5cb2e4beffc5..fc0b1b80972d 100644 > --- a/arch/powerpc/platforms/pseries/dlpar.c > +++ b/arch/powerpc/platforms/pseries/dlpar.c > @@ -551,7 +551,7 @@ static ssize_t dlpar_store(struct class *class, struct > class_attribute *attr, > return rc ? rc : count; > } > > -static CLASS_ATTR(dlpar, S_IWUSR, NULL, dlpar_store); > +static CLASS_ATTR(dlpar, 0200, NULL, dlpar_store); > > static int __init pseries_dlpar_init(void) > { > diff --git a/arch/powerpc/platforms/pseries/hvCall_inst.c > b/arch/powerpc/platforms/pseries/hvCall_inst.c > index f02ec3ab428c..fea432d88cad 100644 > --- a/arch/powerpc/platforms/pseries/hvCall_inst.c > +++ b/arch/powerpc/platforms/pseries/hvCall_inst.c > @@ -153,7 +153,7 @@ static int __init hcall_inst_init(void) > > for_each_possible_cpu(cpu) { > snprintf(cpu_name_buf, CPU_NAME_BUF_SIZE, "cpu%d", cpu); > - hcall_file = debugfs_create_file(cpu_name_buf, S_IRUGO, > + hcall_file = debugfs_create_file(cpu_name_buf, 0444, > hcall_root, > per_cpu(hcall_stats, cpu), > &hcall_inst_seq_fops); > diff --git a/arch/powerpc/platforms/pseries/ibmebus.c > b/arch/powerpc/platforms/pseries/ibmebus.c > index 614c28537141..f67f5aa71653 100644 > --- a/arch/powerpc/platforms/pseries/ibmebus.c > +++ b/arch/powerpc/platforms/pseries/ibmebus.c > @@ -299,7 +299,7 @@ static ssize_t ibmebus_store_probe(struct bus_type *bus, > return rc; > return count; > } > -static BUS_ATTR(probe, S_IWUSR, NULL, ibmebus_store_probe); > +static BUS_ATTR(probe, 0200, NULL, ibmebus_store_probe); > > static ssize_t ibmebus_store_remove(struct bus_type *bus, > const char *buf, size_t count) > @@ -326,7 +326,7 @@ static ssize_t ibmebus_store_remove(struct bus_type *bus, > return -ENODEV; > } > } > -static BUS_ATTR(remove, S_IWUSR, NULL, ibmebus_store_remove); > +static BUS_ATTR(remove, 0200, NULL, ibmebus_store_remove); > > static struct attribute *ibmbus_bus_attrs[] = { > &bus_attr_probe.attr, > diff --git a/arch/powerpc/platforms/pseries/lparcfg.c > b/arch/powerpc/platforms/pseries/lparcfg.c > index 779fc2a1c8f7..aea4ce11a9eb 100644 > --- a/arch/powerpc/platforms/pseries/lparcfg.c > +++ b/arch/powerpc/platforms/pseries/lparcfg.c > @@ -697,11 +697,11 @@ static const struct file_operations lparcfg_fops = { > > static int __init lparcfg_init(void) > { > - umode_t mode = S_IRUSR | S_IRGRP | S_IROTH; > + umode_t mode = 0444; > > /* Allow writing if we have FW_FEATURE_SPLPAR */ > if (firmware_has_feature(FW_FEATURE_SPLPAR)) > - mode |= S_IWUSR; > + mode |= 0200; > > if (!proc_create("powerpc/lparcfg", mode, NULL, &lparcfg_fops)) { > printk(KERN_ERR "Failed to create powerpc/lparcfg\n"); > diff --git a/arch/powerpc/platforms/pseries/mobility.c > b/arch/powerpc/platforms/pseries/mobility.c > index a560a98bcf3b..6a5f140bb8b8 100644 > --- a/arch/powerpc/platforms/pseries/mobility.c > +++ b/arch/powerpc/platforms/pseries/mobility.c > @@ -346,8 +346,8 @@ static ssize_t migrate_store(struct class *class, struct > class_attribute *attr, > */ > #define MIGRATION_API_VERSION 1 > > -static CLASS_ATTR(migration, S_IWUSR, NULL, migrate_store); > -static CLASS_ATTR_STRING(api_version, S_IRUGO, > __stringify(MIGRATION_API_VERSION)); > +static CLASS_ATTR(migration, 0200, NULL, migrate_store); > +static CLASS_ATTR_STRING(api_version, 0444, > __stringify(MIGRATION_API_VERSION)); > > static int __init mobility_sysfs_init(void) > { > diff --git a/arch/powerpc/platforms/pseries/reconfig.c > b/arch/powerpc/platforms/pseries/reconfig.c > index e5bf1e84047f..f926da2a7116 100644 > --- a/arch/powerpc/platforms/pseries/reconfig.c > +++ b/arch/powerpc/platforms/pseries/reconfig.c > @@ -413,7 +413,7 @@ static int proc_ppc64_create_ofdt(void) > { > struct proc_dir_entry *ent; > > - ent = proc_create("powerpc/ofdt", S_IWUSR, NULL, &ofdt_fops); > + ent = proc_create("powerpc/ofdt", 0200, NULL, &ofdt_fops); > if (ent) > proc_set_size(ent, 0); > > diff --git a/arch/powerpc/platforms/pseries/scanlog.c > b/arch/powerpc/platforms/pseries/scanlog.c > index c47585a78b69..054ce7a16fc3 100644 > --- a/arch/powerpc/platforms/pseries/scanlog.c > +++ b/arch/powerpc/platforms/pseries/scanlog.c > @@ -179,7 +179,7 @@ static int __init scanlog_init(void) > if (!scanlog_buffer) > goto err; > > - ent = proc_create("powerpc/rtas/scan-log-dump", S_IRUSR, NULL, > + ent = proc_create("powerpc/rtas/scan-log-dump", 0400, NULL, > &scanlog_fops); > if (!ent) > goto err; > diff --git a/arch/powerpc/platforms/pseries/suspend.c > b/arch/powerpc/platforms/pseries/suspend.c > index e76aefae2aa2..6dfa2eacba49 100644 > --- a/arch/powerpc/platforms/pseries/suspend.c > +++ b/arch/powerpc/platforms/pseries/suspend.c > @@ -214,8 +214,7 @@ static ssize_t show_hibernate(struct device *dev, > return sprintf(buf, "%d\n", KERN_DT_UPDATE); > } > > -static DEVICE_ATTR(hibernate, S_IWUSR | S_IRUGO, > - show_hibernate, store_hibernate); > +static DEVICE_ATTR(hibernate, 0644, show_hibernate, store_hibernate); > > static struct bus_type suspend_subsys = { > .name = "power", > diff --git a/arch/powerpc/platforms/pseries/vio.c > b/arch/powerpc/platforms/pseries/vio.c > index 2c8fb3ec989e..bc25c2cbc17e 100644 > --- a/arch/powerpc/platforms/pseries/vio.c > +++ b/arch/powerpc/platforms/pseries/vio.c > @@ -997,11 +997,11 @@ static struct device_attribute vio_cmo_dev_attrs[] = { > __ATTR_RO(name), > __ATTR_RO(devspec), > __ATTR_RO(modalias), > - __ATTR(cmo_desired, S_IWUSR|S_IRUSR|S_IWGRP|S_IRGRP|S_IROTH, > + __ATTR(cmo_desired, 0664, > viodev_cmo_desired_show, viodev_cmo_desired_set), > - __ATTR(cmo_entitled, S_IRUGO, viodev_cmo_entitled_show, NULL), > - __ATTR(cmo_allocated, S_IRUGO, viodev_cmo_allocated_show, NULL), > - __ATTR(cmo_allocs_failed, S_IWUSR|S_IRUSR|S_IWGRP|S_IRGRP|S_IROTH, > + __ATTR(cmo_entitled, 0444, viodev_cmo_entitled_show, NULL), > + __ATTR(cmo_allocated, 0444, viodev_cmo_allocated_show, NULL), > + __ATTR(cmo_allocs_failed, 0664, > viodev_cmo_allocs_failed_show, viodev_cmo_allocs_failed_reset), > __ATTR_NULL > }; > diff --git a/arch/powerpc/sysdev/axonram.c b/arch/powerpc/sysdev/axonram.c > index ada29eaed6e2..0cff5c8478cd 100644 > --- a/arch/powerpc/sysdev/axonram.c > +++ b/arch/powerpc/sysdev/axonram.c > @@ -80,7 +80,7 @@ axon_ram_sysfs_ecc(struct device *dev, struct > device_attribute *attr, char *buf) > return sprintf(buf, "%ld\n", bank->ecc_counter); > } > > -static DEVICE_ATTR(ecc, S_IRUGO, axon_ram_sysfs_ecc, NULL); > +static DEVICE_ATTR(ecc, 0444, axon_ram_sysfs_ecc, NULL); > > /** > * axon_ram_irq_handler - interrupt handler for Axon RAM ECC > diff --git a/arch/powerpc/sysdev/mv64x60_pci.c > b/arch/powerpc/sysdev/mv64x60_pci.c > index 330d56613c5a..b06d1b7c262f 100644 > --- a/arch/powerpc/sysdev/mv64x60_pci.c > +++ b/arch/powerpc/sysdev/mv64x60_pci.c > @@ -73,7 +73,7 @@ static ssize_t mv64x60_hs_reg_write(struct file *filp, > struct kobject *kobj, > static struct bin_attribute mv64x60_hs_reg_attr = { /* Hotswap register */ > .attr = { > .name = "hs_reg", > - .mode = S_IRUGO | S_IWUSR, > + .mode = 0644, > }, > .size = MV64X60_VAL_LEN_MAX, > .read = mv64x60_hs_reg_read,