On Thu, Jul 18, 2019 at 10:27:30AM -0400, Daniel Jordan wrote: > > That's what I expected when I first saw it too, but nr_cpumask_bits is returned > to signal the end of the iteration. The patch always passes 0 for the 'start' > argument, so when cpumask_next_wrap is called with the last cpu in the mask, > the end-of-iteration case is triggered. To reassure you and myself :) I ran it > and got the expected crash. > > Passing pd->cpu for the start argument instead avoids that problem, but the > one-cpu-in-mask case still needs handling because cpumask_next_wrap always > signals end of iteration for that, hence the cpumask_weight check. My bad. I should have set start to -1 to make it do the right thing. Thanks, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt