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-next>] [day] [month] [year] [list]
Message-Id: <20241016062344.2571015-1-arnd@kernel.org>
Date: Wed, 16 Oct 2024 06:23:40 +0000
From: Arnd Bergmann <arnd@...nel.org>
To: Christian Brauner <brauner@...nel.org>,
	"Darrick J. Wong" <djwong@...nel.org>
Cc: Arnd Bergmann <arnd@...db.de>,
	Josef Bacik <josef@...icpanda.com>,
	"Ritesh Harjani (IBM)" <ritesh.list@...il.com>,
	linux-xfs@...r.kernel.org,
	linux-fsdevel@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: [PATCH] iomap: provide iomap_want_unshare_iter() stub for !CONFIG_BLOCK

From: Arnd Bergmann <arnd@...db.de>

When block device support is disabled, DAX fails to link with:

aarch64-linux/bin/aarch64-linux-ld: fs/dax.o: in function `dax_file_unshare':
dax.c:(.text+0x2694): undefined reference to `iomap_want_unshare_iter'

Return false in this case, as far as I can tell, this cannot happen
without block devices.

Fixes: 6ef6a0e821d3 ("iomap: share iomap_unshare_iter predicate code with fsdax")
Signed-off-by: Arnd Bergmann <arnd@...db.de>
---
 include/linux/iomap.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/include/linux/iomap.h b/include/linux/iomap.h
index e04c060e8fe1..84ec2b7419c5 100644
--- a/include/linux/iomap.h
+++ b/include/linux/iomap.h
@@ -281,7 +281,14 @@ void iomap_invalidate_folio(struct folio *folio, size_t offset, size_t len);
 bool iomap_dirty_folio(struct address_space *mapping, struct folio *folio);
 int iomap_file_unshare(struct inode *inode, loff_t pos, loff_t len,
 		const struct iomap_ops *ops);
+#ifdef CONFIG_BLOCK
 bool iomap_want_unshare_iter(const struct iomap_iter *iter);
+#else
+static inline bool iomap_want_unshare_iter(const struct iomap_iter *iter)
+{
+	return false;
+}
+#endif
 int iomap_zero_range(struct inode *inode, loff_t pos, loff_t len,
 		bool *did_zero, const struct iomap_ops *ops);
 int iomap_truncate_page(struct inode *inode, loff_t pos, bool *did_zero,
-- 
2.39.5


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ