linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv2 00/14] set_memory_* functions header refactor
@ 2017-03-02  0:14 Laura Abbott
  2017-03-02  0:14 ` [PATCHv2 01/14] treewide: Move set_memory_* functions away from cacheflush.h Laura Abbott
                   ` (14 more replies)
  0 siblings, 15 replies; 33+ messages in thread
From: Laura Abbott @ 2017-03-02  0:14 UTC (permalink / raw)
  To: Russell King, Catalin Marinas, Will Deacon, Martin Schwidefsky,
	Heiko Carstens, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Kees Cook, Mark Rutland, Arnd Bergmann, David Airlie,
	Alexander Shishkin, Wim Van Sebroeck, Guenter Roeck,
	linux-watchdog, David S. Miller, Daniel Borkmann, Jessica Yu,
	Takashi Iwai, Andrew Morton
  Cc: Laura Abbott, x86, linux-arm-kernel, linux-kernel, linux-s390,
	linux-arch

Hi,

This is v2 of my proposal to move set_memory_* function prototypes out of
cacheflush.h and into their own header file. This came out of a comment
Russell made while reviewing RODATA test cases
http://lists.infradead.org/pipermail/linux-arm-kernel/2017-January/480855.html
While the final result of that series was the rodata code was refactored into
its own header file, the set_memory_* APIs are still out of place.

This version refactored the common set_memory_* functions into an asm-generic
header. s390x added some features so it can't just use the asm-generic header.
I debated how much more to try and shove into the asm-generic version (e.g.
stub prototypes for the ARM nommu case, set_kernel_text_*) but decided to stick
with just the basics for this version.

I split out the cacheflush.h -> set_memory.h conversions into separate patches
to hopefully make merging easier. Worst case, the final patch to completely
separate the two can be delayed if there are more problems found. I'd like
for this to eventually go through the -mm tree so I'd like Acks where
appropriate.

As always, feedback appreciated.

Thanks,
Laura

Laura Abbott (14):
  treewide: Move set_memory_* functions away from cacheflush.h
  arm: Use set_memory.h header
  arm64: Use set_memory.h header
  s390: Use set_memory.h header
  x86: Use set_memory.h header
  agp: Use set_memory.h header
  drm: Use set_memory.h header
  intel_th: Use set_memory.h header
  watchdog: hpwdt: Use set_memory.h header
  bpf: Use set_memory.h header
  module: Use set_memory.h header
  PM / hibernate: Use set_memory.h header
  ALSA: hda: Use set_memory.h header
  treewide: Decouple cacheflush.h and set_memory.h

 arch/arm/include/asm/cacheflush.h        | 20 --------
 arch/arm/include/asm/set_memory.h        | 32 ++++++++++++
 arch/arm/mm/pageattr.c                   |  1 +
 arch/arm/net/bpf_jit_32.c                |  2 +-
 arch/arm64/include/asm/Kbuild            |  1 +
 arch/arm64/include/asm/cacheflush.h      |  5 --
 arch/arm64/mm/pageattr.c                 |  1 +
 arch/arm64/net/bpf_jit_comp.c            |  1 +
 arch/s390/include/asm/Kbuild             |  1 +
 arch/s390/include/asm/cacheflush.h       | 34 -------------
 arch/s390/include/asm/set_memory.h       | 31 ++++++++++++
 arch/s390/kernel/ftrace.c                |  1 +
 arch/s390/kernel/kprobes.c               |  2 +-
 arch/s390/kernel/machine_kexec.c         |  1 +
 arch/s390/mm/init.c                      |  1 +
 arch/s390/mm/pageattr.c                  |  1 +
 arch/s390/mm/vmem.c                      |  1 +
 arch/s390/net/bpf_jit_comp.c             |  1 +
 arch/x86/include/asm/cacheflush.h        | 85 -------------------------------
 arch/x86/include/asm/set_memory.h        | 87 ++++++++++++++++++++++++++++++++
 arch/x86/kernel/amd_gart_64.c            |  2 +-
 arch/x86/kernel/cpu/amd.c                |  2 +-
 arch/x86/kernel/cpu/bugs.c               |  2 +-
 arch/x86/kernel/ftrace.c                 |  2 +-
 arch/x86/kernel/machine_kexec_64.c       |  1 +
 arch/x86/mm/init.c                       |  2 +-
 arch/x86/mm/init_64.c                    |  2 +-
 arch/x86/mm/ioremap.c                    |  2 +-
 arch/x86/mm/pageattr.c                   |  1 +
 arch/x86/net/bpf_jit_comp.c              |  1 +
 arch/x86/pci/pcbios.c                    |  2 +-
 arch/x86/platform/efi/efi.c              |  2 +-
 arch/x86/realmode/init.c                 |  2 +-
 drivers/char/agp/amd-k7-agp.c            |  1 +
 drivers/char/agp/ati-agp.c               |  1 +
 drivers/char/agp/generic.c               |  2 +-
 drivers/char/agp/intel-gtt.c             |  1 +
 drivers/char/agp/sworks-agp.c            |  1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c |  1 +
 drivers/gpu/drm/gma500/gtt.c             |  1 +
 drivers/gpu/drm/gma500/psb_drv.c         |  1 +
 drivers/gpu/drm/radeon/radeon_gart.c     |  1 +
 drivers/gpu/drm/ttm/ttm_page_alloc.c     |  1 +
 drivers/gpu/drm/ttm/ttm_page_alloc_dma.c |  1 +
 drivers/gpu/drm/ttm/ttm_tt.c             |  1 +
 drivers/hwtracing/intel_th/msu.c         |  2 +-
 drivers/watchdog/hpwdt.c                 |  2 +-
 include/asm-generic/set_memory.h         | 12 +++++
 include/linux/filter.h                   |  2 +-
 kernel/module.c                          |  1 +
 kernel/power/snapshot.c                  |  1 +
 sound/pci/hda/hda_intel.c                |  2 +-
 52 files changed, 206 insertions(+), 161 deletions(-)
 create mode 100644 arch/arm/include/asm/set_memory.h
 delete mode 100644 arch/s390/include/asm/cacheflush.h
 create mode 100644 arch/s390/include/asm/set_memory.h
 create mode 100644 arch/x86/include/asm/set_memory.h
 create mode 100644 include/asm-generic/set_memory.h

-- 
2.7.4

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

* [PATCHv2 01/14] treewide: Move set_memory_* functions away from cacheflush.h
  2017-03-02  0:14 [PATCHv2 00/14] set_memory_* functions header refactor Laura Abbott
@ 2017-03-02  0:14 ` Laura Abbott
  2017-03-02 12:07   ` Russell King - ARM Linux
  2017-03-02 14:11   ` Mark Rutland
  2017-03-02  0:14 ` [PATCHv2 02/14] arm: Use set_memory.h header Laura Abbott
                   ` (13 subsequent siblings)
  14 siblings, 2 replies; 33+ messages in thread
From: Laura Abbott @ 2017-03-02  0:14 UTC (permalink / raw)
  To: Russell King, Catalin Marinas, Will Deacon, Martin Schwidefsky,
	Heiko Carstens, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Kees Cook, Mark Rutland, Arnd Bergmann, David Airlie,
	Alexander Shishkin, Wim Van Sebroeck, Guenter Roeck,
	linux-watchdog, David S. Miller, Daniel Borkmann, Jessica Yu,
	Takashi Iwai, Andrew Morton
  Cc: Laura Abbott, x86, linux-arm-kernel, linux-kernel, linux-s390,
	linux-arch


The set_memory_* APIs came out of a desire to have a better way to
change memory attributes. Many of these attributes were linked to cache
functionality so the prototypes were put in cacheflush.h. These days,
the APIs have grown and have a much wider use than just cache APIs. To
support this growth, split off set_memory_* and friends into a separate
header file to avoid growing cacheflush.h for APIs that have nothing to
do with caches.

Acked-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Laura Abbott <labbott@redhat.com>
---
 arch/arm/include/asm/cacheflush.h   | 21 +--------
 arch/arm/include/asm/set_memory.h   | 32 ++++++++++++++
 arch/arm64/include/asm/Kbuild       |  1 +
 arch/arm64/include/asm/cacheflush.h |  6 +--
 arch/s390/include/asm/cacheflush.h  | 28 +-----------
 arch/s390/include/asm/set_memory.h  | 31 +++++++++++++
 arch/x86/include/asm/cacheflush.h   | 86 +-----------------------------------
 arch/x86/include/asm/set_memory.h   | 87 +++++++++++++++++++++++++++++++++++++
 include/asm-generic/set_memory.h    | 12 +++++
 9 files changed, 167 insertions(+), 137 deletions(-)
 create mode 100644 arch/arm/include/asm/set_memory.h
 create mode 100644 arch/s390/include/asm/set_memory.h
 create mode 100644 arch/x86/include/asm/set_memory.h
 create mode 100644 include/asm-generic/set_memory.h

diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h
index 02454fa..1cb9d11 100644
--- a/arch/arm/include/asm/cacheflush.h
+++ b/arch/arm/include/asm/cacheflush.h
@@ -16,6 +16,7 @@
 #include <asm/shmparam.h>
 #include <asm/cachetype.h>
 #include <asm/outercache.h>
+#include <asm/set_memory.h>
 
 #define CACHE_COLOUR(vaddr)	((vaddr & (SHMLBA - 1)) >> PAGE_SHIFT)
 
@@ -478,26 +479,6 @@ static inline void __sync_cache_range_r(volatile void *p, size_t size)
 	: : : "r0","r1","r2","r3","r4","r5","r6","r7", \
 	      "r9","r10","lr","memory" )
 
-#ifdef CONFIG_MMU
-int set_memory_ro(unsigned long addr, int numpages);
-int set_memory_rw(unsigned long addr, int numpages);
-int set_memory_x(unsigned long addr, int numpages);
-int set_memory_nx(unsigned long addr, int numpages);
-#else
-static inline int set_memory_ro(unsigned long addr, int numpages) { return 0; }
-static inline int set_memory_rw(unsigned long addr, int numpages) { return 0; }
-static inline int set_memory_x(unsigned long addr, int numpages) { return 0; }
-static inline int set_memory_nx(unsigned long addr, int numpages) { return 0; }
-#endif
-
-#ifdef CONFIG_STRICT_KERNEL_RWX
-void set_kernel_text_rw(void);
-void set_kernel_text_ro(void);
-#else
-static inline void set_kernel_text_rw(void) { }
-static inline void set_kernel_text_ro(void) { }
-#endif
-
 void flush_uprobe_xol_access(struct page *page, unsigned long uaddr,
 			     void *kaddr, unsigned long len);
 
diff --git a/arch/arm/include/asm/set_memory.h b/arch/arm/include/asm/set_memory.h
new file mode 100644
index 0000000..5aa4315
--- /dev/null
+++ b/arch/arm/include/asm/set_memory.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 1999-2002 Russell King
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#ifndef _ASMARM_SET_MEMORY_H
+#define _ASMARM_SET_MEMORY_H
+
+#ifdef CONFIG_MMU
+int set_memory_ro(unsigned long addr, int numpages);
+int set_memory_rw(unsigned long addr, int numpages);
+int set_memory_x(unsigned long addr, int numpages);
+int set_memory_nx(unsigned long addr, int numpages);
+#else
+static inline int set_memory_ro(unsigned long addr, int numpages) { return 0; }
+static inline int set_memory_rw(unsigned long addr, int numpages) { return 0; }
+static inline int set_memory_x(unsigned long addr, int numpages) { return 0; }
+static inline int set_memory_nx(unsigned long addr, int numpages) { return 0; }
+#endif
+
+#ifdef CONFIG_STRICT_KERNEL_RWX
+void set_kernel_text_rw(void);
+void set_kernel_text_ro(void);
+#else
+static inline void set_kernel_text_rw(void) { }
+static inline void set_kernel_text_ro(void) { }
+#endif
+
+#endif
diff --git a/arch/arm64/include/asm/Kbuild b/arch/arm64/include/asm/Kbuild
index a12f1af..e419965 100644
--- a/arch/arm64/include/asm/Kbuild
+++ b/arch/arm64/include/asm/Kbuild
@@ -27,6 +27,7 @@ generic-y += preempt.h
 generic-y += resource.h
 generic-y += rwsem.h
 generic-y += segment.h
+generic-y += set_memory.h
 generic-y += sembuf.h
 generic-y += serial.h
 generic-y += shmbuf.h
diff --git a/arch/arm64/include/asm/cacheflush.h b/arch/arm64/include/asm/cacheflush.h
index 5a2a6ee..7db6962 100644
--- a/arch/arm64/include/asm/cacheflush.h
+++ b/arch/arm64/include/asm/cacheflush.h
@@ -20,6 +20,7 @@
 #define __ASM_CACHEFLUSH_H
 
 #include <linux/mm.h>
+#include <asm/set_memory.h>
 
 /*
  * This flag is used to indicate that the page pointed to by a pte is clean
@@ -150,9 +151,4 @@ static inline void flush_cache_vunmap(unsigned long start, unsigned long end)
 {
 }
 
-int set_memory_ro(unsigned long addr, int numpages);
-int set_memory_rw(unsigned long addr, int numpages);
-int set_memory_x(unsigned long addr, int numpages);
-int set_memory_nx(unsigned long addr, int numpages);
-
 #endif
diff --git a/arch/s390/include/asm/cacheflush.h b/arch/s390/include/asm/cacheflush.h
index 0499334..afe2965 100644
--- a/arch/s390/include/asm/cacheflush.h
+++ b/arch/s390/include/asm/cacheflush.h
@@ -3,32 +3,6 @@
 
 /* Caches aren't brain-dead on the s390. */
 #include <asm-generic/cacheflush.h>
-
-#define SET_MEMORY_RO	1UL
-#define SET_MEMORY_RW	2UL
-#define SET_MEMORY_NX	4UL
-#define SET_MEMORY_X	8UL
-
-int __set_memory(unsigned long addr, int numpages, unsigned long flags);
-
-static inline int set_memory_ro(unsigned long addr, int numpages)
-{
-	return __set_memory(addr, numpages, SET_MEMORY_RO);
-}
-
-static inline int set_memory_rw(unsigned long addr, int numpages)
-{
-	return __set_memory(addr, numpages, SET_MEMORY_RW);
-}
-
-static inline int set_memory_nx(unsigned long addr, int numpages)
-{
-	return __set_memory(addr, numpages, SET_MEMORY_NX);
-}
-
-static inline int set_memory_x(unsigned long addr, int numpages)
-{
-	return __set_memory(addr, numpages, SET_MEMORY_X);
-}
+#include <asm/set_memory.h>
 
 #endif /* _S390_CACHEFLUSH_H */
diff --git a/arch/s390/include/asm/set_memory.h b/arch/s390/include/asm/set_memory.h
new file mode 100644
index 0000000..46a4db4
--- /dev/null
+++ b/arch/s390/include/asm/set_memory.h
@@ -0,0 +1,31 @@
+#ifndef _ASMS390_SET_MEMORY_H
+#define _ASMS390_SET_MEMORY_H
+
+#define SET_MEMORY_RO	1UL
+#define SET_MEMORY_RW	2UL
+#define SET_MEMORY_NX	4UL
+#define SET_MEMORY_X	8UL
+
+int __set_memory(unsigned long addr, int numpages, unsigned long flags);
+
+static inline int set_memory_ro(unsigned long addr, int numpages)
+{
+	return __set_memory(addr, numpages, SET_MEMORY_RO);
+}
+
+static inline int set_memory_rw(unsigned long addr, int numpages)
+{
+	return __set_memory(addr, numpages, SET_MEMORY_RW);
+}
+
+static inline int set_memory_nx(unsigned long addr, int numpages)
+{
+	return __set_memory(addr, numpages, SET_MEMORY_NX);
+}
+
+static inline int set_memory_x(unsigned long addr, int numpages)
+{
+	return __set_memory(addr, numpages, SET_MEMORY_X);
+}
+
+#endif
diff --git a/arch/x86/include/asm/cacheflush.h b/arch/x86/include/asm/cacheflush.h
index e7e1942..3d7db6f 100644
--- a/arch/x86/include/asm/cacheflush.h
+++ b/arch/x86/include/asm/cacheflush.h
@@ -4,94 +4,10 @@
 /* Caches aren't brain-dead on the intel. */
 #include <asm-generic/cacheflush.h>
 #include <asm/special_insns.h>
-
-/*
- * The set_memory_* API can be used to change various attributes of a virtual
- * address range. The attributes include:
- * Cachability   : UnCached, WriteCombining, WriteThrough, WriteBack
- * Executability : eXeutable, NoteXecutable
- * Read/Write    : ReadOnly, ReadWrite
- * Presence      : NotPresent
- *
- * Within a category, the attributes are mutually exclusive.
- *
- * The implementation of this API will take care of various aspects that
- * are associated with changing such attributes, such as:
- * - Flushing TLBs
- * - Flushing CPU caches
- * - Making sure aliases of the memory behind the mapping don't violate
- *   coherency rules as defined by the CPU in the system.
- *
- * What this API does not do:
- * - Provide exclusion between various callers - including callers that
- *   operation on other mappings of the same physical page
- * - Restore default attributes when a page is freed
- * - Guarantee that mappings other than the requested one are
- *   in any state, other than that these do not violate rules for
- *   the CPU you have. Do not depend on any effects on other mappings,
- *   CPUs other than the one you have may have more relaxed rules.
- * The caller is required to take care of these.
- */
-
-int _set_memory_uc(unsigned long addr, int numpages);
-int _set_memory_wc(unsigned long addr, int numpages);
-int _set_memory_wt(unsigned long addr, int numpages);
-int _set_memory_wb(unsigned long addr, int numpages);
-int set_memory_uc(unsigned long addr, int numpages);
-int set_memory_wc(unsigned long addr, int numpages);
-int set_memory_wt(unsigned long addr, int numpages);
-int set_memory_wb(unsigned long addr, int numpages);
-int set_memory_x(unsigned long addr, int numpages);
-int set_memory_nx(unsigned long addr, int numpages);
-int set_memory_ro(unsigned long addr, int numpages);
-int set_memory_rw(unsigned long addr, int numpages);
-int set_memory_np(unsigned long addr, int numpages);
-int set_memory_4k(unsigned long addr, int numpages);
-
-int set_memory_array_uc(unsigned long *addr, int addrinarray);
-int set_memory_array_wc(unsigned long *addr, int addrinarray);
-int set_memory_array_wt(unsigned long *addr, int addrinarray);
-int set_memory_array_wb(unsigned long *addr, int addrinarray);
-
-int set_pages_array_uc(struct page **pages, int addrinarray);
-int set_pages_array_wc(struct page **pages, int addrinarray);
-int set_pages_array_wt(struct page **pages, int addrinarray);
-int set_pages_array_wb(struct page **pages, int addrinarray);
-
-/*
- * For legacy compatibility with the old APIs, a few functions
- * are provided that work on a "struct page".
- * These functions operate ONLY on the 1:1 kernel mapping of the
- * memory that the struct page represents, and internally just
- * call the set_memory_* function. See the description of the
- * set_memory_* function for more details on conventions.
- *
- * These APIs should be considered *deprecated* and are likely going to
- * be removed in the future.
- * The reason for this is the implicit operation on the 1:1 mapping only,
- * making this not a generally useful API.
- *
- * Specifically, many users of the old APIs had a virtual address,
- * called virt_to_page() or vmalloc_to_page() on that address to
- * get a struct page* that the old API required.
- * To convert these cases, use set_memory_*() on the original
- * virtual address, do not use these functions.
- */
-
-int set_pages_uc(struct page *page, int numpages);
-int set_pages_wb(struct page *page, int numpages);
-int set_pages_x(struct page *page, int numpages);
-int set_pages_nx(struct page *page, int numpages);
-int set_pages_ro(struct page *page, int numpages);
-int set_pages_rw(struct page *page, int numpages);
-
+#include <asm/set_memory.h>
 
 void clflush_cache_range(void *addr, unsigned int size);
 
 #define mmio_flush_range(addr, size) clflush_cache_range(addr, size)
 
-extern int kernel_set_to_readonly;
-void set_kernel_text_rw(void);
-void set_kernel_text_ro(void);
-
 #endif /* _ASM_X86_CACHEFLUSH_H */
diff --git a/arch/x86/include/asm/set_memory.h b/arch/x86/include/asm/set_memory.h
new file mode 100644
index 0000000..eaec6c3
--- /dev/null
+++ b/arch/x86/include/asm/set_memory.h
@@ -0,0 +1,87 @@
+#ifndef _ASM_X86_SET_MEMORY_H
+#define _ASM_X86_SET_MEMORY_H
+
+#include <asm/page.h>
+#include <asm-generic/set_memory.h>
+
+/*
+ * The set_memory_* API can be used to change various attributes of a virtual
+ * address range. The attributes include:
+ * Cachability   : UnCached, WriteCombining, WriteThrough, WriteBack
+ * Executability : eXeutable, NoteXecutable
+ * Read/Write    : ReadOnly, ReadWrite
+ * Presence      : NotPresent
+ *
+ * Within a category, the attributes are mutually exclusive.
+ *
+ * The implementation of this API will take care of various aspects that
+ * are associated with changing such attributes, such as:
+ * - Flushing TLBs
+ * - Flushing CPU caches
+ * - Making sure aliases of the memory behind the mapping don't violate
+ *   coherency rules as defined by the CPU in the system.
+ *
+ * What this API does not do:
+ * - Provide exclusion between various callers - including callers that
+ *   operation on other mappings of the same physical page
+ * - Restore default attributes when a page is freed
+ * - Guarantee that mappings other than the requested one are
+ *   in any state, other than that these do not violate rules for
+ *   the CPU you have. Do not depend on any effects on other mappings,
+ *   CPUs other than the one you have may have more relaxed rules.
+ * The caller is required to take care of these.
+ */
+
+int _set_memory_uc(unsigned long addr, int numpages);
+int _set_memory_wc(unsigned long addr, int numpages);
+int _set_memory_wt(unsigned long addr, int numpages);
+int _set_memory_wb(unsigned long addr, int numpages);
+int set_memory_uc(unsigned long addr, int numpages);
+int set_memory_wc(unsigned long addr, int numpages);
+int set_memory_wt(unsigned long addr, int numpages);
+int set_memory_wb(unsigned long addr, int numpages);
+int set_memory_np(unsigned long addr, int numpages);
+int set_memory_4k(unsigned long addr, int numpages);
+
+int set_memory_array_uc(unsigned long *addr, int addrinarray);
+int set_memory_array_wc(unsigned long *addr, int addrinarray);
+int set_memory_array_wt(unsigned long *addr, int addrinarray);
+int set_memory_array_wb(unsigned long *addr, int addrinarray);
+
+int set_pages_array_uc(struct page **pages, int addrinarray);
+int set_pages_array_wc(struct page **pages, int addrinarray);
+int set_pages_array_wt(struct page **pages, int addrinarray);
+int set_pages_array_wb(struct page **pages, int addrinarray);
+
+/*
+ * For legacy compatibility with the old APIs, a few functions
+ * are provided that work on a "struct page".
+ * These functions operate ONLY on the 1:1 kernel mapping of the
+ * memory that the struct page represents, and internally just
+ * call the set_memory_* function. See the description of the
+ * set_memory_* function for more details on conventions.
+ *
+ * These APIs should be considered *deprecated* and are likely going to
+ * be removed in the future.
+ * The reason for this is the implicit operation on the 1:1 mapping only,
+ * making this not a generally useful API.
+ *
+ * Specifically, many users of the old APIs had a virtual address,
+ * called virt_to_page() or vmalloc_to_page() on that address to
+ * get a struct page* that the old API required.
+ * To convert these cases, use set_memory_*() on the original
+ * virtual address, do not use these functions.
+ */
+
+int set_pages_uc(struct page *page, int numpages);
+int set_pages_wb(struct page *page, int numpages);
+int set_pages_x(struct page *page, int numpages);
+int set_pages_nx(struct page *page, int numpages);
+int set_pages_ro(struct page *page, int numpages);
+int set_pages_rw(struct page *page, int numpages);
+
+extern int kernel_set_to_readonly;
+void set_kernel_text_rw(void);
+void set_kernel_text_ro(void);
+
+#endif /* _ASM_X86_SET_MEMORY_H */
diff --git a/include/asm-generic/set_memory.h b/include/asm-generic/set_memory.h
new file mode 100644
index 0000000..83e81f8
--- /dev/null
+++ b/include/asm-generic/set_memory.h
@@ -0,0 +1,12 @@
+#ifndef __ASM_SET_MEMORY_H
+#define __ASM_SET_MEMORY_H
+
+/*
+ * Functions to change memory attributes.
+ */
+int set_memory_ro(unsigned long addr, int numpages);
+int set_memory_rw(unsigned long addr, int numpages);
+int set_memory_x(unsigned long addr, int numpages);
+int set_memory_nx(unsigned long addr, int numpages);
+
+#endif
-- 
2.7.4

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

* [PATCHv2 02/14] arm: Use set_memory.h header
  2017-03-02  0:14 [PATCHv2 00/14] set_memory_* functions header refactor Laura Abbott
  2017-03-02  0:14 ` [PATCHv2 01/14] treewide: Move set_memory_* functions away from cacheflush.h Laura Abbott
@ 2017-03-02  0:14 ` Laura Abbott
  2017-03-02 12:01   ` Russell King - ARM Linux
  2017-03-02  0:14 ` [PATCHv2 03/14] arm64: " Laura Abbott
                   ` (12 subsequent siblings)
  14 siblings, 1 reply; 33+ messages in thread
From: Laura Abbott @ 2017-03-02  0:14 UTC (permalink / raw)
  To: Russell King
  Cc: Laura Abbott, Catalin Marinas, Will Deacon, Martin Schwidefsky,
	Heiko Carstens, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	x86, Kees Cook, Mark Rutland, Arnd Bergmann, linux-arm-kernel,
	linux-kernel, linux-s390, linux-arch, David Airlie,
	Alexander Shishkin, Wim Van Sebroeck, Guenter Roeck,
	linux-watchdog, David S. Miller, Daniel Borkmann, Jessica Yu,
	Takashi Iwai, Andrew Morton


set_memory_* functions have moved to set_memory.h. Switch to this
explicitly

Signed-off-by: Laura Abbott <labbott@redhat.com>
---
 arch/arm/mm/pageattr.c    | 1 +
 arch/arm/net/bpf_jit_32.c | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mm/pageattr.c b/arch/arm/mm/pageattr.c
index 3b69f26..1403cb4 100644
--- a/arch/arm/mm/pageattr.c
+++ b/arch/arm/mm/pageattr.c
@@ -15,6 +15,7 @@
 
 #include <asm/pgtable.h>
 #include <asm/tlbflush.h>
+#include <asm/set_memory.h>
 
 struct page_change_data {
 	pgprot_t set_mask;
diff --git a/arch/arm/net/bpf_jit_32.c b/arch/arm/net/bpf_jit_32.c
index 93d0b6d..c200910 100644
--- a/arch/arm/net/bpf_jit_32.c
+++ b/arch/arm/net/bpf_jit_32.c
@@ -17,7 +17,7 @@
 #include <linux/slab.h>
 #include <linux/if_vlan.h>
 
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 #include <asm/hwcap.h>
 #include <asm/opcodes.h>
 
-- 
2.7.4

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

* [PATCHv2 03/14] arm64: Use set_memory.h header
  2017-03-02  0:14 [PATCHv2 00/14] set_memory_* functions header refactor Laura Abbott
  2017-03-02  0:14 ` [PATCHv2 01/14] treewide: Move set_memory_* functions away from cacheflush.h Laura Abbott
  2017-03-02  0:14 ` [PATCHv2 02/14] arm: Use set_memory.h header Laura Abbott
@ 2017-03-02  0:14 ` Laura Abbott
  2017-03-02 14:07   ` Mark Rutland
  2017-03-02 15:06   ` Catalin Marinas
  2017-03-02  0:14 ` [PATCHv2 04/14] s390: " Laura Abbott
                   ` (11 subsequent siblings)
  14 siblings, 2 replies; 33+ messages in thread
From: Laura Abbott @ 2017-03-02  0:14 UTC (permalink / raw)
  To: Catalin Marinas, Will Deacon
  Cc: Laura Abbott, Russell King, Martin Schwidefsky, Heiko Carstens,
	Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86, Kees Cook,
	Mark Rutland, Arnd Bergmann, linux-arm-kernel, linux-kernel,
	linux-s390, linux-arch, David Airlie, Alexander Shishkin,
	Wim Van Sebroeck, Guenter Roeck, linux-watchdog, David S. Miller,
	Daniel Borkmann, Jessica Yu, Takashi Iwai, Andrew Morton


The set_memory_* functions have moved to set_memory.h. Use that header
explicitly.

Signed-off-by: Laura Abbott <labbott@redhat.com>
---
 arch/arm64/mm/pageattr.c      | 1 +
 arch/arm64/net/bpf_jit_comp.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/arch/arm64/mm/pageattr.c b/arch/arm64/mm/pageattr.c
index 8def55e..12ab86d 100644
--- a/arch/arm64/mm/pageattr.c
+++ b/arch/arm64/mm/pageattr.c
@@ -18,6 +18,7 @@
 
 #include <asm/pgtable.h>
 #include <asm/tlbflush.h>
+#include <asm/set_memory.h>
 
 struct page_change_data {
 	pgprot_t set_mask;
diff --git a/arch/arm64/net/bpf_jit_comp.c b/arch/arm64/net/bpf_jit_comp.c
index a785554..84e4a91 100644
--- a/arch/arm64/net/bpf_jit_comp.c
+++ b/arch/arm64/net/bpf_jit_comp.c
@@ -26,6 +26,7 @@
 
 #include <asm/byteorder.h>
 #include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 #include <asm/debug-monitors.h>
 
 #include "bpf_jit.h"
-- 
2.7.4

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

* [PATCHv2 04/14] s390: Use set_memory.h header
  2017-03-02  0:14 [PATCHv2 00/14] set_memory_* functions header refactor Laura Abbott
                   ` (2 preceding siblings ...)
  2017-03-02  0:14 ` [PATCHv2 03/14] arm64: " Laura Abbott
@ 2017-03-02  0:14 ` Laura Abbott
  2017-03-02  0:14 ` [PATCHv2 05/14] x86: " Laura Abbott
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 33+ messages in thread
From: Laura Abbott @ 2017-03-02  0:14 UTC (permalink / raw)
  To: Martin Schwidefsky, Heiko Carstens
  Cc: Laura Abbott, Russell King, Catalin Marinas, Will Deacon,
	Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86, Kees Cook,
	Mark Rutland, Arnd Bergmann, linux-arm-kernel, linux-kernel,
	linux-s390, linux-arch, David Airlie, Alexander Shishkin,
	Wim Van Sebroeck, Guenter Roeck, linux-watchdog, David S. Miller,
	Daniel Borkmann, Jessica Yu, Takashi Iwai, Andrew Morton


set_memory_* functions have moved to set_memory.h. Switch to this
explicitly

Signed-off-by: Laura Abbott <labbott@redhat.com>
---
 arch/s390/kernel/ftrace.c        | 1 +
 arch/s390/kernel/kprobes.c       | 2 +-
 arch/s390/kernel/machine_kexec.c | 1 +
 arch/s390/mm/init.c              | 1 +
 arch/s390/mm/pageattr.c          | 1 +
 arch/s390/mm/vmem.c              | 1 +
 arch/s390/net/bpf_jit_comp.c     | 1 +
 7 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/arch/s390/kernel/ftrace.c b/arch/s390/kernel/ftrace.c
index 60a8a4e..27477f3 100644
--- a/arch/s390/kernel/ftrace.c
+++ b/arch/s390/kernel/ftrace.c
@@ -17,6 +17,7 @@
 #include <trace/syscall.h>
 #include <asm/asm-offsets.h>
 #include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 #include "entry.h"
 
 /*
diff --git a/arch/s390/kernel/kprobes.c b/arch/s390/kernel/kprobes.c
index 76f9eda..3d6a997 100644
--- a/arch/s390/kernel/kprobes.c
+++ b/arch/s390/kernel/kprobes.c
@@ -31,7 +31,7 @@
 #include <linux/slab.h>
 #include <linux/hardirq.h>
 #include <linux/ftrace.h>
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 #include <asm/sections.h>
 #include <linux/uaccess.h>
 #include <asm/dis.h>
diff --git a/arch/s390/kernel/machine_kexec.c b/arch/s390/kernel/machine_kexec.c
index 3074c1d..ab506ef 100644
--- a/arch/s390/kernel/machine_kexec.c
+++ b/arch/s390/kernel/machine_kexec.c
@@ -26,6 +26,7 @@
 #include <asm/asm-offsets.h>
 #include <asm/cacheflush.h>
 #include <asm/os_info.h>
+#include <asm/set_memory.h>
 #include <asm/switch_to.h>
 
 typedef void (*relocate_kernel_t)(kimage_entry_t *, unsigned long);
diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c
index ee506671..ee6a1d3 100644
--- a/arch/s390/mm/init.c
+++ b/arch/s390/mm/init.c
@@ -39,6 +39,7 @@
 #include <asm/sections.h>
 #include <asm/ctl_reg.h>
 #include <asm/sclp.h>
+#include <asm/set_memory.h>
 
 pgd_t swapper_pg_dir[PTRS_PER_PGD] __section(.bss..swapper_pg_dir);
 
diff --git a/arch/s390/mm/pageattr.c b/arch/s390/mm/pageattr.c
index fc5dc33..143cc9a 100644
--- a/arch/s390/mm/pageattr.c
+++ b/arch/s390/mm/pageattr.c
@@ -8,6 +8,7 @@
 #include <asm/facility.h>
 #include <asm/pgtable.h>
 #include <asm/page.h>
+#include <asm/set_memory.h>
 
 static inline unsigned long sske_frame(unsigned long addr, unsigned char skey)
 {
diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c
index 60d3899..c33c94b 100644
--- a/arch/s390/mm/vmem.c
+++ b/arch/s390/mm/vmem.c
@@ -17,6 +17,7 @@
 #include <asm/setup.h>
 #include <asm/tlbflush.h>
 #include <asm/sections.h>
+#include <asm/set_memory.h>
 
 static DEFINE_MUTEX(vmem_mutex);
 
diff --git a/arch/s390/net/bpf_jit_comp.c b/arch/s390/net/bpf_jit_comp.c
index 4ecf6d6..6e97a2e 100644
--- a/arch/s390/net/bpf_jit_comp.c
+++ b/arch/s390/net/bpf_jit_comp.c
@@ -24,6 +24,7 @@
 #include <linux/bpf.h>
 #include <asm/cacheflush.h>
 #include <asm/dis.h>
+#include <asm/set_memory.h>
 #include "bpf_jit.h"
 
 int bpf_jit_enable __read_mostly;
-- 
2.7.4

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

* [PATCHv2 05/14] x86: Use set_memory.h header
  2017-03-02  0:14 [PATCHv2 00/14] set_memory_* functions header refactor Laura Abbott
                   ` (3 preceding siblings ...)
  2017-03-02  0:14 ` [PATCHv2 04/14] s390: " Laura Abbott
@ 2017-03-02  0:14 ` Laura Abbott
  2017-03-02  8:01   ` Ingo Molnar
  2017-03-02  0:14 ` [PATCHv2 06/14] agp: " Laura Abbott
                   ` (9 subsequent siblings)
  14 siblings, 1 reply; 33+ messages in thread
From: Laura Abbott @ 2017-03-02  0:14 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin
  Cc: Laura Abbott, Russell King, Catalin Marinas, Will Deacon,
	Martin Schwidefsky, Heiko Carstens, x86, Kees Cook, Mark Rutland,
	Arnd Bergmann, linux-arm-kernel, linux-kernel, linux-s390,
	linux-arch, David Airlie, Alexander Shishkin, Wim Van Sebroeck,
	Guenter Roeck, linux-watchdog, David S. Miller, Daniel Borkmann,
	Jessica Yu, Takashi Iwai, Andrew Morton


set_memory_* functions have moved to set_memory.h. Switch to this
explicitly.

Signed-off-by: Laura Abbott <labbott@redhat.com>
---
 arch/x86/kernel/amd_gart_64.c      | 2 +-
 arch/x86/kernel/cpu/amd.c          | 2 +-
 arch/x86/kernel/cpu/bugs.c         | 2 +-
 arch/x86/kernel/ftrace.c           | 2 +-
 arch/x86/kernel/machine_kexec_64.c | 1 +
 arch/x86/mm/init.c                 | 2 +-
 arch/x86/mm/init_64.c              | 2 +-
 arch/x86/mm/ioremap.c              | 2 +-
 arch/x86/mm/pageattr.c             | 1 +
 arch/x86/net/bpf_jit_comp.c        | 1 +
 arch/x86/pci/pcbios.c              | 2 +-
 arch/x86/platform/efi/efi.c        | 2 +-
 arch/x86/realmode/init.c           | 2 +-
 13 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/arch/x86/kernel/amd_gart_64.c b/arch/x86/kernel/amd_gart_64.c
index 82dfe32..6c81048 100644
--- a/arch/x86/kernel/amd_gart_64.c
+++ b/arch/x86/kernel/amd_gart_64.c
@@ -35,7 +35,7 @@
 #include <asm/proto.h>
 #include <asm/iommu.h>
 #include <asm/gart.h>
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 #include <asm/swiotlb.h>
 #include <asm/dma.h>
 #include <asm/amd_nb.h>
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 4e95b2e..f77f7f4 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -15,7 +15,7 @@
 
 #ifdef CONFIG_X86_64
 # include <asm/mmconfig.h>
-# include <asm/cacheflush.h>
+# include <asm/set_memory.h>
 #endif
 
 #include "cpu.h"
diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c
index a44ef52..0af86d9 100644
--- a/arch/x86/kernel/cpu/bugs.c
+++ b/arch/x86/kernel/cpu/bugs.c
@@ -17,7 +17,7 @@
 #include <asm/paravirt.h>
 #include <asm/alternative.h>
 #include <asm/pgtable.h>
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 
 void __init check_bugs(void)
 {
diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
index 8639bb2..da9f2b0 100644
--- a/arch/x86/kernel/ftrace.c
+++ b/arch/x86/kernel/ftrace.c
@@ -24,7 +24,7 @@
 
 #include <trace/syscall.h>
 
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 #include <asm/kprobes.h>
 #include <asm/ftrace.h>
 #include <asm/nops.h>
diff --git a/arch/x86/kernel/machine_kexec_64.c b/arch/x86/kernel/machine_kexec_64.c
index 307b1f4..8887311 100644
--- a/arch/x86/kernel/machine_kexec_64.c
+++ b/arch/x86/kernel/machine_kexec_64.c
@@ -27,6 +27,7 @@
 #include <asm/debugreg.h>
 #include <asm/kexec-bzimage64.h>
 #include <asm/setup.h>
+#include <asm/set_memory.h>
 
 #ifdef CONFIG_KEXEC_FILE
 static struct kexec_file_ops *kexec_file_loaders[] = {
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
index 22af912..adbfb09 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
@@ -5,7 +5,7 @@
 #include <linux/memblock.h>
 #include <linux/bootmem.h>	/* for max_low_pfn */
 
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 #include <asm/e820.h>
 #include <asm/init.h>
 #include <asm/page.h>
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index 15173d3..7eef172 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -50,7 +50,7 @@
 #include <asm/sections.h>
 #include <asm/kdebug.h>
 #include <asm/numa.h>
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 #include <asm/init.h>
 #include <asm/uv/uv.h>
 #include <asm/setup.h>
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index 7aaa263..8ae010c 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -13,7 +13,7 @@
 #include <linux/vmalloc.h>
 #include <linux/mmiotrace.h>
 
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 #include <asm/e820.h>
 #include <asm/fixmap.h>
 #include <asm/pgtable.h>
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
index 28d4213..bfcdd45 100644
--- a/arch/x86/mm/pageattr.c
+++ b/arch/x86/mm/pageattr.c
@@ -24,6 +24,7 @@
 #include <asm/pgalloc.h>
 #include <asm/proto.h>
 #include <asm/pat.h>
+#include <asm/set_memory.h>
 
 /*
  * The current flushing context - we pass it instead of 5 arguments:
diff --git a/arch/x86/net/bpf_jit_comp.c b/arch/x86/net/bpf_jit_comp.c
index 32322ce..a63e6af 100644
--- a/arch/x86/net/bpf_jit_comp.c
+++ b/arch/x86/net/bpf_jit_comp.c
@@ -12,6 +12,7 @@
 #include <linux/filter.h>
 #include <linux/if_vlan.h>
 #include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 #include <linux/bpf.h>
 
 int bpf_jit_enable __read_mostly;
diff --git a/arch/x86/pci/pcbios.c b/arch/x86/pci/pcbios.c
index 1d97cea..4d510a6 100644
--- a/arch/x86/pci/pcbios.c
+++ b/arch/x86/pci/pcbios.c
@@ -9,7 +9,7 @@
 #include <linux/uaccess.h>
 #include <asm/pci_x86.h>
 #include <asm/pci-functions.h>
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 
 /* BIOS32 signature: "_32_" */
 #define BIOS32_SIGNATURE	(('_' << 0) + ('3' << 8) + ('2' << 16) + ('_' << 24))
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index 565dff3..6867d88 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -48,7 +48,7 @@
 #include <asm/setup.h>
 #include <asm/efi.h>
 #include <asm/time.h>
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 #include <asm/tlbflush.h>
 #include <asm/x86_init.h>
 #include <asm/uv/uv.h>
diff --git a/arch/x86/realmode/init.c b/arch/x86/realmode/init.c
index 5db706f1..a163a90 100644
--- a/arch/x86/realmode/init.c
+++ b/arch/x86/realmode/init.c
@@ -2,7 +2,7 @@
 #include <linux/slab.h>
 #include <linux/memblock.h>
 
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 #include <asm/pgtable.h>
 #include <asm/realmode.h>
 #include <asm/tlbflush.h>
-- 
2.7.4

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

* [PATCHv2 06/14] agp: Use set_memory.h header
  2017-03-02  0:14 [PATCHv2 00/14] set_memory_* functions header refactor Laura Abbott
                   ` (4 preceding siblings ...)
  2017-03-02  0:14 ` [PATCHv2 05/14] x86: " Laura Abbott
@ 2017-03-02  0:14 ` Laura Abbott
  2017-03-02  0:14 ` [PATCHv2 07/14] drm: " Laura Abbott
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 33+ messages in thread
From: Laura Abbott @ 2017-03-02  0:14 UTC (permalink / raw)
  To: David Airlie
  Cc: Laura Abbott, Russell King, Catalin Marinas, Will Deacon,
	Martin Schwidefsky, Heiko Carstens, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, x86, Kees Cook, Mark Rutland, Arnd Bergmann,
	linux-arm-kernel, linux-kernel, linux-s390, linux-arch,
	Alexander Shishkin, Wim Van Sebroeck, Guenter Roeck,
	linux-watchdog, David S. Miller, Daniel Borkmann, Jessica Yu,
	Takashi Iwai, Andrew Morton


set_memory_* functions have moved to set_memory.h. Switch to this
explicitly.

Signed-off-by: Laura Abbott <labbott@redhat.com>
---
 drivers/char/agp/amd-k7-agp.c | 1 +
 drivers/char/agp/ati-agp.c    | 1 +
 drivers/char/agp/generic.c    | 2 +-
 drivers/char/agp/intel-gtt.c  | 1 +
 drivers/char/agp/sworks-agp.c | 1 +
 5 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/char/agp/amd-k7-agp.c b/drivers/char/agp/amd-k7-agp.c
index 3661a51..5fbd333 100644
--- a/drivers/char/agp/amd-k7-agp.c
+++ b/drivers/char/agp/amd-k7-agp.c
@@ -9,6 +9,7 @@
 #include <linux/page-flags.h>
 #include <linux/mm.h>
 #include <linux/slab.h>
+#include <asm/set_memory.h>
 #include "agp.h"
 
 #define AMD_MMBASE_BAR	1
diff --git a/drivers/char/agp/ati-agp.c b/drivers/char/agp/ati-agp.c
index 75a9786..0b5ec7a 100644
--- a/drivers/char/agp/ati-agp.c
+++ b/drivers/char/agp/ati-agp.c
@@ -10,6 +10,7 @@
 #include <linux/slab.h>
 #include <linux/agp_backend.h>
 #include <asm/agp.h>
+#include <asm/set_memory.h>
 #include "agp.h"
 
 #define ATI_GART_MMBASE_BAR	1
diff --git a/drivers/char/agp/generic.c b/drivers/char/agp/generic.c
index f002fa5..c38f38c6 100644
--- a/drivers/char/agp/generic.c
+++ b/drivers/char/agp/generic.c
@@ -39,7 +39,7 @@
 #include <linux/sched.h>
 #include <linux/slab.h>
 #include <asm/io.h>
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 #include <asm/pgtable.h>
 #include "agp.h"
 
diff --git a/drivers/char/agp/intel-gtt.c b/drivers/char/agp/intel-gtt.c
index 9702c78f..9776f28 100644
--- a/drivers/char/agp/intel-gtt.c
+++ b/drivers/char/agp/intel-gtt.c
@@ -25,6 +25,7 @@
 #include "agp.h"
 #include "intel-agp.h"
 #include <drm/intel-gtt.h>
+#include <asm/set_memory.h>
 
 /*
  * If we have Intel graphics, we're not going to have anything other than
diff --git a/drivers/char/agp/sworks-agp.c b/drivers/char/agp/sworks-agp.c
index 9b163b4..03be4ac 100644
--- a/drivers/char/agp/sworks-agp.c
+++ b/drivers/char/agp/sworks-agp.c
@@ -9,6 +9,7 @@
 #include <linux/slab.h>
 #include <linux/jiffies.h>
 #include <linux/agp_backend.h>
+#include <asm/set_memory.h>
 #include "agp.h"
 
 #define SVWRKS_COMMAND		0x04
-- 
2.7.4

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

* [PATCHv2 07/14] drm: Use set_memory.h header
  2017-03-02  0:14 [PATCHv2 00/14] set_memory_* functions header refactor Laura Abbott
                   ` (5 preceding siblings ...)
  2017-03-02  0:14 ` [PATCHv2 06/14] agp: " Laura Abbott
@ 2017-03-02  0:14 ` Laura Abbott
  2017-03-05  1:08   ` kbuild test robot
  2017-03-02  0:15 ` [PATCHv2 08/14] intel_th: " Laura Abbott
                   ` (7 subsequent siblings)
  14 siblings, 1 reply; 33+ messages in thread
From: Laura Abbott @ 2017-03-02  0:14 UTC (permalink / raw)
  To: David Airlie
  Cc: Laura Abbott, Russell King, Catalin Marinas, Will Deacon,
	Martin Schwidefsky, Heiko Carstens, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, x86, Kees Cook, Mark Rutland, Arnd Bergmann,
	linux-arm-kernel, linux-kernel, linux-s390, linux-arch,
	Alexander Shishkin, Wim Van Sebroeck, Guenter Roeck,
	linux-watchdog, David S. Miller, Daniel Borkmann, Jessica Yu,
	Takashi Iwai, Andrew Morton


set_memory_* functions have moved to set_memory.h. Switch to this
explicitly.

Signed-off-by: Laura Abbott <labbott@redhat.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 1 +
 drivers/gpu/drm/gma500/gtt.c             | 1 +
 drivers/gpu/drm/gma500/psb_drv.c         | 1 +
 drivers/gpu/drm/radeon/radeon_gart.c     | 1 +
 drivers/gpu/drm/ttm/ttm_page_alloc.c     | 1 +
 drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 1 +
 drivers/gpu/drm/ttm/ttm_tt.c             | 1 +
 7 files changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
index 964d2a94..2479ccc 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
@@ -27,6 +27,7 @@
  */
 #include <drm/drmP.h>
 #include <drm/amdgpu_drm.h>
+#include <asm/set_memory.h>
 #include "amdgpu.h"
 
 /*
diff --git a/drivers/gpu/drm/gma500/gtt.c b/drivers/gpu/drm/gma500/gtt.c
index 3f4f424..3949b09 100644
--- a/drivers/gpu/drm/gma500/gtt.c
+++ b/drivers/gpu/drm/gma500/gtt.c
@@ -21,6 +21,7 @@
 
 #include <drm/drmP.h>
 #include <linux/shmem_fs.h>
+#include <asm/set_memory.h>
 #include "psb_drv.h"
 #include "blitter.h"
 
diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c
index 5ee93ff..1f9b35a 100644
--- a/drivers/gpu/drm/gma500/psb_drv.c
+++ b/drivers/gpu/drm/gma500/psb_drv.c
@@ -35,6 +35,7 @@
 #include <linux/pm_runtime.h>
 #include <acpi/video.h>
 #include <linux/module.h>
+#include <asm/set_memory.h>
 
 static struct drm_driver driver;
 static int psb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent);
diff --git a/drivers/gpu/drm/radeon/radeon_gart.c b/drivers/gpu/drm/radeon/radeon_gart.c
index c4777c8..dcf8042 100644
--- a/drivers/gpu/drm/radeon/radeon_gart.c
+++ b/drivers/gpu/drm/radeon/radeon_gart.c
@@ -27,6 +27,7 @@
  */
 #include <drm/drmP.h>
 #include <drm/radeon_drm.h>
+#include <asm/set_memory.h>
 #include "radeon.h"
 
 /*
diff --git a/drivers/gpu/drm/ttm/ttm_page_alloc.c b/drivers/gpu/drm/ttm/ttm_page_alloc.c
index a37de5d..04d8b43 100644
--- a/drivers/gpu/drm/ttm/ttm_page_alloc.c
+++ b/drivers/gpu/drm/ttm/ttm_page_alloc.c
@@ -51,6 +51,7 @@
 #if IS_ENABLED(CONFIG_AGP)
 #include <asm/agp.h>
 #endif
+#include <asm/set_memory.h>
 
 #define NUM_PAGES_TO_ALLOC		(PAGE_SIZE/sizeof(struct page *))
 #define SMALL_ALLOCATION		16
diff --git a/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c b/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c
index cec4b4b..d6e4cb7 100644
--- a/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c
+++ b/drivers/gpu/drm/ttm/ttm_page_alloc_dma.c
@@ -53,6 +53,7 @@
 #if IS_ENABLED(CONFIG_AGP)
 #include <asm/agp.h>
 #endif
+#include <asm/set_memory.h>
 
 #define NUM_PAGES_TO_ALLOC		(PAGE_SIZE/sizeof(struct page *))
 #define SMALL_ALLOCATION		4
diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c
index aee3c00..668ae6f 100644
--- a/drivers/gpu/drm/ttm/ttm_tt.c
+++ b/drivers/gpu/drm/ttm/ttm_tt.c
@@ -44,6 +44,7 @@
 #include <drm/ttm/ttm_bo_driver.h>
 #include <drm/ttm/ttm_placement.h>
 #include <drm/ttm/ttm_page_alloc.h>
+#include <asm/set_memory.h>
 
 /**
  * Allocates storage for pointers to the pages that back the ttm.
-- 
2.7.4

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

* [PATCHv2 08/14] intel_th: Use set_memory.h header
  2017-03-02  0:14 [PATCHv2 00/14] set_memory_* functions header refactor Laura Abbott
                   ` (6 preceding siblings ...)
  2017-03-02  0:14 ` [PATCHv2 07/14] drm: " Laura Abbott
@ 2017-03-02  0:15 ` Laura Abbott
  2017-03-02 11:06   ` Alexander Shishkin
  2017-03-02  0:15 ` [PATCHv2 09/14] watchdog: hpwdt: " Laura Abbott
                   ` (6 subsequent siblings)
  14 siblings, 1 reply; 33+ messages in thread
From: Laura Abbott @ 2017-03-02  0:15 UTC (permalink / raw)
  To: Alexander Shishkin
  Cc: Laura Abbott, Russell King, Catalin Marinas, Will Deacon,
	Martin Schwidefsky, Heiko Carstens, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, x86, Kees Cook, Mark Rutland, Arnd Bergmann,
	linux-arm-kernel, linux-kernel, linux-s390, linux-arch,
	David Airlie, Wim Van Sebroeck, Guenter Roeck, linux-watchdog,
	David S. Miller, Daniel Borkmann, Jessica Yu, Takashi Iwai,
	Andrew Morton


set_memory_* functions have moved to set_memory.h. Switch to this
explicitly.

Signed-off-by: Laura Abbott <labbott@redhat.com>
---
 drivers/hwtracing/intel_th/msu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hwtracing/intel_th/msu.c b/drivers/hwtracing/intel_th/msu.c
index e88afe1..f0e36c8 100644
--- a/drivers/hwtracing/intel_th/msu.c
+++ b/drivers/hwtracing/intel_th/msu.c
@@ -27,7 +27,7 @@
 #include <linux/io.h>
 #include <linux/dma-mapping.h>
 
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 
 #include "intel_th.h"
 #include "msu.h"
-- 
2.7.4

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

* [PATCHv2 09/14] watchdog: hpwdt: Use set_memory.h header
  2017-03-02  0:14 [PATCHv2 00/14] set_memory_* functions header refactor Laura Abbott
                   ` (7 preceding siblings ...)
  2017-03-02  0:15 ` [PATCHv2 08/14] intel_th: " Laura Abbott
@ 2017-03-02  0:15 ` Laura Abbott
  2017-03-02 14:48   ` Guenter Roeck
  2017-03-02  0:15 ` [PATCHv2 10/14] bpf: " Laura Abbott
                   ` (5 subsequent siblings)
  14 siblings, 1 reply; 33+ messages in thread
From: Laura Abbott @ 2017-03-02  0:15 UTC (permalink / raw)
  To: Wim Van Sebroeck, Guenter Roeck
  Cc: Laura Abbott, Russell King, Catalin Marinas, Will Deacon,
	Martin Schwidefsky, Heiko Carstens, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, x86, Kees Cook, Mark Rutland, Arnd Bergmann,
	linux-arm-kernel, linux-kernel, linux-s390, linux-arch,
	David Airlie, Alexander Shishkin, linux-watchdog,
	David S. Miller, Daniel Borkmann, Jessica Yu, Takashi Iwai,
	Andrew Morton


set_memory_* functions have moved to set_memory.h. Switch to this
explicitly.

Signed-off-by: Laura Abbott <labbott@redhat.com>
---
 drivers/watchdog/hpwdt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/watchdog/hpwdt.c b/drivers/watchdog/hpwdt.c
index 70c7194..67fbe35 100644
--- a/drivers/watchdog/hpwdt.c
+++ b/drivers/watchdog/hpwdt.c
@@ -34,7 +34,7 @@
 #include <linux/nmi.h>
 #include <linux/kdebug.h>
 #include <linux/notifier.h>
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 #endif /* CONFIG_HPWDT_NMI_DECODING */
 #include <asm/nmi.h>
 #include <asm/frame.h>
-- 
2.7.4

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

* [PATCHv2 10/14] bpf: Use set_memory.h header
  2017-03-02  0:14 [PATCHv2 00/14] set_memory_* functions header refactor Laura Abbott
                   ` (8 preceding siblings ...)
  2017-03-02  0:15 ` [PATCHv2 09/14] watchdog: hpwdt: " Laura Abbott
@ 2017-03-02  0:15 ` Laura Abbott
  2017-03-02 20:26   ` Daniel Borkmann
  2017-03-05  3:01   ` kbuild test robot
  2017-03-02  0:15 ` [PATCHv2 11/14] module: " Laura Abbott
                   ` (4 subsequent siblings)
  14 siblings, 2 replies; 33+ messages in thread
From: Laura Abbott @ 2017-03-02  0:15 UTC (permalink / raw)
  To: David S. Miller, Daniel Borkmann
  Cc: Laura Abbott, Russell King, Catalin Marinas, Will Deacon,
	Martin Schwidefsky, Heiko Carstens, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, x86, Kees Cook, Mark Rutland, Arnd Bergmann,
	linux-arm-kernel, linux-kernel, linux-s390, linux-arch,
	David Airlie, Alexander Shishkin, Wim Van Sebroeck,
	Guenter Roeck, linux-watchdog, Jessica Yu, Takashi Iwai,
	Andrew Morton


set_memory_* functions have moved to set_memory.h. Switch to this
explicitly.

Signed-off-by: Laura Abbott <labbott@redhat.com>
---
 include/linux/filter.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/filter.h b/include/linux/filter.h
index 0c167fd..c2b403f 100644
--- a/include/linux/filter.h
+++ b/include/linux/filter.h
@@ -18,7 +18,7 @@
 
 #include <net/sch_generic.h>
 
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 
 #include <uapi/linux/filter.h>
 #include <uapi/linux/bpf.h>
-- 
2.7.4

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

* [PATCHv2 11/14] module: Use set_memory.h header
  2017-03-02  0:14 [PATCHv2 00/14] set_memory_* functions header refactor Laura Abbott
                   ` (9 preceding siblings ...)
  2017-03-02  0:15 ` [PATCHv2 10/14] bpf: " Laura Abbott
@ 2017-03-02  0:15 ` Laura Abbott
  2017-03-02 17:09   ` Jessica Yu
  2017-03-02  0:15 ` [PATCHv2 12/14] PM / hibernate: " Laura Abbott
                   ` (3 subsequent siblings)
  14 siblings, 1 reply; 33+ messages in thread
From: Laura Abbott @ 2017-03-02  0:15 UTC (permalink / raw)
  To: Jessica Yu
  Cc: Laura Abbott, Russell King, Catalin Marinas, Will Deacon,
	Martin Schwidefsky, Heiko Carstens, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, x86, Kees Cook, Mark Rutland, Arnd Bergmann,
	linux-arm-kernel, linux-kernel, linux-s390, linux-arch,
	David Airlie, Alexander Shishkin, Wim Van Sebroeck,
	Guenter Roeck, linux-watchdog, David S. Miller, Daniel Borkmann,
	Takashi Iwai, Andrew Morton


set_memory_* functions have moved to set_memory.h. Switch to this
explicitly.

Signed-off-by: Laura Abbott <labbott@redhat.com>
---
 kernel/module.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/module.c b/kernel/module.c
index 7eba6de..c0f04b3 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -49,6 +49,7 @@
 #include <linux/rculist.h>
 #include <linux/uaccess.h>
 #include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 #include <asm/mmu_context.h>
 #include <linux/license.h>
 #include <asm/sections.h>
-- 
2.7.4

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

* [PATCHv2 12/14] PM / hibernate: Use set_memory.h header
  2017-03-02  0:14 [PATCHv2 00/14] set_memory_* functions header refactor Laura Abbott
                   ` (10 preceding siblings ...)
  2017-03-02  0:15 ` [PATCHv2 11/14] module: " Laura Abbott
@ 2017-03-02  0:15 ` Laura Abbott
  2017-03-02  0:15 ` [PATCHv2 13/14] ALSA: hda: " Laura Abbott
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 33+ messages in thread
From: Laura Abbott @ 2017-03-02  0:15 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Laura Abbott, Russell King, Catalin Marinas, Will Deacon,
	Martin Schwidefsky, Heiko Carstens, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, x86, Kees Cook, Mark Rutland, Arnd Bergmann,
	linux-arm-kernel, linux-kernel, linux-s390, linux-arch,
	David Airlie, Alexander Shishkin, Wim Van Sebroeck,
	Guenter Roeck, linux-watchdog, David S. Miller, Daniel Borkmann,
	Jessica Yu, Takashi Iwai


set_memory_* functions have moved to set_memory.h. Switch to this
explicitly.

Signed-off-by: Laura Abbott <labbott@redhat.com>
---
 kernel/power/snapshot.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/power/snapshot.c b/kernel/power/snapshot.c
index 905d5bb..4302815 100644
--- a/kernel/power/snapshot.c
+++ b/kernel/power/snapshot.c
@@ -35,6 +35,7 @@
 #include <asm/pgtable.h>
 #include <asm/tlbflush.h>
 #include <asm/io.h>
+#include <asm/set_memory.h>
 
 #include "power.h"
 
-- 
2.7.4

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

* [PATCHv2 13/14] ALSA: hda: Use set_memory.h header
  2017-03-02  0:14 [PATCHv2 00/14] set_memory_* functions header refactor Laura Abbott
                   ` (11 preceding siblings ...)
  2017-03-02  0:15 ` [PATCHv2 12/14] PM / hibernate: " Laura Abbott
@ 2017-03-02  0:15 ` Laura Abbott
  2017-03-02  0:15 ` [PATCHv2 14/14] treewide: Decouple cacheflush.h and set_memory.h Laura Abbott
  2017-03-02  7:34 ` [PATCHv2 00/14] set_memory_* functions header refactor Heiko Carstens
  14 siblings, 0 replies; 33+ messages in thread
From: Laura Abbott @ 2017-03-02  0:15 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Laura Abbott, Russell King, Catalin Marinas, Will Deacon,
	Martin Schwidefsky, Heiko Carstens, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, x86, Kees Cook, Mark Rutland, Arnd Bergmann,
	linux-arm-kernel, linux-kernel, linux-s390, linux-arch,
	David Airlie, Alexander Shishkin, Wim Van Sebroeck,
	Guenter Roeck, linux-watchdog, David S. Miller, Daniel Borkmann,
	Jessica Yu, Andrew Morton


set_memory_* functions have moved to set_memory.h. Switch to this
explicitly.

Signed-off-by: Laura Abbott <labbott@redhat.com>
---
 sound/pci/hda/hda_intel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 16108f0e..e3d8756 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -53,7 +53,7 @@
 #ifdef CONFIG_X86
 /* for snoop control */
 #include <asm/pgtable.h>
-#include <asm/cacheflush.h>
+#include <asm/set_memory.h>
 #include <asm/cpufeature.h>
 #endif
 #include <sound/core.h>
-- 
2.7.4

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

* [PATCHv2 14/14] treewide: Decouple cacheflush.h and set_memory.h
  2017-03-02  0:14 [PATCHv2 00/14] set_memory_* functions header refactor Laura Abbott
                   ` (12 preceding siblings ...)
  2017-03-02  0:15 ` [PATCHv2 13/14] ALSA: hda: " Laura Abbott
@ 2017-03-02  0:15 ` Laura Abbott
  2017-03-02 12:06   ` Russell King - ARM Linux
                     ` (4 more replies)
  2017-03-02  7:34 ` [PATCHv2 00/14] set_memory_* functions header refactor Heiko Carstens
  14 siblings, 5 replies; 33+ messages in thread
From: Laura Abbott @ 2017-03-02  0:15 UTC (permalink / raw)
  To: Russell King, Catalin Marinas, Will Deacon, Martin Schwidefsky,
	Heiko Carstens, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Kees Cook, Mark Rutland, Arnd Bergmann, David Airlie,
	Alexander Shishkin, Wim Van Sebroeck, Guenter Roeck,
	linux-watchdog, David S. Miller, Daniel Borkmann, Jessica Yu,
	Takashi Iwai, Andrew Morton
  Cc: Laura Abbott, x86, linux-arm-kernel, linux-kernel, linux-s390,
	linux-arch


Now that all call sites, completely decouple cacheflush.h and
set_memory.h

Signed-off-by: Laura Abbott <labbott@redhat.com>
---
 arch/arm/include/asm/cacheflush.h   | 1 -
 arch/arm64/include/asm/cacheflush.h | 1 -
 arch/s390/include/asm/Kbuild        | 1 +
 arch/s390/include/asm/cacheflush.h  | 8 --------
 arch/x86/include/asm/cacheflush.h   | 1 -
 5 files changed, 1 insertion(+), 11 deletions(-)
 delete mode 100644 arch/s390/include/asm/cacheflush.h

diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h
index 1cb9d11..d69bebf 100644
--- a/arch/arm/include/asm/cacheflush.h
+++ b/arch/arm/include/asm/cacheflush.h
@@ -16,7 +16,6 @@
 #include <asm/shmparam.h>
 #include <asm/cachetype.h>
 #include <asm/outercache.h>
-#include <asm/set_memory.h>
 
 #define CACHE_COLOUR(vaddr)	((vaddr & (SHMLBA - 1)) >> PAGE_SHIFT)
 
diff --git a/arch/arm64/include/asm/cacheflush.h b/arch/arm64/include/asm/cacheflush.h
index 7db6962..5812469 100644
--- a/arch/arm64/include/asm/cacheflush.h
+++ b/arch/arm64/include/asm/cacheflush.h
@@ -20,7 +20,6 @@
 #define __ASM_CACHEFLUSH_H
 
 #include <linux/mm.h>
-#include <asm/set_memory.h>
 
 /*
  * This flag is used to indicate that the page pointed to by a pte is clean
diff --git a/arch/s390/include/asm/Kbuild b/arch/s390/include/asm/Kbuild
index 8aea32f..c0a7057 100644
--- a/arch/s390/include/asm/Kbuild
+++ b/arch/s390/include/asm/Kbuild
@@ -1,4 +1,5 @@
 generic-y += asm-offsets.h
+generic-y += cacheflush.h
 generic-y += clkdev.h
 generic-y += dma-contiguous.h
 generic-y += export.h
diff --git a/arch/s390/include/asm/cacheflush.h b/arch/s390/include/asm/cacheflush.h
deleted file mode 100644
index afe2965..0000000
--- a/arch/s390/include/asm/cacheflush.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _S390_CACHEFLUSH_H
-#define _S390_CACHEFLUSH_H
-
-/* Caches aren't brain-dead on the s390. */
-#include <asm-generic/cacheflush.h>
-#include <asm/set_memory.h>
-
-#endif /* _S390_CACHEFLUSH_H */
diff --git a/arch/x86/include/asm/cacheflush.h b/arch/x86/include/asm/cacheflush.h
index 3d7db6f..8b4140f 100644
--- a/arch/x86/include/asm/cacheflush.h
+++ b/arch/x86/include/asm/cacheflush.h
@@ -4,7 +4,6 @@
 /* Caches aren't brain-dead on the intel. */
 #include <asm-generic/cacheflush.h>
 #include <asm/special_insns.h>
-#include <asm/set_memory.h>
 
 void clflush_cache_range(void *addr, unsigned int size);
 
-- 
2.7.4

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

* Re: [PATCHv2 00/14] set_memory_* functions header refactor
  2017-03-02  0:14 [PATCHv2 00/14] set_memory_* functions header refactor Laura Abbott
                   ` (13 preceding siblings ...)
  2017-03-02  0:15 ` [PATCHv2 14/14] treewide: Decouple cacheflush.h and set_memory.h Laura Abbott
@ 2017-03-02  7:34 ` Heiko Carstens
  14 siblings, 0 replies; 33+ messages in thread
From: Heiko Carstens @ 2017-03-02  7:34 UTC (permalink / raw)
  To: Laura Abbott
  Cc: Russell King, Catalin Marinas, Will Deacon, Martin Schwidefsky,
	Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Kees Cook,
	Mark Rutland, Arnd Bergmann, David Airlie, Alexander Shishkin,
	Wim Van Sebroeck, Guenter Roeck, linux-watchdog, David S. Miller,
	Daniel Borkmann, Jessica Yu, Takashi Iwai, Andrew Morton, x86,
	linux-arm-kernel, linux-kernel, linux-s390, linux-arch

On Wed, Mar 01, 2017 at 04:14:52PM -0800, Laura Abbott wrote:
> Hi,
> 
> This is v2 of my proposal to move set_memory_* function prototypes out of
> cacheflush.h and into their own header file. This came out of a comment
> Russell made while reviewing RODATA test cases
> http://lists.infradead.org/pipermail/linux-arm-kernel/2017-January/480855.html
> While the final result of that series was the rodata code was refactored into
> its own header file, the set_memory_* APIs are still out of place.
> 
> This version refactored the common set_memory_* functions into an asm-generic
> header. s390x added some features so it can't just use the asm-generic header.
> I debated how much more to try and shove into the asm-generic version (e.g.
> stub prototypes for the ARM nommu case, set_kernel_text_*) but decided to stick
> with just the basics for this version.
> 
> I split out the cacheflush.h -> set_memory.h conversions into separate patches
> to hopefully make merging easier. Worst case, the final patch to completely
> separate the two can be delayed if there are more problems found. I'd like
> for this to eventually go through the -mm tree so I'd like Acks where
> appropriate.
> 
> As always, feedback appreciated.

For the s390 bits:
Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>

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

* Re: [PATCHv2 05/14] x86: Use set_memory.h header
  2017-03-02  0:14 ` [PATCHv2 05/14] x86: " Laura Abbott
@ 2017-03-02  8:01   ` Ingo Molnar
  0 siblings, 0 replies; 33+ messages in thread
From: Ingo Molnar @ 2017-03-02  8:01 UTC (permalink / raw)
  To: Laura Abbott
  Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Russell King,
	Catalin Marinas, Will Deacon, Martin Schwidefsky, Heiko Carstens,
	x86, Kees Cook, Mark Rutland, Arnd Bergmann, linux-arm-kernel,
	linux-kernel, linux-s390, linux-arch, David Airlie,
	Alexander Shishkin, Wim Van Sebroeck, Guenter Roeck,
	linux-watchdog, David S. Miller, Daniel Borkmann, Jessica Yu,
	Takashi Iwai, Andrew Morton


* Laura Abbott <labbott@redhat.com> wrote:

> 
> set_memory_* functions have moved to set_memory.h. Switch to this
> explicitly.
> 
> Signed-off-by: Laura Abbott <labbott@redhat.com>
> ---
>  arch/x86/kernel/amd_gart_64.c      | 2 +-
>  arch/x86/kernel/cpu/amd.c          | 2 +-
>  arch/x86/kernel/cpu/bugs.c         | 2 +-
>  arch/x86/kernel/ftrace.c           | 2 +-
>  arch/x86/kernel/machine_kexec_64.c | 1 +
>  arch/x86/mm/init.c                 | 2 +-
>  arch/x86/mm/init_64.c              | 2 +-
>  arch/x86/mm/ioremap.c              | 2 +-
>  arch/x86/mm/pageattr.c             | 1 +
>  arch/x86/net/bpf_jit_comp.c        | 1 +
>  arch/x86/pci/pcbios.c              | 2 +-
>  arch/x86/platform/efi/efi.c        | 2 +-
>  arch/x86/realmode/init.c           | 2 +-
>  13 files changed, 13 insertions(+), 10 deletions(-)

Acked-by: Ingo Molnar <mingo@kernel.org>

Thanks,

	Ingo

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

* Re: [PATCHv2 08/14] intel_th: Use set_memory.h header
  2017-03-02  0:15 ` [PATCHv2 08/14] intel_th: " Laura Abbott
@ 2017-03-02 11:06   ` Alexander Shishkin
  0 siblings, 0 replies; 33+ messages in thread
From: Alexander Shishkin @ 2017-03-02 11:06 UTC (permalink / raw)
  To: Laura Abbott
  Cc: Laura Abbott, Russell King, Catalin Marinas, Will Deacon,
	Martin Schwidefsky, Heiko Carstens, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, x86, Kees Cook, Mark Rutland, Arnd Bergmann,
	linux-arm-kernel, linux-kernel, linux-s390, linux-arch,
	David Airlie, Wim Van Sebroeck, Guenter Roeck, linux-watchdog,
	David S. Miller, Daniel Borkmann, Jessica Yu, Takashi Iwai,
	Andrew Morton

Laura Abbott <labbott@redhat.com> writes:

> set_memory_* functions have moved to set_memory.h. Switch to this
> explicitly.
>
> Signed-off-by: Laura Abbott <labbott@redhat.com>

Acked-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>

Thanks,
--
Alex

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

* Re: [PATCHv2 02/14] arm: Use set_memory.h header
  2017-03-02  0:14 ` [PATCHv2 02/14] arm: Use set_memory.h header Laura Abbott
@ 2017-03-02 12:01   ` Russell King - ARM Linux
  0 siblings, 0 replies; 33+ messages in thread
From: Russell King - ARM Linux @ 2017-03-02 12:01 UTC (permalink / raw)
  To: Laura Abbott
  Cc: Mark Rutland, David Airlie, Catalin Marinas, Heiko Carstens,
	Takashi Iwai, Wim Van Sebroeck, H. Peter Anvin, linux-watchdog,
	linux-arch, linux-s390, Jessica Yu, Daniel Borkmann, x86,
	Alexander Shishkin, Ingo Molnar, Guenter Roeck, Kees Cook,
	Arnd Bergmann, Will Deacon, Thomas Gleixner, linux-arm-kernel,
	linux-kernel, Martin Schwidefsky, Andrew Morton, David S. Miller

On Wed, Mar 01, 2017 at 04:14:54PM -0800, Laura Abbott wrote:
> 
> set_memory_* functions have moved to set_memory.h. Switch to this
> explicitly
> 
> Signed-off-by: Laura Abbott <labbott@redhat.com>

Acked-by: Russell King <rmk+kernel@armlinux.org.uk>

Thanks for doing this Laura.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

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

* Re: [PATCHv2 14/14] treewide: Decouple cacheflush.h and set_memory.h
  2017-03-02  0:15 ` [PATCHv2 14/14] treewide: Decouple cacheflush.h and set_memory.h Laura Abbott
@ 2017-03-02 12:06   ` Russell King - ARM Linux
  2017-03-02 14:12   ` Mark Rutland
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 33+ messages in thread
From: Russell King - ARM Linux @ 2017-03-02 12:06 UTC (permalink / raw)
  To: Laura Abbott
  Cc: Catalin Marinas, Will Deacon, Martin Schwidefsky, Heiko Carstens,
	Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Kees Cook,
	Mark Rutland, Arnd Bergmann, David Airlie, Alexander Shishkin,
	Wim Van Sebroeck, Guenter Roeck, linux-watchdog, David S. Miller,
	Daniel Borkmann, Jessica Yu, Takashi Iwai, Andrew Morton, x86,
	linux-arm-kernel, linux-kernel, linux-s390, linux-arch

On Wed, Mar 01, 2017 at 04:15:06PM -0800, Laura Abbott wrote:
> diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h
> index 1cb9d11..d69bebf 100644
> --- a/arch/arm/include/asm/cacheflush.h
> +++ b/arch/arm/include/asm/cacheflush.h
> @@ -16,7 +16,6 @@
>  #include <asm/shmparam.h>
>  #include <asm/cachetype.h>
>  #include <asm/outercache.h>
> -#include <asm/set_memory.h>
>  
>  #define CACHE_COLOUR(vaddr)	((vaddr & (SHMLBA - 1)) >> PAGE_SHIFT)
>  

Acked-by: Russell King <rmk+kernel@armlinux.org.uk>

Thanks.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

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

* Re: [PATCHv2 01/14] treewide: Move set_memory_* functions away from cacheflush.h
  2017-03-02  0:14 ` [PATCHv2 01/14] treewide: Move set_memory_* functions away from cacheflush.h Laura Abbott
@ 2017-03-02 12:07   ` Russell King - ARM Linux
  2017-03-02 14:11   ` Mark Rutland
  1 sibling, 0 replies; 33+ messages in thread
From: Russell King - ARM Linux @ 2017-03-02 12:07 UTC (permalink / raw)
  To: Laura Abbott
  Cc: Catalin Marinas, Will Deacon, Martin Schwidefsky, Heiko Carstens,
	Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Kees Cook,
	Mark Rutland, Arnd Bergmann, David Airlie, Alexander Shishkin,
	Wim Van Sebroeck, Guenter Roeck, linux-watchdog, David S. Miller,
	Daniel Borkmann, Jessica Yu, Takashi Iwai, Andrew Morton,
	linux-arch, linux-s390, x86, linux-kernel, linux-arm-kernel

On Wed, Mar 01, 2017 at 04:14:53PM -0800, Laura Abbott wrote:
> diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h
> index 02454fa..1cb9d11 100644
> --- a/arch/arm/include/asm/cacheflush.h
> +++ b/arch/arm/include/asm/cacheflush.h
> @@ -16,6 +16,7 @@
>  #include <asm/shmparam.h>
>  #include <asm/cachetype.h>
>  #include <asm/outercache.h>
> +#include <asm/set_memory.h>
>  
>  #define CACHE_COLOUR(vaddr)	((vaddr & (SHMLBA - 1)) >> PAGE_SHIFT)
>  
> @@ -478,26 +479,6 @@ static inline void __sync_cache_range_r(volatile void *p, size_t size)
>  	: : : "r0","r1","r2","r3","r4","r5","r6","r7", \
>  	      "r9","r10","lr","memory" )
>  
> -#ifdef CONFIG_MMU
> -int set_memory_ro(unsigned long addr, int numpages);
> -int set_memory_rw(unsigned long addr, int numpages);
> -int set_memory_x(unsigned long addr, int numpages);
> -int set_memory_nx(unsigned long addr, int numpages);
> -#else
> -static inline int set_memory_ro(unsigned long addr, int numpages) { return 0; }
> -static inline int set_memory_rw(unsigned long addr, int numpages) { return 0; }
> -static inline int set_memory_x(unsigned long addr, int numpages) { return 0; }
> -static inline int set_memory_nx(unsigned long addr, int numpages) { return 0; }
> -#endif
> -
> -#ifdef CONFIG_STRICT_KERNEL_RWX
> -void set_kernel_text_rw(void);
> -void set_kernel_text_ro(void);
> -#else
> -static inline void set_kernel_text_rw(void) { }
> -static inline void set_kernel_text_ro(void) { }
> -#endif
> -
>  void flush_uprobe_xol_access(struct page *page, unsigned long uaddr,
>  			     void *kaddr, unsigned long len);
>  
> diff --git a/arch/arm/include/asm/set_memory.h b/arch/arm/include/asm/set_memory.h
> new file mode 100644
> index 0000000..5aa4315
> --- /dev/null
> +++ b/arch/arm/include/asm/set_memory.h
> @@ -0,0 +1,32 @@
> +/*
> + * Copyright (C) 1999-2002 Russell King
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +
> +#ifndef _ASMARM_SET_MEMORY_H
> +#define _ASMARM_SET_MEMORY_H
> +
> +#ifdef CONFIG_MMU
> +int set_memory_ro(unsigned long addr, int numpages);
> +int set_memory_rw(unsigned long addr, int numpages);
> +int set_memory_x(unsigned long addr, int numpages);
> +int set_memory_nx(unsigned long addr, int numpages);
> +#else
> +static inline int set_memory_ro(unsigned long addr, int numpages) { return 0; }
> +static inline int set_memory_rw(unsigned long addr, int numpages) { return 0; }
> +static inline int set_memory_x(unsigned long addr, int numpages) { return 0; }
> +static inline int set_memory_nx(unsigned long addr, int numpages) { return 0; }
> +#endif
> +
> +#ifdef CONFIG_STRICT_KERNEL_RWX
> +void set_kernel_text_rw(void);
> +void set_kernel_text_ro(void);
> +#else
> +static inline void set_kernel_text_rw(void) { }
> +static inline void set_kernel_text_ro(void) { }
> +#endif
> +
> +#endif

Acked-by: Russell King <rmk+kernel@armlinux.org.uk>

Thanks.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

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

* Re: [PATCHv2 03/14] arm64: Use set_memory.h header
  2017-03-02  0:14 ` [PATCHv2 03/14] arm64: " Laura Abbott
@ 2017-03-02 14:07   ` Mark Rutland
  2017-03-02 15:06   ` Catalin Marinas
  1 sibling, 0 replies; 33+ messages in thread
From: Mark Rutland @ 2017-03-02 14:07 UTC (permalink / raw)
  To: Laura Abbott
  Cc: Catalin Marinas, Will Deacon, Russell King, Martin Schwidefsky,
	Heiko Carstens, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	x86, Kees Cook, Arnd Bergmann, linux-arm-kernel, linux-kernel,
	linux-s390, linux-arch, David Airlie, Alexander Shishkin,
	Wim Van Sebroeck, Guenter Roeck, linux-watchdog, David S. Miller,
	Daniel Borkmann, Jessica Yu, Takashi Iwai, Andrew Morton

On Wed, Mar 01, 2017 at 04:14:55PM -0800, Laura Abbott wrote:
> 
> The set_memory_* functions have moved to set_memory.h. Use that header
> explicitly.
> 
> Signed-off-by: Laura Abbott <labbott@redhat.com>
> ---
>  arch/arm64/mm/pageattr.c      | 1 +
>  arch/arm64/net/bpf_jit_comp.c | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/arch/arm64/mm/pageattr.c b/arch/arm64/mm/pageattr.c
> index 8def55e..12ab86d 100644
> --- a/arch/arm64/mm/pageattr.c
> +++ b/arch/arm64/mm/pageattr.c
> @@ -18,6 +18,7 @@
>  
>  #include <asm/pgtable.h>
>  #include <asm/tlbflush.h>
> +#include <asm/set_memory.h>

Nit: alphabetical order, please.

>  
>  struct page_change_data {
>  	pgprot_t set_mask;
> diff --git a/arch/arm64/net/bpf_jit_comp.c b/arch/arm64/net/bpf_jit_comp.c
> index a785554..84e4a91 100644
> --- a/arch/arm64/net/bpf_jit_comp.c
> +++ b/arch/arm64/net/bpf_jit_comp.c
> @@ -26,6 +26,7 @@
>  
>  #include <asm/byteorder.h>
>  #include <asm/cacheflush.h>
> +#include <asm/set_memory.h>
>  #include <asm/debug-monitors.h>

Nit: likewise.

Otherwise, this looks fine to me. FWIW:

Acked-by: Mark Rutland <mark.rutland@arm.com>

Mark.

>  
>  #include "bpf_jit.h"
> -- 
> 2.7.4
> 

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

* Re: [PATCHv2 01/14] treewide: Move set_memory_* functions away from cacheflush.h
  2017-03-02  0:14 ` [PATCHv2 01/14] treewide: Move set_memory_* functions away from cacheflush.h Laura Abbott
  2017-03-02 12:07   ` Russell King - ARM Linux
@ 2017-03-02 14:11   ` Mark Rutland
  1 sibling, 0 replies; 33+ messages in thread
From: Mark Rutland @ 2017-03-02 14:11 UTC (permalink / raw)
  To: Laura Abbott
  Cc: Russell King, Catalin Marinas, Will Deacon, Martin Schwidefsky,
	Heiko Carstens, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Kees Cook, Arnd Bergmann, David Airlie, Alexander Shishkin,
	Wim Van Sebroeck, Guenter Roeck, linux-watchdog, David S. Miller,
	Daniel Borkmann, Jessica Yu, Takashi Iwai, Andrew Morton, x86,
	linux-arm-kernel, linux-kernel, linux-s390, linux-arch

On Wed, Mar 01, 2017 at 04:14:53PM -0800, Laura Abbott wrote:
> diff --git a/arch/arm64/include/asm/Kbuild b/arch/arm64/include/asm/Kbuild
> index a12f1af..e419965 100644
> --- a/arch/arm64/include/asm/Kbuild
> +++ b/arch/arm64/include/asm/Kbuild
> @@ -27,6 +27,7 @@ generic-y += preempt.h
>  generic-y += resource.h
>  generic-y += rwsem.h
>  generic-y += segment.h
> +generic-y += set_memory.h
>  generic-y += sembuf.h
>  generic-y += serial.h

Nit: alphabetical order, please.

>  generic-y += shmbuf.h
> diff --git a/arch/arm64/include/asm/cacheflush.h b/arch/arm64/include/asm/cacheflush.h
> index 5a2a6ee..7db6962 100644
> --- a/arch/arm64/include/asm/cacheflush.h
> +++ b/arch/arm64/include/asm/cacheflush.h
> @@ -20,6 +20,7 @@
>  #define __ASM_CACHEFLUSH_H
>  
>  #include <linux/mm.h>
> +#include <asm/set_memory.h>
>  
>  /*
>   * This flag is used to indicate that the page pointed to by a pte is clean
> @@ -150,9 +151,4 @@ static inline void flush_cache_vunmap(unsigned long start, unsigned long end)
>  {
>  }
>  
> -int set_memory_ro(unsigned long addr, int numpages);
> -int set_memory_rw(unsigned long addr, int numpages);
> -int set_memory_x(unsigned long addr, int numpages);
> -int set_memory_nx(unsigned long addr, int numpages);
> -
>  #endif

> diff --git a/include/asm-generic/set_memory.h b/include/asm-generic/set_memory.h
> new file mode 100644
> index 0000000..83e81f8
> --- /dev/null
> +++ b/include/asm-generic/set_memory.h
> @@ -0,0 +1,12 @@
> +#ifndef __ASM_SET_MEMORY_H
> +#define __ASM_SET_MEMORY_H
> +
> +/*
> + * Functions to change memory attributes.
> + */
> +int set_memory_ro(unsigned long addr, int numpages);
> +int set_memory_rw(unsigned long addr, int numpages);
> +int set_memory_x(unsigned long addr, int numpages);
> +int set_memory_nx(unsigned long addr, int numpages);
> +
> +#endif

Otherwise, this looks fine to me. FWIW:

Acked-by: Mark Rutland <mark.rutland@arm.com>

Thanks,
Mark.

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

* Re: [PATCHv2 14/14] treewide: Decouple cacheflush.h and set_memory.h
  2017-03-02  0:15 ` [PATCHv2 14/14] treewide: Decouple cacheflush.h and set_memory.h Laura Abbott
  2017-03-02 12:06   ` Russell King - ARM Linux
@ 2017-03-02 14:12   ` Mark Rutland
  2017-03-02 15:05   ` Catalin Marinas
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 33+ messages in thread
From: Mark Rutland @ 2017-03-02 14:12 UTC (permalink / raw)
  To: Laura Abbott
  Cc: Russell King, Catalin Marinas, Will Deacon, Martin Schwidefsky,
	Heiko Carstens, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Kees Cook, Arnd Bergmann, David Airlie, Alexander Shishkin,
	Wim Van Sebroeck, Guenter Roeck, linux-watchdog, David S. Miller,
	Daniel Borkmann, Jessica Yu, Takashi Iwai, Andrew Morton, x86,
	linux-arm-kernel, linux-kernel, linux-s390, linux-arch

On Wed, Mar 01, 2017 at 04:15:06PM -0800, Laura Abbott wrote:
> 
> Now that all call sites, completely decouple cacheflush.h and
> set_memory.h
> 
> Signed-off-by: Laura Abbott <labbott@redhat.com>
> ---
>  arch/arm/include/asm/cacheflush.h   | 1 -
>  arch/arm64/include/asm/cacheflush.h | 1 -
>  arch/s390/include/asm/Kbuild        | 1 +
>  arch/s390/include/asm/cacheflush.h  | 8 --------
>  arch/x86/include/asm/cacheflush.h   | 1 -
>  5 files changed, 1 insertion(+), 11 deletions(-)
>  delete mode 100644 arch/s390/include/asm/cacheflush.h
> 
> diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h
> index 1cb9d11..d69bebf 100644
> --- a/arch/arm/include/asm/cacheflush.h
> +++ b/arch/arm/include/asm/cacheflush.h
> @@ -16,7 +16,6 @@
>  #include <asm/shmparam.h>
>  #include <asm/cachetype.h>
>  #include <asm/outercache.h>
> -#include <asm/set_memory.h>

Acked-by: Mark Rutland <mark.rutland@arm.com>

Thanks,
Mark.

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

* Re: [PATCHv2 09/14] watchdog: hpwdt: Use set_memory.h header
  2017-03-02  0:15 ` [PATCHv2 09/14] watchdog: hpwdt: " Laura Abbott
@ 2017-03-02 14:48   ` Guenter Roeck
  0 siblings, 0 replies; 33+ messages in thread
From: Guenter Roeck @ 2017-03-02 14:48 UTC (permalink / raw)
  To: Laura Abbott, Wim Van Sebroeck
  Cc: Russell King, Catalin Marinas, Will Deacon, Martin Schwidefsky,
	Heiko Carstens, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	x86, Kees Cook, Mark Rutland, Arnd Bergmann, linux-arm-kernel,
	linux-kernel, linux-s390, linux-arch, David Airlie,
	Alexander Shishkin, linux-watchdog, David S. Miller,
	Daniel Borkmann, Jessica Yu, Takashi Iwai, Andrew Morton

On 03/01/2017 04:15 PM, Laura Abbott wrote:
> set_memory_* functions have moved to set_memory.h. Switch to this
> explicitly.
>
> Signed-off-by: Laura Abbott <labbott@redhat.com>

Acked-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  drivers/watchdog/hpwdt.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/watchdog/hpwdt.c b/drivers/watchdog/hpwdt.c
> index 70c7194..67fbe35 100644
> --- a/drivers/watchdog/hpwdt.c
> +++ b/drivers/watchdog/hpwdt.c
> @@ -34,7 +34,7 @@
>  #include <linux/nmi.h>
>  #include <linux/kdebug.h>
>  #include <linux/notifier.h>
> -#include <asm/cacheflush.h>
> +#include <asm/set_memory.h>
>  #endif /* CONFIG_HPWDT_NMI_DECODING */
>  #include <asm/nmi.h>
>  #include <asm/frame.h>
>

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

* Re: [PATCHv2 14/14] treewide: Decouple cacheflush.h and set_memory.h
  2017-03-02  0:15 ` [PATCHv2 14/14] treewide: Decouple cacheflush.h and set_memory.h Laura Abbott
  2017-03-02 12:06   ` Russell King - ARM Linux
  2017-03-02 14:12   ` Mark Rutland
@ 2017-03-02 15:05   ` Catalin Marinas
  2017-03-04 22:57   ` kbuild test robot
  2017-03-05  0:03   ` kbuild test robot
  4 siblings, 0 replies; 33+ messages in thread
From: Catalin Marinas @ 2017-03-02 15:05 UTC (permalink / raw)
  To: Laura Abbott
  Cc: Russell King, Will Deacon, Martin Schwidefsky, Heiko Carstens,
	Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Kees Cook,
	Mark Rutland, Arnd Bergmann, David Airlie, Alexander Shishkin,
	Wim Van Sebroeck, Guenter Roeck, linux-watchdog, David S. Miller,
	Daniel Borkmann, Jessica Yu, Takashi Iwai, Andrew Morton,
	linux-arch, linux-s390, x86, linux-kernel, linux-arm-kernel

On Wed, Mar 01, 2017 at 04:15:06PM -0800, Laura Abbott wrote:
> Now that all call sites, completely decouple cacheflush.h and
> set_memory.h
> 
> Signed-off-by: Laura Abbott <labbott@redhat.com>

For arm64:

Acked-by: Catalin Marinas <catalin.marinas@arm.com>

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

* Re: [PATCHv2 03/14] arm64: Use set_memory.h header
  2017-03-02  0:14 ` [PATCHv2 03/14] arm64: " Laura Abbott
  2017-03-02 14:07   ` Mark Rutland
@ 2017-03-02 15:06   ` Catalin Marinas
  1 sibling, 0 replies; 33+ messages in thread
From: Catalin Marinas @ 2017-03-02 15:06 UTC (permalink / raw)
  To: Laura Abbott
  Cc: Will Deacon, Mark Rutland, David Airlie, Heiko Carstens,
	Takashi Iwai, Wim Van Sebroeck, H. Peter Anvin, linux-watchdog,
	linux-arch, linux-s390, Jessica Yu, Daniel Borkmann, x86,
	Russell King, Alexander Shishkin, Ingo Molnar, Guenter Roeck,
	Kees Cook, Arnd Bergmann, Thomas Gleixner, linux-arm-kernel,
	linux-kernel, Martin Schwidefsky, Andrew Morton, David S. Miller

On Wed, Mar 01, 2017 at 04:14:55PM -0800, Laura Abbott wrote:
> The set_memory_* functions have moved to set_memory.h. Use that header
> explicitly.
> 
> Signed-off-by: Laura Abbott <labbott@redhat.com>

Acked-by: Catalin Marinas <catalin.marinas@arm.com>

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

* Re: [PATCHv2 11/14] module: Use set_memory.h header
  2017-03-02  0:15 ` [PATCHv2 11/14] module: " Laura Abbott
@ 2017-03-02 17:09   ` Jessica Yu
  0 siblings, 0 replies; 33+ messages in thread
From: Jessica Yu @ 2017-03-02 17:09 UTC (permalink / raw)
  To: Laura Abbott
  Cc: Russell King, Catalin Marinas, Will Deacon, Martin Schwidefsky,
	Heiko Carstens, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	x86, Kees Cook, Mark Rutland, Arnd Bergmann, linux-arm-kernel,
	linux-kernel, linux-s390, linux-arch, David Airlie,
	Alexander Shishkin, Wim Van Sebroeck, Guenter Roeck,
	linux-watchdog, David S. Miller, Daniel Borkmann, Takashi Iwai,
	Andrew Morton

+++ Laura Abbott [01/03/17 16:15 -0800]:
>
>set_memory_* functions have moved to set_memory.h. Switch to this
>explicitly.
>
>Signed-off-by: Laura Abbott <labbott@redhat.com>

Acked-by: Jessica Yu <jeyu@redhat.com>

Thanks,

Jessica

>---
> kernel/module.c | 1 +
> 1 file changed, 1 insertion(+)
>
>diff --git a/kernel/module.c b/kernel/module.c
>index 7eba6de..c0f04b3 100644
>--- a/kernel/module.c
>+++ b/kernel/module.c
>@@ -49,6 +49,7 @@
> #include <linux/rculist.h>
> #include <linux/uaccess.h>
> #include <asm/cacheflush.h>
>+#include <asm/set_memory.h>
> #include <asm/mmu_context.h>
> #include <linux/license.h>
> #include <asm/sections.h>
>-- 
>2.7.4
>

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

* Re: [PATCHv2 10/14] bpf: Use set_memory.h header
  2017-03-02  0:15 ` [PATCHv2 10/14] bpf: " Laura Abbott
@ 2017-03-02 20:26   ` Daniel Borkmann
  2017-03-05  3:01   ` kbuild test robot
  1 sibling, 0 replies; 33+ messages in thread
From: Daniel Borkmann @ 2017-03-02 20:26 UTC (permalink / raw)
  To: Laura Abbott, David S. Miller
  Cc: Russell King, Catalin Marinas, Will Deacon, Martin Schwidefsky,
	Heiko Carstens, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	x86, Kees Cook, Mark Rutland, Arnd Bergmann, linux-arm-kernel,
	linux-kernel, linux-s390, linux-arch, David Airlie,
	Alexander Shishkin, Wim Van Sebroeck, Guenter Roeck,
	linux-watchdog, Jessica Yu, Takashi Iwai, Andrew Morton

On 03/02/2017 01:15 AM, Laura Abbott wrote:
> set_memory_* functions have moved to set_memory.h. Switch to this
> explicitly.
>
> Signed-off-by: Laura Abbott <labbott@redhat.com>

Acked-by: Daniel Borkmann <daniel@iogearbox.net>

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

* Re: [PATCHv2 14/14] treewide: Decouple cacheflush.h and set_memory.h
  2017-03-02  0:15 ` [PATCHv2 14/14] treewide: Decouple cacheflush.h and set_memory.h Laura Abbott
                     ` (2 preceding siblings ...)
  2017-03-02 15:05   ` Catalin Marinas
@ 2017-03-04 22:57   ` kbuild test robot
  2017-03-05  0:03   ` kbuild test robot
  4 siblings, 0 replies; 33+ messages in thread
From: kbuild test robot @ 2017-03-04 22:57 UTC (permalink / raw)
  To: Laura Abbott
  Cc: kbuild-all, Russell King, Catalin Marinas, Will Deacon,
	Martin Schwidefsky, Heiko Carstens, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, Kees Cook, Mark Rutland, Arnd Bergmann,
	David Airlie, Alexander Shishkin, Wim Van Sebroeck,
	Guenter Roeck, linux-watchdog, David S. Miller, Daniel Borkmann,
	Jessica Yu, Takashi Iwai, Andrew Morton, Laura Abbott, x86,
	linux-arm-kernel, linux-kernel, linux-s390, linux-arch

[-- Attachment #1: Type: text/plain, Size: 4872 bytes --]

Hi Laura,

[auto build test ERROR on linus/master]
[also build test ERROR on next-20170303]
[cannot apply to tip/x86/core drm/drm-next v4.10]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Laura-Abbott/set_memory_-functions-header-refactor/20170305-062939
config: i386-randconfig-x014-201710 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   arch/x86/kernel/machine_kexec_32.c: In function 'machine_kexec_prepare':
>> arch/x86/kernel/machine_kexec_32.c:160:2: error: implicit declaration of function 'set_pages_x' [-Werror=implicit-function-declaration]
     set_pages_x(image->control_code_page, 1);
     ^~~~~~~~~~~
   arch/x86/kernel/machine_kexec_32.c: In function 'machine_kexec_cleanup':
>> arch/x86/kernel/machine_kexec_32.c:174:2: error: implicit declaration of function 'set_pages_nx' [-Werror=implicit-function-declaration]
     set_pages_nx(image->control_code_page, 1);
     ^~~~~~~~~~~~
   cc1: some warnings being treated as errors
--
   arch/x86/mm/init_32.c: In function 'set_kernel_text_rw':
>> arch/x86/mm/init_32.c:880:2: error: implicit declaration of function 'set_pages_rw' [-Werror=implicit-function-declaration]
     set_pages_rw(virt_to_page(start), size >> PAGE_SHIFT);
     ^~~~~~~~~~~~
   arch/x86/mm/init_32.c: In function 'set_kernel_text_ro':
>> arch/x86/mm/init_32.c:894:2: error: implicit declaration of function 'set_pages_ro' [-Werror=implicit-function-declaration]
     set_pages_ro(virt_to_page(start), size >> PAGE_SHIFT);
     ^~~~~~~~~~~~
   arch/x86/mm/init_32.c: In function 'mark_nxdata_nx':
>> arch/x86/mm/init_32.c:911:2: error: implicit declaration of function 'set_pages_nx' [-Werror=implicit-function-declaration]
     set_pages_nx(virt_to_page(start), size >> PAGE_SHIFT);
     ^~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/set_pages_x +160 arch/x86/kernel/machine_kexec_32.c

9868ee63 arch/x86/kernel/machine_kexec_32.c Huang Ying        2008-10-31  154   * - Setup page tables
5033cba0 arch/i386/kernel/machine_kexec.c   Eric W. Biederman 2005-06-25  155   */
5033cba0 arch/i386/kernel/machine_kexec.c   Eric W. Biederman 2005-06-25  156  int machine_kexec_prepare(struct kimage *image)
5033cba0 arch/i386/kernel/machine_kexec.c   Eric W. Biederman 2005-06-25  157  {
9868ee63 arch/x86/kernel/machine_kexec_32.c Huang Ying        2008-10-31  158  	int error;
9868ee63 arch/x86/kernel/machine_kexec_32.c Huang Ying        2008-10-31  159  
3ab83521 arch/x86/kernel/machine_kexec_32.c Huang Ying        2008-07-25 @160  	set_pages_x(image->control_code_page, 1);
9868ee63 arch/x86/kernel/machine_kexec_32.c Huang Ying        2008-10-31  161  	error = machine_kexec_alloc_page_tables(image);
9868ee63 arch/x86/kernel/machine_kexec_32.c Huang Ying        2008-10-31  162  	if (error)
9868ee63 arch/x86/kernel/machine_kexec_32.c Huang Ying        2008-10-31  163  		return error;
9868ee63 arch/x86/kernel/machine_kexec_32.c Huang Ying        2008-10-31  164  	machine_kexec_prepare_page_tables(image);
9868ee63 arch/x86/kernel/machine_kexec_32.c Huang Ying        2008-10-31  165  	return 0;
5033cba0 arch/i386/kernel/machine_kexec.c   Eric W. Biederman 2005-06-25  166  }
5033cba0 arch/i386/kernel/machine_kexec.c   Eric W. Biederman 2005-06-25  167  
5033cba0 arch/i386/kernel/machine_kexec.c   Eric W. Biederman 2005-06-25  168  /*
5033cba0 arch/i386/kernel/machine_kexec.c   Eric W. Biederman 2005-06-25  169   * Undo anything leftover by machine_kexec_prepare
5033cba0 arch/i386/kernel/machine_kexec.c   Eric W. Biederman 2005-06-25  170   * when an image is freed.
5033cba0 arch/i386/kernel/machine_kexec.c   Eric W. Biederman 2005-06-25  171   */
5033cba0 arch/i386/kernel/machine_kexec.c   Eric W. Biederman 2005-06-25  172  void machine_kexec_cleanup(struct kimage *image)
5033cba0 arch/i386/kernel/machine_kexec.c   Eric W. Biederman 2005-06-25  173  {
3ab83521 arch/x86/kernel/machine_kexec_32.c Huang Ying        2008-07-25 @174  	set_pages_nx(image->control_code_page, 1);
92be3d6b arch/x86/kernel/machine_kexec_32.c Huang Ying        2008-10-31  175  	machine_kexec_free_page_tables(image);
5033cba0 arch/i386/kernel/machine_kexec.c   Eric W. Biederman 2005-06-25  176  }
5033cba0 arch/i386/kernel/machine_kexec.c   Eric W. Biederman 2005-06-25  177  

:::::: The code at line 160 was first introduced by commit
:::::: 3ab83521378268044a448113c6aa9a9e245f4d2f kexec jump

:::::: TO: Huang Ying <ying.huang@intel.com>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 27856 bytes --]

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

* Re: [PATCHv2 14/14] treewide: Decouple cacheflush.h and set_memory.h
  2017-03-02  0:15 ` [PATCHv2 14/14] treewide: Decouple cacheflush.h and set_memory.h Laura Abbott
                     ` (3 preceding siblings ...)
  2017-03-04 22:57   ` kbuild test robot
@ 2017-03-05  0:03   ` kbuild test robot
  4 siblings, 0 replies; 33+ messages in thread
From: kbuild test robot @ 2017-03-05  0:03 UTC (permalink / raw)
  To: Laura Abbott
  Cc: kbuild-all, Russell King, Catalin Marinas, Will Deacon,
	Martin Schwidefsky, Heiko Carstens, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, Kees Cook, Mark Rutland, Arnd Bergmann,
	David Airlie, Alexander Shishkin, Wim Van Sebroeck,
	Guenter Roeck, linux-watchdog, David S. Miller, Daniel Borkmann,
	Jessica Yu, Takashi Iwai, Andrew Morton, Laura Abbott, x86,
	linux-arm-kernel, linux-kernel, linux-s390, linux-arch

[-- Attachment #1: Type: text/plain, Size: 2970 bytes --]

Hi Laura,

[auto build test ERROR on linus/master]
[also build test ERROR on next-20170303]
[cannot apply to tip/x86/core drm/drm-next v4.10]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Laura-Abbott/set_memory_-functions-header-refactor/20170305-062939
config: i386-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   sound/pci/intel8x0.c: In function 'fill_nocache':
>> sound/pci/intel8x0.c:736:3: error: implicit declaration of function 'set_pages_uc' [-Werror=implicit-function-declaration]
      set_pages_uc(virt_to_page(buf), size);
      ^~~~~~~~~~~~
>> sound/pci/intel8x0.c:738:3: error: implicit declaration of function 'set_pages_wb' [-Werror=implicit-function-declaration]
      set_pages_wb(virt_to_page(buf), size);
      ^~~~~~~~~~~~
   cc1: some warnings being treated as errors
--
   sound/x86/intel_hdmi_audio.c: In function 'had_pcm_hw_params':
>> sound/x86/intel_hdmi_audio.c:1135:11: error: implicit declaration of function 'set_memory_uc' [-Werror=implicit-function-declaration]
     retval = set_memory_uc(addr, pages);
              ^~~~~~~~~~~~~
   sound/x86/intel_hdmi_audio.c: In function 'had_pcm_hw_free':
>> sound/x86/intel_hdmi_audio.c:1163:3: error: implicit declaration of function 'set_memory_wb' [-Werror=implicit-function-declaration]
      set_memory_wb(addr, pages);
      ^~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/set_pages_uc +736 sound/pci/intel8x0.c

631dd1a8 Justin P. Mattock 2010-10-18  730   *	http://download.intel.com/design/chipsets/specupdt/24505108.pdf
^1da177e Linus Torvalds    2005-04-16  731   */
^1da177e Linus Torvalds    2005-04-16  732  static void fill_nocache(void *buf, int size, int nocache)
^1da177e Linus Torvalds    2005-04-16  733  {
^1da177e Linus Torvalds    2005-04-16  734  	size = (size + PAGE_SIZE - 1) >> PAGE_SHIFT;
6d238cc4 Arjan van de Ven  2008-01-30  735  	if (nocache)
6d238cc4 Arjan van de Ven  2008-01-30 @736  		set_pages_uc(virt_to_page(buf), size);
6d238cc4 Arjan van de Ven  2008-01-30  737  	else
6d238cc4 Arjan van de Ven  2008-01-30 @738  		set_pages_wb(virt_to_page(buf), size);
^1da177e Linus Torvalds    2005-04-16  739  }
^1da177e Linus Torvalds    2005-04-16  740  #else
6d238cc4 Arjan van de Ven  2008-01-30  741  #define fill_nocache(buf, size, nocache) do { ; } while (0)

:::::: The code at line 736 was first introduced by commit
:::::: 6d238cc4dc8a36a3915c26202fe49f58a0683fb9 x86: convert CPA users to the new set_page_ API

:::::: TO: Arjan van de Ven <arjan@infradead.org>
:::::: CC: Ingo Molnar <mingo@elte.hu>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 58978 bytes --]

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

* Re: [PATCHv2 07/14] drm: Use set_memory.h header
  2017-03-02  0:14 ` [PATCHv2 07/14] drm: " Laura Abbott
@ 2017-03-05  1:08   ` kbuild test robot
  0 siblings, 0 replies; 33+ messages in thread
From: kbuild test robot @ 2017-03-05  1:08 UTC (permalink / raw)
  To: Laura Abbott
  Cc: kbuild-all, David Airlie, Laura Abbott, Russell King,
	Catalin Marinas, Will Deacon, Martin Schwidefsky, Heiko Carstens,
	Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86, Kees Cook,
	Mark Rutland, Arnd Bergmann, linux-arm-kernel, linux-kernel,
	linux-s390, linux-arch, Alexander Shishkin, Wim Van Sebroeck,
	Guenter Roeck, linux-watchdog, David S. Miller, Daniel Borkmann,
	Jessica Yu, Takashi Iwai, Andrew Morton

[-- Attachment #1: Type: text/plain, Size: 2154 bytes --]

Hi Laura,

[auto build test ERROR on linus/master]
[also build test ERROR on next-20170303]
[cannot apply to tip/x86/core drm/drm-next v4.10]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Laura-Abbott/set_memory_-functions-header-refactor/20170305-062939
config: ia64-defconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 6.2.0
reproduce:
        wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=ia64 

All errors (new ones prefixed by >>):

>> drivers/char/agp/generic.c:42:28: fatal error: asm/set_memory.h: No such file or directory
    #include <asm/set_memory.h>
                               ^
   compilation terminated.
--
>> drivers/gpu/drm/radeon/radeon_gart.c:30:28: fatal error: asm/set_memory.h: No such file or directory
    #include <asm/set_memory.h>
                               ^
   compilation terminated.
--
>> drivers/gpu/drm/ttm/ttm_tt.c:47:28: fatal error: asm/set_memory.h: No such file or directory
    #include <asm/set_memory.h>
                               ^
   compilation terminated.
--
>> drivers/gpu/drm/ttm/ttm_page_alloc.c:54:28: fatal error: asm/set_memory.h: No such file or directory
    #include <asm/set_memory.h>
                               ^
   compilation terminated.
--
>> drivers/gpu/drm/ttm/ttm_page_alloc_dma.c:56:28: fatal error: asm/set_memory.h: No such file or directory
    #include <asm/set_memory.h>
                               ^
   compilation terminated.

vim +30 drivers/gpu/drm/radeon/radeon_gart.c

    24	 * Authors: Dave Airlie
    25	 *          Alex Deucher
    26	 *          Jerome Glisse
    27	 */
    28	#include <drm/drmP.h>
    29	#include <drm/radeon_drm.h>
  > 30	#include <asm/set_memory.h>
    31	#include "radeon.h"
    32	
    33	/*

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 18382 bytes --]

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

* Re: [PATCHv2 10/14] bpf: Use set_memory.h header
  2017-03-02  0:15 ` [PATCHv2 10/14] bpf: " Laura Abbott
  2017-03-02 20:26   ` Daniel Borkmann
@ 2017-03-05  3:01   ` kbuild test robot
  1 sibling, 0 replies; 33+ messages in thread
From: kbuild test robot @ 2017-03-05  3:01 UTC (permalink / raw)
  To: Laura Abbott
  Cc: kbuild-all, David S. Miller, Daniel Borkmann, Laura Abbott,
	Russell King, Catalin Marinas, Will Deacon, Martin Schwidefsky,
	Heiko Carstens, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	x86, Kees Cook, Mark Rutland, Arnd Bergmann, linux-arm-kernel,
	linux-kernel, linux-s390, linux-arch, David Airlie,
	Alexander Shishkin, Wim Van Sebroeck, Guenter Roeck,
	linux-watchdog, Jessica Yu, Takashi Iwai, Andrew Morton

[-- Attachment #1: Type: text/plain, Size: 3126 bytes --]

Hi Laura,

[auto build test ERROR on linus/master]
[also build test ERROR on next-20170303]
[cannot apply to tip/x86/core drm/drm-next v4.10]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Laura-Abbott/set_memory_-functions-header-refactor/20170305-062939
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm 

All errors (new ones prefixed by >>):

   arch/arm/net/bpf_jit_32.c: In function 'bpf_jit_compile':
>> arch/arm/net/bpf_jit_32.c:1051:2: error: implicit declaration of function 'flush_icache_range' [-Werror=implicit-function-declaration]
     flush_icache_range((u32)header, (u32)(ctx.target + ctx.idx));
     ^~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/flush_icache_range +1051 arch/arm/net/bpf_jit_32.c

ddecdfce Mircea Gherzan   2012-03-16  1035  		goto out;
ddecdfce Mircea Gherzan   2012-03-16  1036  
55309dd3 Daniel Borkmann  2014-09-08  1037  	ctx.target = (u32 *) target_ptr;
ddecdfce Mircea Gherzan   2012-03-16  1038  	ctx.idx = 0;
55309dd3 Daniel Borkmann  2014-09-08  1039  
ddecdfce Mircea Gherzan   2012-03-16  1040  	build_prologue(&ctx);
0b59d880 Nicolas Schichan 2015-05-07  1041  	if (build_body(&ctx) < 0) {
0b59d880 Nicolas Schichan 2015-05-07  1042  #if __LINUX_ARM_ARCH__ < 7
0b59d880 Nicolas Schichan 2015-05-07  1043  		if (ctx.imm_count)
0b59d880 Nicolas Schichan 2015-05-07  1044  			kfree(ctx.imms);
0b59d880 Nicolas Schichan 2015-05-07  1045  #endif
0b59d880 Nicolas Schichan 2015-05-07  1046  		bpf_jit_binary_free(header);
0b59d880 Nicolas Schichan 2015-05-07  1047  		goto out;
0b59d880 Nicolas Schichan 2015-05-07  1048  	}
ddecdfce Mircea Gherzan   2012-03-16  1049  	build_epilogue(&ctx);
ddecdfce Mircea Gherzan   2012-03-16  1050  
ebaef649 Daniel Borkmann  2015-11-14 @1051  	flush_icache_range((u32)header, (u32)(ctx.target + ctx.idx));
ddecdfce Mircea Gherzan   2012-03-16  1052  
ddecdfce Mircea Gherzan   2012-03-16  1053  #if __LINUX_ARM_ARCH__ < 7
ddecdfce Mircea Gherzan   2012-03-16  1054  	if (ctx.imm_count)
ddecdfce Mircea Gherzan   2012-03-16  1055  		kfree(ctx.imms);
ddecdfce Mircea Gherzan   2012-03-16  1056  #endif
ddecdfce Mircea Gherzan   2012-03-16  1057  
ddecdfce Mircea Gherzan   2012-03-16  1058  	if (bpf_jit_enable > 1)
79617801 Daniel Borkmann  2013-03-21  1059  		/* there are 2 passes here */

:::::: The code at line 1051 was first introduced by commit
:::::: ebaef649c26b44ff28114b452fd067a270ca7f02 bpf, arm: start flushing icache range from header

:::::: TO: Daniel Borkmann <daniel@iogearbox.net>
:::::: CC: David S. Miller <davem@davemloft.net>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 61304 bytes --]

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

end of thread, other threads:[~2017-03-05  3:02 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-02  0:14 [PATCHv2 00/14] set_memory_* functions header refactor Laura Abbott
2017-03-02  0:14 ` [PATCHv2 01/14] treewide: Move set_memory_* functions away from cacheflush.h Laura Abbott
2017-03-02 12:07   ` Russell King - ARM Linux
2017-03-02 14:11   ` Mark Rutland
2017-03-02  0:14 ` [PATCHv2 02/14] arm: Use set_memory.h header Laura Abbott
2017-03-02 12:01   ` Russell King - ARM Linux
2017-03-02  0:14 ` [PATCHv2 03/14] arm64: " Laura Abbott
2017-03-02 14:07   ` Mark Rutland
2017-03-02 15:06   ` Catalin Marinas
2017-03-02  0:14 ` [PATCHv2 04/14] s390: " Laura Abbott
2017-03-02  0:14 ` [PATCHv2 05/14] x86: " Laura Abbott
2017-03-02  8:01   ` Ingo Molnar
2017-03-02  0:14 ` [PATCHv2 06/14] agp: " Laura Abbott
2017-03-02  0:14 ` [PATCHv2 07/14] drm: " Laura Abbott
2017-03-05  1:08   ` kbuild test robot
2017-03-02  0:15 ` [PATCHv2 08/14] intel_th: " Laura Abbott
2017-03-02 11:06   ` Alexander Shishkin
2017-03-02  0:15 ` [PATCHv2 09/14] watchdog: hpwdt: " Laura Abbott
2017-03-02 14:48   ` Guenter Roeck
2017-03-02  0:15 ` [PATCHv2 10/14] bpf: " Laura Abbott
2017-03-02 20:26   ` Daniel Borkmann
2017-03-05  3:01   ` kbuild test robot
2017-03-02  0:15 ` [PATCHv2 11/14] module: " Laura Abbott
2017-03-02 17:09   ` Jessica Yu
2017-03-02  0:15 ` [PATCHv2 12/14] PM / hibernate: " Laura Abbott
2017-03-02  0:15 ` [PATCHv2 13/14] ALSA: hda: " Laura Abbott
2017-03-02  0:15 ` [PATCHv2 14/14] treewide: Decouple cacheflush.h and set_memory.h Laura Abbott
2017-03-02 12:06   ` Russell King - ARM Linux
2017-03-02 14:12   ` Mark Rutland
2017-03-02 15:05   ` Catalin Marinas
2017-03-04 22:57   ` kbuild test robot
2017-03-05  0:03   ` kbuild test robot
2017-03-02  7:34 ` [PATCHv2 00/14] set_memory_* functions header refactor Heiko Carstens

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).