Nixpkgs security tracker

Login with GitHub
⚠️ You are using a production deployment that is still only suitable for demo purposes. Any work done in this might be wiped later without notice.

Suggestion detail

Dismissed
(max. allowed matches exceeded)
created 1 day, 4 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
mm/percpu-km: fix bitmap overflow and accounting in pcpu_create_chunk()

In the Linux kernel, the following vulnerability has been resolved: mm/percpu-km: fix bitmap overflow and accounting in pcpu_create_chunk() In pcpu_create_chunk(), nr_pages is the total contiguous backing allocation, i.e., nr_units * pcpu_unit_pages, but pcpu_chunk_populated() uses it to set chunk->populated, whose size is pcpu_unit_pages, bitmap. Since bit N in chunk->populated means page offset N inside every unit is backed. When nr_units > 1, the function writes beyond chunk->populated. Fix it by using chunk->nr_pages. It also fixes the global pcpu_nr_empty_pop_pages accounting, since pcpu_balance_free() only iterates up to chunk->nr_pages. Commit a63d4ac4ab609 ("percpu: make percpu-km set chunk->populated bitmap properly") introduced the bitmap overflow issue. Later, commit b539b87fed37f ("percpu: implmeent pcpu_nr_empty_pop_pages and chunk->nr_populated") added pcpu_nr_empty_pop_pages and caused the accounting issue.

Affected products

Linux
  • <3.18
  • =<6.1.*
  • =<5.10.*
  • =<6.18.*
  • <a6940b84c8c035da465b7165fdfcfb005545724e
  • <6fc7da2a052f2825fff785e860e67183f5acaaba
  • =<6.6.*
  • =<6.12.*
  • <01504da375f5b19df195cb1cb1cf1dd184318f97
  • <5c7fc39bf19abb38a996aaad77b3e3a8f48581c3
  • <5f43d2c1bea280dcdfabaf156c25e7402fb8039f
  • <32134cf9211b83bed9076d0739c5906fbea4c763
  • <89b1b79c308818a715e75f28744b70d8940a07c9
  • <92c43ac3c2b09eb16162e8144e73c00b7c3e29d6
  • ==3.18
  • =<5.15.*
  • =<7.1.*
  • =<*