lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 26 Oct 2023 10:55:10 -0700
From: Florian Fainelli <florian.fainelli@...adcom.com>
To: Vincent MAILHOL <mailhol.vincent@...adoo.fr>
Cc: netdev@...r.kernel.org, Doug Berger <opendmb@...il.com>,
 Broadcom internal kernel review list
 <bcm-kernel-feedback-list@...adcom.com>,
 "David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
 Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
 Andrew Lunn <andrew@...n.ch>, Heiner Kallweit <hkallweit1@...il.com>,
 Russell King <linux@...linux.org.uk>,
 Vladimir Oltean <vladimir.oltean@....com>, Tariq Toukan <tariqt@...dia.com>,
 Gal Pressman <gal@...dia.com>, Willem de Bruijn <willemb@...gle.com>,
 Daniil Tatianin <d-tatianin@...dex-team.ru>, Simon Horman
 <horms@...nel.org>, Justin Chen <justin.chen@...adcom.com>,
 Ratheesh Kannoth <rkannoth@...vell.com>, Joe Damato <jdamato@...tly.com>,
 Jiri Pirko <jiri@...nulli.us>, open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH net-next 4/5] net: phy: broadcom: Add support for
 WAKE_FILTER

Hi Vincent,

On 10/25/23 19:13, Vincent MAILHOL wrote:
[snip]
>>
>> This looks like an endianness conversion (I can not tell if this is
>> big to little or the opposite)...
> 
> Oopsy! On second look, this is an open coded cpu to big endian
> conversion. So the question I should have asked is:
> 
>    why not use the put_unaligned_be16() helper here?

Because this is consistent with the existing code, though I will keep 
that suggestion in mind as a subsequent patch. I personally find it 
clearer expressed that way, but can update.

> 
> Below comments still remain.
> 
>>> +       }
>>> +       ether_addr_copy(nfc->fs.h_u.ether_spec.h_dest, da);
>>> +
>>> +       for (i = 0; i < sizeof(da) / 2; i++) {
>>> +               ret = bcm_phy_read_exp(phydev,
>>> +                                      BCM54XX_WOL_MASK(2 - i));
>>> +               if (ret < 0)
>>> +                       return ret;
>>> +
>>> +               da[i * 2] = ~(ret >> 8);
>>> +               da[i * 2 + 1] = ~(ret & 0xff);
>>> +       }
>>> +       ether_addr_copy(nfc->fs.m_u.ether_spec.h_dest, da);
>>> +
>>> +       ret = bcm_phy_read_exp(phydev, BCM54XX_WOL_INNER_PROTO);
>>> +       if (ret < 0)
>>> +               return ret;
>>> +
>>> +       nfc->fs.h_u.ether_spec.h_proto = be16_to_cpu(ret);
>>
>> ... but here it is big endian to cpu endian? It does not look coherent.

You are right, it was not consistent.

>>
>> Also, did you run parse to check your endianness conversions?

I did, though nothing came out with C=1 or C=2, I might have to check 
that separately.

>>
>>    https://www.kernel.org/doc/html/latest/dev-tools/sparse.html
>>
>> For example, I would have expected htons() (a.k.a. cpu_to_be16())
>> instead of be16_to_cpu().

Thanks for having taken a look.
-- 
Florian


Download attachment "smime.p7s" of type "application/pkcs7-signature" (4221 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ