RE: [PATCH v3 -next 3/4] net: emaclite: Fix arm64 compilation warnings

From: Radhey Shyam Pandey
Date: Mon Feb 10 2020 - 09:27:02 EST


> -----Original Message-----
> From: Andrew Lunn <andrew@xxxxxxx>
> Sent: Friday, January 31, 2020 7:08 PM
> To: Radhey Shyam Pandey <radheys@xxxxxxxxxx>
> Cc: davem@xxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; Anirudha Sarangi <anirudh@xxxxxxxxxx>; Michal Simek
> <michals@xxxxxxxxxx>; gregkh@xxxxxxxxxxxxxxxxxxx;
> mchehab+samsung@xxxxxxxxxx; John Linn <linnj@xxxxxxxxxx>; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [PATCH v3 -next 3/4] net: emaclite: Fix arm64 compilation warnings
>
> On Fri, Jan 31, 2020 at 05:17:49PM +0530, Radhey Shyam Pandey wrote:
> >
> > /* BUFFER_ALIGN(adr) calculates the number of bytes to the next alignment.
> */
> > -#define BUFFER_ALIGN(adr) ((ALIGNMENT - ((u32)adr)) % ALIGNMENT)
> > +#define BUFFER_ALIGN(adr) ((ALIGNMENT - ((ulong)adr)) % ALIGNMENT)
>
> Hi Radhey
>
> linux/kernel.h has a few interesting macros, like
>
> #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
>
> These are more likely to be correct across all architectures than
> anything you role yourself.
>
Thanks for the review. I agree using a kernel macro is preferred. However,
as a second thought it seems we can get rid of this custom BUFFER_ALIGN
macro and simply calling skb_reserve(skb, NET_IP_ALIGN) will make the
protocol header to be aligned on at least a 4-byte boundary.

> Andrew