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: Jia-Ju Bai <baijiaju1990@gmail.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
c360652006
commit
1f618aac2f
|
@ -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");
|
||||
|
|
Loading…
Reference in New Issue