• Mathieu Desnoyers's avatar
    dax: fix incorrect list of data cache aliasing architectures · 902ccb86
    Mathieu Desnoyers authored
    commit d92576f1 ("dax: does not work correctly with virtual aliasing caches")
    prevents DAX from building on architectures with virtually aliased
    dcache with:
    
      depends on !(ARM || MIPS || SPARC)
    
    This check is too broad (e.g. recent ARMv7 don't have virtually aliased
    dcaches), and also misses many other architectures with virtually
    aliased data cache.
    
    This is a regression introduced in the v4.0 Linux kernel where the
    dax mount option is removed for 32-bit ARMv7 boards which have no data
    cache aliasing, and therefore should work fine with FS_DAX.
    
    This was turned into the following check in alloc_dax() by a preparatory
    change:
    
            if (ops && (IS_ENABLED(CONFIG_ARM) ||
                IS_ENABLED(CONFIG_MIPS) ||
                IS_ENABLED(CONFIG_SPARC)))
                    return NULL;
    
    Use cpu_dcache_is_aliasing() instead to figure out whether the environment
    has aliasing data caches.
    
    Link: https://lkml.kernel.org/r/20240215144633.96437-10-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>
    902ccb86
super.c 14.6 KB