Thread (55 messages) 55 messages, 7 authors, 2022-01-14

Re: [PATCH v3 kvm/queue 03/16] mm/memfd: Introduce MEMFD_OPS

From: Chao Peng <hidden>
Date: 2021-12-31 02:39:40
Also in: kvm, linux-fsdevel, lkml, qemu-devel

On Fri, Dec 24, 2021 at 11:53:15AM +0800, Robert Hoo wrote:
On Thu, 2021-12-23 at 20:29 +0800, Chao Peng wrote:
quoted
From: "Kirill A. Shutemov" <redacted>
 
+static void notify_fallocate(struct inode *inode, pgoff_t start,
pgoff_t end)
+{
+#ifdef CONFIG_MEMFD_OPS
+	struct shmem_inode_info *info = SHMEM_I(inode);
+	const struct memfd_falloc_notifier *notifier;
+	void *owner;
+	bool ret;
+
+	if (!info->falloc_notifier)
+		return;
+
+	spin_lock(&info->lock);
+	notifier = info->falloc_notifier;
+	if (!notifier) {
+		spin_unlock(&info->lock);
+		return;
+	}
+
+	owner = info->owner;
+	ret = notifier->get_owner(owner);
+	spin_unlock(&info->lock);
+	if (!ret)
+		return;
+
+	notifier->fallocate(inode, owner, start, end);
I see notifier->fallocate(), i.e. memfd_fallocate(), discards
kvm_memfd_fallocate_range()'s return value. Should it be checked?
I think we can ignore it, just like how current mmu_notifier does,
the return value of __kvm_handle_hva_range is discarded in
kvm_mmu_notifier_invalidate_range_start(). Even when KVM side failed,
it's not fatal, it should not block the operation in the primary MMU.

Thanks,
Chao
quoted
+	notifier->put_owner(owner);
+#endif
+}
+
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help