From b1419061a36837d277ef9f7e5cd32eb2e4a92d57 Mon Sep 17 00:00:00 2001 From: Can Guo Date: Wed, 13 Nov 2019 20:30:13 -0800 Subject: [PATCH] scsi: Block reset attempts to UFS through scsi ioctl User layer can reset scsi host/bus/target/device through scsi ioctl. Block this path to UFS as it may cause stability issues to UFS. Change-Id: I18e721f36d4f255139645f986ceb329f40b2fb33 Signed-off-by: Can Guo --- drivers/scsi/scsi_error.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c index ae2fa170f6ad..5d56836dfae5 100644 --- a/drivers/scsi/scsi_error.c +++ b/drivers/scsi/scsi_error.c @@ -2330,12 +2330,17 @@ scsi_ioctl_reset(struct scsi_device *dev, int __user *arg) struct scsi_cmnd *scmd; struct Scsi_Host *shost = dev->host; struct request *rq; + const char *string; unsigned long flags; int error = 0, rtn, val; if (!capable(CAP_SYS_ADMIN) || !capable(CAP_SYS_RAWIO)) return -EACCES; + string = shost->hostt->name; + if (!strcmp(string, "ufshcd")) + return -EACCES; + error = get_user(val, arg); if (error) return error;