linux/drivers/md/dm-vdo
Matthew Sakai 77da618098 dm vdo indexer: don't read request structure after enqueuing
[ Upstream commit 3da732687d ]

The function get_volume_page_protected may place a request on
a queue for another thread to process asynchronously. When this
happens, the volume should not read the request from the original
thread. This can not currently cause problems, due to the way
request processing is handled, but it is not safe in general.

Reviewed-by: Ken Raeburn <raeburn@redhat.com>
Signed-off-by: Matthew Sakai <msakai@redhat.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-07-06 11:01:32 +02:00
..
indexer dm vdo indexer: don't read request structure after enqueuing 2025-07-06 11:01:32 +02:00
action-manager.c dm vdo permassert: audit all of ASSERT to test for VDO_SUCCESS 2024-03-04 15:07:56 -05:00
action-manager.h dm vdo: add administrative state and action manager 2024-02-20 13:43:14 -05:00
admin-state.c dm vdo logger: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
admin-state.h dm vdo: add administrative state and action manager 2024-02-20 13:43:14 -05:00
block-map.c dm vdo block-map: Remove stray semicolon 2024-03-04 15:07:57 -05:00
block-map.h dm vdo: cleanup style for comments in structs 2024-02-20 13:43:19 -05:00
completion.c dm vdo permassert: audit all of ASSERT to test for VDO_SUCCESS 2024-03-04 15:07:56 -05:00
completion.h dm vdo permassert: audit all of ASSERT to test for VDO_SUCCESS 2024-03-04 15:07:56 -05:00
constants.h dm vdo: cleanup style for comments in structs 2024-02-20 13:43:19 -05:00
cpu.h dm vdo: add specialized request queueing functionality 2024-02-20 13:43:13 -05:00
data-vio.c dm vdo: handle unaligned discards correctly 2024-09-23 15:15:41 +02:00
data-vio.h dm vdo permassert: audit all of ASSERT to test for VDO_SUCCESS 2024-03-04 15:07:56 -05:00
dedupe.c dm vdo: add missing spin_lock_init 2025-03-07 18:25:44 +01:00
dedupe.h dm vdo: remove all sysfs interfaces 2024-03-04 15:07:56 -05:00
dm-vdo-target.c dm vdo: abort loading dirty VDO with the old recovery journal format 2024-08-21 13:11:34 +02:00
dump.c dm vdo logger: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
dump.h dm vdo: add debugging support 2024-02-20 13:43:15 -05:00
encodings.c dm vdo logger: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
encodings.h dm vdo: remove unnecessary indexer.h includes 2024-03-04 15:07:55 -05:00
errors.c dm vdo string-utils: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
errors.h dm vdo logger: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
flush.c dm: use bio_list_merge_init 2024-04-01 11:53:37 -06:00
flush.h dm vdo wait-queue: add proper namespace to interface 2024-02-20 13:43:16 -05:00
funnel-queue.c dm vdo funnel-queue: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
funnel-queue.h dm vdo funnel-queue: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
funnel-workqueue.c dm vdo logger: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
funnel-workqueue.h dm vdo: add specialized request queueing functionality 2024-02-20 13:43:13 -05:00
int-map.c dm vdo int-map: fix kerneldoc formatting 2024-07-19 12:08:21 +02:00
int-map.h dm vdo int-map: remove unused parameter from vdo_int_map_create 2024-02-20 13:43:16 -05:00
io-submitter.c dm vdo: remove bad check of bi_next field 2024-08-21 13:05:56 +02:00
io-submitter.h dm vdo: fix various blk_opf_t sparse warnings 2024-02-20 13:43:18 -05:00
Kconfig dm vdo: use a proper Makefile for dm-vdo 2024-02-20 13:43:17 -05:00
logger.c dm vdo logger: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
logger.h dm vdo logger: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
logical-zone.c dm vdo string-utils: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
logical-zone.h dm vdo: add flush support 2024-02-20 13:43:14 -05:00
Makefile kbuild: use $(src) instead of $(srctree)/$(src) for source directory 2024-05-10 04:34:52 +09:00
memory-alloc.c dm vdo logger: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
memory-alloc.h dm vdo memory-alloc: return VDO_SUCCESS on success 2024-03-04 15:07:56 -05:00
message-stats.c dm vdo: add dmsetup message for returning configuration info 2024-08-21 13:05:56 +02:00
message-stats.h dm vdo: add dmsetup message for returning configuration info 2024-08-21 13:05:56 +02:00
murmurhash3.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
murmurhash3.h dm vdo: add the MurmurHash3 fast hashing algorithm 2024-02-20 13:43:13 -05:00
numeric.h move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
packer.c dm vdo logger: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
packer.h dm vdo: remove internal ticket references 2024-03-04 15:07:55 -05:00
permassert.c dm vdo logger: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
permassert.h dm vdo indexer: update ASSERT and ASSERT_LOG_ONLY usage 2024-03-04 15:07:56 -05:00
physical-zone.c dm vdo logger: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
physical-zone.h dm vdo: add the block allocators and physical zones 2024-02-20 13:43:15 -05:00
priority-table.c dm vdo permassert: audit all of ASSERT to test for VDO_SUCCESS 2024-03-04 15:07:56 -05:00
priority-table.h dm vdo: add basic hash map data structures 2024-02-20 13:43:13 -05:00
recovery-journal.c dm vdo logger: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
recovery-journal.h dm vdo: cleanup style for comments in structs 2024-02-20 13:43:19 -05:00
repair.c dm vdo: force read-only mode for a corrupt recovery journal 2024-08-21 13:12:12 +02:00
repair.h dm vdo: add repair of damaged vdo volumes 2024-02-20 13:43:15 -05:00
slab-depot.c lib min_heap: add args for min_heap_callbacks 2024-06-24 22:24:58 -07:00
slab-depot.h dm vdo memory-alloc: change from uds_ to vdo_ namespace 2024-03-04 15:07:56 -05:00
statistics.h dm vdo: cleanup style for comments in structs 2024-02-20 13:43:19 -05:00
status-codes.c dm vdo: force read-only mode for a corrupt recovery journal 2024-08-21 13:12:12 +02:00
status-codes.h dm vdo: force read-only mode for a corrupt recovery journal 2024-08-21 13:12:12 +02:00
string-utils.c dm vdo string-utils: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
string-utils.h dm vdo string-utils: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
thread-device.c dm vdo thread-device: rename all methods to reflect vdo-only use 2024-03-01 09:26:24 -05:00
thread-device.h dm vdo thread-device: rename all methods to reflect vdo-only use 2024-03-01 09:26:24 -05:00
thread-registry.c dm vdo permassert: audit all of ASSERT to test for VDO_SUCCESS 2024-03-04 15:07:56 -05:00
thread-registry.h dm vdo thread-registry: rename all methods to reflect vdo-only use 2024-03-01 09:26:20 -05:00
thread-utils.c dm vdo: remove vdo_perform_once 2024-03-04 23:11:11 -05:00
thread-utils.h dm vdo: remove vdo_perform_once 2024-03-04 23:11:11 -05:00
time-utils.h dm vdo: add basic logging and support utilities 2024-02-20 13:43:13 -05:00
types.h dm vdo data-vio: rename is_trim flag to is_discard 2024-02-20 13:43:17 -05:00
vdo.c dm vdo: use a short static string for thread name prefix 2025-05-29 11:03:05 +02:00
vdo.h dm vdo: remove all sysfs interfaces 2024-03-04 15:07:56 -05:00
vio.c dm vdo logger: change from uds_ to vdo_ namespace 2024-03-04 15:07:57 -05:00
vio.h dm vdo permassert: audit all of ASSERT to test for VDO_SUCCESS 2024-03-04 15:07:56 -05:00
wait-queue.c dm vdo wait-queue: rename to vdo_waitq_dequeue_waiter 2024-02-20 13:43:16 -05:00
wait-queue.h dm vdo wait-queue: rename to vdo_waitq_dequeue_waiter 2024-02-20 13:43:16 -05:00