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: <20250429165203.48cc5baa@thinkpad-T15>
Date: Tue, 29 Apr 2025 16:52:03 +0200
From: Gerald Schaefer <gerald.schaefer@...ux.ibm.com>
To: Dan Williams <dan.j.williams@...el.com>
Cc: Alistair Popple <apopple@...dia.com>, linux-kernel@...r.kernel.org,
        Andrew Morton <akpm@...ux-foundation.org>,
        Linux Memory Management List
 <linux-mm@...ck.org>,
        linux-s390@...r.kernel.org
Subject: Re: drivers/s390/block/dcssblk.c:718:undefined reference to
 `kill_dax'

On Tue, 29 Apr 2025 16:27:39 +0800
kernel test robot <lkp@...el.com> wrote:

> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   ca91b9500108d4cf083a635c2e11c884d5dd20ea
> commit: 653d7825c149932f254e0cd22153ccc945e7e545 dcssblk: mark DAX broken, remove FS_DAX_LIMITED support
> date:   6 weeks ago
> config: s390-randconfig-r132-20250428 (https://download.01.org/0day-ci/archive/20250429/202504291604.pvjonhWX-lkp@intel.com/config)
> compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project f819f46284f2a79790038e1f6649172789734ae8)
> reproduce: (https://download.01.org/0day-ci/archive/20250429/202504291604.pvjonhWX-lkp@intel.com/reproduce)
> 
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@...el.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202504291604.pvjonhWX-lkp@intel.com/
> 
> All errors (new ones prefixed by >>):
> 
>    s390x-linux-ld: drivers/s390/block/dcssblk.o: in function `dcssblk_add_store':
> >> drivers/s390/block/dcssblk.c:718:(.text+0x1b98): undefined reference to `kill_dax'
> >> s390x-linux-ld: drivers/s390/block/dcssblk.c:719:(.text+0x1bb6): undefined reference to `put_dax'  
>    s390x-linux-ld: drivers/s390/block/dcssblk.o: in function `dcssblk_shared_store':
>    drivers/s390/block/dcssblk.c:417:(.text+0x2c2a): undefined reference to `kill_dax'
>    s390x-linux-ld: drivers/s390/block/dcssblk.c:418:(.text+0x2c48): undefined reference to `put_dax'
>    s390x-linux-ld: drivers/s390/block/dcssblk.o: in function `dcssblk_remove_store':
>    drivers/s390/block/dcssblk.c:803:(.text+0x42e2): undefined reference to `kill_dax'
>    s390x-linux-ld: drivers/s390/block/dcssblk.c:804:(.text+0x4300): undefined reference to `put_dax'

This is because it's now possible to have CONFIG_DCSSBLK=y, but CONFIG_DAX=m
with randconfig, since commit 653d7825c149 ("dcssblk: mark DAX broken,
remove FS_DAX_LIMITED support") moved the "select DAX" from config DCSSBLK
to the new config DCSSBLK_DAX.

To fix this, I think the "select DAX" can be moved back to config DCSSBLK.
It is still ensured that the dcssblk driver does not actually use DAX,
because of the check for CONFIG_DCSSBLK_DAX in dcssblk_setup_dax(). The
remaining calls to kill_dax() etc. will just pass NULL as dax_dev, and are
ignored.

Will fix this via s390 tree.

BTW, Dan, your commit said "remove FS_DAX_LIMITED support", but it does
not really remove all the special handling in common code, only makes
sure that dcssblk (the only user of it) does not use it anymore.

I'm pretty sure that there initially also was a version that did remove
all the now useless FS_DAX_LIMITED handling in common code. Did you leave
that out on purpose, maybe defer until after Alistairs "Remove pXX_devmap
page table bit and pfn_t type" series?
(https://lore.kernel.org/lkml/cover.95ff0627bc727f2bae44bea4c00ad7a83fbbcfac.1739941374.git-series.apopple@nvidia.com/)

From s390/dcssblk perspective, FS_DAX_LIMITED can finally be removed.
We will either switch to proper ZONE_DEVICE if Alistairs series makes it,
and ZONE_DEVICE won't need the extra pagetable bit, or completely remove
DAX support for dcssblk eventually.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ