On Mon, Aug 11 2025, Vipin Sharma wrote: > On 2025-08-07 01:44:32, Pasha Tatashin wrote: >> From: Pratyush Yadav <ptyadav@xxxxxxxxx> >> @@ -3123,7 +3123,9 @@ static struct inode *__shmem_get_inode(struct mnt_idmap *idmap, >> spin_lock_init(&info->lock); >> atomic_set(&info->stop_eviction, 0); >> info->seals = F_SEAL_SEAL; >> - info->flags = flags & VM_NORESERVE; >> + info->flags = 0; > > This is not needed as the 'info' is being set to 0 just above > spin_lock_init. > >> + if (flags & VM_NORESERVE) >> + info->flags |= SHMEM_F_NORESERVE; > > As info->flags will be 0, this can be just direct assignment '='. I think it is a bit more readable this way. Anyway, I don't have a strong opinion, so if you insist, I'll change this. > >> info->i_crtime = inode_get_mtime(inode); >> info->fsflags = (dir == NULL) ? 0 : >> SHMEM_I(dir)->fsflags & SHMEM_FL_INHERITED; >> @@ -5862,8 +5864,10 @@ static inline struct inode *shmem_get_inode(struct mnt_idmap *idmap, >> /* common code */ >> >> static struct file *__shmem_file_setup(struct vfsmount *mnt, const char *name, >> - loff_t size, unsigned long flags, unsigned int i_flags) >> + loff_t size, unsigned long vm_flags, >> + unsigned int i_flags) > > Nit: Might be just my editor, but this alignment seems off. Looks fine for me: https://gist.github.com/prati0100/a06229ca99cac5aae795fb962bb24ac5 Checkpatch also doesn't complain. Can you double-check? And if it still looks off, can you describe what's wrong? > >> { >> + unsigned long flags = (vm_flags & VM_NORESERVE) ? SHMEM_F_NORESERVE : 0; >> struct inode *inode; >> struct file *res; >> >> @@ -5880,7 +5884,7 @@ static struct file *__shmem_file_setup(struct vfsmount *mnt, const char *name, >> return ERR_PTR(-ENOMEM); >> >> inode = shmem_get_inode(&nop_mnt_idmap, mnt->mnt_sb, NULL, >> - S_IFREG | S_IRWXUGO, 0, flags); >> + S_IFREG | S_IRWXUGO, 0, vm_flags); >> if (IS_ERR(inode)) { >> shmem_unacct_size(flags, size); >> return ERR_CAST(inode); >> -- >> 2.50.1.565.gc32cd1483b-goog >> -- Regards, Pratyush Yadav