[PATCH v4 0/1] Fix /proc/cpuinfo cpumask warning

From: Andrew Jones
Date: Thu Nov 03 2022 - 10:25:11 EST


Commit 78e5a3399421 ("cpumask: fix checking valid cpu range") started
issuing warnings[1] when cpu indices equal to nr_cpu_ids - 1 were passed
to cpumask_next* functions. The commit has since been reverted with
commit 80493877d7d0 ("Revert "cpumask: fix checking valid cpu range"."),
which raises the question as to how much this proposed patch is needed.
Additionally, there's some discussion as to whether or not cpumask_next()
should even be validating its inputs[2]. So, with that in mind, I'm fine
with the patch being dropped. However, it may still be reasonable to add
the checking to /proc/cpuinfo until cpumask_next has made changes and
better documented its API.

[1] Warnings will only appear with DEBUG_PER_CPU_MAPS enabled.
[2] https://lore.kernel.org/all/CAHk-=wihz-GXx66MmEyaADgS1fQE_LDcB9wrHAmkvXkd8nx9tA@xxxxxxxxxxxxxx/

This series addresses the issue for x86. riscv has already merged an
equivalent patch (v3 of this series). Also, from a quick grep of cpuinfo
seq operations, I think at least openrisc, powerpc, and s390 could get an
equivalent patch. While the test is simple (see next paragraph) I'm not
equipped to test on each architecture.

To test, just build a kernel with DEBUG_PER_CPU_MAPS enabled, boot to
a shell, do 'cat /proc/cpuinfo', and look for a kernel warning.

v4:
- The riscv patch has already been merged.
- Mostly rewrote the cover letter as the situation has changed since
78e5a3399421 was reverted.
- Rewrote the commit message in order to try an better clarify things
and also to add the reference to the revert commit, which results in
the commit no longer claiming its a 'fix' in its summary. [Boris]

v3:
- Change condition from >= to == in order to still get a warning
for > as that's unexpected. [Yury]
- Picked up tags on the riscv patch

v2:
- Added all the information I should have in the first place
to the commit message [Boris]
- Changed style of fix [Boris]

Andrew Jones (1):
x86: cpuinfo: Ensure inputs to cpumask_next are valid

arch/x86/kernel/cpu/proc.c | 3 +++
1 file changed, 3 insertions(+)

--
2.37.3