On Mon, Jul 31, 2023 at 10:50:21PM +0100, Lorenzo Stoakes wrote: > Some architectures do not populate the entire range categorised by > KCORE_TEXT, so we must ensure that the kernel address we read from is > valid. > > Unfortunately there is no solution currently available to do so with a > purely iterator solution so reinstate the bounce buffer in this instance so > we can use copy_from_kernel_nofault() in order to avoid page faults when > regions are unmapped. > > This change partly reverts commit 2e1c0170771e ("fs/proc/kcore: avoid > bounce buffer for ktext data"), reinstating the bounce buffer, but adapts > the code to continue to use an iterator. > > Fixes: 2e1c0170771e ("fs/proc/kcore: avoid bounce buffer for ktext data") > Reported-by: Jiri Olsa <olsajiri@xxxxxxxxx> > Closes: https://lore.kernel.org/all/ZHc2fm+9daF6cgCE@krava > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Lorenzo Stoakes <lstoakes@xxxxxxxxx> > --- > fs/proc/kcore.c | 26 +++++++++++++++++++++++++- > 1 file changed, 25 insertions(+), 1 deletion(-) Tested-by: Will Deacon <will@xxxxxxxxxx> I can confirm this fixes the arm64 issue reported by Mike over at [1]. Cheers, Will [1] https://lore.kernel.org/r/b39c62d29a431b023e98959578ba87e96af0e030.camel@xxxxxx