lkml.org 
[lkml]   [2021]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRE: [PATCH v3 1/2] blk-zoned: allow zone management send operations without CAP_SYS_ADMIN
    Date


    > -----Original Message-----
    > From: Niklas Cassel <Niklas.Cassel@wdc.com>
    > Sent: Monday, June 14, 2021 5:53 PM
    > To: Jens Axboe <axboe@kernel.dk>; Damien Le Moal <Damien.LeMoal@wdc.com>;
    > Shaun Tancheff <shaun@tancheff.com>; Martin K. Petersen
    > <martin.petersen@oracle.com>; Hannes Reinecke <hare@suse.com>
    > Cc: Damien Le Moal <Damien.LeMoal@wdc.com>; Niklas Cassel
    > <Niklas.Cassel@wdc.com>; stable@vger.kernel.org; Jens Axboe <axboe@fb.com>;
    > linux-block@vger.kernel.org; linux-kernel@vger.kernel.org
    > Subject: [PATCH v3 1/2] blk-zoned: allow zone management send operations
    > without CAP_SYS_ADMIN
    >
    > From: Niklas Cassel <niklas.cassel@wdc.com>
    >
    > Zone management send operations (BLKRESETZONE, BLKOPENZONE,
    > BLKCLOSEZONE and BLKFINISHZONE) should be allowed under the same permissions
    > as write().
    > (write() does not require CAP_SYS_ADMIN).
    >
    > Additionally, other ioctls like BLKSECDISCARD and BLKZEROOUT only check if the fd
    > was successfully opened with FMODE_WRITE.
    > (They do not require CAP_SYS_ADMIN).
    >
    > Currently, zone management send operations require both CAP_SYS_ADMIN and
    > that the fd was successfully opened with FMODE_WRITE.
    >
    > Remove the CAP_SYS_ADMIN requirement, so that zone management send
    > operations match the access control requirement of write(), BLKSECDISCARD and
    > BLKZEROOUT.
    >
    > Fixes: 3ed05a987e0f ("blk-zoned: implement ioctls")
    > Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
    > Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com>
    > Cc: stable@vger.kernel.org # v4.10+
    > ---
    > Changes since v2:
    > -None
    >
    > Note to backporter:
    > Function was added as blkdev_reset_zones_ioctl() in v4.10.
    > Function was renamed to blkdev_zone_mgmt_ioctl() in v5.5.
    > The patch is valid both before and after the function rename.
    >
    > block/blk-zoned.c | 3 ---
    > 1 file changed, 3 deletions(-)
    >
    > diff --git a/block/blk-zoned.c b/block/blk-zoned.c index
    > 250cb76ee615..0789e6e9f7db 100644
    > --- a/block/blk-zoned.c
    > +++ b/block/blk-zoned.c
    > @@ -349,9 +349,6 @@ int blkdev_zone_mgmt_ioctl(struct block_device *bdev,
    > fmode_t mode,
    > if (!blk_queue_is_zoned(q))
    > return -ENOTTY;
    >
    > - if (!capable(CAP_SYS_ADMIN))
    > - return -EACCES;
    > -
    > if (!(mode & FMODE_WRITE))
    > return -EBADF;
    >
    > --
    > 2.31.1

    Looks good,

    Reviewed-by: Aravind Ramesh <aravind.ramesh@wdc.com>

    \
     
     \ /
      Last update: 2021-06-16 15:43    [W:4.130 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site