• Mathieu Desnoyers's avatar
    dax: check for data cache aliasing at runtime · 1df4ca01
    Mathieu Desnoyers authored
    Replace the following fs/Kconfig:FS_DAX dependency:
    
      depends on !(ARM || MIPS || SPARC)
    
    By a runtime check within alloc_dax(). This runtime check returns
    ERR_PTR(-EOPNOTSUPP) if the @ops parameter is non-NULL (which means
    the kernel is using an aliased mapping) on an architecture which
    has data cache aliasing.
    
    Change the return value from NULL to PTR_ERR(-EOPNOTSUPP) for
    CONFIG_DAX=n for consistency.
    
    This is done in preparation for using cpu_dcache_is_aliasing() in a
    following change which will properly support architectures which detect
    data cache aliasing at runtime.
    
    Link: https://lkml.kernel.org/r/20240215144633.96437-8-mathieu.desnoyers@efficios.com
    Fixes: d92576f1 ("dax: does not work correctly with virtual aliasing caches")
    Signed-off-by: default avatarMathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Reviewed-by: default avatarDan Williams <dan.j.williams@intel.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: Vishal Verma <vishal.l.verma@intel.com>
    Cc: Dave Jiang <dave.jiang@intel.com>
    Cc: Matthew Wilcox <willy@infradead.org>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Russell King <linux@armlinux.org.uk>
    Cc: Alasdair Kergon <agk@redhat.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Dave Chinner <david@fromorbit.com>
    Cc: Heiko Carstens <hca@linux.ibm.com>
    Cc: kernel test robot <lkp@intel.com>
    Cc: Michael Sclafani <dm-devel@lists.linux.dev>
    Cc: Mike Snitzer <snitzer@kernel.org>
    Cc: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    1df4ca01
Kconfig 10 KB