If the asd_find_flash_de() function returns ENOENT the off value will
be used uninitialized in the call to asd_read_flash_seg().
Signed-off-by: Eric B Munson <[email protected]>
Cc: [email protected]
---
drivers/scsi/aic94xx/aic94xx_sds.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/aic94xx/aic94xx_sds.c b/drivers/scsi/aic94xx/aic94xx_sds.c
index edb43fd..6f6a5b8 100644
--- a/drivers/scsi/aic94xx/aic94xx_sds.c
+++ b/drivers/scsi/aic94xx/aic94xx_sds.c
@@ -982,7 +982,7 @@ static int asd_process_ctrl_a_user(struct asd_ha_struct *asd_ha,
struct asd_flash_dir *flash_dir)
{
int err, i;
- u32 offs, size;
+ u32 offs = 0, size;
struct asd_ll_el *el;
struct asd_ctrla_phy_settings *ps;
struct asd_ctrla_phy_settings dflt_ps;
--
1.9.1
On Tue, 2014-12-02 at 11:34 -0500, Eric B Munson wrote:
> If the asd_find_flash_de() function returns ENOENT the off value will
> be used uninitialized in the call to asd_read_flash_seg().
This is just papering over the problem. This was my attempt at a proper
fix: http://article.gmane.org/gmane.linux.scsi/91320
Ben.
> Signed-off-by: Eric B Munson <[email protected]>
> Cc: [email protected]
> ---
> drivers/scsi/aic94xx/aic94xx_sds.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/aic94xx/aic94xx_sds.c b/drivers/scsi/aic94xx/aic94xx_sds.c
> index edb43fd..6f6a5b8 100644
> --- a/drivers/scsi/aic94xx/aic94xx_sds.c
> +++ b/drivers/scsi/aic94xx/aic94xx_sds.c
> @@ -982,7 +982,7 @@ static int asd_process_ctrl_a_user(struct asd_ha_struct *asd_ha,
> struct asd_flash_dir *flash_dir)
> {
> int err, i;
> - u32 offs, size;
> + u32 offs = 0, size;
> struct asd_ll_el *el;
> struct asd_ctrla_phy_settings *ps;
> struct asd_ctrla_phy_settings dflt_ps;
--
Ben Hutchings
Life would be so much easier if we could look at the source code.
On Sun, Dec 28, 2014 at 04:12:16PM +0100, Ben Hutchings wrote:
> On Tue, 2014-12-02 at 11:34 -0500, Eric B Munson wrote:
> > If the asd_find_flash_de() function returns ENOENT the off value will
> > be used uninitialized in the call to asd_read_flash_seg().
>
> This is just papering over the problem. This was my attempt at a proper
> fix: http://article.gmane.org/gmane.linux.scsi/91320
That one looks much more useful to me. Can someone give it a second
review?