Re: [PATCH V9 1/7] KVM: guest_memfd: Use guest mem inodes instead of anonymous inodes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 8/8/2025 3:04 AM, Ackerley Tng wrote:
> David Hildenbrand <david@xxxxxxxxxx> writes:
> 
>> On 13.07.25 19:43, Shivank Garg wrote:
>>> From: Ackerley Tng <ackerleytng@xxxxxxxxxx>
>>>

>>> +	ctx->ops = &kvm_gmem_super_operations;
>>
>> Curious, why is that required? (secretmem doesn't have it, so I wonder)
>>
> 
> Good point! pseudo_fs_fill_super() fills in a struct super_operations
> which already does simple_statfs, so guest_memfd doesn't need this.
> 

Right, simple_statfs isn't strictly needed in this patch, but the
super_operations is required for the subsequent patches in
the series which add custom alloc_inode, destroy_inode, and free_inode
callback.

>>> +	if (!try_module_get(kvm_gmem_fops.owner))
>>> +		goto err;
>>
>> Curious, shouldn't there be a module_put() somewhere after this function 
>> returned a file?
>>
> 
> This was interesting indeed, but IIUC this is correct.
> 
> I think this flow was basically copied from __anon_inode_getfile(),
> which does this try_module_get().
> 
> The corresponding module_put() is in __fput(), which calls fops_put()
> and calls module_put() on the owner.
> 

>>> +
>>>
>>
>> Nothing else jumped at me.
>>
> 
> Thanks for the review!
> 
> Since we're going to submit this patch through Shivank's mempolicy
> support series, I'll follow up soon by sending a replacement patch in
> reply to this series so Shivank could build on top of that?
> 

yes, I'll post the V10 soon.

Thanks,
Shivank





[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux