Re: [linus:master] BUILD REGRESSION f3b5ad89de16f5d42e8ad36fbdf85f705c1ae051

From: Nicolas Pitre
Date: Sat Dec 16 2017 - 22:52:42 EST


On Sat, 16 Dec 2017, Linus Torvalds wrote:

> Nico,
>
> On Sat, Dec 16, 2017 at 7:00 PM, kbuild test robot
> <fengguang.wu@xxxxxxxxx> wrote:
> >
> > fs/cramfs/inode.c:641: undefined reference to `mtd_point'
> > fs/cramfs/inode.c:658: undefined reference to `mtd_unpoint'
> > fs/cramfs/inode.c:959: undefined reference to `mount_mtd'
>
> This does seem to be real.
>
> As of 99c18ce580c6 ("cramfs: direct memory access support") cramfs
> seems to require MTD, but that's not expressed in the Kconfig.

That was reported a while ago. The fix didn't make it up to you somehow.
Please apply the following:

----- >8
Date: Fri, 10 Nov 2017 15:57:21 +0100
From: Arnd Bergmann <arnd@xxxxxxxx>
Subject: [PATCH] cramfs: fix MTD dependency

With CONFIG_MTD=m and CONFIG_CRAMFS=y, we now get a link failure:

fs/cramfs/inode.o: In function `cramfs_mount':
inode.c:(.text+0x220): undefined reference to `mount_mtd'
fs/cramfs/inode.o: In function `cramfs_mtd_fill_super':
inode.c:(.text+0x6d8): undefined reference to `mtd_point'
inode.c:(.text+0xae4): undefined reference to `mtd_unpoint'

This adds a more specific Kconfig dependency to avoid the
broken configuration. Alternatively we could make CRAMFS
itself depend on "MTD || !MTD" with a similar result.

Fixes: 99c18ce580c6 ("cramfs: direct memory access support")
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx>
---
fs/cramfs/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/cramfs/Kconfig b/fs/cramfs/Kconfig
index f937082f3244..58e2fe40b2a0 100644
--- a/fs/cramfs/Kconfig
+++ b/fs/cramfs/Kconfig
@@ -34,6 +34,7 @@ config CRAMFS_BLOCKDEV
config CRAMFS_MTD
bool "Support CramFs image directly mapped in physical memory"
depends on CRAMFS && MTD
+ depends on CRAMFS=m || MTD=y
default y if !CRAMFS_BLOCKDEV
help
This option allows the CramFs driver to load data directly from