[Bug 276002] nfscl: data corruption using both copy_file_range and mmap'd I/O

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 05 Jan 2024 05:01:27 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276002

--- Comment #50 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=47ec00d9d6071bbb0ee5ed0bdca3c4a468334d9d

commit 47ec00d9d6071bbb0ee5ed0bdca3c4a468334d9d
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2023-12-30 00:15:50 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2024-01-05 04:56:30 +0000

    nfsclient: flush dirty pages of the vnode

    before ncl_flush() when done to ensure that the server sees our cached
    data, because it potentially changes the server response.  This is
    relevant for copy_file_range(), seek(), and allocate().

    Convert LK_SHARED invp lock into LK_EXCLUSIVE if needed to properly call
    vm_object_page_clean().

    Reported by:    asomers
    PR:     276002
    Noted and reviewed by:  rmacklem
    Tested by:      pho
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D43250

 sys/fs/nfsclient/nfs_clvnops.c | 45 ++++++++++++++++++++++++++++++++++++------
 1 file changed, 39 insertions(+), 6 deletions(-)

-- 
You are receiving this mail because:
You are the assignee for the bug.