From: Rikard Falkeborn <rikard.falkeborn@gmail.com>
To: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Cc: akpm@linux-foundation.org, joe@perches.com,
johannes@sipsolutions.net, linux-kernel@vger.kernel.org,
yamada.masahiro@socionext.com,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Kees Cook <keescook@chromium.org>,
x86@kernel.org
Subject: Re: [PATCH v3 0/3] Add compile time sanity check of GENMASK inputs
Date: Sat, 5 Oct 2019 21:46:27 +0200 [thread overview]
Message-ID: <20191005194627.GA1817543@rikard> (raw)
In-Reply-To: <20190811184938.1796-1-rikard.falkeborn@gmail.com>
On Sun, Aug 11, 2019 at 08:49:35PM +0200, Rikard Falkeborn wrote:
> Hello,
>
> A new attempt to try to add build time validity checks of GENMASK (and
> GENMASK_ULL) inputs. There main differences from v2:
>
> Remove a define of BUILD_BUG_ON in x86/boot to avoid a compiler warning
> about redefining BUILD_BUG_ON. Instead, use the common one from
> include/.
>
> Drop patch 2 in v2 where GENMASK arguments where made more verbose.
>
> Add a cast in the BUILD_BUG_ON_ZERO macro change the type to int to
> avoid the somewhat clumpsy casts of BUILD_BUG_ON_ZERO. The second patch
> in this series adds such a cast to BUILD_BUG_ON_ZERO, which makes it
> possible to avoid casts when using BUILD_BUG_ON_ZERO in patch 3.
>
> I have checked all users of BUILD_BUG_ON_ZERO and I did not find a case
> where adding a cast to int would affect existing users but I'd feel much
> more comfortable if someone else double (or tripple) checked (there are
> ~80 instances plus ~10 copies in tools). Perhaps I should have CC:d
> maintainers of files using BUILD_BUG_ON_ZERO?
>
> Finally, use __builtin_constant_p instead of __is_constexpr. This avoids
> pulling in kernel.h in bits.h.
>
> Joe Perches sent a patch series to fix existing misuses, currently there
> are five such misuses (which patches pending) left in Linus tree and two
> (with patches pending) in linux-next. Those patches should fix all
> "simple" misuses of GENMASK (cases where the arguments are numerical
> constants). Pushing v2 to linux-next also revealed an arm-specific
> misuse where GENMASK was used in another macro (and also broke the
> arm-builds). There is a patch to fix that by Nathan Chancellor (not in
> linux-next yet). Those patches should be merged before the last patch of
> this series to avoid breaking builds.
>
Ping.
The current status is that patch 1 has been merged into Linus tree
through the x86 tree. The patches mentioned about actually fixing the
existing misuses have all been merged except two of Joe Perches patches
[0], [1], but those patches fixes misuse in unused macros, and will not
affect anyones build.
I have testbuilt the two remaining patches rebased on top of Linus tree
and on linux-next for aarch64 and x86 without seeing any problems (when
v2 of the series went into linux-next, those were the only archs where
any problems were spotted (build warning on x86, build error on
aarch64)).
[0] https://lore.kernel.org/lkml/cddd7ad7e9f81dec1e86c106f04229d21fc21920.1562734889.git.joe@perches.com/
[1] https://lore.kernel.org/lkml/d149d2851f9aa2425c927cb8e311e20c4b83e186.1562734889.git.joe@perches.com/
Rikard
next prev parent reply other threads:[~2019-10-05 19:46 UTC|newest]
Thread overview: 109+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20190710050444epcas1p250f7aa0f8798a7757df51d66f5970c2a@epcas1p2.samsung.com>
2019-07-10 5:04 ` [PATCH 00/12] treewide: Fix GENMASK misuses Joe Perches
2019-07-10 5:04 ` [PATCH 01/12] checkpatch: Add GENMASK tests Joe Perches
2019-07-24 18:03 ` Joe Perches
2019-07-10 5:04 ` [PATCH 02/12] clocksource/drivers/npcm: Fix misuse of GENMASK macro Joe Perches
2019-07-10 9:10 ` [tip:timers/urgent] " tip-bot for Joe Perches
2019-07-15 10:00 ` [PATCH 02/12] " Avi Fishman
2019-07-10 5:04 ` [PATCH 03/12] drm: aspeed_gfx: " Joe Perches
2019-07-24 17:16 ` Joe Perches
2019-07-25 1:10 ` Andrew Jeffery
2019-07-25 1:18 ` Joe Perches
2019-07-25 2:52 ` Joel Stanley
2019-07-25 14:37 ` Joe Perches
2019-07-10 5:04 ` [PATCH 04/12] iio: adc: max9611: " Joe Perches
2019-07-14 11:54 ` Jonathan Cameron
2019-07-14 12:19 ` Joe Perches
2019-07-14 14:37 ` Jacopo Mondi
2019-07-29 21:52 ` Jacopo Mondi
2019-07-31 8:37 ` Jonathan Cameron
2019-07-10 5:04 ` [PATCH 05/12] irqchip/gic-v3-its: " Joe Perches
2019-07-10 8:28 ` Marc Zyngier
2019-07-10 9:07 ` [tip:irq/urgent] " tip-bot for Joe Perches
2019-07-10 5:04 ` [PATCH 06/12] mmc: meson-mx-sdio: " Joe Perches
2019-07-22 7:23 ` Neil Armstrong
2019-07-22 13:43 ` Ulf Hansson
2019-07-10 5:04 ` [PATCH 07/12] net: ethernet: mediatek: Fix misuses " Joe Perches
2019-07-10 5:04 ` [PATCH 08/12] net: stmmac: " Joe Perches
2019-07-10 10:33 ` Jose Abreu
2019-07-10 5:04 ` [PATCH 09/12] rtw88: Fix misuse " Joe Perches
2019-07-10 5:07 ` Tony Chuang
2019-07-24 11:48 ` Kalle Valo
2019-07-10 5:04 ` [PATCH 10/12] phy: amlogic: G12A: " Joe Perches
2019-07-22 7:23 ` Neil Armstrong
2019-08-23 2:41 ` Kishon Vijay Abraham I
2019-08-23 4:59 ` Joe Perches
2019-07-10 5:04 ` [PATCH 11/12] staging: media: cedrus: " Joe Perches
2019-07-10 7:23 ` Paul Kocialkowski
2019-07-24 17:09 ` Joe Perches
2019-07-24 18:35 ` Greg Kroah-Hartman
2019-07-24 18:39 ` Joe Perches
2019-07-24 18:55 ` Greg Kroah-Hartman
2019-07-25 6:46 ` Hans Verkuil
2019-07-10 5:04 ` [PATCH 12/12] ASoC: wcd9335: " Joe Perches
2019-07-22 12:22 ` Applied "ASoC: wcd9335: Fix misuse of GENMASK macro" to the asoc tree Mark Brown
2019-07-10 9:17 ` [PATCH 00/12] treewide: Fix GENMASK misuses Johannes Berg
2019-07-10 9:43 ` Russell King - ARM Linux admin
2019-07-10 15:45 ` Joe Perches
2019-07-10 16:01 ` Joe Perches
2019-07-27 19:54 ` Rikard Falkeborn
2019-07-28 23:45 ` Joe Perches
2019-07-31 19:03 ` [PATCH] linux/bits.h: Add compile time sanity check of GENMASK inputs Rikard Falkeborn
2019-07-31 19:27 ` Joe Perches
2019-08-01 23:03 ` Rikard Falkeborn
2019-08-02 1:40 ` Masahiro Yamada
2019-08-02 3:13 ` Joe Perches
2019-08-02 3:25 ` Masahiro Yamada
2019-08-02 18:18 ` Rikard Falkeborn
2019-08-03 3:03 ` Masahiro Yamada
2019-08-03 3:12 ` Masahiro Yamada
2019-08-03 18:36 ` Rikard Falkeborn
2019-08-04 6:45 ` Masahiro Yamada
2019-08-05 19:55 ` Rikard Falkeborn
2019-08-06 15:19 ` Masahiro Yamada
2019-08-06 19:27 ` Rikard Falkeborn
2019-08-06 21:15 ` Joe Perches
2019-08-07 20:53 ` Rikard Falkeborn
2019-08-01 2:50 ` Masahiro Yamada
2019-08-01 2:57 ` Joe Perches
2019-08-01 23:03 ` Rikard Falkeborn
2019-08-01 23:03 ` [PATCH v2 1/2] linux/bits.h: Clarify macro argument names Rikard Falkeborn
2019-08-01 23:03 ` [PATCH v2 2/2] linux/bits.h: Add compile time sanity check of GENMASK inputs Rikard Falkeborn
2019-08-01 23:14 ` Joe Perches
2019-08-07 14:27 ` Guenter Roeck
2019-08-07 14:55 ` Masahiro Yamada
2019-08-07 16:52 ` Guenter Roeck
2019-08-07 20:07 ` Rikard Falkeborn
2019-08-08 0:07 ` Joe Perches
2019-08-08 0:58 ` Guenter Roeck
2019-08-08 1:08 ` Joe Perches
2019-08-08 1:53 ` Guenter Roeck
2019-08-08 2:44 ` kbuild test robot
2019-08-08 2:44 ` kbuild test robot
2019-08-08 3:46 ` [PATCH v2 1/2] linux/bits.h: Clarify macro argument names Masahiro Yamada
2019-08-10 18:43 ` Rikard Falkeborn
2019-08-10 19:20 ` Joe Perches
2019-08-11 18:49 ` [PATCH v3 0/3] Add compile time sanity check of GENMASK inputs Rikard Falkeborn
2019-08-11 18:49 ` [PATCH v3 1/3] x86/boot: Use common BUILD_BUG_ON Rikard Falkeborn
2019-08-12 18:19 ` [tip:x86/boot] " tip-bot for Rikard Falkeborn
2019-08-16 12:19 ` tip-bot for Rikard Falkeborn
2019-08-11 18:49 ` [PATCH v3 2/3] linux/build_bug.h: Change type to int Rikard Falkeborn
2019-10-06 2:26 ` Masahiro Yamada
2019-08-11 18:49 ` [PATCH v3 3/3] linux/bits.h: Add compile time sanity check of GENMASK inputs Rikard Falkeborn
2019-10-06 2:30 ` Masahiro Yamada
2019-10-08 7:23 ` Geert Uytterhoeven
2019-10-08 7:44 ` Masahiro Yamada
2019-10-08 7:52 ` Masahiro Yamada
2019-10-08 19:06 ` Rikard Falkeborn
2019-08-12 17:58 ` [PATCH v3 0/3] " Kees Cook
2019-10-05 19:46 ` Rikard Falkeborn [this message]
2019-10-09 21:45 ` [Patch v4 0/2] " Rikard Falkeborn
2019-10-09 21:45 ` [Patch v4 1/2] linux/build_bug.h: Change type to int Rikard Falkeborn
2019-10-09 21:45 ` [Patch v4 2/2] linux/bits.h: Add compile time sanity check of GENMASK inputs Rikard Falkeborn
2019-10-10 2:24 ` Masahiro Yamada
2019-10-12 2:27 ` Andrew Morton
2019-10-22 19:53 ` Rikard Falkeborn
2019-11-01 21:28 ` Rikard Falkeborn
2020-03-08 19:39 ` [PATCH v5] " Rikard Falkeborn
2020-03-09 16:40 ` Kees Cook
2019-07-11 21:30 ` [PATCH 00/12] treewide: Fix GENMASK misuses David Miller
2019-07-12 12:54 ` Andrzej Hajda
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191005194627.GA1817543@rikard \
--to=rikard.falkeborn@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=bp@alien8.de \
--cc=joe@perches.com \
--cc=johannes@sipsolutions.net \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
--cc=yamada.masahiro@socionext.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).