Patch "ipr: Fix regression when loading firmware" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
ipr: Fix regression when loading firmware
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
ipr-fix-regression-when-loading-firmware.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
21b81716c6bff24cda52dc75588455f879ddbfe9Mon Sep 17 00:00:00 2001
From: Gabriel Krisman Bertazi <[email protected]>
Date: Thu, 25 Feb 2016 13:54:20 -0300
Subject: ipr: Fix regression when loading firmware
From: Gabriel Krisman Bertazi <[email protected]>
commit 21b81716c6bff24cda52dc75588455f879ddbfe9 upstream.
Commit d63c7dd5bcb9 ("ipr: Fix out-of-bounds null overwrite") removed the end of line handling when storing the update_fw sysfs attribute. This changed the userpace API because it started refusing writes terminated by a line feed, which broke the update tools we already have.
This patch re-adds that handling, so both a write terminated by a line feed or not can make it through with the update.
--- drivers/scsi/ipr.c | 5 +++++ 1 file changed, 5 insertions(+)
drivers/scsi/ipr.c +5 -0
@@ -4003,6 +4003,7 @@ static ssize_t ipr_store_update_fw(strucstruct ipr_sglist *sglist;char fname[100 ];char *src; +char *endline;int result, dnld_size;if (!capable (CAP_SYS_ADMIN ))
@@ -4010,6 +4011,10 @@ static ssize_t ipr_store_update_fw(strucsnprintf (fname,sizeof (fname),"%s" , buf); + endline =strchr (fname,'\n' ); +if (endline) + *endline ='\0' ; +if (request_firmware (&fw_entry, fname, &ioa_cfg->pdev->dev)) {dev_err (&ioa_cfg->pdev->dev,"Firmware file %s not found\n" , fname);return -EIO ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/ipr-fix-regression-when-loading-firmware.patch