lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 21 Feb 2023 23:04:11 -0800
From:   Randy Dunlap <rdunlap@...radead.org>
To:     linux-kernel@...r.kernel.org
Cc:     Randy Dunlap <rdunlap@...radead.org>,
        Alexey Kardashevskiy <aik@....com>,
        Christoph Hellwig <hch@....de>, iommu@...ts.linux.dev,
        Mike Rapoport <rppt@...nel.org>, linux-mm@...ck.org
Subject: [PATCH] swiotlb: mark swiotlb_memblock_alloc() as __init

swiotlb_memblock_alloc() calls memblock_alloc(), which calls
(__init) memblock_alloc_try_nid(). However, swiotlb_membloc_alloc()
can be marked as __init since it is only called by swiotlb_init_remap(),
which is already marked as __init. This prevents a modpost build
warning/error:

WARNING: modpost: vmlinux.o: section mismatch in reference: swiotlb_memblock_alloc (section: .text) -> memblock_alloc_try_nid (section: .init.text)
WARNING: modpost: vmlinux.o: section mismatch in reference: swiotlb_memblock_alloc (section: .text) -> memblock_alloc_try_nid (section: .init.text)

This fixes the build warning/error seen on ARM64, PPC64, S390, i386,
and x86_64.

Fixes: 8d58aa484920 ("swiotlb: reduce the swiotlb buffer size on allocation failure")
Signed-off-by: Randy Dunlap <rdunlap@...radead.org>
Cc: Alexey Kardashevskiy <aik@....com>
Cc: Christoph Hellwig <hch@....de>
Cc: iommu@...ts.linux.dev
Cc: Mike Rapoport <rppt@...nel.org>
Cc: linux-mm@...ck.org
---
 kernel/dma/swiotlb.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff -- a/kernel/dma/swiotlb.c b/kernel/dma/swiotlb.c
--- a/kernel/dma/swiotlb.c
+++ b/kernel/dma/swiotlb.c
@@ -292,8 +292,9 @@ static void swiotlb_init_io_tlb_mem(stru
 	return;
 }
 
-static void *swiotlb_memblock_alloc(unsigned long nslabs, unsigned int flags,
-		int (*remap)(void *tlb, unsigned long nslabs))
+static void __init *swiotlb_memblock_alloc(unsigned long nslabs,
+			unsigned int flags,
+			int (*remap)(void *tlb, unsigned long nslabs))
 {
 	size_t bytes = PAGE_ALIGN(nslabs << IO_TLB_SHIFT);
 	void *tlb;

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ