tree a50a63eb9194e6e9fffe528d10add30db3c4f6df
parent e6b9dce0aeeb91dfc0974ab87f02454e24566182
parent 5ebf512f335053a42482ebff91e46c6dc156bf8c
author Linus Torvalds <torvalds@linux-foundation.org> 1756923036 -0700
committer Linus Torvalds <torvalds@linux-foundation.org> 1756923036 -0700
mergetag object 5ebf512f335053a42482ebff91e46c6dc156bf8c
 type commit
 tag bitmap-for-6.17-rc5
 tagger Yury Norov <yury.norov@gmail.com> 1756917506 -0400
 
 bitmap-for-6.17-rc5
 
 Fix sched_numa_find_nth_cpu() if mask offline
 
 sched_numa_find_nth_cpu() uses a bsearch to look for the 'closest'
 CPU in sched_domains_numa_masks and given cpus mask. However they
 might not intersect if all CPUs in the cpus mask are offline. bsearch
 will return NULL in that case, bail out instead of dereferencing a
 bogus pointer.
 -----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCgAdFiEEi8GdvG6xMhdgpu/4sUSA/TofvsgFAmi4cKQACgkQsUSA/Tof
 vsj1CAwAlnWawsvxSGW0CL40ogrvlwbkmBGf6fLATqg7eX+aBvDQ7n02g7a4Ebwx
 C4MSpihn6C7J29DfPj0wT6R5SlaXSm9EqwGcEuD2YegiVGRpVcIdGSHa5//8qqt2
 TOnMEDjagaFPYd3diomAC9EwCDX/uHt23PSa3LCdGKAqugfdPL9fs2BSKBucgS8G
 evqHsi2G0CLuCSFdkdetLw3ifMFnskOBL6PjsyUIUjaXm6gWCNM02bzUtDWA6lBk
 yDOqb5LaOSM5Aual3ecuMCe2jHMeCIOesZ95j5o8VBmjC/70cKPHVCsPJyXwjNuv
 prIZEJFNHBEO/8oGZZpraKZG8VMX7KhW1Ds2Kjk8AcnMXkpCYQsN9RvhbImwAs1E
 b6QsuYmEC2n4d5UT0tv523p5o1xY5TnFRplIoJJ1sdL6ZTBbAJGqhjenb0WUfN1w
 ZroWnnSsOCvlIfA/9QrLAewn+Gk8GXUEokhNAalCV2ayNPBFBUftXpjAeCPhqDge
 Ixc+V5PY
 =9kv/
 -----END PGP SIGNATURE-----

Merge tag 'bitmap-for-6.17-rc5' of https://github.com/norov/linux

Pull bitmap fix from Yury Norov:
 "Fix sched_numa_find_nth_cpu() if mask offline

  sched_numa_find_nth_cpu() uses a bsearch to look for the 'closest' CPU
  in sched_domains_numa_masks and given cpus mask. However they might
  not intersect if all CPUs in the cpus mask are offline.

  bsearch will return NULL in that case, bail out instead of
  dereferencing a bogus pointer"

* tag 'bitmap-for-6.17-rc5' of https://github.com/norov/linux:
  sched: Fix sched_numa_find_nth_cpu() if mask offline
