On Tue, Feb 18, 2025 at 08:39:21AM +0800, Philip Li wrote:
+ DanThe Smatch check is a bit more sophisticated than the GCC check...
Hi Dan,
On Mon, Feb 17, 2025 at 01:12:03PM +0000, David Laight wrote:
On Mon, 17 Feb 2025 13:06:49 +0100
Alexandre Ghiti <alex@xxxxxxxx> wrote:
Hi Christoph,Why is smatch even looking.
On 17/02/2025 10:24, Christoph Hellwig wrote:
On Mon, Feb 17, 2025 at 01:53:08PM +0800, kernel test robot wrote:
New smatch warnings:Looks like this is an issue in the riscv virt_to_page implementation
fs/xfs/xfs_buf.c:1534 xfs_buf_submit_bio() warn: unsigned '_x' is never less than zero.
which also shows up in various other places. Any chance this could get
fixed in the riscv code?
To me, the only test that could give rise to this warning is the last
part of:
#define is_linear_mapping(x) \
((x) >= PAGE_OFFSET && (!IS_ENABLED(CONFIG_64BIT) || (x) <
PAGE_OFFSET + KERN_VIRT_SIZE))
But given that the config is a 32-bit config, it should not be evaluated
at all.
Could that be a false-positive and then an issue in smatch?
The equivalent check in gcc has been moved to -W2 because of all false positives.
I think if you removed the (!IS_ENABLED(CONFIG_64BIT) condition then
Smatch wouldn't trigger a warning here. How would I duplicate this
warning? The "ARCH=riscv make.cross" command does a 64bit build.
Screw it, I can just silence this warning based on that it's a kernel
build and the variable is called "_x".
regards,
dan carpenter
_______________________________________________
linux-riscv mailing list
linux-riscv@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-riscv