tree:
git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git master
head: 1a880941a087613ed42f77001229edfcf75ea8a5
commit: 8c564323537ccfe86a2423a4b98a423ab2182c9e [1863/2382] headers/deps: mm: Optimize
<linux/mm_api.h>, remove the <linux/mm_api_gate_area.h> header
config: x86_64-randconfig-a013
(
https://download.01.org/0day-ci/archive/20220114/202201140224.O4rqby5c-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
#
https://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git/commit/?id=...
git remote add mingo-tip
git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git
git fetch --no-tags mingo-tip master
git checkout 8c564323537ccfe86a2423a4b98a423ab2182c9e
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash arch/x86/entry/vsyscall/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
> arch/x86/entry/vsyscall/vsyscall_64.c:323:24: warning: no
previous prototype for 'get_gate_vma' [-Wmissing-prototypes]
323 |
struct vm_area_struct *get_gate_vma(struct mm_struct *mm)
| ^~~~~~~~~~~~
> arch/x86/entry/vsyscall/vsyscall_64.c:334:5: warning: no previous
prototype for 'in_gate_area' [-Wmissing-prototypes]
334 | int
in_gate_area(struct mm_struct *mm, unsigned long addr)
| ^~~~~~~~~~~~
> arch/x86/entry/vsyscall/vsyscall_64.c:349:5: warning: no previous
prototype for 'in_gate_area_no_mm' [-Wmissing-prototypes]
349 | int
in_gate_area_no_mm(unsigned long addr)
| ^~~~~~~~~~~~~~~~~~
vim +/get_gate_vma +323 arch/x86/entry/vsyscall/vsyscall_64.c
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
322
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
@323 struct vm_area_struct *get_gate_vma(struct mm_struct *mm)
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
324 {
c338867d0e4224 arch/x86/entry/vsyscall/vsyscall_64.c Brian Gerst 2015-06-22
325 #ifdef CONFIG_COMPAT
ff170cd0595398 arch/x86/entry/vsyscall/vsyscall_64.c Gabriel Krisman Bertazi 2020-10-03
326 if (!mm || !(mm->context.flags & MM_CONTEXT_HAS_VSYSCALL))
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
327 return NULL;
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
328 #endif
87983c66bc02c9 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-10-29
329 if (vsyscall_mode == NONE)
87983c66bc02c9 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-10-29
330 return NULL;
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
331 return &gate_vma;
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
332 }
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
333
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
@334 int in_gate_area(struct mm_struct *mm, unsigned long addr)
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
335 {
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
336 struct vm_area_struct *vma = get_gate_vma(mm);
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
337
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
338 if (!vma)
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
339 return 0;
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
340
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
341 return (addr >= vma->vm_start) && (addr < vma->vm_end);
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
342 }
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
343
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
344 /*
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
345 * Use this when you have no reliable mm, typically from interrupt
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
346 * context. It is less reliable than using a task's mm and may give
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
347 * false positives.
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
348 */
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
@349 int in_gate_area_no_mm(unsigned long addr)
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
350 {
87983c66bc02c9 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-10-29
351 return vsyscall_mode != NONE && (addr & PAGE_MASK) == VSYSCALL_ADDR;
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
352 }
b93590901a01a6 arch/x86/kernel/vsyscall_64.c Andy Lutomirski 2014-09-23
353
:::::: The code at line 323 was first introduced by commit
:::::: b93590901a01a6d036b3b7c856bcc5724fdb9911 x86_64/vsyscall: Move all of the gate_area
code to vsyscall_64.c
:::::: TO: Andy Lutomirski <luto(a)amacapital.net>
:::::: CC: Ingo Molnar <mingo(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org