Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2c616d4d authored by David Howells's avatar David Howells Committed by Al Viro
Browse files

SELinux: Use d_is_positive() rather than testing dentry->d_inode



Use d_is_positive() rather than testing dentry->d_inode in SELinux to get rid
of direct references to d_inode outside of the VFS.

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 8802565b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1822,12 +1822,12 @@ static inline int may_rename(struct inode *old_dir,

	ad.u.dentry = new_dentry;
	av = DIR__ADD_NAME | DIR__SEARCH;
	if (new_dentry->d_inode)
	if (d_is_positive(new_dentry))
		av |= DIR__REMOVE_NAME;
	rc = avc_has_perm(sid, new_dsec->sid, SECCLASS_DIR, av, &ad);
	if (rc)
		return rc;
	if (new_dentry->d_inode) {
	if (d_is_positive(new_dentry)) {
		new_isec = new_dentry->d_inode->i_security;
		new_is_dir = S_ISDIR(new_dentry->d_inode->i_mode);
		rc = avc_has_perm(sid, new_isec->sid,