All of lore.kernel.org
 help / color / mirror / Atom feed
* sort out the flush_icache_range mess v2
@ 2020-05-15 14:36 ` Christoph Hellwig
  0 siblings, 0 replies; 200+ messages in thread
From: Christoph Hellwig @ 2020-05-15 14:36 UTC (permalink / raw)
  To: Andrew Morton, Arnd Bergmann, Roman Zippel
  Cc: linux-arch, linux-xtensa, Michal Simek, Jessica Yu, linux-ia64,
	linux-c6x-dev, linux-sh, linux-hexagon, x86, linux-um,
	linux-kernel, linux-mips, linux-mm, linux-m68k, openrisc,
	linux-alpha, sparclinux, linux-fsdevel, linux-riscv,
	linuxppc-dev, linux-arm-kernel

Hi all,

flush_icache_range is mostly used for kernel address, except for the following
cases:

 - the nommu brk and mmap implementations,
 - the read_code helper that is only used for binfmt_flat, binfmt_elf_fdpic,
   and binfmt_aout including the broken ia32 compat version
 - binfmt_flat itself,

none of which really are used by a typical MMU enabled kernel, as a.out can
only be build for alpha and m68k to start with.

But strangely enough commit ae92ef8a4424 ("PATCH] flush icache in correct
context") added a "set_fs(KERNEL_DS)" around the flush_icache_range call
in the module loader, because apparently m68k assumed user pointers.

This series first cleans up the cacheflush implementations, largely by
switching as much as possible to the asm-generic version after a few
preparations, then moves the misnamed current flush_icache_user_range to
a new name, to finally introduce a real flush_icache_user_range to be used
for the above use cases to flush the instruction cache for a userspace
address range.  The last patch then drops the set_fs in the module code
and moves it into the m68k implementation.

A git tree is available here:

    git://git.infradead.org/users/hch/misc.git flush_icache_range.2

Gitweb:

    http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/flush_icache_range.2

Changes since v1:
 - fix pmem.c compilation on some s390 configs
 - drop two patches picked up by the arch maintainers

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

end of thread, other threads:[~2020-05-27 13:46 UTC | newest]

Thread overview: 200+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-15 14:36 sort out the flush_icache_range mess v2 Christoph Hellwig
2020-05-15 14:36 ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36 ` Christoph Hellwig
2020-05-15 14:36 ` Christoph Hellwig
2020-05-15 14:36 ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 01/29] arm: fix the flush_icache_range arguments in set_fiq_handler Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 02/29] nds32: unexport flush_icache_page Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 03/29] powerpc: unexport flush_icache_user_range Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 04/29] unicore32: remove flush_cache_user_range Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 05/29] asm-generic: fix the inclusion guards for cacheflush.h Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 06/29] asm-generic: don't include <linux/mm.h> in cacheflush.h Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-27  4:34   ` [PATCH] media: omap3isp: Shuffle cacheflush.h and include mm.h Nathan Chancellor
2020-05-27  4:34     ` [OpenRISC] " Nathan Chancellor
2020-05-27  4:34     ` Nathan Chancellor
2020-05-27  4:34     ` Nathan Chancellor
2020-05-27  4:34     ` Nathan Chancellor
2020-05-27  5:10     ` Christoph Hellwig
2020-05-27  5:10       ` [OpenRISC] " Christoph Hellwig
2020-05-27  5:10       ` Christoph Hellwig
2020-05-27  5:10       ` Christoph Hellwig
2020-05-27  5:10       ` Christoph Hellwig
2020-05-27  7:02     ` Geert Uytterhoeven
2020-05-27  7:02       ` [OpenRISC] " Geert Uytterhoeven
2020-05-27  7:02       ` Geert Uytterhoeven
2020-05-27  7:02       ` Geert Uytterhoeven
2020-05-27  7:02       ` Geert Uytterhoeven
2020-05-27  7:02       ` Geert Uytterhoeven
2020-05-27  7:02       ` Geert Uytterhoeven
2020-05-27  7:02       ` Geert Uytterhoeven
2020-05-27  8:13       ` Nathan Chancellor
2020-05-27  8:13         ` [OpenRISC] " Nathan Chancellor
2020-05-27  8:13         ` Nathan Chancellor
2020-05-27  8:13         ` Nathan Chancellor
2020-05-27  8:13         ` Nathan Chancellor
2020-05-27  8:13         ` Nathan Chancellor
2020-05-27  8:13         ` Nathan Chancellor
2020-05-27 13:45         ` Laurent Pinchart
2020-05-27 13:45           ` [OpenRISC] " Laurent Pinchart
2020-05-27 13:45           ` Laurent Pinchart
2020-05-27 13:45           ` Laurent Pinchart
2020-05-27 13:45           ` Laurent Pinchart
2020-05-27 13:45           ` Laurent Pinchart
2020-05-27 13:45           ` Laurent Pinchart
2020-05-15 14:36 ` [PATCH 07/29] asm-generic: improve the flush_dcache_page stub Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 08/29] alpha: use asm-generic/cacheflush.h Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 09/29] arm64: " Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-22 15:54   ` Catalin Marinas
2020-05-22 15:54     ` [OpenRISC] " Catalin Marinas
2020-05-22 15:54     ` Catalin Marinas
2020-05-22 15:54     ` Catalin Marinas
2020-05-22 15:54     ` Catalin Marinas
2020-05-15 14:36 ` [PATCH 10/29] c6x: " Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-18 18:20   ` Mark Salter
2020-05-18 18:20     ` [OpenRISC] " Mark Salter
2020-05-18 18:20     ` Mark Salter
2020-05-18 18:20     ` Mark Salter
2020-05-18 18:20     ` Mark Salter
2020-05-18 18:20     ` Mark Salter
2020-05-15 14:36 ` [PATCH 11/29] hexagon: " Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 12/29] ia64: " Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 13/29] microblaze: " Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 14/29] m68knommu: " Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 15/29] openrisc: " Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 16/29] powerpc: " Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 17/29] riscv: " Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 18/29] arm,sparc,unicore32: remove flush_icache_user_range Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] [PATCH 18/29] arm, sparc, unicore32: " Christoph Hellwig
2020-05-15 14:36   ` [PATCH 18/29] arm,sparc,unicore32: " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 19/29] mm: rename flush_icache_user_range to flush_icache_user_page Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 20/29] asm-generic: add a flush_icache_user_range stub Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 21/29] sh: implement flush_icache_user_range Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 22/29] xtensa: " Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 23/29] arm: rename flush_cache_user_range to flush_icache_user_range Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 24/29] m68k: implement flush_icache_user_range Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 25/29] exec: only build read_code when needed Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 26/29] exec: use flush_icache_user_range in read_code Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 27/29] binfmt_flat: use flush_icache_user_range Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 28/29] nommu: use flush_icache_user_range in brk and mmap Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36 ` [PATCH 29/29] module: move the set_fs hack for flush_icache_range to m68k Christoph Hellwig
2020-05-15 14:36   ` [OpenRISC] " Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-15 14:36   ` Christoph Hellwig
2020-05-18 13:04   ` Jessica Yu
2020-05-18 13:04     ` [OpenRISC] " Jessica Yu
2020-05-18 13:04     ` Jessica Yu
2020-05-18 13:04     ` Jessica Yu
2020-05-18 13:04     ` Jessica Yu

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.