[PATCH 6.9 252/281] riscv: rewrite __kernel_map_pages() to fix sleeping in invalid context