On 05/07/2018 10:43 AM, Björn Töpel wrote: > From: Björn Töpel <bjorn.to...@intel.com> > > 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 <bjorn.to...@intel.com>
I don't know why the subject says xsk (instead of xdp), but anyway: Reported-by: Randy Dunlap <rdun...@infradead.org> Tested-by: Randy Dunlap <rdun...@infradead.org> Thanks. > --- > net/xdp/xdp_umem.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/xdp/xdp_umem.c b/net/xdp/xdp_umem.c > index 881dfdefe235..2b47a1dd7c6c 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; > > -- ~Randy