From: Björn Töpel Date: Mon, 7 May 2018 17:43:50 +0000 (+0200) Subject: xsk: fix 64-bit division X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=ea7e3435297c6ba3c8ae51db6ea48f1ed657dc5c;p=linux.git xsk: fix 64-bit division i386 builds report: net/xdp/xdp_umem.o: In function `xdp_umem_reg': xdp_umem.c:(.text+0x47e): undefined reference to `__udivdi3' This fix uses div_u64 instead of the GCC built-in. Fixes: c0c77d8fb787 ("xsk: add user memory registration support sockopt") Signed-off-by: Björn Töpel Reported-by: Randy Dunlap Tested-by: Randy Dunlap Signed-off-by: Daniel Borkmann --- diff --git a/net/xdp/xdp_umem.c b/net/xdp/xdp_umem.c index 881dfdefe2359..2b47a1dd7c6c5 100644 --- a/net/xdp/xdp_umem.c +++ b/net/xdp/xdp_umem.c @@ -209,7 +209,7 @@ int xdp_umem_reg(struct xdp_umem *umem, struct xdp_umem_reg *mr) if ((addr + size) < addr) return -EINVAL; - nframes = size / frame_size; + nframes = (unsigned int)div_u64(size, frame_size); if (nframes == 0 || nframes > UINT_MAX) return -EINVAL;