linux-stable/fs/iomap
Sami Tolvanen 55e6f8b3c0 treewide: Change list_sort to use const pointers
[ Upstream commit 4f0f586bf0 ]

list_sort() internally casts the comparison function passed to it
to a different type with constant struct list_head pointers, and
uses this pointer to call the functions, which trips indirect call
Control-Flow Integrity (CFI) checking.

Instead of removing the consts, this change defines the
list_cmp_func_t type and changes the comparison function types of
all list_sort() callers to use const pointers, thus avoiding type
mismatches.

Suggested-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Kees Cook <keescook@chromium.org>
Tested-by: Nick Desaulniers <ndesaulniers@google.com>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20210408182843.1754385-10-samitolvanen@google.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-09-30 10:11:04 +02:00
..
apply.c iomap: Make sure iomap_end is called after iomap_begin 2020-07-06 10:49:27 -07:00
buffered-io.c treewide: Change list_sort to use const pointers 2021-09-30 10:11:04 +02:00
direct-io.c iomap: Call inode_dio_end() before generic_write_sync() 2020-09-28 08:51:08 -07:00
fiemap.c fs: handle FIEMAP_FLAG_SYNC in fiemap_prep 2020-06-03 23:16:55 -04:00
Makefile iomap: lift common tracing code from xfs to iomap 2019-10-21 08:51:59 -07:00
seek.c iomap: remove the length variable in iomap_seek_hole 2021-07-31 08:16:12 +02:00
swapfile.c mm/swap: consider max pages in iomap_swapfile_add_extent 2021-09-15 09:50:42 +02:00
trace.c iomap: lift common tracing code from xfs to iomap 2019-10-21 08:51:59 -07:00
trace.h iomap: fall back to buffered writes for invalidation failures 2020-08-05 09:24:16 -07:00