Description
In the Linux kernel, the following vulnerability has been resolved: lib/buildid: use __kernel_read() for sleepable context Prevent a "BUG: unable to handle kernel NULL pointer dereference in filemap_read_folio". For the sleepable context, convert freader to use __kernel_read() instead of direct page cache access via read_cache_folio(). This simplifies the faultable code path by using the standard kernel file reading interface which handles all the complexity of reading file data. At the moment we are not changing the code for non-sleepable context which uses filemap_get_folio() and only succeeds if the target folios are already in memory and up-to-date. The reason is to keep the patch simple and easier to backport to stable kernels. Syzbot repro does not crash the kernel anymore and the selftests run successfully. In the follow up we will make __kernel_read() with IOCB_NOWAIT work for non-sleepable contexts. In addition, I would like to replace the secretmem check with a more generic approach and will add fstest for the buildid code.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
ad41251c290dfe3c01472c94d2439a59de23fe97 to < b11dfb7708f212b96c7973a474014c071aa02e05affectedad41251c290dfe3c01472c94d2439a59de23fe97 to < 568aeb3476c770a3863c755dd2a199c212434286affectedad41251c290dfe3c01472c94d2439a59de23fe97 to < 777a8560fd29738350c5094d4166fe5499452409affected
Linux Linux
Default version status: affected
6.12affected0 to < 6.12unaffected6.12.67 to ≤ 6.12.*unaffected6.18.7 to ≤ 6.18.*unaffected6.19 to ≤ *unaffected