On Tue, 10 Mar 2020, Bandan Das wrote: > Brijesh Singh <brijesh.singh@xxxxxxx> writes: > > > On 3/6/20 11:20 AM, Connor Kuehl wrote: > >> Instead of using CAP_SYS_ADMIN which is restricted to the root user, > >> check the file mode for write permissions before executing commands that > >> can affect the platform. This allows for more fine-grained access > >> control to the SEV ioctl interface. This would allow a SEV-only user > >> or group the ability to administer the platform without requiring them > >> to be root or granting them overly powerful permissions. > >> > >> For example: > >> > >> chown root:root /dev/sev > >> chmod 600 /dev/sev > >> setfacl -m g:sev:r /dev/sev > >> setfacl -m g:sev-admin:rw /dev/sev > >> > >> In this instance, members of the "sev-admin" group have the ability to > >> perform all ioctl calls (including the ones that modify platform state). > >> Members of the "sev" group only have access to the ioctls that do not > >> modify the platform state. > >> > >> This also makes opening "/dev/sev" more consistent with how file > >> descriptors are usually handled. By only checking for CAP_SYS_ADMIN, > >> the file descriptor could be opened read-only but could still execute > >> ioctls that modify the platform state. This patch enforces that the file > >> descriptor is opened with write privileges if it is going to be used to > >> modify the platform state. > >> > >> This flexibility is completely opt-in, and if it is not desirable by > >> the administrator then they do not need to give anyone else access to > >> /dev/sev. > >> > >> Signed-off-by: Connor Kuehl <ckuehl@xxxxxxxxxx> > >> --- > >> drivers/crypto/ccp/sev-dev.c | 33 +++++++++++++++++---------------- > >> 1 file changed, 17 insertions(+), 16 deletions(-) > >> > > > > Reviewed-by: Brijesh Singh <brijesh.singh@xxxxxxx> > > > > thanks > > Reviewed-by: Bandan Das <bsd@xxxxxxxxxx> > Acked-by: David Rientjes <rientjes@xxxxxxxxxx>