From: Vineet Gupta <vineet.gupta@linux.dev>
To: "Thomas Gleixner" <tglx@kernel.org>,
"Ingo Molnar" <mingo@redhat.com>,
"Borislav Petkov" <bp@alien8.de>,
"Dave Hansen" <dave.hansen@linux.intel.com>,
x86@kernel.org, "Peter Zijlstra" <peterz@infradead.org>,
"Juri Lelli" <juri.lelli@redhat.com>,
"Vincent Guittot" <vincent.guittot@linaro.org>,
"Joerg Roedel (AMD)" <joro@8bytes.org>,
"Will Deacon" <will@kernel.org>,
"Jani Nikula" <jani.nikula@linux.intel.com>,
"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
"Tvrtko Ursulin" <tursulin@ursulin.net>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Matthew Brost" <matthew.brost@intel.com>,
"Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Vineet Gupta <vineet.gupta@linux.dev>,
"H. Peter Anvin" <hpa@zytor.com>,
"Xin Li (Intel)" <xin@zytor.com>, Brian Gerst <brgerst@gmail.com>,
Nikolay Borisov <nik.borisov@suse.com>,
linux-kernel@vger.kernel.org,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Steven Rostedt <rostedt@goodmis.org>,
Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
Valentin Schneider <vschneid@redhat.com>,
K Prateek Nayak <kprateek.nayak@amd.com>,
Robin Murphy <robin.murphy@arm.com>,
iommu@lists.linux.dev, Nathan Chancellor <nathan@kernel.org>,
Nick Desaulniers <ndesaulniers@google.com>,
Bill Wendling <morbo@google.com>,
Justin Stitt <justinstitt@google.com>,
intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
intel-xe@lists.freedesktop.org, llvm@lists.linux.dev
Subject: [PATCH 0/4] Fix the x86 defconfig build with GCC 17
Date: Wed, 4 Nov 2026 08:07:17 -0800 [thread overview]
Message-ID: <20261104160722.1637541-1-vineet.gupta@linux.dev> (raw)
Fix build warnings and failures (CONFIG_WERROR=y) with a GCC 17 build.
GCC 17 adds -Wconstant-logical-operand which is strict about operands
of && or || that fold to a constant other than 0 or 1.
In the past similar fixes have been done for clang, e.g.
93f56de25937 2017-04-06 mac80211: Fix clang warning about constant operand in logical operation [v4.12-rc1]
...
dd7fe5d9fd6a 2024-01-17 rtc: max31335: Fix comparison in max31335_volatile_reg() [v6.8-rc1]
The reason this trips only with gcc is that clang's toggle is more
permissive:
- it checks RHS only, not constant LHS.
- Macros are not checked.
Fix is to effectively make a macro or condition return 0 or 1.
The patches are split up per subsystem and can go independently via
respective trees:
1/4 x86/cpufeatures: the awk-generated *_MASK_BIT_SET() returns 0 or 1.
2/4 wait: ___wait_is_interruptible() with a constant state.
3/4 iommupt: PT_SUPPORTED_FEATURE() in the fvalog2_*() helpers.
4/4 drm/i915: IS_POWER_OF_2() in reg_bits.h, and two Kconfig timeouts.
Tested on x86 defconfig with CONFIG_WERROR=y, at each patch:
- GCC 17 trunk (20261103): each patch removes only its own errors. The
build has no warnings after 4/4.
- GCC 16.1: the build has no warnings. The .text of each object file
does not change. The only differences come from the build timestamp
and the release string.
Vineet Gupta (4):
x86/cpufeatures: Make {REQUIRED,DISABLED}_MASK_BIT_SET() return 0 or 1
wait: Make ___wait_is_interruptible() return 0 or 1
iommupt: Make PT_SUPPORTED_FEATURE() return 0 or 1
drm/i915: Avoid -Wconstant-logical-operand with GCC 17
arch/x86/tools/cpufeaturemasks.awk | 4 ++--
drivers/gpu/drm/i915/gem/i915_gem_context.c | 2 +-
drivers/gpu/drm/i915/i915_config.c | 2 +-
drivers/iommu/generic_pt/pt_defs.h | 2 +-
include/drm/intel/reg_bits.h | 2 +-
include/linux/wait.h | 2 +-
6 files changed, 7 insertions(+), 7 deletions(-)
--
2.53.0-Meta
next reply other threads:[~2026-11-04 16:07 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-04 16:07 Vineet Gupta [this message]
2026-11-04 16:07 ` [PATCH 3/4] iommupt: Make PT_SUPPORTED_FEATURE() return 0 or 1 Vineet Gupta
2026-11-04 16:07 ` [PATCH 4/4] drm/i915: Avoid -Wconstant-logical-operand with GCC 17 Vineet Gupta
2026-11-04 16:27 ` [PATCH 0/4] Fix the x86 defconfig build " Borislav Petkov
2026-11-04 18:05 ` Vineet Gupta
2026-11-04 21:18 ` Borislav Petkov
2026-11-05 9:04 ` Peter Zijlstra
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=20261104160722.1637541-1-vineet.gupta@linux.dev \
--to=vineet.gupta@linux.dev \
--cc=airlied@gmail.com \
--cc=bp@alien8.de \
--cc=brgerst@gmail.com \
--cc=bsegall@google.com \
--cc=dave.hansen@linux.intel.com \
--cc=dietmar.eggemann@arm.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=hpa@zytor.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=iommu@lists.linux.dev \
--cc=jani.nikula@linux.intel.com \
--cc=joonas.lahtinen@linux.intel.com \
--cc=joro@8bytes.org \
--cc=juri.lelli@redhat.com \
--cc=justinstitt@google.com \
--cc=kprateek.nayak@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=matthew.brost@intel.com \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=morbo@google.com \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=nik.borisov@suse.com \
--cc=peterz@infradead.org \
--cc=robin.murphy@arm.com \
--cc=rodrigo.vivi@intel.com \
--cc=rostedt@goodmis.org \
--cc=simona@ffwll.ch \
--cc=tglx@kernel.org \
--cc=thomas.hellstrom@linux.intel.com \
--cc=tursulin@ursulin.net \
--cc=vincent.guittot@linaro.org \
--cc=vschneid@redhat.com \
--cc=will@kernel.org \
--cc=x86@kernel.org \
--cc=xin@zytor.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.