On 6/2/26 13:46, Pavel Tikhomirov wrote:
>> @@ -3338,6 +3344,10 @@ static int do_remount(struct path *path, int 
>> ms_flags, int sb_flags,
>>  
>>      mnt_warn_timestamp_expiry(path, &mnt->mnt);
>>  
>> +free_mnt_data:
>> +    if (mnt_data && mnt_data != data)
>> +            free_page((unsigned long)mnt_data);
>> +err:
>>      put_fs_context(fc);
>>      return err;
>>  }
>> @@ -3774,8 +3784,17 @@ static int do_new_mount(struct path *path, const char 
>> *fstype, int sb_flags,
>>                                        subtype, strlen(subtype));
>>      if (!err && name)
>>              err = vfs_parse_fs_string(fc, "source", name, strlen(name));
>> -    if (!err)
>> -            err = parse_monolithic_mount_data(fc, data);
>> +    if (!err) {
>> +            void *mnt_data = legacy_merge_mount_data(fc, data);
>> +
>> +            if (IS_ERR(mnt_data)) {
>> +                    err = PTR_ERR(mnt_data);
>> +            } else {
>> +                    err = parse_monolithic_mount_data(fc, mnt_data);
>> +                    if (mnt_data != data)
>> +                            free_page((unsigned long)mnt_data);
>> +            }
>> +    }
> Why do we change this codepath? We don't have any vz-specific code (e.g. 
> ve_prepare_mount_options()) here.
> 
>>      if (!err && !mount_capable(fc))
>>              err = -EPERM;
>>      if (!err)

Ah I see

int parse_monolithic_mount_data(struct fs_context *fc, void *data)
{
        int (*monolithic_mount_data)(struct fs_context *, void *);
                
        monolithic_mount_data = fc->ops->parse_monolithic;
        if (!monolithic_mount_data)
                monolithic_mount_data = generic_parse_monolithic;

        return monolithic_mount_data(fc, data);
}

in generic_parse_monolithic case we get to vfs_parse_monolithic_sep -> 
ve_devmnt_process.

-- 
Best regards, Pavel Tikhomirov
Senior Software Developer, Virtuozzo.

_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to