aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/fpga/xilinx-spi.c
diff options
context:
space:
mode:
authorMax Kellermann <[email protected]>2025-08-28 11:15:52 +0000
committerIlya Dryomov <[email protected]>2025-09-09 10:57:03 +0000
commit249e0a47cdb46bb9eae65511c569044bd8698d7d (patch)
tree9521a366f6f967d684d40bac34556dd1b533bdf3 /drivers/fpga/xilinx-spi.c
parentceph: always call ceph_shift_unused_folios_left() (diff)
downloadkernel-249e0a47cdb46bb9eae65511c569044bd8698d7d.tar.gz
kernel-249e0a47cdb46bb9eae65511c569044bd8698d7d.zip
ceph: fix crash after fscrypt_encrypt_pagecache_blocks() error
The function move_dirty_folio_in_page_array() was created by commit ce80b76dd327 ("ceph: introduce ceph_process_folio_batch() method") by moving code from ceph_writepages_start() to this function. This new function is supposed to return an error code which is checked by the caller (now ceph_process_folio_batch()), and on error, the caller invokes redirty_page_for_writepage() and then breaks from the loop. However, the refactoring commit has gone wrong, and it by accident, it always returns 0 (= success) because it first NULLs the pointer and then returns PTR_ERR(NULL) which is always 0. This means errors are silently ignored, leaving NULL entries in the page array, which may later crash the kernel. The simple solution is to call PTR_ERR() before clearing the pointer. Cc: [email protected] Fixes: ce80b76dd327 ("ceph: introduce ceph_process_folio_batch() method") Link: https://lore.kernel.org/ceph-devel/[email protected]/ Signed-off-by: Max Kellermann <[email protected]> Reviewed-by: Ilya Dryomov <[email protected]> Signed-off-by: Ilya Dryomov <[email protected]>
Diffstat (limited to 'drivers/fpga/xilinx-spi.c')
0 files changed, 0 insertions, 0 deletions