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()
704 static void audit_log_common_recv_msg(struct audit_buffer **ab, u16 msg_type) in audit_log_common_recv_msg() argument
710 *ab = NULL; in audit_log_common_recv_msg()
714 *ab = audit_log_start(NULL, GFP_KERNEL, msg_type); in audit_log_common_recv_msg()
715 if (unlikely(!*ab)) in audit_log_common_recv_msg()
717 audit_log_format(*ab, "pid=%d uid=%u", pid, uid); in audit_log_common_recv_msg()
718 audit_log_session_info(*ab); in audit_log_common_recv_msg()
719 audit_log_task_context(*ab); in audit_log_common_recv_msg()
742 struct audit_buffer *ab; in audit_log_feature_change() local
747 ab = audit_log_start(NULL, GFP_KERNEL, AUDIT_FEATURE_CHANGE); in audit_log_feature_change()
748 audit_log_task_info(ab, current); in audit_log_feature_change()
749 audit_log_format(ab, " feature=%s old=%u new=%u old_lock=%u new_lock=%u res=%d", in audit_log_feature_change()
752 audit_log_end(ab); in audit_log_feature_change()
818 struct audit_buffer *ab; in audit_receive_msg() local
929 audit_log_common_recv_msg(&ab, msg_type); in audit_receive_msg()
931 audit_log_format(ab, " msg='%.*s'", in audit_receive_msg()
937 audit_log_format(ab, " data="); in audit_receive_msg()
942 audit_log_n_untrustedstring(ab, data, size); in audit_receive_msg()
944 audit_set_portid(ab, NETLINK_CB(skb).portid); in audit_receive_msg()
945 audit_log_end(ab); in audit_receive_msg()
954 audit_log_common_recv_msg(&ab, AUDIT_CONFIG_CHANGE); in audit_receive_msg()
955 audit_log_format(ab, " audit_enabled=%d res=0", audit_enabled); in audit_receive_msg()
956 audit_log_end(ab); in audit_receive_msg()
967 audit_log_common_recv_msg(&ab, AUDIT_CONFIG_CHANGE); in audit_receive_msg()
968 audit_log_format(ab, " op=trim res=1"); in audit_receive_msg()
969 audit_log_end(ab); in audit_receive_msg()
997 audit_log_common_recv_msg(&ab, AUDIT_CONFIG_CHANGE); in audit_receive_msg()
999 audit_log_format(ab, " op=make_equiv old="); in audit_receive_msg()
1000 audit_log_untrustedstring(ab, old); in audit_receive_msg()
1001 audit_log_format(ab, " new="); in audit_receive_msg()
1002 audit_log_untrustedstring(ab, new); in audit_receive_msg()
1003 audit_log_format(ab, " res=%d", !err); in audit_receive_msg()
1004 audit_log_end(ab); in audit_receive_msg()
1047 struct audit_buffer *ab; in audit_receive_msg() local
1066 audit_log_common_recv_msg(&ab, AUDIT_CONFIG_CHANGE); in audit_receive_msg()
1067 audit_log_format(ab, " op=tty_set old-enabled=%d new-enabled=%d" in audit_receive_msg()
1071 audit_log_end(ab); in audit_receive_msg()
1228 static void audit_buffer_free(struct audit_buffer *ab) in audit_buffer_free() argument
1232 if (!ab) in audit_buffer_free()
1235 if (ab->skb) in audit_buffer_free()
1236 kfree_skb(ab->skb); in audit_buffer_free()
1240 kfree(ab); in audit_buffer_free()
1243 list_add(&ab->list, &audit_freelist); in audit_buffer_free()
1252 struct audit_buffer *ab = NULL; in audit_buffer_alloc() local
1257 ab = list_entry(audit_freelist.next, in audit_buffer_alloc()
1259 list_del(&ab->list); in audit_buffer_alloc()
1264 if (!ab) { in audit_buffer_alloc()
1265 ab = kmalloc(sizeof(*ab), gfp_mask); in audit_buffer_alloc()
1266 if (!ab) in audit_buffer_alloc()
1270 ab->ctx = ctx; in audit_buffer_alloc()
1271 ab->gfp_mask = gfp_mask; in audit_buffer_alloc()
1273 ab->skb = nlmsg_new(AUDIT_BUFSIZ, gfp_mask); in audit_buffer_alloc()
1274 if (!ab->skb) in audit_buffer_alloc()
1277 nlh = nlmsg_put(ab->skb, 0, 0, type, 0, 0); in audit_buffer_alloc()
1281 return ab; in audit_buffer_alloc()
1284 kfree_skb(ab->skb); in audit_buffer_alloc()
1285 ab->skb = NULL; in audit_buffer_alloc()
1287 audit_buffer_free(ab); in audit_buffer_alloc()
1361 struct audit_buffer *ab = NULL; in audit_log_start() local
1406 ab = audit_buffer_alloc(ctx, gfp_mask, type); in audit_log_start()
1407 if (!ab) { in audit_log_start()
1412 audit_get_stamp(ab->ctx, &t, &serial); in audit_log_start()
1414 audit_log_format(ab, "audit(%lu.%03lu:%u): ", in audit_log_start()
1416 return ab; in audit_log_start()
1427 static inline int audit_expand(struct audit_buffer *ab, int extra) in audit_expand() argument
1429 struct sk_buff *skb = ab->skb; in audit_expand()
1431 int ret = pskb_expand_head(skb, 0, extra, ab->gfp_mask); in audit_expand()
1449 static void audit_log_vformat(struct audit_buffer *ab, const char *fmt, in audit_log_vformat() argument
1456 if (!ab) in audit_log_vformat()
1459 BUG_ON(!ab->skb); in audit_log_vformat()
1460 skb = ab->skb; in audit_log_vformat()
1463 avail = audit_expand(ab, AUDIT_BUFSIZ); in audit_log_vformat()
1473 avail = audit_expand(ab, in audit_log_vformat()
1495 void audit_log_format(struct audit_buffer *ab, const char *fmt, ...) in audit_log_format() argument
1499 if (!ab) in audit_log_format()
1502 audit_log_vformat(ab, fmt, args); in audit_log_format()
1517 void audit_log_n_hex(struct audit_buffer *ab, const unsigned char *buf, in audit_log_n_hex() argument
1524 if (!ab) in audit_log_n_hex()
1527 BUG_ON(!ab->skb); in audit_log_n_hex()
1528 skb = ab->skb; in audit_log_n_hex()
1534 avail = audit_expand(ab, new_len); in audit_log_n_hex()
1550 void audit_log_n_string(struct audit_buffer *ab, const char *string, in audit_log_n_string() argument
1557 if (!ab) in audit_log_n_string()
1560 BUG_ON(!ab->skb); in audit_log_n_string()
1561 skb = ab->skb; in audit_log_n_string()
1565 avail = audit_expand(ab, new_len); in audit_log_n_string()
1607 void audit_log_n_untrustedstring(struct audit_buffer *ab, const char *string, in audit_log_n_untrustedstring() argument
1611 audit_log_n_hex(ab, string, len); in audit_log_n_untrustedstring()
1613 audit_log_n_string(ab, string, len); in audit_log_n_untrustedstring()
1624 void audit_log_untrustedstring(struct audit_buffer *ab, const char *string) in audit_log_untrustedstring() argument
1626 audit_log_n_untrustedstring(ab, string, strlen(string)); in audit_log_untrustedstring()
1630 void audit_log_d_path(struct audit_buffer *ab, const char *prefix, in audit_log_d_path() argument
1636 audit_log_format(ab, "%s", prefix); in audit_log_d_path()
1639 pathname = kmalloc(PATH_MAX+11, ab->gfp_mask); in audit_log_d_path()
1641 audit_log_string(ab, "<no_memory>"); in audit_log_d_path()
1647 audit_log_string(ab, "<too_long>"); in audit_log_d_path()
1649 audit_log_untrustedstring(ab, p); in audit_log_d_path()
1653 void audit_log_session_info(struct audit_buffer *ab) in audit_log_session_info() argument
1658 audit_log_format(ab, " auid=%u ses=%u", auid, sessionid); in audit_log_session_info()
1661 void audit_log_key(struct audit_buffer *ab, char *key) in audit_log_key() argument
1663 audit_log_format(ab, " key="); in audit_log_key()
1665 audit_log_untrustedstring(ab, key); in audit_log_key()
1667 audit_log_format(ab, "(null)"); in audit_log_key()
1670 void audit_log_cap(struct audit_buffer *ab, char *prefix, kernel_cap_t *cap) in audit_log_cap() argument
1674 audit_log_format(ab, " %s=", prefix); in audit_log_cap()
1676 audit_log_format(ab, "%08x", in audit_log_cap()
1681 static void audit_log_fcaps(struct audit_buffer *ab, struct audit_names *name) in audit_log_fcaps() argument
1688 audit_log_cap(ab, "cap_fp", perm); in audit_log_fcaps()
1692 audit_log_cap(ab, "cap_fi", inh); in audit_log_fcaps()
1697 audit_log_format(ab, " cap_fe=%d cap_fver=%x", in audit_log_fcaps()
1748 struct audit_buffer *ab; in audit_log_name() local
1749 ab = audit_log_start(context, GFP_KERNEL, AUDIT_PATH); in audit_log_name()
1750 if (!ab) in audit_log_name()
1753 audit_log_format(ab, "item=%d", record_num); in audit_log_name()
1756 audit_log_d_path(ab, " name=", path); in audit_log_name()
1761 audit_log_format(ab, " name="); in audit_log_name()
1762 audit_log_untrustedstring(ab, n->name->name); in audit_log_name()
1767 audit_log_d_path(ab, " name=", &context->pwd); in audit_log_name()
1771 audit_log_format(ab, " name="); in audit_log_name()
1772 audit_log_n_untrustedstring(ab, n->name->name, in audit_log_name()
1776 audit_log_format(ab, " name=(null)"); in audit_log_name()
1779 audit_log_format(ab, " inode=%lu" in audit_log_name()
1795 audit_log_format(ab, " osid=%u", n->osid); in audit_log_name()
1799 audit_log_format(ab, " obj=%s", ctx); in audit_log_name()
1805 audit_log_format(ab, " nametype="); in audit_log_name()
1808 audit_log_format(ab, "NORMAL"); in audit_log_name()
1811 audit_log_format(ab, "PARENT"); in audit_log_name()
1814 audit_log_format(ab, "DELETE"); in audit_log_name()
1817 audit_log_format(ab, "CREATE"); in audit_log_name()
1820 audit_log_format(ab, "UNKNOWN"); in audit_log_name()
1824 audit_log_fcaps(ab, n); in audit_log_name()
1825 audit_log_end(ab); in audit_log_name()
1828 int audit_log_task_context(struct audit_buffer *ab) in audit_log_task_context() argument
1846 audit_log_format(ab, " subj=%s", ctx); in audit_log_task_context()
1856 void audit_log_d_path_exe(struct audit_buffer *ab, in audit_log_d_path_exe() argument
1868 audit_log_d_path(ab, " exe=", &exe_file->f_path); in audit_log_d_path_exe()
1872 audit_log_format(ab, " exe=(null)"); in audit_log_d_path_exe()
1875 void audit_log_task_info(struct audit_buffer *ab, struct task_struct *tsk) in audit_log_task_info() argument
1881 if (!ab) in audit_log_task_info()
1894 audit_log_format(ab, in audit_log_task_info()
1911 audit_log_format(ab, " comm="); in audit_log_task_info()
1912 audit_log_untrustedstring(ab, get_task_comm(comm, tsk)); in audit_log_task_info()
1914 audit_log_d_path_exe(ab, tsk->mm); in audit_log_task_info()
1915 audit_log_task_context(ab); in audit_log_task_info()
1926 struct audit_buffer *ab; in audit_log_link_denied() local
1934 ab = audit_log_start(current->audit_context, GFP_KERNEL, in audit_log_link_denied()
1936 if (!ab) in audit_log_link_denied()
1938 audit_log_format(ab, "op=%s", operation); in audit_log_link_denied()
1939 audit_log_task_info(ab, current); in audit_log_link_denied()
1940 audit_log_format(ab, " res=0"); in audit_log_link_denied()
1941 audit_log_end(ab); in audit_log_link_denied()
1960 void audit_log_end(struct audit_buffer *ab) in audit_log_end() argument
1962 if (!ab) in audit_log_end()
1967 struct nlmsghdr *nlh = nlmsg_hdr(ab->skb); in audit_log_end()
1969 nlh->nlmsg_len = ab->skb->len; in audit_log_end()
1970 kauditd_send_multicast_skb(ab->skb, ab->gfp_mask); in audit_log_end()
1984 skb_queue_tail(&audit_skb_queue, ab->skb); in audit_log_end()
1987 audit_printk_skb(ab->skb); in audit_log_end()
1989 ab->skb = NULL; in audit_log_end()
1991 audit_buffer_free(ab); in audit_log_end()
2009 struct audit_buffer *ab; in audit_log() local
2012 ab = audit_log_start(ctx, gfp_mask, type); in audit_log()
2013 if (ab) { in audit_log()
2015 audit_log_vformat(ab, fmt, args); in audit_log()
2017 audit_log_end(ab); in audit_log()
2032 void audit_log_secctx(struct audit_buffer *ab, u32 secid) in audit_log_secctx() argument
2040 audit_log_format(ab, " obj=%s", secctx); in audit_log_secctx()