Message ID | 20221011175040.1782772-1-ajones@ventanamicro.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | RISC-V: Fix /proc/cpuinfo cpumask warning | expand |
Boris pointed out on my x86 version of this patch that I didn't give nearly enough information on why I sent it. Sorry about that! I've tried to fill in some of that information in my reply to him [1]. Sorry for lazily just pointing to that link here, but I'll send a v2 with the information properly added tomorrow. [1] https://lore.kernel.org/all/20221011181715.dpayrpjueha7kxoj@kamzik/ Thanks, drew On Tue, Oct 11, 2022 at 07:50:40PM +0200, Andrew Jones wrote: > Upcoming cpumask changes will start issuing warnings[*] when cpu > indices equal to nr_cpu_ids are passed to cpumask_next* functions. > Ensure we don't generate a warning when reading /proc/cpuinfo by > validating the cpu index before calling cpumask_next(). > > [*] Warnings will only appear with DEBUG_PER_CPU_MAPS enabled. > > Signed-off-by: Andrew Jones <ajones@ventanamicro.com> > Cc: Yury Norov <yury.norov@gmail.com> > --- > arch/riscv/kernel/cpu.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/arch/riscv/kernel/cpu.c b/arch/riscv/kernel/cpu.c > index 4aa8cd749441..592ff065e09f 100644 > --- a/arch/riscv/kernel/cpu.c > +++ b/arch/riscv/kernel/cpu.c > @@ -166,9 +166,12 @@ static void print_mmu(struct seq_file *f) > > static void *c_start(struct seq_file *m, loff_t *pos) > { > - *pos = cpumask_next(*pos - 1, cpu_online_mask); > - if ((*pos) < nr_cpu_ids) > - return (void *)(uintptr_t)(1 + *pos); > + if (*pos < nr_cpu_ids) { > + *pos = cpumask_next(*pos - 1, cpu_online_mask); > + if (*pos < nr_cpu_ids) > + return (void *)(uintptr_t)(1 + *pos); > + } > + > return NULL; > } > > -- > 2.37.3 >
diff --git a/arch/riscv/kernel/cpu.c b/arch/riscv/kernel/cpu.c index 4aa8cd749441..592ff065e09f 100644 --- a/arch/riscv/kernel/cpu.c +++ b/arch/riscv/kernel/cpu.c @@ -166,9 +166,12 @@ static void print_mmu(struct seq_file *f) static void *c_start(struct seq_file *m, loff_t *pos) { - *pos = cpumask_next(*pos - 1, cpu_online_mask); - if ((*pos) < nr_cpu_ids) - return (void *)(uintptr_t)(1 + *pos); + if (*pos < nr_cpu_ids) { + *pos = cpumask_next(*pos - 1, cpu_online_mask); + if (*pos < nr_cpu_ids) + return (void *)(uintptr_t)(1 + *pos); + } + return NULL; }
Upcoming cpumask changes will start issuing warnings[*] when cpu indices equal to nr_cpu_ids are passed to cpumask_next* functions. Ensure we don't generate a warning when reading /proc/cpuinfo by validating the cpu index before calling cpumask_next(). [*] Warnings will only appear with DEBUG_PER_CPU_MAPS enabled. Signed-off-by: Andrew Jones <ajones@ventanamicro.com> Cc: Yury Norov <yury.norov@gmail.com> --- arch/riscv/kernel/cpu.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)