Re: [linus:master] BUILD REGRESSION f3b5ad89de16f5d42e8ad36fbdf85f705c1ae051
On Sun, Dec 17, 2017 at 7:25 AM, Al Virowrote: > > Linus, would you take that directly or should I include it into vfs.git > pull request? I just took it directly, since you had in the meantime already generated the pull request for the other issues, and I had a lazy late Saturday morning.. Linus
Re: [linus:master] BUILD REGRESSION f3b5ad89de16f5d42e8ad36fbdf85f705c1ae051
On Sun, Dec 17, 2017 at 7:25 AM, Al Viro wrote: > > Linus, would you take that directly or should I include it into vfs.git > pull request? I just took it directly, since you had in the meantime already generated the pull request for the other issues, and I had a lazy late Saturday morning.. Linus
Re: [linus:master] BUILD REGRESSION f3b5ad89de16f5d42e8ad36fbdf85f705c1ae051
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?
Re: [linus:master] BUILD REGRESSION f3b5ad89de16f5d42e8ad36fbdf85f705c1ae051
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?
Re: [linus:master] BUILD REGRESSION f3b5ad89de16f5d42e8ad36fbdf85f705c1ae051
On Sat, 16 Dec 2017, Linus Torvalds wrote: > Nico, > > On Sat, Dec 16, 2017 at 7:00 PM, kbuild test robot >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 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 default y if !CRAMFS_BLOCKDEV help This option allows the CramFs driver to load data directly from
Re: [linus:master] BUILD REGRESSION f3b5ad89de16f5d42e8ad36fbdf85f705c1ae051
On Sat, 16 Dec 2017, Linus Torvalds wrote: > Nico, > > On Sat, Dec 16, 2017 at 7:00 PM, kbuild test robot > 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 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 default y if !CRAMFS_BLOCKDEV help This option allows the CramFs driver to load data directly from
Re: [linus:master] BUILD REGRESSION f3b5ad89de16f5d42e8ad36fbdf85f705c1ae051
Nico, On Sat, Dec 16, 2017 at 7:00 PM, kbuild test robotwrote: > > 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. Oddly, _some_ of the mtd functions are protected with if (IS_ENABLED(CCONFIG_CRAMFS_MTD) ..) but cramfs_mtd_fill_super() is not. It is only *used* if CONFIG_CRAMFS_MTD is enabled (the call to mount_mtd(.., cramfs_mtd_fill_super) is conditional, but.. Linus
Re: [linus:master] BUILD REGRESSION f3b5ad89de16f5d42e8ad36fbdf85f705c1ae051
Nico, On Sat, Dec 16, 2017 at 7:00 PM, kbuild test robot 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. Oddly, _some_ of the mtd functions are protected with if (IS_ENABLED(CCONFIG_CRAMFS_MTD) ..) but cramfs_mtd_fill_super() is not. It is only *used* if CONFIG_CRAMFS_MTD is enabled (the call to mount_mtd(.., cramfs_mtd_fill_super) is conditional, but.. Linus