[PATCH 6.6 212/267] riscv: rewrite __kernel_map_pages() to fix sleeping in invalid context