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-prev] [day] [month] [year] [list]
Message-ID: <YgTsD4+8lAUjwAK1@arm.com>
Date:   Thu, 10 Feb 2022 10:42:23 +0000
From:   Catalin Marinas <catalin.marinas@....com>
To:     Anshuman Khandual <anshuman.khandual@....com>
Cc:     linux-arm-kernel@...ts.infradead.org,
        Will Deacon <will@...nel.org>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] arm64/migration: Define arm64_hugetlb_valid_size()

On Thu, Feb 10, 2022 at 10:17:17AM +0530, Anshuman Khandual wrote:
> On 2/10/22 12:04 AM, Catalin Marinas wrote:
> > On Mon, Feb 07, 2022 at 07:01:08AM +0530, Anshuman Khandual wrote:
> >> +bool __init arch_hugetlb_valid_size(unsigned long size)
> >> +{
> >> +	return arm64_hugetlb_valid_size(size);
> >> +}
> > 
> > What's wrong with keeping the arch_hugetlb_valid_size() name and just
> > removing __init?
> 
> When arch_hugetlb_migration_supported() calls arch_hugetlb_valid_size(),
> 
> With __init for arch_hugetlb_valid_size(), there is a build problem.
> 
> WARNING: modpost: vmlinux.o(.text.unlikely+0xf18): Section mismatch in
> reference from the function arch_hugetlb_migration_supported() to the
> function .init.text:arch_hugetlb_valid_size()
> The function arch_hugetlb_migration_supported() references
> the function __init arch_hugetlb_valid_size().
> This is often because arch_hugetlb_migration_supported lacks a __init 
> annotation or the annotation of arch_hugetlb_valid_size is wrong.

This is expected.

> Without __init for arch_hugetlb_valid_size(), there is the same problem.
> 
> WARNING: modpost: vmlinux.o(.text.unlikely+0xf18): Section mismatch in
> reference from the function arch_hugetlb_migration_supported() to the
> function .init.text:arch_hugetlb_valid_size()
> The function arch_hugetlb_migration_supported() references
> the function __init arch_hugetlb_valid_size().
> This is often because arch_hugetlb_migration_supported lacks a __init 
> annotation or the annotation of arch_hugetlb_valid_size is wrong.
> 
> This might be because generic prototype for arch_hugetlb_valid_size() has
> __init attribute, which arch_hugetlb_migration_supported() does not have.
> 
> Hence a local static helper arm64_hugetlb_valid_size() which both these
> generic functions can call into, looked appropriate.

Ah, I did not realise the generic prototype is __init already. So fine
by me but maybe just use __hugetlb_valid_size() as it's a local function
only (static).

-- 
Catalin

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ