Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
odroid-linux-3.10.y-rt
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
oai
odroid-linux-3.10.y-rt
Commits
cdcf116d
Commit
cdcf116d
authored
Dec 08, 2011
by
Al Viro
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
switch security_path_chmod() to struct path *
Signed-off-by:
Al Viro
<
viro@zeniv.linux.org.uk
>
parent
d8c9584e
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
15 additions
and
25 deletions
+15
-25
fs/open.c
fs/open.c
+1
-1
include/linux/security.h
include/linux/security.h
+3
-7
security/apparmor/lsm.c
security/apparmor/lsm.c
+3
-4
security/capability.c
security/capability.c
+1
-2
security/security.c
security/security.c
+3
-4
security/tomoyo/tomoyo.c
security/tomoyo/tomoyo.c
+4
-7
No files found.
fs/open.c
View file @
cdcf116d
...
...
@@ -456,7 +456,7 @@ static int chmod_common(struct path *path, umode_t mode)
if
(
error
)
return
error
;
mutex_lock
(
&
inode
->
i_mutex
);
error
=
security_path_chmod
(
path
->
dentry
,
path
->
mnt
,
mode
);
error
=
security_path_chmod
(
path
,
mode
);
if
(
error
)
goto
out_unlock
;
newattrs
.
ia_mode
=
(
mode
&
S_IALLUGO
)
|
(
inode
->
i_mode
&
~
S_IALLUGO
);
...
...
include/linux/security.h
View file @
cdcf116d
...
...
@@ -1435,8 +1435,7 @@ struct security_operations {
struct
dentry
*
new_dentry
);
int
(
*
path_rename
)
(
struct
path
*
old_dir
,
struct
dentry
*
old_dentry
,
struct
path
*
new_dir
,
struct
dentry
*
new_dentry
);
int
(
*
path_chmod
)
(
struct
dentry
*
dentry
,
struct
vfsmount
*
mnt
,
umode_t
mode
);
int
(
*
path_chmod
)
(
struct
path
*
path
,
umode_t
mode
);
int
(
*
path_chown
)
(
struct
path
*
path
,
uid_t
uid
,
gid_t
gid
);
int
(
*
path_chroot
)
(
struct
path
*
path
);
#endif
...
...
@@ -2866,8 +2865,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir,
struct
dentry
*
new_dentry
);
int
security_path_rename
(
struct
path
*
old_dir
,
struct
dentry
*
old_dentry
,
struct
path
*
new_dir
,
struct
dentry
*
new_dentry
);
int
security_path_chmod
(
struct
dentry
*
dentry
,
struct
vfsmount
*
mnt
,
umode_t
mode
);
int
security_path_chmod
(
struct
path
*
path
,
umode_t
mode
);
int
security_path_chown
(
struct
path
*
path
,
uid_t
uid
,
gid_t
gid
);
int
security_path_chroot
(
struct
path
*
path
);
#else
/* CONFIG_SECURITY_PATH */
...
...
@@ -2919,9 +2917,7 @@ static inline int security_path_rename(struct path *old_dir,
return
0
;
}
static
inline
int
security_path_chmod
(
struct
dentry
*
dentry
,
struct
vfsmount
*
mnt
,
umode_t
mode
)
static
inline
int
security_path_chmod
(
struct
path
*
path
,
umode_t
mode
)
{
return
0
;
}
...
...
security/apparmor/lsm.c
View file @
cdcf116d
...
...
@@ -344,13 +344,12 @@ static int apparmor_path_rename(struct path *old_dir, struct dentry *old_dentry,
return
error
;
}
static
int
apparmor_path_chmod
(
struct
dentry
*
dentry
,
struct
vfsmount
*
mnt
,
umode_t
mode
)
static
int
apparmor_path_chmod
(
struct
path
*
path
,
umode_t
mode
)
{
if
(
!
mediated_filesystem
(
dentry
->
d_inode
))
if
(
!
mediated_filesystem
(
path
->
dentry
->
d_inode
))
return
0
;
return
common_perm_mnt_dentry
(
OP_CHMOD
,
mnt
,
dentry
,
AA_MAY_CHMOD
);
return
common_perm_mnt_dentry
(
OP_CHMOD
,
path
->
mnt
,
path
->
dentry
,
AA_MAY_CHMOD
);
}
static
int
apparmor_path_chown
(
struct
path
*
path
,
uid_t
uid
,
gid_t
gid
)
...
...
security/capability.c
View file @
cdcf116d
...
...
@@ -279,8 +279,7 @@ static int cap_path_truncate(struct path *path)
return
0
;
}
static
int
cap_path_chmod
(
struct
dentry
*
dentry
,
struct
vfsmount
*
mnt
,
umode_t
mode
)
static
int
cap_path_chmod
(
struct
path
*
path
,
umode_t
mode
)
{
return
0
;
}
...
...
security/security.c
View file @
cdcf116d
...
...
@@ -454,12 +454,11 @@ int security_path_truncate(struct path *path)
return
security_ops
->
path_truncate
(
path
);
}
int
security_path_chmod
(
struct
dentry
*
dentry
,
struct
vfsmount
*
mnt
,
umode_t
mode
)
int
security_path_chmod
(
struct
path
*
path
,
umode_t
mode
)
{
if
(
unlikely
(
IS_PRIVATE
(
dentry
->
d_inode
)))
if
(
unlikely
(
IS_PRIVATE
(
path
->
dentry
->
d_inode
)))
return
0
;
return
security_ops
->
path_chmod
(
dentry
,
mnt
,
mode
);
return
security_ops
->
path_chmod
(
path
,
mode
);
}
int
security_path_chown
(
struct
path
*
path
,
uid_t
uid
,
gid_t
gid
)
...
...
security/tomoyo/tomoyo.c
View file @
cdcf116d
...
...
@@ -353,17 +353,14 @@ static int tomoyo_file_ioctl(struct file *file, unsigned int cmd,
/**
* tomoyo_path_chmod - Target for security_path_chmod().
*
* @dentry: Pointer to "struct dentry".
* @mnt: Pointer to "struct vfsmount".
* @mode: DAC permission mode.
* @path: Pointer to "struct path".
* @mode: DAC permission mode.
*
* Returns 0 on success, negative value otherwise.
*/
static
int
tomoyo_path_chmod
(
struct
dentry
*
dentry
,
struct
vfsmount
*
mnt
,
umode_t
mode
)
static
int
tomoyo_path_chmod
(
struct
path
*
path
,
umode_t
mode
)
{
struct
path
path
=
{
mnt
,
dentry
};
return
tomoyo_path_number_perm
(
TOMOYO_TYPE_CHMOD
,
&
path
,
return
tomoyo_path_number_perm
(
TOMOYO_TYPE_CHMOD
,
path
,
mode
&
S_IALLUGO
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment