]> www.infradead.org Git - users/jedix/linux-maple.git/commit
lib/plist.c: enforce memory ordering in plist_check_list
authorI Hsin Cheng <richard120310@gmail.com>
Sun, 26 May 2024 14:01:39 +0000 (22:01 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 25 Jun 2024 05:25:04 +0000 (22:25 -0700)
commit7abcb84f953df037d40fad66f2109db318dd155b
tree1cd5ef60431a65ba37789a26e977658b2e059a7c
parent87beb66918f83700c8cfe8309b64b80dc48c6ef5
lib/plist.c: enforce memory ordering in plist_check_list

There exists an iteration over a plist in plist_check_list(), and memory
dependency exists between variables "prev", "next" and "prev->next".  As
plist is used in the scheduling subsystem, we should guarantee the memory
ordering between multiple processors.

Using macro "WRITE_ONCE()" can help us to ensure the memory ordering as
it was stated in "Documentation/memory-barriers.txt".

Link: https://lkml.kernel.org/r/20240526140139.17220-1-richard120310@gmail.com
Signed-off-by: I Hsin Cheng <richard120310@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
lib/plist.c