On Thu, Sep 05, 2024 at 08:16:01PM -0700, Josh Poimboeuf wrote: > On Wed, Sep 04, 2024 at 01:26:11PM +0300, Andy Shevchenko wrote: > > On Tue, Sep 03, 2024 at 09:52:01PM -0700, Josh Poimboeuf wrote: > > > I'm not sure I buy that, we should look closer to understand what the > > > issue is. Can you share the config and/or toolchain version(s) need to > > > trigger the warning? > > > > .config is from the original report [1], toolchain is > > Debian clang version 18.1.8 (9) > > Target: x86_64-pc-linux-gnu > > Thread model: posix > > InstalledDir: /usr/bin > > > > (Just whatever Debian unstable provides) > > > > [1]: https://lore.kernel.org/oe-kbuild-all/202408290219.BrPO8twi-lkp@xxxxxxxxx/ > > The warning is due to a (minor?) Clang bug, almost like it tried to > optimize but didn't quite finish. ... > In this case, mutex is an unconditional guard, so the constructor just > returns the original value of '&priv->vpc_mutex'. So if the original > '&priv->vpc_mutex' is never NULL, the condition would always be true. Thanks a lot for that Josh. I have a somewhat trivial reproducer for the clang folks to take a look at. I should have some time on Monday to get that reported upstream and I will see if I can find anyone to take a look at it. For what it is worth, I don't think the workaround for this is too bad and it seems like it only shows up with KCOV. Cheers, Nathan