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]
Message-ID: <20240809094951.GI3075665@kernel.org>
Date: Fri, 9 Aug 2024 10:49:51 +0100
From: Simon Horman <horms@...nel.org>
To: Christophe Leroy <christophe.leroy@...roup.eu>
Cc: Pantelis Antoniou <pantelis.antoniou@...il.com>,
	"David S. Miller" <davem@...emloft.net>,
	Eric Dumazet <edumazet@...gle.com>,
	Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
	linux-kernel@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [PATCH net] net: fs_enet: Fix warning due to wrong type

On Thu, Aug 08, 2024 at 09:16:48AM +0200, Christophe Leroy wrote:
> Building fs_enet on powerpc e500 leads to following warning:
> 
>     CC      drivers/net/ethernet/freescale/fs_enet/mac-scc.o
>   In file included from ./include/linux/build_bug.h:5,
>                    from ./include/linux/container_of.h:5,
>                    from ./include/linux/list.h:5,
>                    from ./include/linux/module.h:12,
>                    from drivers/net/ethernet/freescale/fs_enet/mac-scc.c:15:
>   drivers/net/ethernet/freescale/fs_enet/mac-scc.c: In function 'allocate_bd':
>   ./include/linux/err.h:28:49: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
>      28 | #define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)
>         |                                                 ^
>   ./include/linux/compiler.h:77:45: note: in definition of macro 'unlikely'
>      77 | # define unlikely(x)    __builtin_expect(!!(x), 0)
>         |                                             ^
>   drivers/net/ethernet/freescale/fs_enet/mac-scc.c:138:13: note: in expansion of macro 'IS_ERR_VALUE'
>     138 |         if (IS_ERR_VALUE(fep->ring_mem_addr))
>         |             ^~~~~~~~~~~~
> 
> This is due to fep->ring_mem_addr not being a pointer but a DMA
> address which is 64 bits on that platform while pointers are
> 32 bits as this is a 32 bits platform with wider physical bus.
> 
> However, using fep->ring_mem_addr is just wrong because
> cpm_muram_alloc() returns an offset within the muram and not
> a physical address directly. So use fpi->dpram_offset instead.
> 
> Fixes: 48257c4f168e ("Add fs_enet ethernet network driver, for several embedded platforms.")
> Signed-off-by: Christophe Leroy <christophe.leroy@...roup.eu>

Reviewed-by: Simon Horman <horms@...nel.org>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ