Re: [PATCH net] staging: rtl8188eu: use is_zero_ether_addr() instead of memcmp()

From: maowenan
Date: Tue Mar 12 2019 - 02:59:02 EST




On 2019/3/12 14:35, Joe Perches wrote:
> On Tue, 2019-03-12 at 14:29 +0800, maowenan wrote:
>> ping...
>>
>> On 2019/3/9 11:26, Mao Wenan wrote:
>>> Using is_zero_ether_addr() instead of directly use
>>> memcmp() to determine if the ethernet address is all
>>> zeros.
> []
>>> diff --git a/drivers/staging/rtl8188eu/core/rtw_mlme.c b/drivers/staging/rtl8188eu/core/rtw_mlme.c
> []
>>> @@ -180,9 +180,8 @@ struct wlan_network *rtw_find_network(struct __queue *scanned_queue, u8 *addr)
>>> {
>>> struct list_head *phead, *plist;
>>> struct wlan_network *pnetwork = NULL;
>>> - u8 zero_addr[ETH_ALEN] = {0, 0, 0, 0, 0, 0};
>>>
>>> - if (!memcmp(zero_addr, addr, ETH_ALEN)) {
>>> + if (is_zero_ether_addr(addr)) {
>
> How did you verify that addr is __aligned(2)?

/**
* is_zero_ether_addr - Determine if give Ethernet address is all zeros.
* @addr: Pointer to a six-byte array containing the Ethernet address
*
* Return true if the address is all zeroes.
*/
I think they are completely equivalent functions, no need to check addr is __aligned(2),
because addr may be defined as unsigned char MacAddress[ETH_ALEN]; the length is 6.
>
>
>
> .
>