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: <20220211135319.1ff408fa6a7c5c5755ac2c87@linux-foundation.org>
Date:   Fri, 11 Feb 2022 13:53:19 -0800
From:   Andrew Morton <akpm@...ux-foundation.org>
To:     SeongJae Park <sj@...nel.org>
Cc:     shy828301@...il.com, ziy@...dia.com, ying.huang@...el.com,
        willy@...radead.org, linux-mm@...ck.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH RESEND] migrate: Wrap CONFIG_DEVICE_PRIVATE dependent
 function declarations with ifdef

On Wed,  9 Feb 2022 09:47:53 +0000 SeongJae Park <sj@...nel.org> wrote:

> 'migrate_vma_{setup,pages,finalize}()' functions are defined under
> CONFIG_DEVICE_PRIVATE, but their declarations are not.  This commit
> wraps the declaration under the config to minimize confusion.
> 
> ...
>
> --- a/include/linux/migrate.h
> +++ b/include/linux/migrate.h
> @@ -162,9 +162,14 @@ struct migrate_vma {
>  	unsigned long		flags;
>  };
>  
> +#ifdef CONFIG_DEVICE_PRIVATE
> +
>  int migrate_vma_setup(struct migrate_vma *args);
>  void migrate_vma_pages(struct migrate_vma *migrate);
>  void migrate_vma_finalize(struct migrate_vma *migrate);
> +
> +#endif /* CONFIG_DEVICE_PRIVATE */
> +

We often don't do this.  The advantage is that errors are revealed at
compile time rather than at link time.  But the downside is quite a lot
of maintenance overhead and messier-looking header files.

And that maintenance overhead is significant, partly because we can get
this wrong but the kernel will still happily compile and boot!  So the
only way to maintain these things is by inspection.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ