[PATCH] mm/shmem: Fix a build error due to shmem_unuse() under !CONFIG_SHMEM

From: SeongJae Park
Date: Thu Dec 30 2021 - 05:39:00 EST


A patch[1] in -mm tree that titled mm-simplify-try_to_unuse.patch[2]
didn't properly change the type of 'shmem_unuse()' definition under
!CONFIG_SHMEM, and therefore causing below build error when CONFIG_SHMEM
is not set.

linux/mm/shmem.c:3992:5: error: conflicting types for 'shmem_unuse'
3992 | int shmem_unuse(unsigned int type, unsigned long *fs_pages_to_unuse)
| ^~~~~~~~~~~
In file included from linux/include/linux/khugepaged.h:6,
from linux/mm/shmem.c:37:
linux/include/linux/shmem_fs.h:86:5: note: previous declaration of 'shmem_unuse' was here
86 | int shmem_unuse(unsigned int type);
| ^~~~~~~~~~~
linux/scripts/Makefile.build:289: recipe for target 'mm/shmem.o' failed

This commit fixes the issue by fixing the type of the definition under
the config.

[1] https://lore.kernel.org/linux-mm/20211224062246.1258487-9-hch@xxxxxx/
[2] https://www.ozlabs.org/~akpm/mmotm/broken-out/mm-simplify-try_to_unuse.patch

Signed-off-by: SeongJae Park <sj@xxxxxxxxxx>
---
mm/shmem.c | 2 +-
scripts/rust-version.sh | 0
2 files changed, 1 insertion(+), 1 deletion(-)
mode change 100644 => 100755 scripts/rust-version.sh

diff --git a/mm/shmem.c b/mm/shmem.c
index 421b2459929a..a83c91282c1f 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -3989,7 +3989,7 @@ int __init shmem_init(void)
return 0;
}

-int shmem_unuse(unsigned int type, unsigned long *fs_pages_to_unuse)
+int shmem_unuse(unsigned int type)
{
return 0;
}
diff --git a/scripts/rust-version.sh b/scripts/rust-version.sh
old mode 100644
new mode 100755
--
2.17.1