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

Commit 1f618aac authored by Jia-Ju Bai's avatar Jia-Ju Bai Committed by Martin K. Petersen
Browse files

scsi: st: Replace GFP_ATOMIC with GFP_KERNEL in st_probe



st_probe() is never called in atomic context. st_probe() is only set as
".probe" in struct scsi_driver.

Despite never getting called from atomic context, st_probe() calls
kzalloc() with GFP_ATOMIC, which does not sleep for allocation.
GFP_ATOMIC is not necessary and can be replaced with GFP_KERNEL, which
can sleep and improve the possibility of sucessful allocation.

This is found by a static analysis tool named DCNS written by myself.
And I also manually check it.

Signed-off-by: default avatarJia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent c3606520
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -4290,7 +4290,7 @@ static int st_probe(struct device *dev)
		goto out_buffer_free;
	}

	tpnt = kzalloc(sizeof(struct scsi_tape), GFP_ATOMIC);
	tpnt = kzalloc(sizeof(struct scsi_tape), GFP_KERNEL);
	if (tpnt == NULL) {
		sdev_printk(KERN_ERR, SDp,
			    "st: Can't allocate device descriptor.\n");