]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: enetc: fix build warning when PAGE_SIZE is greater than 128K
authorWei Fang <wei.fang@nxp.com>
Wed, 7 Jan 2026 09:12:04 +0000 (17:12 +0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 8 Jan 2026 16:51:09 +0000 (08:51 -0800)
The max buffer size of ENETC RX BD is 0xFFFF bytes, so if the PAGE_SIZE
is greater than 128K, ENETC_RXB_DMA_SIZE and ENETC_RXB_DMA_SIZE_XDP will
be greater than 0xFFFF, thus causing a build warning.

This will not cause any practical issues because ENETC is currently only
used on the ARM64 platform, and the max PAGE_SIZE is 64K. So this patch
is only for fixing the build warning that occurs when compiling ENETC
drivers for other platforms.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202601050637.kHEKKOG7-lkp@intel.com/
Fixes: e59bc32df2e9 ("net: enetc: correct the value of ENETC_RXB_TRUESIZE")
Signed-off-by: Wei Fang <wei.fang@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260107091204.1980222-1-wei.fang@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/freescale/enetc/enetc.h

index dce27bd67a7d102208a00319570ae47b58efc4c3..aecd40aeef9c40bda79aaab807ff2535f8db9807 100644 (file)
@@ -79,9 +79,9 @@ struct enetc_lso_t {
 #define ENETC_RXB_TRUESIZE     (PAGE_SIZE >> 1)
 #define ENETC_RXB_PAD          NET_SKB_PAD /* add extra space if needed */
 #define ENETC_RXB_DMA_SIZE     \
-       (SKB_WITH_OVERHEAD(ENETC_RXB_TRUESIZE) - ENETC_RXB_PAD)
+       min(SKB_WITH_OVERHEAD(ENETC_RXB_TRUESIZE) - ENETC_RXB_PAD, 0xffff)
 #define ENETC_RXB_DMA_SIZE_XDP \
-       (SKB_WITH_OVERHEAD(ENETC_RXB_TRUESIZE) - XDP_PACKET_HEADROOM)
+       min(SKB_WITH_OVERHEAD(ENETC_RXB_TRUESIZE) - XDP_PACKET_HEADROOM, 0xffff)
 
 struct enetc_rx_swbd {
        dma_addr_t dma;