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
| ||
|
Date: Mon, 18 Oct 2021 16:03:46 +0100 From: David Howells <dhowells@...hat.com> To: linux-cachefs@...hat.com Cc: dhowells@...hat.com, Trond Myklebust <trondmy@...merspace.com>, Anna Schumaker <anna.schumaker@...app.com>, Steve French <sfrench@...ba.org>, Dominique Martinet <asmadeus@...ewreck.org>, Jeff Layton <jlayton@...hat.com>, Matthew Wilcox <willy@...radead.org>, Alexander Viro <viro@...iv.linux.org.uk>, Omar Sandoval <osandov@...ndov.com>, Linus Torvalds <torvalds@...ux-foundation.org>, linux-afs@...ts.infradead.org, linux-nfs@...r.kernel.org, linux-cifs@...r.kernel.org, ceph-devel@...r.kernel.org, v9fs-developer@...ts.sourceforge.net, linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org Subject: [PATCH 51/67] fscache: Make fscache_write_to_cache() conditional on cookie Make fscache_write_to_cache() conditional on cookie not being NULL, rather than merely conditional on CONFIG_FSCACHE=[ym]. The problem with the latter is if a filesystem, say afs, has CONFIG_AFS_FSCACHE=n but calls into this function - linkage will fail if CONFIG_FSCACHE is less than CONFIG_AFS. Analogous problems can affect other filesystems, e.g. 9p. Making fscache_write_to_cache() conditional on the cookie achieves two things: (1) If cookie optimises down to constant NULL, term_func is called directly and may be inlined and the slow path is never called. (2) __fscache_write_to_cache() isn't called if cookie is dynamically NULL - and so, in such a case, term_func is called immediately. Signed-off-by: David Howells <dhowells@...hat.com> --- include/linux/fscache.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/fscache.h b/include/linux/fscache.h index 847c076d05a6..ba192567d099 100644 --- a/include/linux/fscache.h +++ b/include/linux/fscache.h @@ -593,7 +593,7 @@ static inline void fscache_write_to_cache(struct fscache_cookie *cookie, netfs_io_terminated_t term_func, void *term_func_priv) { - if (fscache_available()) { + if (fscache_cookie_valid(cookie)) { __fscache_write_to_cache(cookie, mapping, start, len, i_size, term_func, term_func_priv); } else {
Powered by blists - more mailing lists