[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20180110121632.GC12483@kroah.com>
Date: Wed, 10 Jan 2018 13:16:33 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: Daniel Wagner <daniel.wagner@...mens.com>
Cc: stable@...r.kernel.org, linux-kernel@...r.kernel.org,
Andrey Ryabinin <aryabinin@...tuozzo.com>,
Johannes Berg <johannes@...solutions.net>,
"David S. Miller" <davem@...emloft.net>,
Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [PATCH 4.4] net/mac80211/debugfs.c: prevent build failure with
CONFIG_UBSAN=y
On Tue, Jan 09, 2018 at 12:53:27PM +0100, Daniel Wagner wrote:
> From: Andrey Ryabinin <aryabinin@...tuozzo.com>
>
> commit 68920c973254c5b71a684645c5f6f82d6732c5d6 upstream.
>
> With upcoming CONFIG_UBSAN the following BUILD_BUG_ON in
> net/mac80211/debugfs.c starts to trigger:
>
> BUILD_BUG_ON(hw_flag_names[NUM_IEEE80211_HW_FLAGS] != (void *)0x1);
>
> It seems, that compiler instrumentation causes some code
> deoptimizations. Because of that GCC is not being able to resolve
> condition in BUILD_BUG_ON() at compile time.
>
> We could make size of hw_flag_names array unspecified and replace the
> condition in BUILD_BUG_ON() with following:
>
> ARRAY_SIZE(hw_flag_names) != NUM_IEEE80211_HW_FLAGS
>
> That will have the same effect as before (adding new flag without
> updating array will trigger build failure) except it doesn't fail with
> CONFIG_UBSAN. As a bonus this patch slightly decreases size of
> hw_flag_names array.
>
> Signed-off-by: Andrey Ryabinin <aryabinin@...tuozzo.com>
> Cc: Johannes Berg <johannes@...solutions.net>
> Cc: "David S. Miller" <davem@...emloft.net>
> Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
> Signed-off-by: Linus Torvalds <torvalds@...ux-foundation.org>
> [Daniel: backport to 4.4.]
> Signed-off-by: Daniel Wagner <daniel.wagner@...mens.com>
> ---
>
> Hi,
>
> The only stable tree which is missing this fix is 4.4. 4.1 doesn't
> have 30686bf7f5b3 ("mac80211: convert HW flags to unsigned long
> bitmap") which makes gcc unhappy with allmodconfig. 4.9 contains the
> fix.
Now queued up, thanks for the backport.
greg k-h
Powered by blists - more mailing lists