diff options
Diffstat (limited to 'kernel/audit.c')
| -rw-r--r-- | kernel/audit.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/kernel/audit.c b/kernel/audit.c index e092f1c0ce30..4414e93d8750 100644 --- a/kernel/audit.c +++ b/kernel/audit.c | |||
| @@ -707,12 +707,14 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) | |||
| 707 | if (status_get->mask & AUDIT_STATUS_ENABLED) { | 707 | if (status_get->mask & AUDIT_STATUS_ENABLED) { |
| 708 | err = audit_set_enabled(status_get->enabled, | 708 | err = audit_set_enabled(status_get->enabled, |
| 709 | loginuid, sessionid, sid); | 709 | loginuid, sessionid, sid); |
| 710 | if (err < 0) return err; | 710 | if (err < 0) |
| 711 | return err; | ||
| 711 | } | 712 | } |
| 712 | if (status_get->mask & AUDIT_STATUS_FAILURE) { | 713 | if (status_get->mask & AUDIT_STATUS_FAILURE) { |
| 713 | err = audit_set_failure(status_get->failure, | 714 | err = audit_set_failure(status_get->failure, |
| 714 | loginuid, sessionid, sid); | 715 | loginuid, sessionid, sid); |
| 715 | if (err < 0) return err; | 716 | if (err < 0) |
| 717 | return err; | ||
| 716 | } | 718 | } |
| 717 | if (status_get->mask & AUDIT_STATUS_PID) { | 719 | if (status_get->mask & AUDIT_STATUS_PID) { |
| 718 | int new_pid = status_get->pid; | 720 | int new_pid = status_get->pid; |
| @@ -725,9 +727,12 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) | |||
| 725 | audit_pid = new_pid; | 727 | audit_pid = new_pid; |
| 726 | audit_nlk_pid = NETLINK_CB(skb).pid; | 728 | audit_nlk_pid = NETLINK_CB(skb).pid; |
| 727 | } | 729 | } |
| 728 | if (status_get->mask & AUDIT_STATUS_RATE_LIMIT) | 730 | if (status_get->mask & AUDIT_STATUS_RATE_LIMIT) { |
| 729 | err = audit_set_rate_limit(status_get->rate_limit, | 731 | err = audit_set_rate_limit(status_get->rate_limit, |
| 730 | loginuid, sessionid, sid); | 732 | loginuid, sessionid, sid); |
| 733 | if (err < 0) | ||
| 734 | return err; | ||
| 735 | } | ||
| 731 | if (status_get->mask & AUDIT_STATUS_BACKLOG_LIMIT) | 736 | if (status_get->mask & AUDIT_STATUS_BACKLOG_LIMIT) |
| 732 | err = audit_set_backlog_limit(status_get->backlog_limit, | 737 | err = audit_set_backlog_limit(status_get->backlog_limit, |
| 733 | loginuid, sessionid, sid); | 738 | loginuid, sessionid, sid); |
| @@ -1366,7 +1371,7 @@ int audit_string_contains_control(const char *string, size_t len) | |||
| 1366 | { | 1371 | { |
| 1367 | const unsigned char *p; | 1372 | const unsigned char *p; |
| 1368 | for (p = string; p < (const unsigned char *)string + len && *p; p++) { | 1373 | for (p = string; p < (const unsigned char *)string + len && *p; p++) { |
| 1369 | if (*p == '"' || *p < 0x21 || *p > 0x7f) | 1374 | if (*p == '"' || *p < 0x21 || *p > 0x7e) |
| 1370 | return 1; | 1375 | return 1; |
| 1371 | } | 1376 | } |
| 1372 | return 0; | 1377 | return 0; |
