Messages in this thread | | | Subject | Re: [PATCH 8/8] staging: rtl8188eu: use is_broadcast_ether_addr | From | Michael Straube <> | Date | Sun, 29 Jul 2018 20:51:56 +0200 |
| |
On 07/29/18 20:21, Michael Straube wrote: > On 07/29/18 19:59, Joe Perches wrote: >> On Sun, 2018-07-29 at 19:42 +0200, Michael Straube wrote: >>> On 07/29/18 19:21, Joe Perches wrote: >>>> On Sun, 2018-07-29 at 19:08 +0200, Michael Straube wrote: >>>>> Use is_broadcast_ether_addr instead of checking each byte of the >>>>> address array for 0xff. Shortens the code and improves readability. >>>> >>>> You should show in the commit log that sta_addr is __aligned(2) >>>> as required by is_broadcast_ether_addr, otherwise you could be >>>> introducing runtime alignment defects. >>>> >>> >>> Ok, sta_addr is used from following structs. >>> >>> struct ieee_param { >>> u32 cmd; >>> u8 sta_addr[ETH_ALEN]; >>> union { >>> ... >>> ... >>> }; u >>> }; >>> >>> struct ieee_param_ex { >>> u32 cmd; >>> u8 sta_addr[ETH_ALEN]; >>> u8 data[0]; >>> }; >>> >>> Well, looking at it now, I'm not sure about the alignment anymore >>> in the struct that contains the union. Is sta_addr in the first >>> struct __aligned(2)? >>> >>> Should I include the snippets in the commit message, or is just >>> writing that sta_addr is __aligned(2) enough? (if it is in the >>> first case...) >> >> It's enough to just state that the uses are properly aligned >> as long as you looked and understand that it's required. >> > > Ok, thank you. > > I looked at it and understand that it's required. > But, as mentioned, at second look I'm not sure about the union. > > I guess I need to read a little more about the alignment of unions.
For now I will resend the series without this patch. I don't feel comfortable with sending something I don't fully understand, yet.
Michael
| |