module: fix building stats for 32-bit targets
authorArnd Bergmann <arnd@arndb.de>
Mon, 17 Apr 2023 22:48:04 +0000 (00:48 +0200)
committerLuis Chamberlain <mcgrof@kernel.org>
Tue, 18 Apr 2023 18:36:00 +0000 (11:36 -0700)
commit719ccd803ed5bd1ad92b0b46fc095b8fe266827e
treebc3d034e5436a61f10fec8d31ba251fd7c516550
parent635dc38314c75c5727711d896d4c71ec92f6f20b
module: fix building stats for 32-bit targets

The new module statistics code mixes 64-bit types and wordsized 'long'
variables, which leads to build failures on 32-bit architectures:

kernel/module/stats.c: In function 'read_file_mod_stats':
kernel/module/stats.c:291:29: error: passing argument 1 of 'atomic64_read' from incompatible pointer type [-Werror=incompatible-pointer-types]
  291 |  total_size = atomic64_read(&total_mod_size);
x86_64-linux-ld: kernel/module/stats.o: in function `read_file_mod_stats':
stats.c:(.text+0x2b2): undefined reference to `__udivdi3'

To fix this, the code has to use one of the two types consistently.

Change them all to word-size types here.

Fixes: df3e764d8e5c ("module: add debug stats to help identify memory pressure")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
kernel/module/stats.c