Re: [ksmbd] racy uses of ->d_parent and ->d_name

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

 



2022-02-03 13:02 GMT+09:00, Al Viro <viro@xxxxxxxxxxxxxxxxxx>:
> On Thu, Feb 03, 2022 at 08:16:21AM +0900, Namjae Jeon wrote:
>
>> > 	Why is so much tied to "open, then figure out where it is" model?
>> > Is it a legacy of userland implementation, or a network fs protocol
>> > that
>> > manages to outsuck NFS, or...?
>> It need to use absolute based path given from request.
>
> Er... yes?  Normal syscalls also have to be able to deal with pathnames;
> the sane way for e.g. unlink() is to traverse everything except the last
> component, then do inode_lock() on the directory you've arrived at, do
> lookup for the final component and do the operation.
>
> What we do not attempt is "walk the entire path, then try to lock the
> parent of whatever we'd arrived at, then do operation".  Otherwise
> we'd have the same kind of headache in all directory-manipulating
> syscalls...
>
> What's the problem with doing the same thing here?  Lack of convenient
> exported helpers for some of those?  Then let's sort _that_ out...
> If there's something else, I'd like to know what exactly it is.
I have fully understood what you point out. if filename_parentat() and
__lookup_hash() can be exported in vfs, they can be used in ksmbd for
this issue.
I'll check it more and get your ack if I need more change in vfs.

Thanks!
>



[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