Re: linux-next: Tree for Dec 6 (objtool, lots in btrfs)

From: David Sterba
Date: Wed Dec 11 2019 - 08:49:32 EST


On Fri, Dec 06, 2019 at 08:17:30AM -0800, Randy Dunlap wrote:
> On 12/5/19 6:54 PM, Stephen Rothwell wrote:
> > Hi all,
> >
> > Please do not add any material for v5.6 to your linux-next included
> > trees until after v5.5-rc1 has been released.
> >
> > Changes since 20191204:
> >
>
> on x86_64:
>
> fs/btrfs/ctree.o: warning: objtool: btrfs_search_slot()+0x2d4: unreachable instruction

Can somebody enlighten me what is one supposed to do to address the
warnings? Function names reported in the list contain our ASSERT macro
that conditionally calls BUG() that I believe is what could cause the
unreachable instructions but I don't see how.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/btrfs/ctree.h#n3113

__cold
static inline void assfail(const char *expr, const char *file, int line)
{
if (IS_ENABLED(CONFIG_BTRFS_ASSERT)) {
pr_err("assertion failed: %s, in %s:%d\n", expr, file, line);
BUG();
}
}

#define ASSERT(expr) \
(likely(expr) ? (void)0 : assfail(#expr, __FILE__, __LINE__))