[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1463117202.2380.88.camel@linux.vnet.ibm.com>
Date: Thu, 12 May 2016 22:26:42 -0700
From: James Bottomley <jejb@...ux.vnet.ibm.com>
To: Ilia Mirkin <imirkin@...m.mit.edu>
Cc: Meelis Roos <mroos@...ux.ee>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
Linux Kernel list <linux-kernel@...r.kernel.org>,
Hannes Reinecke <hare@...e.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>
Subject: Re: UBSAN: Undefined behaviour in
drivers/scsi/aic7xxx/aic7xxx_core.c:2831:31
On Thu, 2016-05-12 at 17:56 -0400, Ilia Mirkin wrote:
> On Thu, May 12, 2016 at 4:08 PM, James Bottomley
> <jejb@...ux.vnet.ibm.com> wrote:
> > On Thu, 2016-05-12 at 19:02 +0300, Meelis Roos wrote:
> > > This is from a dual-AthlonMP 32-bit x86 system with onboard
> > > Adaptec
> > > SCSI
> > > controller, once during bootup.
> > >
> > > [ 4.896307]
> > > =================================================================
> > > ====
> > > ===========
> > > [ 4.896471] UBSAN: Undefined behaviour in
> > > drivers/scsi/aic7xxx/aic7xxx_core.c:2831:31
> > > [ 4.896629] shift exponent -1 is negative
> >
> > Is this some sort of false positive? The shift in question is
> >
> > devinfo->target_mask = (0x01 << devinfo->target_offset);
> >
> > The code which calls this in ahc_linux_initialize_scsi_bus() looks
> > to
> > be looping from 0-16 (or variations). Since the value passed in is
> > unsigned, it would have to be set to ~0, which doesn't seem
> > possible.
>
> It's getting called from ahc_reset_channel, which does:
>
> ahc_compile_devinfo(&devinfo,
> CAM_TARGET_WILDCARD,
> CAM_TARGET_WILDCARD,
> CAM_LUN_WILDCARD,
> channel, ROLE_UNKNOWN);
>
> drivers/scsi/aic7xxx/cam.h:#define CAM_TARGET_WILDCARD
> ((u_int)~0)
OK, thanks, you can mark it as a false positive because only the SPI
parameters are actually used for this version of devinfo.
James
Powered by blists - more mailing lists