Thanks. See inline.. On 7/28/20 9:50 AM, Oleg Nesterov wrote: > On 07/28, madvenka@xxxxxxxxxxxxxxxxxxx wrote: >> +bool is_trampfd_vma(struct vm_area_struct *vma) >> +{ >> + struct file *file = vma->vm_file; >> + >> + if (!file) >> + return false; >> + return !strcmp(file->f_path.dentry->d_name.name, trampfd_name); > Hmm, this looks obviously wrong or I am totally confused. A user can > create a file named "[trampfd]", mmap it, and fool trampfd_fault() ? > > Why not > > return file->f_op == trampfd_fops; This is definitely the correct check. I will fix it. > > ? > >> +EXPORT_SYMBOL_GPL(is_trampfd_vma); > why is it exported? This is in common code and is called by arch code. Should I not export it? I guess since the symbol is not used by any modules, I don't need to export it. Please confirm and I will fix this. Madhavan