Lines Matching refs:ab

191 static void audit_set_portid(struct audit_buffer *ab, __u32 portid)  in audit_set_portid()  argument
193 if (ab) { in audit_set_portid()
194 struct nlmsghdr *nlh = nlmsg_hdr(ab->skb); in audit_set_portid()
288 struct audit_buffer *ab; in audit_log_config_change() local
291 ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE); in audit_log_config_change()
292 if (unlikely(!ab)) in audit_log_config_change()
294 audit_log_format(ab, "%s=%u old=%u", function_name, new, old); in audit_log_config_change()
295 audit_log_session_info(ab); in audit_log_config_change()
296 rc = audit_log_task_context(ab); in audit_log_config_change()
299 audit_log_format(ab, " res=%d", allow_changes); in audit_log_config_change()
300 audit_log_end(ab); in audit_log_config_change()
687 static int audit_log_common_recv_msg(struct audit_buffer **ab, u16 msg_type) in audit_log_common_recv_msg() argument
694 *ab = NULL; in audit_log_common_recv_msg()
698 *ab = audit_log_start(NULL, GFP_KERNEL, msg_type); in audit_log_common_recv_msg()
699 if (unlikely(!*ab)) in audit_log_common_recv_msg()
701 audit_log_format(*ab, "pid=%d uid=%u", pid, uid); in audit_log_common_recv_msg()
702 audit_log_session_info(*ab); in audit_log_common_recv_msg()
703 audit_log_task_context(*ab); in audit_log_common_recv_msg()
728 struct audit_buffer *ab; in audit_log_feature_change() local
733 ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_FEATURE_CHANGE); in audit_log_feature_change()
734 audit_log_task_info(ab, current); in audit_log_feature_change()
735 audit_log_format(ab, " feature=%s old=%u new=%u old_lock=%u new_lock=%u res=%d", in audit_log_feature_change()
738 audit_log_end(ab); in audit_log_feature_change()
804 struct audit_buffer *ab; in audit_receive_msg() local
915 audit_log_common_recv_msg(&ab, msg_type); in audit_receive_msg()
917 audit_log_format(ab, " msg='%.*s'", in audit_receive_msg()
923 audit_log_format(ab, " data="); in audit_receive_msg()
928 audit_log_n_untrustedstring(ab, data, size); in audit_receive_msg()
930 audit_set_portid(ab, NETLINK_CB(skb).portid); in audit_receive_msg()
931 audit_log_end(ab); in audit_receive_msg()
940 audit_log_common_recv_msg(&ab, AUDIT_CONFIG_CHANGE); in audit_receive_msg()
941 audit_log_format(ab, " audit_enabled=%d res=0", audit_enabled); in audit_receive_msg()
942 audit_log_end(ab); in audit_receive_msg()
953 audit_log_common_recv_msg(&ab, AUDIT_CONFIG_CHANGE); in audit_receive_msg()
954 audit_log_format(ab, " op=trim res=1"); in audit_receive_msg()
955 audit_log_end(ab); in audit_receive_msg()
983 audit_log_common_recv_msg(&ab, AUDIT_CONFIG_CHANGE); in audit_receive_msg()
985 audit_log_format(ab, " op=make_equiv old="); in audit_receive_msg()
986 audit_log_untrustedstring(ab, old); in audit_receive_msg()
987 audit_log_format(ab, " new="); in audit_receive_msg()
988 audit_log_untrustedstring(ab, new); in audit_receive_msg()
989 audit_log_format(ab, " res=%d", !err); in audit_receive_msg()
990 audit_log_end(ab); in audit_receive_msg()
1033 struct audit_buffer *ab; in audit_receive_msg() local
1052 audit_log_common_recv_msg(&ab, AUDIT_CONFIG_CHANGE); in audit_receive_msg()
1053 audit_log_format(ab, " op=tty_set old-enabled=%d new-enabled=%d" in audit_receive_msg()
1057 audit_log_end(ab); in audit_receive_msg()
1214 static void audit_buffer_free(struct audit_buffer *ab) in audit_buffer_free() argument
1218 if (!ab) in audit_buffer_free()
1221 if (ab->skb) in audit_buffer_free()
1222 kfree_skb(ab->skb); in audit_buffer_free()
1226 kfree(ab); in audit_buffer_free()
1229 list_add(&ab->list, &audit_freelist); in audit_buffer_free()
1238 struct audit_buffer *ab = NULL; in audit_buffer_alloc() local
1243 ab = list_entry(audit_freelist.next, in audit_buffer_alloc()
1245 list_del(&ab->list); in audit_buffer_alloc()
1250 if (!ab) { in audit_buffer_alloc()
1251 ab = kmalloc(sizeof(*ab), gfp_mask); in audit_buffer_alloc()
1252 if (!ab) in audit_buffer_alloc()
1256 ab->ctx = ctx; in audit_buffer_alloc()
1257 ab->gfp_mask = gfp_mask; in audit_buffer_alloc()
1259 ab->skb = nlmsg_new(AUDIT_BUFSIZ, gfp_mask); in audit_buffer_alloc()
1260 if (!ab->skb) in audit_buffer_alloc()
1263 nlh = nlmsg_put(ab->skb, 0, 0, type, 0, 0); in audit_buffer_alloc()
1267 return ab; in audit_buffer_alloc()
1270 kfree_skb(ab->skb); in audit_buffer_alloc()
1271 ab->skb = NULL; in audit_buffer_alloc()
1273 audit_buffer_free(ab); in audit_buffer_alloc()
1347 struct audit_buffer *ab = NULL; in audit_log_start() local
1392 ab = audit_buffer_alloc(ctx, gfp_mask, type); in audit_log_start()
1393 if (!ab) { in audit_log_start()
1398 audit_get_stamp(ab->ctx, &t, &serial); in audit_log_start()
1400 audit_log_format(ab, "audit(%lu.%03lu:%u): ", in audit_log_start()
1402 return ab; in audit_log_start()
1413 static inline int audit_expand(struct audit_buffer *ab, int extra) in audit_expand() argument
1415 struct sk_buff *skb = ab->skb; in audit_expand()
1417 int ret = pskb_expand_head(skb, 0, extra, ab->gfp_mask); in audit_expand()
1435 static void audit_log_vformat(struct audit_buffer *ab, const char *fmt, in audit_log_vformat() argument
1442 if (!ab) in audit_log_vformat()
1445 BUG_ON(!ab->skb); in audit_log_vformat()
1446 skb = ab->skb; in audit_log_vformat()
1449 avail = audit_expand(ab, AUDIT_BUFSIZ); in audit_log_vformat()
1459 avail = audit_expand(ab, in audit_log_vformat()
1481 void audit_log_format(struct audit_buffer *ab, const char *fmt, ...) in audit_log_format() argument
1485 if (!ab) in audit_log_format()
1488 audit_log_vformat(ab, fmt, args); in audit_log_format()
1503 void audit_log_n_hex(struct audit_buffer *ab, const unsigned char *buf, in audit_log_n_hex() argument
1510 if (!ab) in audit_log_n_hex()
1513 BUG_ON(!ab->skb); in audit_log_n_hex()
1514 skb = ab->skb; in audit_log_n_hex()
1520 avail = audit_expand(ab, new_len); in audit_log_n_hex()
1536 void audit_log_n_string(struct audit_buffer *ab, const char *string, in audit_log_n_string() argument
1543 if (!ab) in audit_log_n_string()
1546 BUG_ON(!ab->skb); in audit_log_n_string()
1547 skb = ab->skb; in audit_log_n_string()
1551 avail = audit_expand(ab, new_len); in audit_log_n_string()
1593 void audit_log_n_untrustedstring(struct audit_buffer *ab, const char *string, in audit_log_n_untrustedstring() argument
1597 audit_log_n_hex(ab, string, len); in audit_log_n_untrustedstring()
1599 audit_log_n_string(ab, string, len); in audit_log_n_untrustedstring()
1610 void audit_log_untrustedstring(struct audit_buffer *ab, const char *string) in audit_log_untrustedstring() argument
1612 audit_log_n_untrustedstring(ab, string, strlen(string)); in audit_log_untrustedstring()
1616 void audit_log_d_path(struct audit_buffer *ab, const char *prefix, in audit_log_d_path() argument
1622 audit_log_format(ab, "%s", prefix); in audit_log_d_path()
1625 pathname = kmalloc(PATH_MAX+11, ab->gfp_mask); in audit_log_d_path()
1627 audit_log_string(ab, "<no_memory>"); in audit_log_d_path()
1633 audit_log_string(ab, "<too_long>"); in audit_log_d_path()
1635 audit_log_untrustedstring(ab, p); in audit_log_d_path()
1639 void audit_log_session_info(struct audit_buffer *ab) in audit_log_session_info() argument
1644 audit_log_format(ab, " auid=%u ses=%u", auid, sessionid); in audit_log_session_info()
1647 void audit_log_key(struct audit_buffer *ab, char *key) in audit_log_key() argument
1649 audit_log_format(ab, " key="); in audit_log_key()
1651 audit_log_untrustedstring(ab, key); in audit_log_key()
1653 audit_log_format(ab, "(null)"); in audit_log_key()
1656 void audit_log_cap(struct audit_buffer *ab, char *prefix, kernel_cap_t *cap) in audit_log_cap() argument
1660 audit_log_format(ab, " %s=", prefix); in audit_log_cap()
1662 audit_log_format(ab, "%08x", in audit_log_cap()
1667 static void audit_log_fcaps(struct audit_buffer *ab, struct audit_names *name) in audit_log_fcaps() argument
1674 audit_log_cap(ab, "cap_fp", perm); in audit_log_fcaps()
1678 audit_log_cap(ab, "cap_fi", inh); in audit_log_fcaps()
1683 audit_log_format(ab, " cap_fe=%d cap_fver=%x", in audit_log_fcaps()
1734 struct audit_buffer *ab; in audit_log_name() local
1735 ab = audit_log_start(context, GFP_KERNEL, AUDIT_PATH); in audit_log_name()
1736 if (!ab) in audit_log_name()
1739 audit_log_format(ab, "item=%d", record_num); in audit_log_name()
1742 audit_log_d_path(ab, " name=", path); in audit_log_name()
1747 audit_log_format(ab, " name="); in audit_log_name()
1748 audit_log_untrustedstring(ab, n->name->name); in audit_log_name()
1753 audit_log_d_path(ab, " name=", &context->pwd); in audit_log_name()
1757 audit_log_format(ab, " name="); in audit_log_name()
1758 audit_log_n_untrustedstring(ab, n->name->name, in audit_log_name()
1762 audit_log_format(ab, " name=(null)"); in audit_log_name()
1765 audit_log_format(ab, " inode=%lu" in audit_log_name()
1781 audit_log_format(ab, " osid=%u", n->osid); in audit_log_name()
1785 audit_log_format(ab, " obj=%s", ctx); in audit_log_name()
1791 audit_log_format(ab, " nametype="); in audit_log_name()
1794 audit_log_format(ab, "NORMAL"); in audit_log_name()
1797 audit_log_format(ab, "PARENT"); in audit_log_name()
1800 audit_log_format(ab, "DELETE"); in audit_log_name()
1803 audit_log_format(ab, "CREATE"); in audit_log_name()
1806 audit_log_format(ab, "UNKNOWN"); in audit_log_name()
1810 audit_log_fcaps(ab, n); in audit_log_name()
1811 audit_log_end(ab); in audit_log_name()
1814 int audit_log_task_context(struct audit_buffer *ab) in audit_log_task_context() argument
1832 audit_log_format(ab, " subj=%s", ctx); in audit_log_task_context()
1842 void audit_log_d_path_exe(struct audit_buffer *ab, in audit_log_d_path_exe() argument
1854 audit_log_d_path(ab, " exe=", &exe_file->f_path); in audit_log_d_path_exe()
1858 audit_log_format(ab, " exe=(null)"); in audit_log_d_path_exe()
1861 void audit_log_task_info(struct audit_buffer *ab, struct task_struct *tsk) in audit_log_task_info() argument
1867 if (!ab) in audit_log_task_info()
1880 audit_log_format(ab, in audit_log_task_info()
1897 audit_log_format(ab, " comm="); in audit_log_task_info()
1898 audit_log_untrustedstring(ab, get_task_comm(comm, tsk)); in audit_log_task_info()
1900 audit_log_d_path_exe(ab, tsk->mm); in audit_log_task_info()
1901 audit_log_task_context(ab); in audit_log_task_info()
1912 struct audit_buffer *ab; in audit_log_link_denied() local
1920 ab = audit_log_start(current->audit_context, GFP_KERNEL, in audit_log_link_denied()
1922 if (!ab) in audit_log_link_denied()
1924 audit_log_format(ab, "op=%s", operation); in audit_log_link_denied()
1925 audit_log_task_info(ab, current); in audit_log_link_denied()
1926 audit_log_format(ab, " res=0"); in audit_log_link_denied()
1927 audit_log_end(ab); in audit_log_link_denied()
1946 void audit_log_end(struct audit_buffer *ab) in audit_log_end() argument
1948 if (!ab) in audit_log_end()
1953 struct nlmsghdr *nlh = nlmsg_hdr(ab->skb); in audit_log_end()
1955 nlh->nlmsg_len = ab->skb->len; in audit_log_end()
1956 kauditd_send_multicast_skb(ab->skb, ab->gfp_mask); in audit_log_end()
1970 skb_queue_tail(&audit_skb_queue, ab->skb); in audit_log_end()
1973 audit_printk_skb(ab->skb); in audit_log_end()
1975 ab->skb = NULL; in audit_log_end()
1977 audit_buffer_free(ab); in audit_log_end()
1995 struct audit_buffer *ab; in audit_log() local
1998 ab = audit_log_start(ctx, gfp_mask, type); in audit_log()
1999 if (ab) { in audit_log()
2001 audit_log_vformat(ab, fmt, args); in audit_log()
2003 audit_log_end(ab); in audit_log()
2018 void audit_log_secctx(struct audit_buffer *ab, u32 secid) in audit_log_secctx() argument
2026 audit_log_format(ab, " obj=%s", secctx); in audit_log_secctx()