···227227 return -EACCES;228228}229229230230-int permission(struct inode *inode, int mask, struct nameidata *nd)230230+int inode_permission(struct inode *inode, int mask)231231{232232 int retval;233233- struct vfsmount *mnt = NULL;234234-235235- if (nd)236236- mnt = nd->path.mnt;237233238234 if (mask & MAY_WRITE) {239235 umode_t mode = inode->i_mode;···289293 */290294int vfs_permission(struct nameidata *nd, int mask)291295{292292- return permission(nd->path.dentry->d_inode, mask, nd);296296+ return inode_permission(nd->path.dentry->d_inode, mask);293297}294298295299/**···306310 */307311int file_permission(struct file *file, int mask)308312{309309- return permission(file->f_path.dentry->d_inode, mask, NULL);313313+ return inode_permission(file->f_path.dentry->d_inode, mask);310314}311315312316/*···12581262{12591263 int err;1260126412611261- err = permission(nd->path.dentry->d_inode, MAY_EXEC, nd);12651265+ err = inode_permission(nd->path.dentry->d_inode, MAY_EXEC);12621266 if (err)12631267 return ERR_PTR(err);12641268 return __lookup_hash(&nd->last, nd->path.dentry, nd);···13061310 if (err)13071311 return ERR_PTR(err);1308131213091309- err = permission(base->d_inode, MAY_EXEC, NULL);13131313+ err = inode_permission(base->d_inode, MAY_EXEC);13101314 if (err)13111315 return ERR_PTR(err);13121316 return __lookup_hash(&this, base, NULL);···13961400 BUG_ON(victim->d_parent->d_inode != dir);13971401 audit_inode_child(victim->d_name.name, victim, dir);1398140213991399- error = permission(dir,MAY_WRITE | MAY_EXEC, NULL);14031403+ error = inode_permission(dir, MAY_WRITE | MAY_EXEC);14001404 if (error)14011405 return error;14021406 if (IS_APPEND(dir))···14331437 return -EEXIST;14341438 if (IS_DEADDIR(dir))14351439 return -ENOENT;14361436- return permission(dir,MAY_WRITE | MAY_EXEC, nd);14401440+ return inode_permission(dir, MAY_WRITE | MAY_EXEC);14371441}1438144214391443/* ···25392543 * we'll need to flip '..'.25402544 */25412545 if (new_dir != old_dir) {25422542- error = permission(old_dentry->d_inode, MAY_WRITE, NULL);25462546+ error = inode_permission(old_dentry->d_inode, MAY_WRITE);25432547 if (error)25442548 return error;25452549 }···28932897EXPORT_SYMBOL(page_symlink_inode_operations);28942898EXPORT_SYMBOL(path_lookup);28952899EXPORT_SYMBOL(vfs_path_lookup);28962896-EXPORT_SYMBOL(permission);29002900+EXPORT_SYMBOL(inode_permission);28972901EXPORT_SYMBOL(vfs_permission);28982902EXPORT_SYMBOL(file_permission);28992903EXPORT_SYMBOL(unlock_rename);
+1-1
fs/nfsd/nfsfh.c
···5151 /* make sure parents give x permission to user */5252 int err;5353 parent = dget_parent(tdentry);5454- err = permission(parent->d_inode, MAY_EXEC, NULL);5454+ err = inode_permission(parent->d_inode, MAY_EXEC);5555 if (err < 0) {5656 dput(parent);5757 break;