| From: Ben Hutchings <ben@decadent.org.uk> |
| Date: Mon, 27 May 2013 19:07:19 +0100 |
| Subject: [SCSI] sd: Fix parsing of 'temporary ' cache mode prefix |
| |
| commit 2ee3e26c673e75c05ef8b914f54fadee3d7b9c88 upstream. |
| |
| Commit 39c60a0948cc '[SCSI] sd: fix array cache flushing bug causing |
| performance problems' added temp as a pointer to "temporary " and used |
| sizeof(temp) - 1 as its length. But sizeof(temp) is the size of the |
| pointer, not the size of the string constant. Change temp to a static |
| array so that sizeof() does what was intended. |
| |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| Signed-off-by: James Bottomley <JBottomley@Parallels.com> |
| --- |
| drivers/scsi/sd.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/scsi/sd.c |
| +++ b/drivers/scsi/sd.c |
| @@ -138,7 +138,7 @@ sd_store_cache_type(struct device *dev, |
| char *buffer_data; |
| struct scsi_mode_data data; |
| struct scsi_sense_hdr sshdr; |
| - const char *temp = "temporary "; |
| + static const char temp[] = "temporary "; |
| int len; |
| |
| if (sdp->type != TYPE_DISK) |