Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

kvm: Use private inode list instead of i_private_list

Instead of using mapping->i_private_list use a list in private part of
the inode.

CC: kvm@vger.kernel.org
CC: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/20260326095354.16340-69-jack@suse.cz
Signed-off-by: Christian Brauner <brauner@kernel.org>

authored by

Jan Kara and committed by
Christian Brauner
d15c987d cd336f2e

+7 -5
+7 -5
virt/kvm/guest_memfd.c
··· 30 30 struct gmem_inode { 31 31 struct shared_policy policy; 32 32 struct inode vfs_inode; 33 + struct list_head gmem_file_list; 33 34 34 35 u64 flags; 35 36 }; ··· 40 39 return container_of(inode, struct gmem_inode, vfs_inode); 41 40 } 42 41 43 - #define kvm_gmem_for_each_file(f, mapping) \ 44 - list_for_each_entry(f, &(mapping)->i_private_list, entry) 42 + #define kvm_gmem_for_each_file(f, inode) \ 43 + list_for_each_entry(f, &GMEM_I(inode)->gmem_file_list, entry) 45 44 46 45 /** 47 46 * folio_file_pfn - like folio_file_page, but return a pfn. ··· 203 202 204 203 attr_filter = kvm_gmem_get_invalidate_filter(inode); 205 204 206 - kvm_gmem_for_each_file(f, inode->i_mapping) 205 + kvm_gmem_for_each_file(f, inode) 207 206 __kvm_gmem_invalidate_begin(f, start, end, attr_filter); 208 207 } 209 208 ··· 224 223 { 225 224 struct gmem_file *f; 226 225 227 - kvm_gmem_for_each_file(f, inode->i_mapping) 226 + kvm_gmem_for_each_file(f, inode) 228 227 __kvm_gmem_invalidate_end(f, start, end); 229 228 } 230 229 ··· 610 609 kvm_get_kvm(kvm); 611 610 f->kvm = kvm; 612 611 xa_init(&f->bindings); 613 - list_add(&f->entry, &inode->i_mapping->i_private_list); 612 + list_add(&f->entry, &GMEM_I(inode)->gmem_file_list); 614 613 615 614 fd_install(fd, file); 616 615 return fd; ··· 946 945 mpol_shared_policy_init(&gi->policy, NULL); 947 946 948 947 gi->flags = 0; 948 + INIT_LIST_HEAD(&gi->gmem_file_list); 949 949 return &gi->vfs_inode; 950 950 } 951 951