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

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi

Pull SCSI fixes from James Bottomley:
"Two fairly simple fixes.

One is a regression with ipr firmware loading caused by one of the
trivial patches in the last merge window which failed to strip the \n
from the file name string, so now the firmware loader no longer works
leading to a lot of unhappy ipr users; fix by stripping the \n.

The second is a memory leak within SCSI: the BLK_PREP_INVALID state
was introduced a recent fix but we forgot to account for it correctly
when freeing state, resulting in memory leakage. Add the correct
state freeing in scsi_prep_return()"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
ipr: Fix regression when loading firmware
SCSI: Free resources when we return BLKPREP_INVALID

+6
+5
drivers/scsi/ipr.c
··· 4002 4002 struct ipr_sglist *sglist; 4003 4003 char fname[100]; 4004 4004 char *src; 4005 + char *endline; 4005 4006 int result, dnld_size; 4006 4007 4007 4008 if (!capable(CAP_SYS_ADMIN)) 4008 4009 return -EACCES; 4009 4010 4010 4011 snprintf(fname, sizeof(fname), "%s", buf); 4012 + 4013 + endline = strchr(fname, '\n'); 4014 + if (endline) 4015 + *endline = '\0'; 4011 4016 4012 4017 if (request_firmware(&fw_entry, fname, &ioa_cfg->pdev->dev)) { 4013 4018 dev_err(&ioa_cfg->pdev->dev, "Firmware file %s not found\n", fname);
+1
drivers/scsi/scsi_lib.c
··· 1344 1344 1345 1345 switch (ret) { 1346 1346 case BLKPREP_KILL: 1347 + case BLKPREP_INVALID: 1347 1348 req->errors = DID_NO_CONNECT << 16; 1348 1349 /* release the command and kill it */ 1349 1350 if (req->special) {