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:   Wed, 13 Jun 2018 12:51:34 -0700
From:   Dan Williams <dan.j.williams@...el.com>
To:     Joe Gorse <jhgorse@...il.com>
Cc:     Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Linux MM <linux-mm@...ck.org>, Christoph Hellwig <hch@....de>
Subject: Re: OpenAFS module libafs.ko uses GPL-only symbol '__put_devmap_managed_page'

[ adding Andrew, Christoph, and linux-mm ]

On Wed, Jun 13, 2018 at 12:33 PM, Joe Gorse <jhgorse@...il.com> wrote:
> Greetings,
>
> Please CC answers & comments to this email. Thanks! =)
>
> Our build is breaking as of
> commit e7638488434415aa478e78435cac8f0365737638
> Author: Dan Williams <dan.j.williams@...el.com>
> Date: Wed May 16 11:46:08 2018 -0700
>
> mm: introduce MEMORY_DEVICE_FS_DAX and CONFIG_DEV_PAGEMAP_OPS
> ... snip ...
> https://patchwork.kernel.org/patch/10412459/
>
> We do not directly use the GPL-only symbol '__put_devmap_managed_page'. It
> appears to be picked up from static-inlining in put_page(), which we need.
>
> How shall we proceed? Would it be reasonable to request the change of the
> GPL-only exports for this commit?
>
> Cheers,
> Joe Gorse
>
> P.S. The build failure, for the morbidly curious:
>> FATAL: modpost: GPL-incompatible module libafs.ko uses GPL-only symbol
>> '__put_devmap_managed_page'
>> scripts/Makefile.modpost:92: recipe for target '__modpost' failed
>> make[6]: *** [__modpost] Error 1

I think the right answer here is to make __put_devmap_managed_page()
EXPORT_SYMBOL(), since features like devm_memremap_pages() want to
change the behavior of all users of put_page(). It again holds that
devm_memremap_pages() needs to become EXPORT_SYMBOL_GPL() because it,
not put_page(), is the interface that is leaking control of core
kernel state/infrastructure to its users.

Powered by blists - more mailing lists