lkml.org 
[lkml]   [2024]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v6 1/9] md: merge the check of capabilities into md_ioctl_valid()
    Date
    From: Li Nan <linan122@huawei.com>

    There is no functional change. Just to make code cleaner.

    Signed-off-by: Li Nan <linan122@huawei.com>
    Reviewed-by: Yu Kuai <yukuai3@huawei.com>
    ---
    drivers/md/md.c | 30 ++++++++++++------------------
    1 file changed, 12 insertions(+), 18 deletions(-)

    diff --git a/drivers/md/md.c b/drivers/md/md.c
    index e351e6c51cc7..1b509fb82040 100644
    --- a/drivers/md/md.c
    +++ b/drivers/md/md.c
    @@ -7545,16 +7545,17 @@ static int md_getgeo(struct block_device *bdev, struct hd_geometry *geo)
    return 0;
    }

    -static inline bool md_ioctl_valid(unsigned int cmd)
    +static inline int md_ioctl_valid(unsigned int cmd)
    {
    switch (cmd) {
    - case ADD_NEW_DISK:
    case GET_ARRAY_INFO:
    - case GET_BITMAP_FILE:
    case GET_DISK_INFO:
    + case RAID_VERSION:
    + return 0;
    + case ADD_NEW_DISK:
    + case GET_BITMAP_FILE:
    case HOT_ADD_DISK:
    case HOT_REMOVE_DISK:
    - case RAID_VERSION:
    case RESTART_ARRAY_RW:
    case RUN_ARRAY:
    case SET_ARRAY_INFO:
    @@ -7563,9 +7564,11 @@ static inline bool md_ioctl_valid(unsigned int cmd)
    case STOP_ARRAY:
    case STOP_ARRAY_RO:
    case CLUSTERED_DISK_NACK:
    - return true;
    + if (!capable(CAP_SYS_ADMIN))
    + return -EACCES;
    + return 0;
    default:
    - return false;
    + return -ENOTTY;
    }
    }

    @@ -7625,18 +7628,9 @@ static int md_ioctl(struct block_device *bdev, blk_mode_t mode,
    struct mddev *mddev = NULL;
    bool did_set_md_closing = false;

    - if (!md_ioctl_valid(cmd))
    - return -ENOTTY;
    -
    - switch (cmd) {
    - case RAID_VERSION:
    - case GET_ARRAY_INFO:
    - case GET_DISK_INFO:
    - break;
    - default:
    - if (!capable(CAP_SYS_ADMIN))
    - return -EACCES;
    - }
    + err = md_ioctl_valid(cmd);
    + if (err)
    + return err;

    /*
    * Commands dealing with the RAID driver but not any
    --
    2.39.2

    \
     
     \ /
      Last update: 2024-05-27 14:50    [W:4.026 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site