diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2009-12-16 06:38:01 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2009-12-16 12:16:47 -0500 |
commit | 1429b3eca23818f87f9fa569a15d9816de81f698 (patch) | |
tree | 3100f009ec8863ee4692ee197b8e0c16c11258e6 /fs | |
parent | b65a9cfc2c38eebc33533280b8ad5841caee8b6e (diff) |
Untangling ima mess, part 3: kill dead code in ima
Kill the 'update' argument of ima_path_check(), kill
dead code in ima.
Current rules: ima counters are bumped at the same time
when the file switches from put_filp() fodder to fput()
one. Which happens exactly in two places - alloc_file()
and __dentry_open(). Nothing else needs to do that at
all.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/namei.c | 4 | ||||
-rw-r--r-- | fs/nfsd/vfs.c | 3 |
2 files changed, 3 insertions, 4 deletions
diff --git a/fs/namei.c b/fs/namei.c index c530e5d32f12..a765e7a741f4 100644 --- a/fs/namei.c +++ b/fs/namei.c | |||
@@ -1686,7 +1686,7 @@ do_last: | |||
1686 | path_put(&nd.root); | 1686 | path_put(&nd.root); |
1687 | if (!IS_ERR(filp)) { | 1687 | if (!IS_ERR(filp)) { |
1688 | error = ima_path_check(&filp->f_path, filp->f_mode & | 1688 | error = ima_path_check(&filp->f_path, filp->f_mode & |
1689 | (MAY_READ | MAY_WRITE | MAY_EXEC), 0); | 1689 | (MAY_READ | MAY_WRITE | MAY_EXEC)); |
1690 | if (error) { | 1690 | if (error) { |
1691 | fput(filp); | 1691 | fput(filp); |
1692 | filp = ERR_PTR(error); | 1692 | filp = ERR_PTR(error); |
@@ -1747,7 +1747,7 @@ ok: | |||
1747 | filp = nameidata_to_filp(&nd, open_flag); | 1747 | filp = nameidata_to_filp(&nd, open_flag); |
1748 | if (!IS_ERR(filp)) { | 1748 | if (!IS_ERR(filp)) { |
1749 | error = ima_path_check(&filp->f_path, filp->f_mode & | 1749 | error = ima_path_check(&filp->f_path, filp->f_mode & |
1750 | (MAY_READ | MAY_WRITE | MAY_EXEC), 0); | 1750 | (MAY_READ | MAY_WRITE | MAY_EXEC)); |
1751 | if (error) { | 1751 | if (error) { |
1752 | fput(filp); | 1752 | fput(filp); |
1753 | filp = ERR_PTR(error); | 1753 | filp = ERR_PTR(error); |
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index c9942b39654e..936f08400db6 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c | |||
@@ -2122,8 +2122,7 @@ nfsd_permission(struct svc_rqst *rqstp, struct svc_export *exp, | |||
2122 | */ | 2122 | */ |
2123 | path.mnt = exp->ex_path.mnt; | 2123 | path.mnt = exp->ex_path.mnt; |
2124 | path.dentry = dentry; | 2124 | path.dentry = dentry; |
2125 | err = ima_path_check(&path, acc & (MAY_READ | MAY_WRITE | MAY_EXEC), | 2125 | err = ima_path_check(&path, acc & (MAY_READ | MAY_WRITE | MAY_EXEC)); |
2126 | IMA_COUNT_LEAVE); | ||
2127 | nfsd_out: | 2126 | nfsd_out: |
2128 | return err? nfserrno(err) : 0; | 2127 | return err? nfserrno(err) : 0; |
2129 | } | 2128 | } |