Commit 2eb90a75 authored by Peng Tao's avatar Peng Tao Committed by Greg Kroah-Hartman

staging/lustre/libcfs: remove cfs_capable

Cc: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: default avatarPeng Tao <bergwolf@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent efc9eb02
...@@ -84,7 +84,6 @@ void cfs_cap_raise(cfs_cap_t cap); ...@@ -84,7 +84,6 @@ void cfs_cap_raise(cfs_cap_t cap);
void cfs_cap_lower(cfs_cap_t cap); void cfs_cap_lower(cfs_cap_t cap);
int cfs_cap_raised(cfs_cap_t cap); int cfs_cap_raised(cfs_cap_t cap);
cfs_cap_t cfs_curproc_cap_pack(void); cfs_cap_t cfs_curproc_cap_pack(void);
int cfs_capable(cfs_cap_t cap);
/* __LIBCFS_CURPROC_H__ */ /* __LIBCFS_CURPROC_H__ */
#endif #endif
......
...@@ -96,11 +96,6 @@ cfs_cap_t cfs_curproc_cap_pack(void) ...@@ -96,11 +96,6 @@ cfs_cap_t cfs_curproc_cap_pack(void)
return cap; return cap;
} }
int cfs_capable(cfs_cap_t cap)
{
return capable(cap);
}
static int cfs_access_process_vm(struct task_struct *tsk, unsigned long addr, static int cfs_access_process_vm(struct task_struct *tsk, unsigned long addr,
void *buf, int len, int write) void *buf, int len, int write)
{ {
...@@ -257,7 +252,6 @@ EXPORT_SYMBOL(cfs_cap_raise); ...@@ -257,7 +252,6 @@ EXPORT_SYMBOL(cfs_cap_raise);
EXPORT_SYMBOL(cfs_cap_lower); EXPORT_SYMBOL(cfs_cap_lower);
EXPORT_SYMBOL(cfs_cap_raised); EXPORT_SYMBOL(cfs_cap_raised);
EXPORT_SYMBOL(cfs_curproc_cap_pack); EXPORT_SYMBOL(cfs_curproc_cap_pack);
EXPORT_SYMBOL(cfs_capable);
/* /*
* Local variables: * Local variables:
......
...@@ -150,12 +150,12 @@ static long libcfs_ioctl(struct file *file, ...@@ -150,12 +150,12 @@ static long libcfs_ioctl(struct file *file,
/* Handle platform-dependent IOC requests */ /* Handle platform-dependent IOC requests */
switch (cmd) { switch (cmd) {
case IOC_LIBCFS_PANIC: case IOC_LIBCFS_PANIC:
if (!cfs_capable(CFS_CAP_SYS_BOOT)) if (!capable(CFS_CAP_SYS_BOOT))
return (-EPERM); return (-EPERM);
panic("debugctl-invoked panic"); panic("debugctl-invoked panic");
return (0); return (0);
case IOC_LIBCFS_MEMHOG: case IOC_LIBCFS_MEMHOG:
if (!cfs_capable(CFS_CAP_SYS_ADMIN)) if (!capable(CFS_CAP_SYS_ADMIN))
return -EPERM; return -EPERM;
/* go thought */ /* go thought */
} }
......
...@@ -1085,7 +1085,7 @@ static int quotactl_ioctl(struct ll_sb_info *sbi, struct if_quotactl *qctl) ...@@ -1085,7 +1085,7 @@ static int quotactl_ioctl(struct ll_sb_info *sbi, struct if_quotactl *qctl)
case Q_QUOTAOFF: case Q_QUOTAOFF:
case Q_SETQUOTA: case Q_SETQUOTA:
case Q_SETINFO: case Q_SETINFO:
if (!cfs_capable(CFS_CAP_SYS_ADMIN) || if (!capable(CFS_CAP_SYS_ADMIN) ||
sbi->ll_flags & LL_SBI_RMT_CLIENT) sbi->ll_flags & LL_SBI_RMT_CLIENT)
return -EPERM; return -EPERM;
break; break;
...@@ -1094,7 +1094,7 @@ static int quotactl_ioctl(struct ll_sb_info *sbi, struct if_quotactl *qctl) ...@@ -1094,7 +1094,7 @@ static int quotactl_ioctl(struct ll_sb_info *sbi, struct if_quotactl *qctl)
uid_eq(current_euid(), make_kuid(&init_user_ns, id))) || uid_eq(current_euid(), make_kuid(&init_user_ns, id))) ||
(type == GRPQUOTA && (type == GRPQUOTA &&
!in_egroup_p(make_kgid(&init_user_ns, id)))) && !in_egroup_p(make_kgid(&init_user_ns, id)))) &&
(!cfs_capable(CFS_CAP_SYS_ADMIN) || (!capable(CFS_CAP_SYS_ADMIN) ||
sbi->ll_flags & LL_SBI_RMT_CLIENT)) sbi->ll_flags & LL_SBI_RMT_CLIENT))
return -EPERM; return -EPERM;
break; break;
...@@ -1602,7 +1602,7 @@ static long ll_dir_ioctl(struct file *file, unsigned int cmd, unsigned long arg) ...@@ -1602,7 +1602,7 @@ static long ll_dir_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
struct obd_quotactl *oqctl; struct obd_quotactl *oqctl;
int error = 0; int error = 0;
if (!cfs_capable(CFS_CAP_SYS_ADMIN) || if (!capable(CFS_CAP_SYS_ADMIN) ||
sbi->ll_flags & LL_SBI_RMT_CLIENT) sbi->ll_flags & LL_SBI_RMT_CLIENT)
return -EPERM; return -EPERM;
...@@ -1626,7 +1626,7 @@ static long ll_dir_ioctl(struct file *file, unsigned int cmd, unsigned long arg) ...@@ -1626,7 +1626,7 @@ static long ll_dir_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
case OBD_IOC_POLL_QUOTACHECK: { case OBD_IOC_POLL_QUOTACHECK: {
struct if_quotacheck *check; struct if_quotacheck *check;
if (!cfs_capable(CFS_CAP_SYS_ADMIN) || if (!capable(CFS_CAP_SYS_ADMIN) ||
sbi->ll_flags & LL_SBI_RMT_CLIENT) sbi->ll_flags & LL_SBI_RMT_CLIENT)
return -EPERM; return -EPERM;
......
...@@ -1340,7 +1340,7 @@ static int ll_lov_recreate_obj(struct inode *inode, unsigned long arg) ...@@ -1340,7 +1340,7 @@ static int ll_lov_recreate_obj(struct inode *inode, unsigned long arg)
struct ll_recreate_obj ucreat; struct ll_recreate_obj ucreat;
struct ost_id oi; struct ost_id oi;
if (!cfs_capable(CFS_CAP_SYS_ADMIN)) if (!capable(CFS_CAP_SYS_ADMIN))
return -EPERM; return -EPERM;
if (copy_from_user(&ucreat, (struct ll_recreate_obj *)arg, if (copy_from_user(&ucreat, (struct ll_recreate_obj *)arg,
...@@ -1358,7 +1358,7 @@ static int ll_lov_recreate_fid(struct inode *inode, unsigned long arg) ...@@ -1358,7 +1358,7 @@ static int ll_lov_recreate_fid(struct inode *inode, unsigned long arg)
struct ost_id oi; struct ost_id oi;
obd_count ost_idx; obd_count ost_idx;
if (!cfs_capable(CFS_CAP_SYS_ADMIN)) if (!capable(CFS_CAP_SYS_ADMIN))
return -EPERM; return -EPERM;
if (copy_from_user(&fid, (struct lu_fid *)arg, sizeof(fid))) if (copy_from_user(&fid, (struct lu_fid *)arg, sizeof(fid)))
...@@ -1497,7 +1497,7 @@ static int ll_lov_setea(struct inode *inode, struct file *file, ...@@ -1497,7 +1497,7 @@ static int ll_lov_setea(struct inode *inode, struct file *file,
sizeof(struct lov_user_ost_data); sizeof(struct lov_user_ost_data);
int rc; int rc;
if (!cfs_capable(CFS_CAP_SYS_ADMIN)) if (!capable(CFS_CAP_SYS_ADMIN))
return -EPERM; return -EPERM;
OBD_ALLOC_LARGE(lump, lum_size); OBD_ALLOC_LARGE(lump, lum_size);
...@@ -1747,7 +1747,7 @@ int ll_fid2path(struct inode *inode, void *arg) ...@@ -1747,7 +1747,7 @@ int ll_fid2path(struct inode *inode, void *arg)
struct getinfo_fid2path *gfout, *gfin; struct getinfo_fid2path *gfout, *gfin;
int outsize, rc; int outsize, rc;
if (!cfs_capable(CFS_CAP_DAC_READ_SEARCH) && if (!capable(CFS_CAP_DAC_READ_SEARCH) &&
!(ll_i2sbi(inode)->ll_flags & LL_SBI_USER_FID2PATH)) !(ll_i2sbi(inode)->ll_flags & LL_SBI_USER_FID2PATH))
return -EPERM; return -EPERM;
...@@ -2093,7 +2093,7 @@ static int ll_hsm_state_set(struct inode *inode, struct hsm_state_set *hss) ...@@ -2093,7 +2093,7 @@ static int ll_hsm_state_set(struct inode *inode, struct hsm_state_set *hss)
/* Non-root users are forbidden to set or clear flags which are /* Non-root users are forbidden to set or clear flags which are
* NOT defined in HSM_USER_MASK. */ * NOT defined in HSM_USER_MASK. */
if (((hss->hss_setmask | hss->hss_clearmask) & ~HSM_USER_MASK) && if (((hss->hss_setmask | hss->hss_clearmask) & ~HSM_USER_MASK) &&
!cfs_capable(CFS_CAP_SYS_ADMIN)) !capable(CFS_CAP_SYS_ADMIN))
return -EPERM; return -EPERM;
op_data = ll_prep_md_op_data(NULL, inode, NULL, NULL, 0, 0, op_data = ll_prep_md_op_data(NULL, inode, NULL, NULL, 0, 0,
......
...@@ -1403,7 +1403,7 @@ int ll_setattr_raw(struct dentry *dentry, struct iattr *attr, bool hsm_import) ...@@ -1403,7 +1403,7 @@ int ll_setattr_raw(struct dentry *dentry, struct iattr *attr, bool hsm_import)
/* POSIX: check before ATTR_*TIME_SET set (from inode_change_ok) */ /* POSIX: check before ATTR_*TIME_SET set (from inode_change_ok) */
if (attr->ia_valid & TIMES_SET_FLAGS) { if (attr->ia_valid & TIMES_SET_FLAGS) {
if ((!uid_eq(current_fsuid(), inode->i_uid)) && if ((!uid_eq(current_fsuid(), inode->i_uid)) &&
!cfs_capable(CFS_CAP_FOWNER)) !capable(CFS_CAP_FOWNER))
return -EPERM; return -EPERM;
} }
......
...@@ -95,7 +95,7 @@ int xattr_type_filter(struct ll_sb_info *sbi, int xattr_type) ...@@ -95,7 +95,7 @@ int xattr_type_filter(struct ll_sb_info *sbi, int xattr_type)
if (xattr_type == XATTR_USER_T && !(sbi->ll_flags & LL_SBI_USER_XATTR)) if (xattr_type == XATTR_USER_T && !(sbi->ll_flags & LL_SBI_USER_XATTR))
return -EOPNOTSUPP; return -EOPNOTSUPP;
if (xattr_type == XATTR_TRUSTED_T && !cfs_capable(CFS_CAP_SYS_ADMIN)) if (xattr_type == XATTR_TRUSTED_T && !capable(CFS_CAP_SYS_ADMIN))
return -EPERM; return -EPERM;
if (xattr_type == XATTR_OTHER_T) if (xattr_type == XATTR_OTHER_T)
return -EOPNOTSUPP; return -EOPNOTSUPP;
......
...@@ -184,7 +184,7 @@ static long obd_class_ioctl(struct file *filp, unsigned int cmd, ...@@ -184,7 +184,7 @@ static long obd_class_ioctl(struct file *filp, unsigned int cmd,
int err = 0; int err = 0;
/* Allow non-root access for OBD_IOC_PING_TARGET - used by lfs check */ /* Allow non-root access for OBD_IOC_PING_TARGET - used by lfs check */
if (!cfs_capable(CFS_CAP_SYS_ADMIN) && (cmd != OBD_IOC_PING_TARGET)) if (!capable(CFS_CAP_SYS_ADMIN) && (cmd != OBD_IOC_PING_TARGET))
return err = -EACCES; return err = -EACCES;
if ((cmd & 0xffffff00) == ((int)'T') << 8) /* ignore all tty ioctls */ if ((cmd & 0xffffff00) == ((int)'T') << 8) /* ignore all tty ioctls */
return err = -ENOTTY; return err = -ENOTTY;
......
...@@ -233,7 +233,7 @@ void obdo_from_iattr(struct obdo *oa, struct iattr *attr, unsigned int ia_valid) ...@@ -233,7 +233,7 @@ void obdo_from_iattr(struct obdo *oa, struct iattr *attr, unsigned int ia_valid)
oa->o_mode = attr->ia_mode; oa->o_mode = attr->ia_mode;
oa->o_valid |= OBD_MD_FLTYPE | OBD_MD_FLMODE; oa->o_valid |= OBD_MD_FLTYPE | OBD_MD_FLMODE;
if (!in_group_p(make_kgid(&init_user_ns, oa->o_gid)) && if (!in_group_p(make_kgid(&init_user_ns, oa->o_gid)) &&
!cfs_capable(CFS_CAP_FSETID)) !capable(CFS_CAP_FSETID))
oa->o_mode &= ~S_ISGID; oa->o_mode &= ~S_ISGID;
} }
if (ia_valid & ATTR_UID) { if (ia_valid & ATTR_UID) {
...@@ -282,7 +282,7 @@ void iattr_from_obdo(struct iattr *attr, struct obdo *oa, obd_flag valid) ...@@ -282,7 +282,7 @@ void iattr_from_obdo(struct iattr *attr, struct obdo *oa, obd_flag valid)
attr->ia_mode = (attr->ia_mode & S_IFMT)|(oa->o_mode & ~S_IFMT); attr->ia_mode = (attr->ia_mode & S_IFMT)|(oa->o_mode & ~S_IFMT);
attr->ia_valid |= ATTR_MODE; attr->ia_valid |= ATTR_MODE;
if (!in_group_p(make_kgid(&init_user_ns, oa->o_gid)) && if (!in_group_p(make_kgid(&init_user_ns, oa->o_gid)) &&
!cfs_capable(CFS_CAP_FSETID)) !capable(CFS_CAP_FSETID))
attr->ia_mode &= ~S_ISGID; attr->ia_mode &= ~S_ISGID;
} }
if (valid & OBD_MD_FLUID) { if (valid & OBD_MD_FLUID) {
......
...@@ -2764,7 +2764,7 @@ echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len, ...@@ -2764,7 +2764,7 @@ echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
switch (cmd) { switch (cmd) {
case OBD_IOC_CREATE: /* may create echo object */ case OBD_IOC_CREATE: /* may create echo object */
if (!cfs_capable(CFS_CAP_SYS_ADMIN)) if (!capable(CFS_CAP_SYS_ADMIN))
GOTO (out, rc = -EPERM); GOTO (out, rc = -EPERM);
rc = echo_create_object(env, ed, 1, oa, data->ioc_pbuf1, rc = echo_create_object(env, ed, 1, oa, data->ioc_pbuf1,
...@@ -2778,7 +2778,7 @@ echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len, ...@@ -2778,7 +2778,7 @@ echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
int dirlen; int dirlen;
__u64 id; __u64 id;
if (!cfs_capable(CFS_CAP_SYS_ADMIN)) if (!capable(CFS_CAP_SYS_ADMIN))
GOTO(out, rc = -EPERM); GOTO(out, rc = -EPERM);
count = data->ioc_count; count = data->ioc_count;
...@@ -2806,7 +2806,7 @@ echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len, ...@@ -2806,7 +2806,7 @@ echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
__u64 seq; __u64 seq;
int max_count; int max_count;
if (!cfs_capable(CFS_CAP_SYS_ADMIN)) if (!capable(CFS_CAP_SYS_ADMIN))
GOTO(out, rc = -EPERM); GOTO(out, rc = -EPERM);
cl_env = cl_env_get(&refcheck); cl_env = cl_env_get(&refcheck);
...@@ -2838,7 +2838,7 @@ echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len, ...@@ -2838,7 +2838,7 @@ echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
GOTO(out, rc); GOTO(out, rc);
} }
case OBD_IOC_DESTROY: case OBD_IOC_DESTROY:
if (!cfs_capable(CFS_CAP_SYS_ADMIN)) if (!capable(CFS_CAP_SYS_ADMIN))
GOTO (out, rc = -EPERM); GOTO (out, rc = -EPERM);
rc = echo_get_object(&eco, ed, oa); rc = echo_get_object(&eco, ed, oa);
...@@ -2863,7 +2863,7 @@ echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len, ...@@ -2863,7 +2863,7 @@ echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
GOTO(out, rc); GOTO(out, rc);
case OBD_IOC_SETATTR: case OBD_IOC_SETATTR:
if (!cfs_capable(CFS_CAP_SYS_ADMIN)) if (!capable(CFS_CAP_SYS_ADMIN))
GOTO (out, rc = -EPERM); GOTO (out, rc = -EPERM);
rc = echo_get_object(&eco, ed, oa); rc = echo_get_object(&eco, ed, oa);
...@@ -2878,7 +2878,7 @@ echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len, ...@@ -2878,7 +2878,7 @@ echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
GOTO(out, rc); GOTO(out, rc);
case OBD_IOC_BRW_WRITE: case OBD_IOC_BRW_WRITE:
if (!cfs_capable(CFS_CAP_SYS_ADMIN)) if (!capable(CFS_CAP_SYS_ADMIN))
GOTO (out, rc = -EPERM); GOTO (out, rc = -EPERM);
rw = OBD_BRW_WRITE; rw = OBD_BRW_WRITE;
...@@ -2897,7 +2897,7 @@ echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len, ...@@ -2897,7 +2897,7 @@ echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
GOTO(out, rc); GOTO(out, rc);
case ECHO_IOC_SET_STRIPE: case ECHO_IOC_SET_STRIPE:
if (!cfs_capable(CFS_CAP_SYS_ADMIN)) if (!capable(CFS_CAP_SYS_ADMIN))
GOTO (out, rc = -EPERM); GOTO (out, rc = -EPERM);
if (data->ioc_pbuf1 == NULL) { /* unset */ if (data->ioc_pbuf1 == NULL) { /* unset */
...@@ -2914,7 +2914,7 @@ echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len, ...@@ -2914,7 +2914,7 @@ echo_client_iocontrol(unsigned int cmd, struct obd_export *exp, int len,
GOTO (out, rc); GOTO (out, rc);
case ECHO_IOC_ENQUEUE: case ECHO_IOC_ENQUEUE:
if (!cfs_capable(CFS_CAP_SYS_ADMIN)) if (!capable(CFS_CAP_SYS_ADMIN))
GOTO (out, rc = -EPERM); GOTO (out, rc = -EPERM);
rc = echo_client_enqueue(exp, oa, rc = echo_client_enqueue(exp, oa,
......
...@@ -2146,7 +2146,7 @@ int osc_prep_async_page(struct osc_object *osc, struct osc_page *ops, ...@@ -2146,7 +2146,7 @@ int osc_prep_async_page(struct osc_object *osc, struct osc_page *ops,
oap->oap_obj_off = offset; oap->oap_obj_off = offset;
LASSERT(!(offset & ~CFS_PAGE_MASK)); LASSERT(!(offset & ~CFS_PAGE_MASK));
if (!client_is_remote(exp) && cfs_capable(CFS_CAP_SYS_RESOURCE)) if (!client_is_remote(exp) && capable(CFS_CAP_SYS_RESOURCE))
oap->oap_brw_flags = OBD_BRW_NOQUOTA; oap->oap_brw_flags = OBD_BRW_NOQUOTA;
INIT_LIST_HEAD(&oap->oap_pending_item); INIT_LIST_HEAD(&oap->oap_pending_item);
...@@ -2186,7 +2186,7 @@ int osc_queue_async_io(const struct lu_env *env, struct cl_io *io, ...@@ -2186,7 +2186,7 @@ int osc_queue_async_io(const struct lu_env *env, struct cl_io *io,
/* Set the OBD_BRW_SRVLOCK before the page is queued. */ /* Set the OBD_BRW_SRVLOCK before the page is queued. */
brw_flags |= ops->ops_srvlock ? OBD_BRW_SRVLOCK : 0; brw_flags |= ops->ops_srvlock ? OBD_BRW_SRVLOCK : 0;
if (!client_is_remote(osc_export(osc)) && if (!client_is_remote(osc_export(osc)) &&
cfs_capable(CFS_CAP_SYS_RESOURCE)) { capable(CFS_CAP_SYS_RESOURCE)) {
brw_flags |= OBD_BRW_NOQUOTA; brw_flags |= OBD_BRW_NOQUOTA;
cmd |= OBD_BRW_NOQUOTA; cmd |= OBD_BRW_NOQUOTA;
} }
......
...@@ -297,7 +297,7 @@ static int osc_io_commit_write(const struct lu_env *env, ...@@ -297,7 +297,7 @@ static int osc_io_commit_write(const struct lu_env *env,
*/ */
osc_page_touch(env, cl2osc_page(slice), to); osc_page_touch(env, cl2osc_page(slice), to);
if (!client_is_remote(osc_export(obj)) && if (!client_is_remote(osc_export(obj)) &&
cfs_capable(CFS_CAP_SYS_RESOURCE)) capable(CFS_CAP_SYS_RESOURCE))
oap->oap_brw_flags |= OBD_BRW_NOQUOTA; oap->oap_brw_flags |= OBD_BRW_NOQUOTA;
if (oio->oi_lockless) if (oio->oi_lockless)
......
...@@ -561,7 +561,7 @@ void osc_page_submit(const struct lu_env *env, struct osc_page *opg, ...@@ -561,7 +561,7 @@ void osc_page_submit(const struct lu_env *env, struct osc_page *opg,
oap->oap_brw_flags = OBD_BRW_SYNC | brw_flags; oap->oap_brw_flags = OBD_BRW_SYNC | brw_flags;
if (!client_is_remote(osc_export(obj)) && if (!client_is_remote(osc_export(obj)) &&
cfs_capable(CFS_CAP_SYS_RESOURCE)) { capable(CFS_CAP_SYS_RESOURCE)) {
oap->oap_brw_flags |= OBD_BRW_NOQUOTA; oap->oap_brw_flags |= OBD_BRW_NOQUOTA;
oap->oap_cmd |= OBD_BRW_NOQUOTA; oap->oap_cmd |= OBD_BRW_NOQUOTA;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment