Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 40149099 authored by Venkat Gopalakrishnan's avatar Venkat Gopalakrishnan Committed by Can Guo
Browse files

scsi: ufs: validate input args to queuecommand



Make sure to validate the input args to queuecommand to avoid
NULL dereferences.

Change-Id: I803e1cc019a4c5569fed9ee08113e323daab75c8
Signed-off-by: default avatarVenkat Gopalakrishnan <venkatg@codeaurora.org>
[cang@codeaurora.org: resolved trivial merge conflicts and
fixed kernel compilation error by removing cmd_type checking]
Signed-off-by: default avatarCan Guo <cang@codeaurora.org>
parent 2d66615f
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -3275,6 +3275,9 @@ static int ufshcd_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd)

	hba = shost_priv(host);

	if (!cmd || !cmd->request || !hba)
		return -EINVAL;

	tag = cmd->request->tag;
	if (!ufshcd_valid_tag(hba, tag)) {
		dev_err(hba->dev,
@@ -3359,11 +3362,10 @@ static int ufshcd_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd)
		WARN_ON(hba->hibern8_on_idle.state != HIBERN8_EXITED);

	/* IO svc time latency histogram */
	if (hba != NULL && cmd->request != NULL) {
	if (hba->latency_hist_enabled) {
		cmd->request->lat_hist_io_start = ktime_get();
		cmd->request->lat_hist_enabled = 1;
		} else
	} else {
		cmd->request->lat_hist_enabled = 0;
	}