Re: [PATCH next] fuse: Fix 'min: signedness error' in fuse_wr_pages()

From: Brian Masney

Date: Tue Jan 13 2026 - 15:23:40 EST


On Tue, Jan 13, 2026 at 07:22:43PM +0000, david.laight.linux@xxxxxxxxx wrote:
> From: David Laight <david.laight.linux@xxxxxxxxx>
>
> On 32bit systems 'pos' is s64 and everything else is 32bit so the
> first argument to min() is signed - generating a warning.
> On 64bit systems 'len' is 64bit unsigned forcing everything to unsigned.
>
> Fix by reworking the exprssion to completely avoid 64bit maths on 32bit.
> Use DIV_ROUND_UP() instead of open-coding something equivalent.
>
> Note that the 32bit 'len' cannot overflow because the syscall interface
> limits read/write (etc) to (INT_MAX - PAGE_SIZE) bytes (even on 64bit).
>
> Fixes: 0f5bb0cfb0b4 ("fs: use min() or umin() instead of min_t()")
> Signed-off-by: David Laight <david.laight.linux@xxxxxxxxx>

Reported-by: Brian Masney <bmasney@xxxxxxxxxx>
Reviewed-by: Brian Masney <bmasney@xxxxxxxxxx>

This fixes the MIPS cross compiler error on arm64 that I reported. I
also tested a native arm64 build.

Brian