Re: [patch] staging: rtl8723au: incorrect use of ether_addr_copy()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2014-10-08 at 16:33 +0200, Jes Sorensen wrote:
> Joe Perches <joe@xxxxxxxxxxx> writes:
> > On Wed, 2014-10-08 at 15:46 +0300, Dan Carpenter wrote:
> >> On Wed, Oct 08, 2014 at 05:26:11AM -0700, Joe Perches wrote:
> >> > On Wed, 2014-10-08 at 13:40 +0300, Dan Carpenter wrote:
> >> > > The return from myid() isn't aligned correctly for ether_addr_copy().
> >> > 
> >> > Hey Dan.
> >> > 
> >> > Actual evidence showing ether_addr_copy conversions
> >> > may not always be wise.
> >> > 
> >> > How did you find them?
> >> 
> >> I was just trying to see how common these kinds of bugs are.  It didn't
> >> take long to find, but my impression is that they are rare and I got
> >> lucky.  These kinds of bugs are tricky to find and we don't have any
> >> tools for it.
> >
> > As far as I know, that's true too.
> >
> > Jes, was the mac_addr field in this struct
> > ever __aligned(2)?
> >
> > struct eeprom_priv {
> >        u8              bautoload_fail_flag;
> >        u8              bloadfile_fail_flag;
> >        u8              bloadmac_fail_flag;
> >        /* u8           bempty; */
> >        /* u8           sys_config; */
> >        u8              mac_addr[6];    /* PermanentAddress */
> > ...
> > }
> >
> > As far as I can tell from git history, it was
> > that way at the first check-in.
> 
> I may have removed other entries that were unused, and that caused it to
> become mis-aligned. I can't say for sure - the fix is straight forward
> though.

One option is to add __aligned(2) to the mac_addr field
and make no other change.


_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux