2024-02-25 21:26:01

by kernel test robot

[permalink] [raw]
Subject: fs/overlayfs/copy_up.o: warning: objtool: ovl_copy_up_tmpfile() falls through to next function ovl_create_index.cold()

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 70ff1fe626a166dcaadb5a81bfe75e22c91f5dbf
commit: 5b02bfc1e7e3811c5bf7f0fa626a0694d0dbbd77 ovl: do not encode lower fh with upper sb_writers held
date: 4 months ago
config: x86_64-buildonly-randconfig-r001-20230616 (https://download.01.org/0day-ci/archive/20240226/[email protected]/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240226/[email protected]/reproduce)

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 <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

>> fs/overlayfs/copy_up.o: warning: objtool: ovl_copy_up_tmpfile() falls through to next function ovl_create_index.cold()

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


2024-02-27 13:57:14

by Amir Goldstein

[permalink] [raw]
Subject: Re: fs/overlayfs/copy_up.o: warning: objtool: ovl_copy_up_tmpfile() falls through to next function ovl_create_index.cold()

On Sun, Feb 25, 2024 at 11:25 PM kernel test robot <[email protected]> wrote:
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 70ff1fe626a166dcaadb5a81bfe75e22c91f5dbf
> commit: 5b02bfc1e7e3811c5bf7f0fa626a0694d0dbbd77 ovl: do not encode lower fh with upper sb_writers held
> date: 4 months ago
> config: x86_64-buildonly-randconfig-r001-20230616 (https://download.01.org/0day-ci/archive/20240226/[email protected]/config)
> compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240226/[email protected]/reproduce)
>
> 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 <[email protected]>
> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
>
> All warnings (new ones prefixed by >>):
>
> >> fs/overlayfs/copy_up.o: warning: objtool: ovl_copy_up_tmpfile() falls through to next function ovl_create_index.cold()
>

I have no idea what this is about.
Does not seem related to the regressing commit.
This:
https://lore.kernel.org/lkml/caa4ec6c687931db805e692d4e4bf06cd87d33e6.1460729697.git.jpoimboe@redhat.com/
suggest that it might be a compiler bug?

Thanks,
Amir.

2024-03-12 07:56:30

by Yujie Liu

[permalink] [raw]
Subject: Re: fs/overlayfs/copy_up.o: warning: objtool: ovl_copy_up_tmpfile() falls through to next function ovl_create_index.cold()

Hi Amir,

On Tue, Feb 27, 2024 at 03:56:53PM +0200, Amir Goldstein wrote:
> On Sun, Feb 25, 2024 at 11:25 PM kernel test robot <[email protected]> wrote:
> >
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head: 70ff1fe626a166dcaadb5a81bfe75e22c91f5dbf
> > commit: 5b02bfc1e7e3811c5bf7f0fa626a0694d0dbbd77 ovl: do not encode lower fh with upper sb_writers held
> > date: 4 months ago
> > config: x86_64-buildonly-randconfig-r001-20230616 (https://download.01.org/0day-ci/archive/20240226/[email protected]/config)
> > compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240226/[email protected]/reproduce)
> >
> > 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 <[email protected]>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/
> >
> > All warnings (new ones prefixed by >>):
> >
> > >> fs/overlayfs/copy_up.o: warning: objtool: ovl_copy_up_tmpfile() falls through to next function ovl_create_index.cold()
> >
>
> I have no idea what this is about.
> Does not seem related to the regressing commit.
> This:
> https://lore.kernel.org/lkml/caa4ec6c687931db805e692d4e4bf06cd87d33e6.1460729697.git.jpoimboe@redhat.com/
> suggest that it might be a compiler bug?

Sorry for our late reply. We rechecked this case and found that this can
only be reproduced by a specific version of gcc. gcc-12.2.0 can
reproduce it while gcc-11.3.0 and gcc-13.2.0 cannot. This may indeed be
a flaw in gcc-12. Attached part of the disassembly of the object file
built by gcc-12. We will configure the bot to ignore this warning to
avoid false positives.

Disassembly of section .text.unlikely:
..

00000000000000e6 <ovl_copy_up_metadata.cold>:
..
155: e8 00 00 00 00 call 15a <ovl_copy_up_metadata.cold+0x74>
15a: 80 fb 01 cmp $0x1,%bl
15d: 0f 86 00 00 00 00 jbe 163 <ovl_copy_up_metadata.cold+0x7d>
163: e8 00 00 00 00 call 168 <ovl_copy_up_metadata.cold+0x82>
168: 0f b6 f3 movzbl %bl,%esi
16b: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
172: e8 00 00 00 00 call 177 <ovl_copy_up_metadata.cold+0x91>
177: e9 00 00 00 00 jmp 17c <ovl_copy_up_tmpfile.cold>

000000000000017c <ovl_copy_up_tmpfile.cold>:
17c: e8 00 00 00 00 call 181 <ovl_create_index.cold> <--

0000000000000181 <ovl_create_index.cold>:
181: e8 00 00 00 00 call 186 <ovl_create_index.cold+0x5>
186: 0f b6 f3 movzbl %bl,%esi
189: 48 c7 c7 00 00 00 00 mov $0x0,%rdi
190: e8 00 00 00 00 call 195 <ovl_create_index.cold+0x14>
195: e9 00 00 00 00 jmp 19a <ovl_copy_up_workdir.cold>


Best Regards,
Yujie