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: Fri, 22 Oct 2021 20:08:33 +0100 From: David Howells <dhowells@...hat.com> To: linux-cachefs@...hat.com Cc: Jeff Layton <jlayton@...nel.org>, Jeff Layton <jlayton@...nel.org>, Marc Dionne <marc.dionne@...istor.com>, Al Viro <viro@...iv.linux.org.uk>, Matthew Wilcox <willy@...radead.org>, linux-afs@...ts.infradead.org, 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@...nel.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 v2 42/53] afs: Fix afs_write_end() to handle len > page size It is possible for the len argument to afs_write_end() to overrun the end of the page (len is used to key the size of the page in afs_write_start() when compound pages become a regular thing). Fix afs_write_end() to correctly trim the write length so that it doesn't exceed the end of the page. Fixes: 3003bbd0697b ("afs: Use the netfs_write_begin() helper") Reported-by: Jeff Layton <jlayton@...nel.org> Signed-off-by: David Howells <dhowells@...hat.com> Acked-by: Jeff Layton <jlayton@...nel.org> cc: Marc Dionne <marc.dionne@...istor.com> cc: Al Viro <viro@...iv.linux.org.uk> cc: Matthew Wilcox <willy@...radead.org> cc: linux-afs@...ts.infradead.org Link: https://lore.kernel.org/r/162367682522.460125.5652091227576721609.stgit@warthog.procyon.org.uk/ # v1 --- fs/afs/write.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/afs/write.c b/fs/afs/write.c index ced72c6b9a80..19be3153d610 100644 --- a/fs/afs/write.c +++ b/fs/afs/write.c @@ -119,6 +119,7 @@ int afs_write_end(struct file *file, struct address_space *mapping, _enter("{%llx:%llu},{%lx}", vnode->fid.vid, vnode->fid.vnode, page->index); + len = min_t(size_t, len, thp_size(page) - from); if (!PageUptodate(page)) { if (copied < len) { copied = 0;
Powered by blists - more mailing lists