On Mon, May 30, 2022 at 3:57 PM Sander Vanheule <sander@xxxxxxxxxxxxx> wrote: > > On uniprocessor builds, for_each_cpu(cpu, mask) will assume 'mask' > always contains exactly one CPU, and ignore the actual mask contents. > This causes the loop to run, even when it shouldn't on an empty mask, > and tries to access an uninitialised pointer. It's too noisy traceback, I believe you may squeeze it out and leave something like ~5-6 lines only. ... > This patch is more of a work-around than a real fix, and ensures the > driver runs properly on uniprocessor builds. My tests were done using an > SMP-enabled build on a single-core system, which is why is missed this > erroneous behaviour. > > The real fix would be a modification of include/linux/cpumask.h, which > may take longer to finalise, but I would rather have the issue in this > driver fixed in the 5.19 release. Hmm... I dunno that cpumask fix should be hard or easy, but I think you may try it simultaneously, so we will win one way or the other. -- With Best Regards, Andy Shevchenko