Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1566023 > unrolled thread
| Started by | Ernestas Kulik <ernestas.kulik@gmail.com> |
|---|---|
| First post | 2017-01-24 18:50 +0100 |
| Last post | 2017-01-25 03:30 +0100 |
| Articles | 4 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH 1/2] staging: lustre: libcfs: use octal permissions Ernestas Kulik <ernestas.kulik@gmail.com> - 2017-01-24 18:50 +0100
[PATCH 2/2] staging: lustre: llite: use octal permissions Ernestas Kulik <ernestas.kulik@gmail.com> - 2017-01-24 18:50 +0100
Re: [PATCH 1/2] staging: lustre: libcfs: use octal permissions "Dilger, Andreas" <andreas.dilger@intel.com> - 2017-01-24 23:30 +0100
Re: [PATCH 1/2] staging: lustre: libcfs: use octal permissions Joe Perches <joe@perches.com> - 2017-01-25 03:30 +0100
| From | Ernestas Kulik <ernestas.kulik@gmail.com> |
|---|---|
| Date | 2017-01-24 18:50 +0100 |
| Subject | [PATCH 1/2] staging: lustre: libcfs: use octal permissions |
| Message-ID | <t3dod-7gJ-5@gated-at.bofh.it> |
Using octal permissions instead of symbolic ones is preferred.
Signed-off-by: Ernestas Kulik <ernestas.kulik@gmail.com>
---
drivers/staging/lustre/lnet/libcfs/module.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/lustre/lnet/libcfs/module.c b/drivers/staging/lustre/lnet/libcfs/module.c
index 161e04226521..c388550c2d10 100644
--- a/drivers/staging/lustre/lnet/libcfs/module.c
+++ b/drivers/staging/lustre/lnet/libcfs/module.c
@@ -488,10 +488,10 @@ static const struct file_operations lnet_debugfs_file_operations_wo = {
static const struct file_operations *lnet_debugfs_fops_select(umode_t mode)
{
- if (!(mode & S_IWUGO))
+ if (!(mode & 0222))
return &lnet_debugfs_file_operations_ro;
- if (!(mode & S_IRUGO))
+ if (!(mode & 0444))
return &lnet_debugfs_file_operations_wo;
return &lnet_debugfs_file_operations_rw;
--
2.11.0
[toc] | [next] | [standalone]
| From | Ernestas Kulik <ernestas.kulik@gmail.com> |
|---|---|
| Date | 2017-01-24 18:50 +0100 |
| Subject | [PATCH 2/2] staging: lustre: llite: use octal permissions |
| Message-ID | <t3dod-7gJ-11@gated-at.bofh.it> |
| In reply to | #1566023 |
Using octal permissions instead of symbolic ones is preferred. Signed-off-by: Ernestas Kulik <ernestas.kulik@gmail.com> --- drivers/staging/lustre/lustre/llite/dir.c | 2 +- drivers/staging/lustre/lustre/llite/file.c | 2 +- drivers/staging/lustre/lustre/llite/llite_lib.c | 4 ++-- drivers/staging/lustre/lustre/llite/namei.c | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/staging/lustre/lustre/llite/dir.c b/drivers/staging/lustre/lustre/llite/dir.c index ea5d247a3f70..526fea266926 100644 --- a/drivers/staging/lustre/lustre/llite/dir.c +++ b/drivers/staging/lustre/lustre/llite/dir.c @@ -432,7 +432,7 @@ static int ll_dir_setdirstripe(struct inode *parent, struct lmv_user_md *lump, if (!IS_POSIXACL(parent) || !exp_connect_umask(ll_i2mdexp(parent))) mode &= ~current_umask(); - mode = (mode & (S_IRWXUGO | S_ISVTX)) | S_IFDIR; + mode = (mode & (0777 | S_ISVTX)) | S_IFDIR; op_data = ll_prep_md_op_data(NULL, parent, NULL, dirname, strlen(dirname), mode, LUSTRE_OPC_MKDIR, lump); diff --git a/drivers/staging/lustre/lustre/llite/file.c b/drivers/staging/lustre/lustre/llite/file.c index d93f06abd13c..a17118876555 100644 --- a/drivers/staging/lustre/lustre/llite/file.c +++ b/drivers/staging/lustre/lustre/llite/file.c @@ -1883,7 +1883,7 @@ static int ll_hsm_import(struct inode *inode, struct file *file, goto free_hss; } - attr->ia_mode = hui->hui_mode & (S_IRWXU | S_IRWXG | S_IRWXO); + attr->ia_mode = hui->hui_mode & 0777; attr->ia_mode |= S_IFREG; attr->ia_uid = make_kuid(&init_user_ns, hui->hui_uid); attr->ia_gid = make_kgid(&init_user_ns, hui->hui_gid); diff --git a/drivers/staging/lustre/lustre/llite/llite_lib.c b/drivers/staging/lustre/lustre/llite/llite_lib.c index 25f5aed97f63..9cb4909e3b86 100644 --- a/drivers/staging/lustre/lustre/llite/llite_lib.c +++ b/drivers/staging/lustre/lustre/llite/llite_lib.c @@ -1599,7 +1599,7 @@ int ll_setattr(struct dentry *de, struct iattr *attr) if (((attr->ia_valid & (ATTR_MODE | ATTR_FORCE | ATTR_SIZE)) == (ATTR_SIZE | ATTR_MODE)) && (((mode & S_ISUID) && !(attr->ia_mode & S_ISUID)) || - (((mode & (S_ISGID | S_IXGRP)) == (S_ISGID | S_IXGRP)) && + (((mode & (S_ISGID | 0010)) == (S_ISGID | 0010)) && !(attr->ia_mode & S_ISGID)))) attr->ia_valid |= ATTR_FORCE; @@ -1610,7 +1610,7 @@ int ll_setattr(struct dentry *de, struct iattr *attr) attr->ia_valid |= ATTR_KILL_SUID; if ((attr->ia_valid & ATTR_MODE) && - ((mode & (S_ISGID | S_IXGRP)) == (S_ISGID | S_IXGRP)) && + ((mode & (S_ISGID | 0010)) == (S_ISGID | 0010)) && !(attr->ia_mode & S_ISGID) && !(attr->ia_valid & ATTR_KILL_SGID)) attr->ia_valid |= ATTR_KILL_SGID; diff --git a/drivers/staging/lustre/lustre/llite/namei.c b/drivers/staging/lustre/lustre/llite/namei.c index a8f4e7fb0a46..f925656f11c9 100644 --- a/drivers/staging/lustre/lustre/llite/namei.c +++ b/drivers/staging/lustre/lustre/llite/namei.c @@ -1041,7 +1041,7 @@ static int ll_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) if (!IS_POSIXACL(dir) || !exp_connect_umask(ll_i2mdexp(dir))) mode &= ~current_umask(); - mode = (mode & (S_IRWXUGO | S_ISVTX)) | S_IFDIR; + mode = (mode & (0777 | S_ISVTX)) | S_IFDIR; err = ll_new_node(dir, dentry, NULL, mode, 0, LUSTRE_OPC_MKDIR); if (!err) @@ -1089,7 +1089,7 @@ static int ll_symlink(struct inode *dir, struct dentry *dentry, CDEBUG(D_VFSTRACE, "VFS Op:name=%pd, dir="DFID"(%p),target=%.*s\n", dentry, PFID(ll_inode2fid(dir)), dir, 3000, oldname); - err = ll_new_node(dir, dentry, oldname, S_IFLNK | S_IRWXUGO, + err = ll_new_node(dir, dentry, oldname, S_IFLNK | 0777, 0, LUSTRE_OPC_SYMLINK); if (!err) -- 2.11.0
[toc] | [prev] | [next] | [standalone]
| From | "Dilger, Andreas" <andreas.dilger@intel.com> |
|---|---|
| Date | 2017-01-24 23:30 +0100 |
| Message-ID | <t3hLc-1N5-23@gated-at.bofh.it> |
| In reply to | #1566023 |
On Jan 24, 2017, at 09:40, Ernestas Kulik <ernestas.kulik@gmail.com> wrote:
>
> Using octal permissions instead of symbolic ones is preferred.
Typically the reverse is true - using symbolic constants is preferred over numeric ones.
Where does this recommendation come from?
Cheers, Andreas
> Signed-off-by: Ernestas Kulik <ernestas.kulik@gmail.com>
> ---
> drivers/staging/lustre/lnet/libcfs/module.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/lustre/lnet/libcfs/module.c b/drivers/staging/lustre/lnet/libcfs/module.c
> index 161e04226521..c388550c2d10 100644
> --- a/drivers/staging/lustre/lnet/libcfs/module.c
> +++ b/drivers/staging/lustre/lnet/libcfs/module.c
> @@ -488,10 +488,10 @@ static const struct file_operations lnet_debugfs_file_operations_wo = {
>
> static const struct file_operations *lnet_debugfs_fops_select(umode_t mode)
> {
> - if (!(mode & S_IWUGO))
> + if (!(mode & 0222))
> return &lnet_debugfs_file_operations_ro;
>
> - if (!(mode & S_IRUGO))
> + if (!(mode & 0444))
> return &lnet_debugfs_file_operations_wo;
>
> return &lnet_debugfs_file_operations_rw;
> --
> 2.11.0
>
[toc] | [prev] | [next] | [standalone]
| From | Joe Perches <joe@perches.com> |
|---|---|
| Date | 2017-01-25 03:30 +0100 |
| Message-ID | <t3lvr-47m-3@gated-at.bofh.it> |
| In reply to | #1566207 |
On Tue, 2017-01-24 at 22:22 +0000, Dilger, Andreas wrote: > On Jan 24, 2017, at 09:40, Ernestas Kulik <ernestas.kulik@gmail.com> wrote: > > > > Using octal permissions instead of symbolic ones is preferred. > > Typically the reverse is true - using symbolic constants is preferred over numeric ones. > Where does this recommendation come from? http://lkml.kernel.org/r/CA+55aFw5v23T-zvDZp-MmD_EYxF8WbafwwB59934FV7g21uMGQ@mail.gmail.com which is: https://marc.info/?l=linux-arm-kernel&m=147017161402213&w=2 Subject: Please don't replace numeric parameter like 0444 with macro From: Linus Torvalds <torvalds () linux-foundation ! org> Date: 2016-08-02 20:58:29 [ So I answered similarly to another patch, but I'll just re-iterate and change the subject line so that it stands out a bit from the millions of actual patches ] On Tue, Aug 2, 2016 at 1:42 PM, Pavel Machek <pavel@ucw.cz> wrote: > > Everyone knows what 0644 is, but noone can read S_IRUSR | S_IWUSR | > S_IRCRP | S_IROTH (*). Please don't do this. Absolutely. It's *much* easier to parse and understand the octal numbers, while the symbolic macro names are just random line noise and hard as hell to understand. You really have to think about it. So we should rather go the other way: convert existing bad symbolic permission bit macro use to just use the octal numbers. The symbolic names are good for the *other* bits (ie sticky bit, and the inode mode _type_ numbers etc), but for the permission bits, the symbolic names are just insane crap. Nobody sane should ever use them. Not in the kernel, not in user space.
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web