* [PATCH 2/2] staging: lustre: llite: use octal permissions
2017-01-24 17:40 [PATCH 1/2] staging: lustre: libcfs: use octal permissions Ernestas Kulik
@ 2017-01-24 17:40 ` Ernestas Kulik
2017-01-24 22:22 ` [PATCH 1/2] staging: lustre: libcfs: " Dilger, Andreas
1 sibling, 0 replies; 4+ messages in thread
From: Ernestas Kulik @ 2017-01-24 17:40 UTC (permalink / raw)
To: oleg.drokin
Cc: andreas.dilger, jsimmons, gregkh, lustre-devel, devel, linux-kernel
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] staging: lustre: libcfs: use octal permissions
2017-01-24 17:40 [PATCH 1/2] staging: lustre: libcfs: use octal permissions Ernestas Kulik
2017-01-24 17:40 ` [PATCH 2/2] staging: lustre: llite: " Ernestas Kulik
@ 2017-01-24 22:22 ` Dilger, Andreas
2017-01-25 2:23 ` Joe Perches
1 sibling, 1 reply; 4+ messages in thread
From: Dilger, Andreas @ 2017-01-24 22:22 UTC (permalink / raw)
To: Ernestas Kulik
Cc: Drokin, Oleg, James Simmons, Greg Kroah-Hartman, lustre-devel,
devel, linux-kernel
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
>
^ permalink raw reply [flat|nested] 4+ messages in thread