Re: [RFC] refactor mnt_fstype_is_pseudofs()?

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

 



Dne 04. 02. 19 v 15:03 Karel Zak napsal(a):
> On Fri, Feb 01, 2019 at 12:07:12AM +0100, Stanislav Brabec wrote:
>> The same problem affects other pseudo file systems not listed in mnt_fstype_is_pseudofs():
>> # mount | grep encfs
>> encfs on /Encrypted type fuse.encfs (rw,nosuid,nodev,relatime,user_id=10027,group_id=100,default_permissions)
>> # mkdir encfs
>> # mount | grep encfs
>> /root/encfs on /Encrypted type fuse.encfs (rw,nosuid,nodev,relatime,user_id=10027,group_id=100,default_permissions)
>> ^^^^^^^^^^^
>>
>> Debugging shows two reasons why it happens:
>> 1) encfs is not listed in mnt_fstype_is_pseudofs()
>> 2) mnt_resolve_path() calls canonicalize_path_and_cache() on the kernel output, which makes only a little sense
> 
> Where? It should be easy to check by mnt_fs_is_kernel().

I just found that the check is incomplete and the same problem also affects ALL network file systems, listed or not listed in mnt_fstype_is_netfs():

# mount nfs.example.com:/home /home-nfs
# mount | grep nfs
nfs.example.com:/home on /home-nfs type nfs4 ...
# mkdir -p nfs.example.com:/home
# mount | grep nfs
/root/nfs.example.com:/home on /home-nfs type nfs4 ...

-- 
Best Regards / S pozdravem,

Stanislav Brabec
software developer
---------------------------------------------------------------------
SUSE LINUX, s. r. o.                         e-mail: sbrabec@xxxxxxxx
Křižíkova 148/34 (Corso IIa)                    tel: +420 284 084 060
186 00 Praha 8-Karlín                          fax:  +420 284 084 001
Czech Republic                                    http://www.suse.cz/
PGP: 830B 40D5 9E05 35D8 5E27 6FA3 717C 209F A04F CD76



[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux