ACK: [SRU][J][PATCH 0/1] CVE-2024-40915
Thibault Ferrante
thibault.ferrante at canonical.com
Tue Sep 17 13:23:51 UTC 2024
Acked-by: Thibault Ferrante <thibault.ferrante at canonical.com>
On 16-09-2024 21:29, Bethany Jamison wrote:
> [Impact]
>
> riscv: rewrite __kernel_map_pages() to fix sleeping in invalid context
> __kernel_map_pages() is a debug function which clears the valid bit in page
> table entry for deallocated pages to detect illegal memory accesses to
> freed pages.
>
> This function set/clear the valid bit using __set_memory(). __set_memory()
> acquires init_mm's semaphore, and this operation may sleep. This is
> problematic, because __kernel_map_pages() can be called in atomic context,
> and thus is illegal to sleep.
>
> Rewrite this function with apply_to_existing_page_range(). It is fine to
> not have any locking, because __kernel_map_pages() works with pages being
> allocated/deallocated and those pages are not changed by anyone else in the
> meantime.
>
> [Fix]
>
> Noble: released
> Jammy: Clean cherry-pick
> Focal: not-affected
> Bionic: not-affected
> Xenial: not-affected
> Trusty: not-affected
>
> [Test Case]
>
> Compile tested.
>
> [Where problems could occur]
>
> This fix affects those who use pages with riscv, an issue with this fix
> would be visible to the user via unpredicted system behavior or a system
> crash.
>
> Nam Cao (1):
> riscv: rewrite __kernel_map_pages() to fix sleeping in invalid context
>
> arch/riscv/mm/pageattr.c | 28 ++++++++++++++++++++++------
> 1 file changed, 22 insertions(+), 6 deletions(-)
>
--
--
Thibault
More information about the kernel-team
mailing list