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
| ||
|
Message-ID: <651e948f.1c0a0220.e602c.04aa@mx.google.com> Date: Thu, 5 Oct 2023 12:48:45 +0200 From: Christian Marangi <ansuelsmth@...il.com> To: Marek Behún <kabel@...nel.org> Cc: "David S. Miller" <davem@...emloft.net>, Paolo Abeni <pabeni@...hat.com>, netdev@...r.kernel.org Subject: Re: [PATCH net v2 1/2] net: dsa: qca8k: fix regmap bulk read/write methods on big endian systems On Wed, Oct 04, 2023 at 11:19:03AM +0200, Marek Behún wrote: > Commit c766e077d927 ("net: dsa: qca8k: convert to regmap read/write > API") introduced bulk read/write methods to qca8k's regmap. > > The regmap bulk read/write methods get the register address in a buffer > passed as a void pointer parameter (the same buffer contains also the > read/written values). The register address occupies only as many bytes > as it requires at the beginning of this buffer. For example if the > .reg_bits member in regmap_config is 16 (as is the case for this > driver), the register address occupies only the first 2 bytes in this > buffer, so it can be cast to u16. > > But the original commit implementing these bulk read/write methods cast > the buffer to u32: > u32 reg = *(u32 *)reg_buf & U16_MAX; > taking the first 4 bytes. This works on little endian systems where the > first 2 bytes of the buffer correspond to the low 16-bits, but it > obviously cannot work on big endian systems. > > Fix this by casting the beginning of the buffer to u16 as > u32 reg = *(u16 *)reg_buf; > > Fixes: c766e077d927 ("net: dsa: qca8k: convert to regmap read/write API") > Signed-off-by: Marek Behún <kabel@...nel.org> Just find time to test this on a friend's big-endian device and can confirm this fix the problem. Thanks! Tested-by: Christian Marangi <ansuelsmth@...il.com> Reviewed-by: Christian Marangi <ansuelsmth@...il.com> -- Ansuel
Powered by blists - more mailing lists