[PATCH 0/7] Fix UBI Block wrt. highmem

From: Richard Weinberger
Date: Thu Aug 10 2023 - 12:00:46 EST


Patch 1 changes UBIblock to use a copy of scsi_kmap_atomic_sg()
for sg list processing. This patch is meant for backporting to stable.
It makes use of kmap_atomic() and a bounce buffer because MTD/UBI IO
can sleep.

Patches 2 to 7 move scsi_kmap_atomic_sg() into lib/scatterlist.c,
convert it to kmap_local(), convert all users to it and remove the
bounce buffer from UBIblock again.

Richard Weinberger (7):
ubi: block: Refactor sg list processing for highmem
scatterlist: Add kmap helpers
scsi: dc395x: Switch to kmap_sg
scsi: esp_scsi: Switch to kmap_sg
scsi: fdomain: Switch to kmap_sg
ubi: block: Switch to kmap_sg
scsi: core: Remove scsi_kmap_atomic_sg()

drivers/mtd/ubi/block.c | 11 +++----
drivers/mtd/ubi/eba.c | 50 +++++++++++++------------------
drivers/scsi/dc395x.c | 12 ++++----
drivers/scsi/esp_scsi.c | 4 +--
drivers/scsi/fdomain.c | 10 +++----
drivers/scsi/scsi_lib.c | 60 -------------------------------------
include/linux/mtd/ubi.h | 12 ++++----
include/linux/scatterlist.h | 3 ++
include/scsi/scsi_cmnd.h | 4 ---
lib/scatterlist.c | 55 ++++++++++++++++++++++++++++++++++
10 files changed, 100 insertions(+), 121 deletions(-)

--
2.35.3