Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
795d673a
Commit
795d673a
authored
Apr 26, 2019
by
Al Viro
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
audit_compare_dname_path(): switch to const struct qstr *
Signed-off-by:
Al Viro
<
viro@zeniv.linux.org.uk
>
parent
6921d4eb
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
8 additions
and
9 deletions
+8
-9
kernel/audit.h
kernel/audit.h
+1
-1
kernel/audit_fsnotify.c
kernel/audit_fsnotify.c
+1
-1
kernel/audit_watch.c
kernel/audit_watch.c
+1
-2
kernel/auditfilter.c
kernel/auditfilter.c
+3
-3
kernel/auditsc.c
kernel/auditsc.c
+2
-2
No files found.
kernel/audit.h
View file @
795d673a
...
...
@@ -231,7 +231,7 @@ extern int audit_comparator(const u32 left, const u32 op, const u32 right);
extern
int
audit_uid_comparator
(
kuid_t
left
,
u32
op
,
kuid_t
right
);
extern
int
audit_gid_comparator
(
kgid_t
left
,
u32
op
,
kgid_t
right
);
extern
int
parent_len
(
const
char
*
path
);
extern
int
audit_compare_dname_path
(
const
cha
r
*
dname
,
const
char
*
path
,
int
plen
);
extern
int
audit_compare_dname_path
(
const
struct
qst
r
*
dname
,
const
char
*
path
,
int
plen
);
extern
struct
sk_buff
*
audit_make_reply
(
int
seq
,
int
type
,
int
done
,
int
multi
,
const
void
*
payload
,
int
size
);
extern
void
audit_panic
(
const
char
*
message
);
...
...
kernel/audit_fsnotify.c
View file @
795d673a
...
...
@@ -188,7 +188,7 @@ static int audit_mark_handle_event(struct fsnotify_group *group,
}
if
(
mask
&
(
FS_CREATE
|
FS_MOVED_TO
|
FS_DELETE
|
FS_MOVED_FROM
))
{
if
(
audit_compare_dname_path
(
dname
->
name
,
audit_mark
->
path
,
AUDIT_NAME_FULL
))
if
(
audit_compare_dname_path
(
dname
,
audit_mark
->
path
,
AUDIT_NAME_FULL
))
return
0
;
audit_update_mark
(
audit_mark
,
inode
);
}
else
if
(
mask
&
(
FS_DELETE_SELF
|
FS_UNMOUNT
|
FS_MOVE_SELF
))
...
...
kernel/audit_watch.c
View file @
795d673a
...
...
@@ -261,13 +261,12 @@ static void audit_update_watch(struct audit_parent *parent,
struct
audit_watch
*
owatch
,
*
nwatch
,
*
nextw
;
struct
audit_krule
*
r
,
*
nextr
;
struct
audit_entry
*
oentry
,
*
nentry
;
const
unsigned
char
*
name
=
dname
->
name
;
mutex_lock
(
&
audit_filter_mutex
);
/* Run all of the watches on this parent looking for the one that
* matches the given dname */
list_for_each_entry_safe
(
owatch
,
nextw
,
&
parent
->
watches
,
wlist
)
{
if
(
audit_compare_dname_path
(
name
,
owatch
->
path
,
if
(
audit_compare_dname_path
(
d
name
,
owatch
->
path
,
AUDIT_NAME_FULL
))
continue
;
...
...
kernel/auditfilter.c
View file @
795d673a
...
...
@@ -1290,12 +1290,12 @@ int parent_len(const char *path)
* @parentlen: length of the parent if known. Passing in AUDIT_NAME_FULL
* here indicates that we must compute this value.
*/
int
audit_compare_dname_path
(
const
cha
r
*
dname
,
const
char
*
path
,
int
parentlen
)
int
audit_compare_dname_path
(
const
struct
qst
r
*
dname
,
const
char
*
path
,
int
parentlen
)
{
int
dlen
,
pathlen
;
const
char
*
p
;
dlen
=
strlen
(
dname
)
;
dlen
=
dname
->
len
;
pathlen
=
strlen
(
path
);
if
(
pathlen
<
dlen
)
return
1
;
...
...
@@ -1306,7 +1306,7 @@ int audit_compare_dname_path(const char *dname, const char *path, int parentlen)
p
=
path
+
parentlen
;
return
strncmp
(
p
,
dname
,
dlen
);
return
strncmp
(
p
,
dname
->
name
,
dlen
);
}
int
audit_filter
(
int
msgtype
,
unsigned
int
listtype
)
...
...
kernel/auditsc.c
View file @
795d673a
...
...
@@ -2045,7 +2045,7 @@ void __audit_inode_child(struct inode *parent,
{
struct
audit_context
*
context
=
audit_context
();
struct
inode
*
inode
=
d_backing_inode
(
dentry
);
const
char
*
dname
=
dentry
->
d_name
.
name
;
const
struct
qstr
*
dname
=
&
dentry
->
d_
name
;
struct
audit_names
*
n
,
*
found_parent
=
NULL
,
*
found_child
=
NULL
;
struct
audit_entry
*
e
;
struct
list_head
*
list
=
&
audit_filter_list
[
AUDIT_FILTER_FS
];
...
...
@@ -2099,7 +2099,7 @@ void __audit_inode_child(struct inode *parent,
(
n
->
type
!=
type
&&
n
->
type
!=
AUDIT_TYPE_UNKNOWN
))
continue
;
if
(
!
strcmp
(
dname
,
n
->
name
->
name
)
||
if
(
!
strcmp
(
dname
->
name
,
n
->
name
->
name
)
||
!
audit_compare_dname_path
(
dname
,
n
->
name
->
name
,
found_parent
?
found_parent
->
name_len
:
...
...
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