lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 28 Nov 2011 16:13:03 -0800
From:	Boaz Harrosh <bharrosh@...asas.com>
To:	Randy Dunlap <rdunlap@...otime.net>,
	Trond Myklebust <Trond.Myklebust@...app.com>
CC:	Stephen Rothwell <sfr@...b.auug.org.au>,
	<linux-next@...r.kernel.org>, LKML <linux-kernel@...r.kernel.org>,
	Benny Halevy <bhalevy@...ian.com>,
	Michal Marek <mmarek@...e.cz>,
	NFS list <linux-nfs@...r.kernel.org>,
	open-osd <osd-dev@...n-osd.org>
Subject: ore: FIX breakage when MISC_FILESYSTEMS is not set


As Reported by Randy Dunlap

When MISC_FILESYSTEMS is not enabled:

fs/built-in.o: In function `objio_alloc_io_state':
objio_osd.c:(.text+0xcb525): undefined reference to `ore_get_rw_state'
fs/built-in.o: In function `_write_done':
objio_osd.c:(.text+0xcb58d): undefined reference to `ore_check_io'
fs/built-in.o: In function `_read_done':
...

When MISC_FILESYSTEMS, which is more of a GUI thing then anything else,
is not selected. exofs/Kconfig is never examined during Kconfig,
and it can not do it's magic stuff to automatically select everything
needed.

The solution is to force all users of ORE (exofs, nfs) to manually
select everything auto-magically selected before.

(This is  why it is a bad idea to put libraries in random parts of
 the tree)

Reported-by: Randy Dunlap <rdunlap@...otime.net>
Signed-off-by: Boaz Harrosh <bharrosh@...asas.com>
---
 fs/exofs/Kconfig |   17 +++++++++--------
 fs/nfs/Kconfig   |    2 ++
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/fs/exofs/Kconfig b/fs/exofs/Kconfig
index da42f32..6b05d99 100644
--- a/fs/exofs/Kconfig
+++ b/fs/exofs/Kconfig
@@ -1,17 +1,18 @@
-# Note ORE needs to "select ASYNC_XOR". So Not to force multiple selects
-# for every ORE user we do it like this. Any user should add itself here
-# at the "depends on EXOFS_FS || ..." with an ||. The dependencies are
-# selected here, and we default to "ON". So in effect it is like been
-# selected by any of the users.
+# ORE - Objects Raid Engine (libore.ko)
+# This library needs to be selected by it's users for example the below EXOFS
+# filesystem.
+# All users must do:
+#	depends on SCSI_OSD_ULD
+#	select ASYNC_XOR
+#	select ORE
 config ORE
 	tristate
-	depends on EXOFS_FS || PNFS_OBJLAYOUT
-	select ASYNC_XOR
-	default SCSI_OSD_ULD
 
 config EXOFS_FS
 	tristate "exofs: OSD based file system support"
 	depends on SCSI_OSD_ULD
+	select ASYNC_XOR
+	select ORE
 	help
 	  EXOFS is a file system that uses an OSD storage device,
 	  as its backing storage.
diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig
index dbcd821..3708d76 100644
--- a/fs/nfs/Kconfig
+++ b/fs/nfs/Kconfig
@@ -96,6 +96,8 @@ config PNFS_BLOCK
 config PNFS_OBJLAYOUT
 	tristate
 	depends on NFS_FS && NFS_V4_1 && SCSI_OSD_ULD
+	select ASYNC_XOR
+	select ORE
 	default m
 
 config ROOT_NFS
-- 
1.7.6.4


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ