All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] nvmem: fix out-of-bounds write
@ 2024-10-24 15:40 Jennifer Berringer
  2024-10-24 15:40 ` [PATCH v2 1/3] nvmem: core: improve range check for nvmem_cell_write() Jennifer Berringer
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Jennifer Berringer @ 2024-10-24 15:40 UTC (permalink / raw)
  To: Srinivas Kandagatla, Sebastian Reichel, Greg Kroah-Hartman,
	Maxime Ripard
  Cc: linux-kernel, linux-pm, Jennifer Berringer

Hi all,

These patches fix a small out-of-bounds write when using the
nvmem-reboot-mode driver on Qualcomm SA8775P, such as by executing
"reboot bootloader" in a shell. Relevant error log:

  BUG: KASAN: slab-out-of-bounds in nvmem_cell_prepare_write_buffer+0x144/0x47c
  Write of size 4 at addr ffff19dd8e1a37a0 by task systemd-shutdow/1
  Hardware name: Qualcomm SA8775P Ride (DT)
  Call trace:
  nvmem_cell_prepare_write_buffer
  nvmem_cell_write
  nvmem_reboot_mode_write
  The buggy address is located 0 bytes inside of
   allocated 1-byte region

This problem manifested because the devicetree file sa8775p-pmics.dtsi
specifies its reboot-mode cell with "reg = <0x48 0x1>" and so expects
the reboot mode write to only be 1 byte rather than 4. Other in-tree
devicetrees that seem likely affected include pmk8350 and pmk8550.

These changes add the missing bounds check to nvmem_cell_write and make
nvmem-reboot-mode able to only write as many bytes as it needs to.

v2:
- Added missing function definition for CONFIG_NVMEM=n

---
Jennifer Berringer (3):
  nvmem: core: improve range check for nvmem_cell_write()
  nvmem: core: add nvmem_cell_write_variable_u32()
  power: reset: nvmem-reboot-mode: fix write for small cells

 drivers/nvmem/core.c                    | 31 +++++++++++++++++++++++--
 drivers/power/reset/nvmem-reboot-mode.c |  2 +-
 include/linux/nvmem-consumer.h          |  6 +++++
 3 files changed, 36 insertions(+), 3 deletions(-)


base-commit: 98f7e32f20d28ec452afb208f9cffc08448a2652
-- 
2.46.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-10-30 11:43 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-24 15:40 [PATCH v2 0/3] nvmem: fix out-of-bounds write Jennifer Berringer
2024-10-24 15:40 ` [PATCH v2 1/3] nvmem: core: improve range check for nvmem_cell_write() Jennifer Berringer
2024-10-29 17:55   ` Srinivas Kandagatla
2024-10-29 21:31     ` Jennifer Berringer
2024-10-30 11:43       ` Srinivas Kandagatla
2024-10-24 15:40 ` [PATCH v2 2/3] nvmem: core: add nvmem_cell_write_variable_u32() Jennifer Berringer
2024-10-24 15:40 ` [PATCH v2 3/3] power: reset: nvmem-reboot-mode: fix write for small cells Jennifer Berringer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.