mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Julia Lawall <julia.lawall@lip6.fr>
To: punit vara <punitvara@gmail.com>
Cc: Larry Finger <Larry.Finger@lwfinger.net>,
	Greg KH <gregkh@linuxfoundation.org>,
	Joshua Clayton <stillcompiling@gmail.com>,
	Sudip Mukherjee <sudipm.mukherjee@gmail.com>,
	Dan Carpenter <dan.carpenter@oracle.com>,
	Dogukan Ergun <dogukan.ergun@gmail.com>,
	devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/4] Staging: rtl8712: Use ether_addr_equal() over memcmp()
Date: Sat, 10 Oct 2015 21:50:47 +0200 (CEST)	[thread overview]
Message-ID: <alpine.DEB.2.02.1510102149541.2053@localhost6.localdomain6> (raw)
In-Reply-To: <CABXAfNLTrNmqGMhQaghBUk+N+K8=EsfoiuV2eQ+afk3vYSp=2w@mail.gmail.com>



On Sun, 11 Oct 2015, punit vara wrote:

> On Sat, Oct 10, 2015 at 11:04 PM, Larry Finger
> <Larry.Finger@lwfinger.net> wrote:
> > On 10/10/2015 11:58 AM, Punit Vara wrote:
> >>
> >> This patch is to the rtl871x_ioctl_linux.c file that fixes up following
> >> warning reported by checkpatch.pl :
> >>
> >> -Prefer ether_addr_equal() or ether_addr_equal_unaligned() over memcmp()
> >>
> >> bssid has datatype u8 and pnetwork->network.MacAddress has data type
> >>   unsigned char.
> >>
> >> Signed-off-by: Punit Vara <punitvara@gmail.com>
> >> ---
> >>   drivers/staging/rtl8712/rtl871x_ioctl_linux.c | 2 +-
> >>   1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
> >> b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
> >> index 2ba055d..1c9092e 100644
> >> --- a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
> >> +++ b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
> >> @@ -2007,7 +2007,7 @@ static int r871x_get_ap_info(struct net_device *dev,
> >>                         return -EINVAL;
> >>                 }
> >>                 netdev_info(dev, "r8712u: BSSID:%pM\n", bssid);
> >> -               if (!memcmp(bssid, pnetwork->network.MacAddress,
> >> ETH_ALEN)) {
> >> +               if (!ether_addr_equal(bssid, pnetwork->network)) {
> >>                         /* BSSID match, then check if supporting wpa/wpa2
> >> */
> >>                         pbuf =
> >> r8712_get_wpa_ie(&pnetwork->network.IEs[12],
> >>                                &wpa_ielen, pnetwork->network.IELength-12);
> >>
> >
> > The types of the variables are not what is important - it is the alignment!
> >
> > I suggest that you read the definition of ether_addr_equal() and consider
> > what happens if either of the two addresses is not aligned to u16!
> >
> > You also have a logic error. Routine memcmp() returns zero when the two
> > arguments are equal. Thus !memcmp() will be true when they are equal.
> > Routine ether_addr_equal() returns true when the arguments are equal.
> > Whenever !memcmp() is correct and the arguments are aligned, then you need
> > to replace it with ether_addr_equal().
> >
> > The checkpatch script is a good tool for locating things to be changed;
> > however, if the change is other than cosmetic, you *MUST THINK* about what
> > is happening. Yes, rtl8712 is ugly code, but it works. Please do not break
> > it.
> >
> > NACK.
> >
> > Larry
> >
> 
> @Larry I am thankful for your high quality feedback.
> if both address are aligned to u16 then we should use
> ether_addr_equal() if not then ether_addr_equal_unaligned().
> 
> Both return true if addr1 and addr2 matches. If I am understand
> correctly bssid and MacAdress is not aligned to u16 .So right
> correction would be
> if(ether_addr_equal_unaligned(bssid, pnetwork->network))
> 
> right ?

You can use pahole to check the alignment.  Use git log to find other 
patches that mention the use of this tool to see what information to 
provide in the commit message.

julia

  reply	other threads:[~2015-10-10 19:50 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-10 16:58 [PATCH 0/4] Staging: rtl8712: Fix coding style warnings Punit Vara
2015-10-10 16:58 ` [PATCH 1/4] Staging: rtl8712: Fix warning prefer eth_broadcast_addr() over memset() Punit Vara
2015-10-10 16:58 ` [PATCH 2/4] Staging: rtl8712: Use ether_addr_equal() over memcmp() Punit Vara
2015-10-10 17:34   ` Larry Finger
2015-10-10 19:47     ` punit vara
2015-10-10 19:50       ` Julia Lawall [this message]
2015-10-10 20:22         ` punit vara
2015-10-10 20:26           ` punit vara
2015-10-10 23:59   ` kbuild test robot
2015-10-11  0:37   ` kbuild test robot
2015-10-11 11:12     ` punit vara
2015-10-11 17:23       ` Joe Perches
2015-10-10 16:58 ` [PATCH 3/4] Staging: rtl8712: Coding style warnings fix for block comments Punit Vara
2015-10-10 16:58 ` [PATCH 4/4] Staging: rtl8712: fix warning for placing constant on the right side of test Punit Vara
2015-10-10 17:07   ` Julia Lawall
2015-10-10 19:52     ` punit vara

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.02.1510102149541.2053@localhost6.localdomain6 \
    --to=julia.lawall@lip6.fr \
    --cc=Larry.Finger@lwfinger.net \
    --cc=dan.carpenter@oracle.com \
    --cc=devel@driverdev.osuosl.org \
    --cc=dogukan.ergun@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=punitvara@gmail.com \
    --cc=stillcompiling@gmail.com \
    --cc=sudipm.mukherjee@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®