mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 09:00:52 +07:00
[PATCH] Fix the bug of using AUDIT_STATUS_RATE_LIMIT when set fail, no error output.
When the "status_get->mask" is "AUDIT_STATUS_RATE_LIMIT || AUDIT_STATUS_BACKLOG_LIMIT". If "audit_set_rate_limit" fails and "audit_set_backlog_limit" succeeds, the "err" value will be greater than or equal to 0. It will miss the failure of rate set. Signed-off-by: Zhang Xiliang <zhangxiliang@cn.fujitsu.com> Acked-by: Eric Paris <eparis@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
980dfb0db3
commit
20c6aaa39a
@ -707,12 +707,14 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
|
||||
if (status_get->mask & AUDIT_STATUS_ENABLED) {
|
||||
err = audit_set_enabled(status_get->enabled,
|
||||
loginuid, sessionid, sid);
|
||||
if (err < 0) return err;
|
||||
if (err < 0)
|
||||
return err;
|
||||
}
|
||||
if (status_get->mask & AUDIT_STATUS_FAILURE) {
|
||||
err = audit_set_failure(status_get->failure,
|
||||
loginuid, sessionid, sid);
|
||||
if (err < 0) return err;
|
||||
if (err < 0)
|
||||
return err;
|
||||
}
|
||||
if (status_get->mask & AUDIT_STATUS_PID) {
|
||||
int new_pid = status_get->pid;
|
||||
@ -725,9 +727,12 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
|
||||
audit_pid = new_pid;
|
||||
audit_nlk_pid = NETLINK_CB(skb).pid;
|
||||
}
|
||||
if (status_get->mask & AUDIT_STATUS_RATE_LIMIT)
|
||||
if (status_get->mask & AUDIT_STATUS_RATE_LIMIT) {
|
||||
err = audit_set_rate_limit(status_get->rate_limit,
|
||||
loginuid, sessionid, sid);
|
||||
if (err < 0)
|
||||
return err;
|
||||
}
|
||||
if (status_get->mask & AUDIT_STATUS_BACKLOG_LIMIT)
|
||||
err = audit_set_backlog_limit(status_get->backlog_limit,
|
||||
loginuid, sessionid, sid);
|
||||
|
Loading…
Reference in New Issue
Block a user