* [linux-next:master] [mm] 54fc2b6358: WARNING:at_include/linux/fs.h:#file_has_valid_mmap_hooks
@ 2025-05-14 7:38 kernel test robot
2025-05-14 8:21 ` Lorenzo Stoakes
0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2025-05-14 7:38 UTC (permalink / raw)
To: Lorenzo Stoakes
Cc: oe-lkp, lkp, Andrew Morton, Al Viro, Christian Brauner,
David Hildenbrand, Jan Kara, Jann Horn, Liam Howlett,
Matthew Wilcox, Michal Hocko, Mike Rapoport, Suren Baghdasaryan,
Vlastimil Babka, linux-fsdevel, linux-mm, oliver.sang
Hello,
kernel test robot noticed "WARNING:at_include/linux/fs.h:#file_has_valid_mmap_hooks" on:
commit: 54fc2b63585940cce17810a9ef5d273087b0939e ("mm: introduce new .mmap_prepare() file callback")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
[test failed on linux-next/master edef457004774e598fc4c1b7d1d4f0bcd9d0bb30]
in testcase: trinity
version: trinity-i386-abe9de86-1_20230429
with following parameters:
runtime: 300s
group: group-00
nr_groups: 5
config: i386-randconfig-141-20250512
compiler: clang-20
test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G
(please refer to attached dmesg/kmsg for entire log/backtrace)
+----------------------------------------------------------+------------+------------+
| | 7661dba205 | 54fc2b6358 |
+----------------------------------------------------------+------------+------------+
| WARNING:at_include/linux/fs.h:#file_has_valid_mmap_hooks | 0 | 12 |
| EIP:file_has_valid_mmap_hooks | 0 | 12 |
+----------------------------------------------------------+------------+------------+
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <oliver.sang@intel.com>
| Closes: https://lore.kernel.org/oe-lkp/202505141434.96ce5e5d-lkp@intel.com
[ 81.501132][ T3731] ------------[ cut here ]------------
[ 81.502015][ T3731] WARNING: CPU: 0 PID: 3731 at include/linux/fs.h:2251 file_has_valid_mmap_hooks (kbuild/obj/consumer/i386-randconfig-141-20250512/include/linux/fs.h:2251 (discriminator 14))
[ 81.503344][ T3731] Modules linked in:
[ 81.503951][ T3731] CPU: 0 UID: 65534 PID: 3731 Comm: trinity-c1 Not tainted 6.15.0-rc5-00294-g54fc2b635859 #1 PREEMPT(lazy)
[ 81.505454][ T3731] EIP: file_has_valid_mmap_hooks (kbuild/obj/consumer/i386-randconfig-141-20250512/include/linux/fs.h:2251 (discriminator 14))
[ 81.506235][ T3731] Code: 8b 48 30 8b 90 84 00 00 00 85 c9 0f 95 c0 85 d2 0f 95 c4 20 c4 80 fc 01 74 0c b0 01 09 d1 74 0a 5d 31 c9 31 d2 c3 0f 0b eb 02 <0f> 0b 31 c0 eb f0 90 90 90 90 90 90 90 90 90 90 3e 8d 74 26 00 55
All code
========
0: 8b 48 30 mov 0x30(%rax),%ecx
3: 8b 90 84 00 00 00 mov 0x84(%rax),%edx
9: 85 c9 test %ecx,%ecx
b: 0f 95 c0 setne %al
e: 85 d2 test %edx,%edx
10: 0f 95 c4 setne %ah
13: 20 c4 and %al,%ah
15: 80 fc 01 cmp $0x1,%ah
18: 74 0c je 0x26
1a: b0 01 mov $0x1,%al
1c: 09 d1 or %edx,%ecx
1e: 74 0a je 0x2a
20: 5d pop %rbp
21: 31 c9 xor %ecx,%ecx
23: 31 d2 xor %edx,%edx
25: c3 ret
26: 0f 0b ud2
28: eb 02 jmp 0x2c
2a:* 0f 0b ud2 <-- trapping instruction
2c: 31 c0 xor %eax,%eax
2e: eb f0 jmp 0x20
30: 90 nop
31: 90 nop
32: 90 nop
33: 90 nop
34: 90 nop
35: 90 nop
36: 90 nop
37: 90 nop
38: 90 nop
39: 90 nop
3a: 3e 8d 74 26 00 ds lea 0x0(%rsi,%riz,1),%esi
3f: 55 push %rbp
Code starting with the faulting instruction
===========================================
0: 0f 0b ud2
2: 31 c0 xor %eax,%eax
4: eb f0 jmp 0xfffffffffffffff6
6: 90 nop
7: 90 nop
8: 90 nop
9: 90 nop
a: 90 nop
b: 90 nop
c: 90 nop
d: 90 nop
e: 90 nop
f: 90 nop
10: 3e 8d 74 26 00 ds lea 0x0(%rsi,%riz,1),%esi
15: 55 push %rbp
[ 81.508815][ T3731] EAX: d1880001 EBX: fffffff3 ECX: 00000000 EDX: 00000000
[ 81.509606][ T3731] ESI: ebd21c00 EDI: 00000001 EBP: ee6fbebc ESP: ee6fbebc
[ 81.510420][ T3731] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 EFLAGS: 00010246
[ 81.511506][ T3731] CR0: 80050033 CR2: 042df000 CR3: 2e7c0000 CR4: 00040690
[ 81.512398][ T3731] Call Trace:
[ 81.512840][ T3731] do_mmap (kbuild/obj/consumer/i386-randconfig-141-20250512/mm/mmap.c:?)
[ 81.513390][ T3731] vm_mmap_pgoff (kbuild/obj/consumer/i386-randconfig-141-20250512/mm/util.c:579)
[ 81.513966][ T3731] __ia32_sys_mmap_pgoff (kbuild/obj/consumer/i386-randconfig-141-20250512/mm/mmap.c:607 (discriminator 256))
[ 81.514625][ T3731] ia32_sys_call (kbuild/obj/consumer/i386-randconfig-141-20250512/./arch/x86/include/generated/asm/syscalls_32.h:318 (discriminator 201523200))
[ 81.515267][ T3731] __do_fast_syscall_32 (kbuild/obj/consumer/i386-randconfig-141-20250512/arch/x86/entry/syscall_32.c:?)
[ 81.515980][ T3731] do_fast_syscall_32 (kbuild/obj/consumer/i386-randconfig-141-20250512/arch/x86/entry/syscall_32.c:331)
[ 81.516686][ T3731] do_SYSENTER_32 (kbuild/obj/consumer/i386-randconfig-141-20250512/arch/x86/entry/syscall_32.c:369)
[ 81.517325][ T3731] entry_SYSENTER_32 (kbuild/obj/consumer/i386-randconfig-141-20250512/arch/x86/entry/entry_32.S:836)
[ 81.517972][ T3731] EIP: 0xb7f71539
[ 81.518452][ T3731] Code: 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 90 90 90 58 b8 77 00 00 00 cd 80 90 90 90
All code
========
0: 03 74 b4 01 add 0x1(%rsp,%rsi,4),%esi
4: 10 07 adc %al,(%rdi)
6: 03 74 b0 01 add 0x1(%rax,%rsi,4),%esi
a: 10 08 adc %cl,(%rax)
c: 03 74 d8 01 add 0x1(%rax,%rbx,8),%esi
...
20: 00 51 52 add %dl,0x52(%rcx)
23:* 55 push %rbp <-- trapping instruction
24: 89 e5 mov %esp,%ebp
26: 0f 34 sysenter
28: cd 80 int $0x80
2a: 5d pop %rbp
2b: 5a pop %rdx
2c: 59 pop %rcx
2d: c3 ret
2e: 90 nop
2f: 90 nop
30: 90 nop
31: 90 nop
32: 90 nop
33: 90 nop
34: 90 nop
35: 58 pop %rax
36: b8 77 00 00 00 mov $0x77,%eax
3b: cd 80 int $0x80
3d: 90 nop
3e: 90 nop
3f: 90 nop
Code starting with the faulting instruction
===========================================
0: 5d pop %rbp
1: 5a pop %rdx
2: 59 pop %rcx
3: c3 ret
4: 90 nop
5: 90 nop
6: 90 nop
7: 90 nop
8: 90 nop
9: 90 nop
a: 90 nop
b: 58 pop %rax
c: b8 77 00 00 00 mov $0x77,%eax
11: cd 80 int $0x80
13: 90 nop
14: 90 nop
15: 90 nop
The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20250514/202505141434.96ce5e5d-lkp@intel.com
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [linux-next:master] [mm] 54fc2b6358: WARNING:at_include/linux/fs.h:#file_has_valid_mmap_hooks
2025-05-14 7:38 [linux-next:master] [mm] 54fc2b6358: WARNING:at_include/linux/fs.h:#file_has_valid_mmap_hooks kernel test robot
@ 2025-05-14 8:21 ` Lorenzo Stoakes
0 siblings, 0 replies; 2+ messages in thread
From: Lorenzo Stoakes @ 2025-05-14 8:21 UTC (permalink / raw)
To: kernel test robot
Cc: oe-lkp, lkp, Andrew Morton, Al Viro, Christian Brauner,
David Hildenbrand, Jan Kara, Jann Horn, Liam Howlett,
Matthew Wilcox, Michal Hocko, Mike Rapoport, Suren Baghdasaryan,
Vlastimil Babka, linux-fsdevel, linux-mm
On Wed, May 14, 2025 at 03:38:57PM +0800, kernel test robot wrote:
>
>
> Hello,
>
> kernel test robot noticed "WARNING:at_include/linux/fs.h:#file_has_valid_mmap_hooks" on:
>
> commit: 54fc2b63585940cce17810a9ef5d273087b0939e ("mm: introduce new .mmap_prepare() file callback")
> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
>
> [test failed on linux-next/master edef457004774e598fc4c1b7d1d4f0bcd9d0bb30]
>
> in testcase: trinity
> version: trinity-i386-abe9de86-1_20230429
> with following parameters:
>
> runtime: 300s
> group: group-00
> nr_groups: 5
>
>
Thanks for the report.
>
> config: i386-randconfig-141-20250512
> compiler: clang-20
> test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G
>
> (please refer to attached dmesg/kmsg for entire log/backtrace)
>
>
> +----------------------------------------------------------+------------+------------+
> | | 7661dba205 | 54fc2b6358 |
> +----------------------------------------------------------+------------+------------+
> | WARNING:at_include/linux/fs.h:#file_has_valid_mmap_hooks | 0 | 12 |
> | EIP:file_has_valid_mmap_hooks | 0 | 12 |
> +----------------------------------------------------------+------------+------------+
>
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <oliver.sang@intel.com>
> | Closes: https://lore.kernel.org/oe-lkp/202505141434.96ce5e5d-lkp@intel.com
>
>
> [ 81.501132][ T3731] ------------[ cut here ]------------
> [ 81.502015][ T3731] WARNING: CPU: 0 PID: 3731 at include/linux/fs.h:2251 file_has_valid_mmap_hooks (kbuild/obj/consumer/i386-randconfig-141-20250512/include/linux/fs.h:2251 (discriminator 14))
This is:
static inline bool file_has_valid_mmap_hooks(struct file *file)
{
...
if (WARN_ON_ONCE(!has_mmap && !has_mmap_prepare)) <--- here
return false;
return true;
}
Called from:
if (!file_has_valid_mmap_hooks(file))
return -ENODEV;
So I think probably we should make this NOT a warning, as it seems (it
turns out...) there are legitimate scenarios where this is not specified,
or perhaps a test is explicitly relying on this.
Previously this code was:
if (!file->f_op->mmap)
return -ENODEV;
With no warning... so this would get things in line with what was
previously the case.
I will send a patch.
Cheers, Lorenzo
> [ 81.503344][ T3731] Modules linked in:
> [ 81.503951][ T3731] CPU: 0 UID: 65534 PID: 3731 Comm: trinity-c1 Not tainted 6.15.0-rc5-00294-g54fc2b635859 #1 PREEMPT(lazy)
> [ 81.505454][ T3731] EIP: file_has_valid_mmap_hooks (kbuild/obj/consumer/i386-randconfig-141-20250512/include/linux/fs.h:2251 (discriminator 14))
> [ 81.506235][ T3731] Code: 8b 48 30 8b 90 84 00 00 00 85 c9 0f 95 c0 85 d2 0f 95 c4 20 c4 80 fc 01 74 0c b0 01 09 d1 74 0a 5d 31 c9 31 d2 c3 0f 0b eb 02 <0f> 0b 31 c0 eb f0 90 90 90 90 90 90 90 90 90 90 3e 8d 74 26 00 55
> All code
> ========
> 0: 8b 48 30 mov 0x30(%rax),%ecx
> 3: 8b 90 84 00 00 00 mov 0x84(%rax),%edx
> 9: 85 c9 test %ecx,%ecx
> b: 0f 95 c0 setne %al
> e: 85 d2 test %edx,%edx
> 10: 0f 95 c4 setne %ah
> 13: 20 c4 and %al,%ah
> 15: 80 fc 01 cmp $0x1,%ah
> 18: 74 0c je 0x26
> 1a: b0 01 mov $0x1,%al
> 1c: 09 d1 or %edx,%ecx
> 1e: 74 0a je 0x2a
> 20: 5d pop %rbp
> 21: 31 c9 xor %ecx,%ecx
> 23: 31 d2 xor %edx,%edx
> 25: c3 ret
> 26: 0f 0b ud2
> 28: eb 02 jmp 0x2c
> 2a:* 0f 0b ud2 <-- trapping instruction
> 2c: 31 c0 xor %eax,%eax
> 2e: eb f0 jmp 0x20
> 30: 90 nop
> 31: 90 nop
> 32: 90 nop
> 33: 90 nop
> 34: 90 nop
> 35: 90 nop
> 36: 90 nop
> 37: 90 nop
> 38: 90 nop
> 39: 90 nop
> 3a: 3e 8d 74 26 00 ds lea 0x0(%rsi,%riz,1),%esi
> 3f: 55 push %rbp
>
> Code starting with the faulting instruction
> ===========================================
> 0: 0f 0b ud2
> 2: 31 c0 xor %eax,%eax
> 4: eb f0 jmp 0xfffffffffffffff6
> 6: 90 nop
> 7: 90 nop
> 8: 90 nop
> 9: 90 nop
> a: 90 nop
> b: 90 nop
> c: 90 nop
> d: 90 nop
> e: 90 nop
> f: 90 nop
> 10: 3e 8d 74 26 00 ds lea 0x0(%rsi,%riz,1),%esi
> 15: 55 push %rbp
> [ 81.508815][ T3731] EAX: d1880001 EBX: fffffff3 ECX: 00000000 EDX: 00000000
> [ 81.509606][ T3731] ESI: ebd21c00 EDI: 00000001 EBP: ee6fbebc ESP: ee6fbebc
> [ 81.510420][ T3731] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 EFLAGS: 00010246
> [ 81.511506][ T3731] CR0: 80050033 CR2: 042df000 CR3: 2e7c0000 CR4: 00040690
> [ 81.512398][ T3731] Call Trace:
> [ 81.512840][ T3731] do_mmap (kbuild/obj/consumer/i386-randconfig-141-20250512/mm/mmap.c:?)
> [ 81.513390][ T3731] vm_mmap_pgoff (kbuild/obj/consumer/i386-randconfig-141-20250512/mm/util.c:579)
> [ 81.513966][ T3731] __ia32_sys_mmap_pgoff (kbuild/obj/consumer/i386-randconfig-141-20250512/mm/mmap.c:607 (discriminator 256))
> [ 81.514625][ T3731] ia32_sys_call (kbuild/obj/consumer/i386-randconfig-141-20250512/./arch/x86/include/generated/asm/syscalls_32.h:318 (discriminator 201523200))
> [ 81.515267][ T3731] __do_fast_syscall_32 (kbuild/obj/consumer/i386-randconfig-141-20250512/arch/x86/entry/syscall_32.c:?)
> [ 81.515980][ T3731] do_fast_syscall_32 (kbuild/obj/consumer/i386-randconfig-141-20250512/arch/x86/entry/syscall_32.c:331)
> [ 81.516686][ T3731] do_SYSENTER_32 (kbuild/obj/consumer/i386-randconfig-141-20250512/arch/x86/entry/syscall_32.c:369)
> [ 81.517325][ T3731] entry_SYSENTER_32 (kbuild/obj/consumer/i386-randconfig-141-20250512/arch/x86/entry/entry_32.S:836)
> [ 81.517972][ T3731] EIP: 0xb7f71539
> [ 81.518452][ T3731] Code: 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 90 90 90 58 b8 77 00 00 00 cd 80 90 90 90
> All code
> ========
> 0: 03 74 b4 01 add 0x1(%rsp,%rsi,4),%esi
> 4: 10 07 adc %al,(%rdi)
> 6: 03 74 b0 01 add 0x1(%rax,%rsi,4),%esi
> a: 10 08 adc %cl,(%rax)
> c: 03 74 d8 01 add 0x1(%rax,%rbx,8),%esi
> ...
> 20: 00 51 52 add %dl,0x52(%rcx)
> 23:* 55 push %rbp <-- trapping instruction
> 24: 89 e5 mov %esp,%ebp
> 26: 0f 34 sysenter
> 28: cd 80 int $0x80
> 2a: 5d pop %rbp
> 2b: 5a pop %rdx
> 2c: 59 pop %rcx
> 2d: c3 ret
> 2e: 90 nop
> 2f: 90 nop
> 30: 90 nop
> 31: 90 nop
> 32: 90 nop
> 33: 90 nop
> 34: 90 nop
> 35: 58 pop %rax
> 36: b8 77 00 00 00 mov $0x77,%eax
> 3b: cd 80 int $0x80
> 3d: 90 nop
> 3e: 90 nop
> 3f: 90 nop
>
> Code starting with the faulting instruction
> ===========================================
> 0: 5d pop %rbp
> 1: 5a pop %rdx
> 2: 59 pop %rcx
> 3: c3 ret
> 4: 90 nop
> 5: 90 nop
> 6: 90 nop
> 7: 90 nop
> 8: 90 nop
> 9: 90 nop
> a: 90 nop
> b: 58 pop %rax
> c: b8 77 00 00 00 mov $0x77,%eax
> 11: cd 80 int $0x80
> 13: 90 nop
> 14: 90 nop
> 15: 90 nop
>
>
> The kernel config and materials to reproduce are available at:
> https://download.01.org/0day-ci/archive/20250514/202505141434.96ce5e5d-lkp@intel.com
>
>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-05-14 8:22 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-14 7:38 [linux-next:master] [mm] 54fc2b6358: WARNING:at_include/linux/fs.h:#file_has_valid_mmap_hooks kernel test robot
2025-05-14 8:21 ` Lorenzo Stoakes
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).