Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

scsi: message: fusion: Replace GFP_ATOMIC with GFP_KERNEL

mpt_attach() and mptfc_probe() are never called in atomic context. They
call kzalloc() and kcalloc() with GFP_ATOMIC, which is not necessary.
GFP_ATOMIC can be replaced with GFP_KERNEL.

This is found by a static analysis tool named DCNS written by myself.

Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

authored by

Jia-Ju Bai and committed by
Martin K. Petersen
50838500 cc74e31d

+2 -2
+1 -1
drivers/message/fusion/mptbase.c
··· 1780 1780 struct proc_dir_entry *dent; 1781 1781 #endif 1782 1782 1783 - ioc = kzalloc(sizeof(MPT_ADAPTER), GFP_ATOMIC); 1783 + ioc = kzalloc(sizeof(MPT_ADAPTER), GFP_KERNEL); 1784 1784 if (ioc == NULL) { 1785 1785 printk(KERN_ERR MYNAM ": ERROR - Insufficient memory to add adapter!\n"); 1786 1786 return -ENOMEM;
+1 -1
drivers/message/fusion/mptfc.c
··· 1292 1292 /* SCSI needs scsi_cmnd lookup table! 1293 1293 * (with size equal to req_depth*PtrSz!) 1294 1294 */ 1295 - ioc->ScsiLookup = kcalloc(ioc->req_depth, sizeof(void *), GFP_ATOMIC); 1295 + ioc->ScsiLookup = kcalloc(ioc->req_depth, sizeof(void *), GFP_KERNEL); 1296 1296 if (!ioc->ScsiLookup) { 1297 1297 error = -ENOMEM; 1298 1298 goto out_mptfc_probe;