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,

Reply via email to