diff mbox series

mm: hugetlb_vmemmap: include missing linux/moduleparam.h

Message ID patch.git-296b83ca939b.your-ad-here.call-01667411912-ext-5073@work.hours (mailing list archive)
State New
Headers show
Series mm: hugetlb_vmemmap: include missing linux/moduleparam.h | expand

Commit Message

Vasily Gorbik Nov. 2, 2022, 6:09 p.m. UTC
The kernel test robot reported build failures with a 'randconfig' on s390:
>> mm/hugetlb_vmemmap.c:421:11: error: a function declaration without a
prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
   core_param(hugetlb_free_vmemmap, vmemmap_optimize_enabled, bool, 0);
             ^

Link: https://lore.kernel.org/linux-mm/202210300751.rG3UDsuc-lkp@intel.com/
Reported-by: kernel test robot <lkp@intel.com>
Fixes: 30152245c63b ("mm: hugetlb_vmemmap: replace early_param() with core_param()")
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
---
 mm/hugetlb_vmemmap.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Muchun Song Nov. 3, 2022, 2:51 a.m. UTC | #1
> On Nov 3, 2022, at 02:09, Vasily Gorbik <gor@linux.ibm.com> wrote:
> 
> The kernel test robot reported build failures with a 'randconfig' on s390:
>>> mm/hugetlb_vmemmap.c:421:11: error: a function declaration without a
> prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
>   core_param(hugetlb_free_vmemmap, vmemmap_optimize_enabled, bool, 0);
>             ^
> 
> Link: https://lore.kernel.org/linux-mm/202210300751.rG3UDsuc-lkp@intel.com/
> Reported-by: kernel test robot <lkp@intel.com>
> Fixes: 30152245c63b ("mm: hugetlb_vmemmap: replace early_param() with core_param()")

Thanks for your fixing. However, the correct commit that should be fixed is
42deddf3ef5c ("s390: select ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP").

Reviewed-by: Muchun Song <songmuchun@bytedance.com>
Vasily Gorbik Nov. 3, 2022, 4:02 p.m. UTC | #2
On Thu, Nov 03, 2022 at 10:51:59AM +0800, Muchun Song wrote:
> 
> 
> > On Nov 3, 2022, at 02:09, Vasily Gorbik <gor@linux.ibm.com> wrote:
> > 
> > The kernel test robot reported build failures with a 'randconfig' on s390:
> >>> mm/hugetlb_vmemmap.c:421:11: error: a function declaration without a
> > prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
> >   core_param(hugetlb_free_vmemmap, vmemmap_optimize_enabled, bool, 0);
> >             ^
> > 
> > Link: https://lore.kernel.org/linux-mm/202210300751.rG3UDsuc-lkp@intel.com/
> > Reported-by: kernel test robot <lkp@intel.com>
> > Fixes: 30152245c63b ("mm: hugetlb_vmemmap: replace early_param() with core_param()")
> 
> Thanks for your fixing. However, the correct commit that should be fixed is
> 42deddf3ef5c ("s390: select ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP").
> 
> Reviewed-by: Muchun Song <songmuchun@bytedance.com>

Even on x86 the inclusion chain looks like:
  CC      mm/hugetlb_vmemmap.o
In file included from ./include/linux/module.h:22,
                 from ./include/linux/device/driver.h:21,
                 from ./include/linux/device.h:32,
                 from ./include/linux/blk_types.h:11,
                 from ./include/linux/writeback.h:13,
                 from ./include/linux/memcontrol.h:22,
                 from ./include/linux/swap.h:9,
                 from ./include/asm-generic/hugetlb.h:5,
                 from ./arch/x86/include/asm/hugetlb.h:6,
                 from ./include/linux/hugetlb.h:802,
                 from mm/hugetlb_vmemmap.h:11,
                 from mm/hugetlb_vmemmap.c:18:
./include/linux/moduleparam.h:2:2: warning: #warning included from here

With s390 defconfig:
  CC      mm/hugetlb_vmemmap.o
In file included from ./include/linux/module.h:22,
                 from ./include/linux/device/driver.h:21,
                 from ./include/linux/device.h:32,
                 from ./include/linux/blk_types.h:11,
                 from ./include/linux/writeback.h:13,
                 from ./include/linux/memcontrol.h:22,
                 from ./include/linux/swap.h:9,
                 from ./include/linux/userfaultfd_k.h:18, <-- randconfig disabled this path (CONFIG_USERFAULTFD)
                 from ./include/linux/hugetlb.h:14,
                 from mm/hugetlb_vmemmap.h:11,
                 from mm/hugetlb_vmemmap.c:17:
./include/linux/moduleparam.h:2:2: warning: #warning included from here

42deddf3ef5c ("s390: select ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP") is
just a one liner activating this feature and only present in linux-next
and s390 features branch targeting v6.2. So, if you don't want to have

Fixes: 30152245c63b ("mm: hugetlb_vmemmap: replace early_param() with core_param()")

fine with me. But then just dropping Fixes tag is probably a better
option. I hope that won't prevent it from going into some v6.1-rcX.

@Andrew
should I resend? or would you be so kind to drop Fixes tag and add Reviewed-by
without it? Thank you
Andrew Morton Nov. 4, 2022, 11:36 p.m. UTC | #3
On Thu, 3 Nov 2022 17:02:02 +0100 Vasily Gorbik <gor@linux.ibm.com> wrote:

> 42deddf3ef5c ("s390: select ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP") is
> just a one liner activating this feature and only present in linux-next
> and s390 features branch targeting v6.2. So, if you don't want to have
> 
> Fixes: 30152245c63b ("mm: hugetlb_vmemmap: replace early_param() with core_param()")
> 
> fine with me. But then just dropping Fixes tag is probably a better
> option. I hope that won't prevent it from going into some v6.1-rcX.
> 
> @Andrew
> should I resend? or would you be so kind to drop Fixes tag and add Reviewed-by
> without it? Thank you

I retained the

Fixes: 30152245c63b ("mm: hugetlb_vmemmap: replace early_param() with core_param()")

and added Muchun's Reviewed-by:, thanks.
diff mbox series

Patch

diff --git a/mm/hugetlb_vmemmap.c b/mm/hugetlb_vmemmap.c
index ba2a2596fb4e..4962dd1ba4a6 100644
--- a/mm/hugetlb_vmemmap.c
+++ b/mm/hugetlb_vmemmap.c
@@ -11,6 +11,7 @@ 
 #define pr_fmt(fmt)	"HugeTLB: " fmt
 
 #include <linux/pgtable.h>
+#include <linux/moduleparam.h>
 #include <linux/bootmem_info.h>
 #include <asm/pgalloc.h>
 #include <asm/tlbflush.h>