From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757151AbdLQPZm (ORCPT ); Sun, 17 Dec 2017 10:25:42 -0500 Received: from zeniv.linux.org.uk ([195.92.253.2]:41476 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752675AbdLQPZk (ORCPT ); Sun, 17 Dec 2017 10:25:40 -0500 Date: Sun, 17 Dec 2017 15:25:25 +0000 From: Al Viro To: Nicolas Pitre Cc: Linus Torvalds , kbuild test robot , LKML Subject: Re: [linus:master] BUILD REGRESSION f3b5ad89de16f5d42e8ad36fbdf85f705c1ae051 Message-ID: <20171217152525.GL21978@ZenIV.linux.org.uk> References: <5a35ddeb.c+zcN3JwfNCwHiTC%fengguang.wu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.0 (2017-09-02) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Dec 16, 2017 at 10:46:05PM -0500, Nicolas Pitre wrote: > Date: Fri, 10 Nov 2017 15:57:21 +0100 > From: Arnd Bergmann > 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 > Signed-off-by: Nicolas Pitre > --- > 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 *Ugh* So basically the trouble case is CRAMFS=y, MTD=m; in that situation mount_mtd() et.al. are not stubbed out at compiler level (as they would with CRAMFS=y, MTD=n) and we end up with linker catching that. Not pretty solution, but... Linus, would you take that directly or should I include it into vfs.git pull request?