* [PATCH 0/9] sections: Unify kernel sections range check and use
@ 2021-06-26 7:34 Kefeng Wang
2021-06-26 7:34 ` [PATCH 9/9] dma-debug: Use memory_intersects() directly Kefeng Wang
0 siblings, 1 reply; 4+ messages in thread
From: Kefeng Wang @ 2021-06-26 7:34 UTC (permalink / raw)
To: Arnd Bergmann, linux-arch, linux-kernel
Cc: linux-s390, Kefeng Wang, bpf, linuxppc-dev, iommu
There are three head files(kallsyms.h, kernel.h and sections.h) which
include the kernel sections range check, let's make some cleanup and
unify them.
1. cleanup arch specific text/data check and fix address boundary check in kallsyms.h
2. make all the basic kernel range check function into sections.h
3. update all the callers, and use the helper in sections.h to simplify the code
4. use memory_intersects() in sections.h instead of private overlap for dma-debug
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-s390@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: iommu@lists.linux-foundation.org
Cc: bpf@vger.kernel.org
Kefeng Wang (9):
kallsyms: Remove arch specific text and data check
kallsyms: Fix address-checks for kernel related range
sections: Move and rename core_kernel_data() to is_kernel_data()
sections: Move is_kernel_inittext() into sections.h
kallsyms: Rename is_kernel() and is_kernel_text()
sections: Add new is_kernel() and is_kernel_text()
s390: kprobes: Use is_kernel() helper
powerpc/mm: Use is_kernel_text() and is_kernel_inittext() helper
dma-debug: Use memory_intersects() directly
arch/powerpc/mm/pgtable_32.c | 7 +---
arch/s390/kernel/kprobes.c | 9 +----
arch/x86/kernel/unwind_orc.c | 2 +-
arch/x86/net/bpf_jit_comp.c | 2 +-
include/asm-generic/sections.h | 71 ++++++++++++++++++++++++++--------
include/linux/kallsyms.h | 21 +++-------
include/linux/kernel.h | 2 -
kernel/cfi.c | 2 +-
kernel/dma/debug.c | 14 +------
kernel/extable.c | 33 ++--------------
kernel/locking/lockdep.c | 3 --
kernel/trace/ftrace.c | 2 +-
mm/kasan/report.c | 2 +-
net/sysctl_net.c | 2 +-
14 files changed, 76 insertions(+), 96 deletions(-)
--
2.26.2
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 9/9] dma-debug: Use memory_intersects() directly
2021-06-26 7:34 [PATCH 0/9] sections: Unify kernel sections range check and use Kefeng Wang
@ 2021-06-26 7:34 ` Kefeng Wang
2021-06-28 6:11 ` Christoph Hellwig
0 siblings, 1 reply; 4+ messages in thread
From: Kefeng Wang @ 2021-06-26 7:34 UTC (permalink / raw)
To: Arnd Bergmann, linux-arch, linux-kernel
Cc: Kefeng Wang, Robin Murphy, Christoph Hellwig, iommu
Use memory_intersects() directly instead of private overlap() function.
Cc: Christoph Hellwig <hch@lst.de>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: iommu@lists.linux-foundation.org
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
---
kernel/dma/debug.c | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
diff --git a/kernel/dma/debug.c b/kernel/dma/debug.c
index 14de1271463f..8ef737223999 100644
--- a/kernel/dma/debug.c
+++ b/kernel/dma/debug.c
@@ -1066,20 +1066,10 @@ static void check_for_stack(struct device *dev,
}
}
-static inline bool overlap(void *addr, unsigned long len, void *start, void *end)
-{
- unsigned long a1 = (unsigned long)addr;
- unsigned long b1 = a1 + len;
- unsigned long a2 = (unsigned long)start;
- unsigned long b2 = (unsigned long)end;
-
- return !(b1 <= a2 || a1 >= b2);
-}
-
static void check_for_illegal_area(struct device *dev, void *addr, unsigned long len)
{
- if (overlap(addr, len, _stext, _etext) ||
- overlap(addr, len, __start_rodata, __end_rodata))
+ if (memory_intersects(_stext, _etext, addr, len) ||
+ memory_intersects(__start_rodata, __end_rodata, addr, len))
err_printk(dev, NULL, "device driver maps memory from kernel text or rodata [addr=%p] [len=%lu]\n", addr, len);
}
--
2.26.2
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 9/9] dma-debug: Use memory_intersects() directly
2021-06-26 7:34 ` [PATCH 9/9] dma-debug: Use memory_intersects() directly Kefeng Wang
@ 2021-06-28 6:11 ` Christoph Hellwig
2021-06-28 6:29 ` Kefeng Wang
0 siblings, 1 reply; 4+ messages in thread
From: Christoph Hellwig @ 2021-06-28 6:11 UTC (permalink / raw)
To: Kefeng Wang
Cc: linux-arch, Arnd Bergmann, linux-kernel, iommu, Robin Murphy,
Christoph Hellwig
You've sent me a patch 9 out of 9 without the previous 8 patches. There
is no way I can sensibly review this series.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 9/9] dma-debug: Use memory_intersects() directly
2021-06-28 6:11 ` Christoph Hellwig
@ 2021-06-28 6:29 ` Kefeng Wang
0 siblings, 0 replies; 4+ messages in thread
From: Kefeng Wang @ 2021-06-28 6:29 UTC (permalink / raw)
To: Christoph Hellwig
Cc: linux-arch, Arnd Bergmann, linux-kernel, iommu, Robin Murphy
On 2021/6/28 14:11, Christoph Hellwig wrote:
> You've sent me a patch 9 out of 9 without the previous 8 patches. There
> is no way I can sensibly review this series.
The full patches is
https://lore.kernel.org/linux-arch/20210626073439.150586-1-wangkefeng.wang@huawei.com/T/#t
This patch is not very relevant about the above 8 patches, only use the
existing function to simplify code.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-06-28 6:29 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-26 7:34 [PATCH 0/9] sections: Unify kernel sections range check and use Kefeng Wang
2021-06-26 7:34 ` [PATCH 9/9] dma-debug: Use memory_intersects() directly Kefeng Wang
2021-06-28 6:11 ` Christoph Hellwig
2021-06-28 6:29 ` Kefeng Wang
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).