@@ -454,6 +454,7 @@ BPF_SKEL_FUNCS(connect6_prog, connect_v6_prog);
454454BPF_SKEL_FUNCS_RAW (connect6_prog , connect_v6_prog );
455455BPF_SKEL_FUNCS (connect6_prog , connect_v6_deny_prog );
456456BPF_SKEL_FUNCS (connect_unix_prog , connect_unix_prog );
457+ BPF_SKEL_FUNCS_RAW (connect_unix_prog , connect_unix_prog );
457458BPF_SKEL_FUNCS (connect_unix_prog , connect_unix_deny_prog );
458459BPF_SKEL_FUNCS (sendmsg4_prog , sendmsg_v4_prog );
459460BPF_SKEL_FUNCS_RAW (sendmsg4_prog , sendmsg_v4_prog );
@@ -465,16 +466,26 @@ BPF_SKEL_FUNCS(sendmsg6_prog, sendmsg_v6_preserve_dst_prog);
465466BPF_SKEL_FUNCS (sendmsg6_prog , sendmsg_v6_v4mapped_prog );
466467BPF_SKEL_FUNCS (sendmsg6_prog , sendmsg_v6_wildcard_prog );
467468BPF_SKEL_FUNCS (sendmsg_unix_prog , sendmsg_unix_prog );
469+ BPF_SKEL_FUNCS_RAW (sendmsg_unix_prog , sendmsg_unix_prog );
468470BPF_SKEL_FUNCS (sendmsg_unix_prog , sendmsg_unix_deny_prog );
469471BPF_SKEL_FUNCS (recvmsg4_prog , recvmsg4_prog );
472+ BPF_SKEL_FUNCS_RAW (recvmsg4_prog , recvmsg4_prog );
470473BPF_SKEL_FUNCS (recvmsg6_prog , recvmsg6_prog );
474+ BPF_SKEL_FUNCS_RAW (recvmsg6_prog , recvmsg6_prog );
471475BPF_SKEL_FUNCS (recvmsg_unix_prog , recvmsg_unix_prog );
476+ BPF_SKEL_FUNCS_RAW (recvmsg_unix_prog , recvmsg_unix_prog );
472477BPF_SKEL_FUNCS (getsockname_unix_prog , getsockname_unix_prog );
478+ BPF_SKEL_FUNCS_RAW (getsockname_unix_prog , getsockname_unix_prog );
473479BPF_SKEL_FUNCS (getsockname4_prog , getsockname_v4_prog );
480+ BPF_SKEL_FUNCS_RAW (getsockname4_prog , getsockname_v4_prog );
474481BPF_SKEL_FUNCS (getsockname6_prog , getsockname_v6_prog );
482+ BPF_SKEL_FUNCS_RAW (getsockname6_prog , getsockname_v6_prog );
475483BPF_SKEL_FUNCS (getpeername_unix_prog , getpeername_unix_prog );
484+ BPF_SKEL_FUNCS_RAW (getpeername_unix_prog , getpeername_unix_prog );
476485BPF_SKEL_FUNCS (getpeername4_prog , getpeername_v4_prog );
486+ BPF_SKEL_FUNCS_RAW (getpeername4_prog , getpeername_v4_prog );
477487BPF_SKEL_FUNCS (getpeername6_prog , getpeername_v6_prog );
488+ BPF_SKEL_FUNCS_RAW (getpeername6_prog , getpeername_v6_prog );
478489
479490static struct sock_addr_test tests [] = {
480491 /* bind - system calls */
@@ -1026,6 +1037,22 @@ static struct sock_addr_test tests[] = {
10261037 NULL ,
10271038 SYSCALL_EPERM ,
10281039 },
1040+ {
1041+ SOCK_ADDR_TEST_CONNECT ,
1042+ "connect_unix: attach prog with wrong attach type" ,
1043+ connect_unix_prog_load_raw ,
1044+ connect_unix_prog_destroy_raw ,
1045+ BPF_CGROUP_INET4_CONNECT ,
1046+ & user_ops ,
1047+ AF_UNIX ,
1048+ SOCK_STREAM ,
1049+ SERVUN_ADDRESS ,
1050+ 0 ,
1051+ SERVUN_REWRITE_ADDRESS ,
1052+ 0 ,
1053+ NULL ,
1054+ ATTACH_REJECT ,
1055+ },
10291056
10301057 /* connect - kernel calls */
10311058 {
@@ -1398,6 +1425,22 @@ static struct sock_addr_test tests[] = {
13981425 NULL ,
13991426 SYSCALL_EPERM ,
14001427 },
1428+ {
1429+ SOCK_ADDR_TEST_SENDMSG ,
1430+ "sendmsg_unix: attach prog with wrong attach type" ,
1431+ sendmsg_unix_prog_load_raw ,
1432+ sendmsg_unix_prog_destroy_raw ,
1433+ BPF_CGROUP_UDP4_SENDMSG ,
1434+ & user_ops ,
1435+ AF_UNIX ,
1436+ SOCK_DGRAM ,
1437+ SERVUN_ADDRESS ,
1438+ 0 ,
1439+ SERVUN_REWRITE_ADDRESS ,
1440+ 0 ,
1441+ NULL ,
1442+ ATTACH_REJECT ,
1443+ },
14011444
14021445 /* sendmsg - kernel calls (sock_sendmsg) */
14031446 {
@@ -1644,6 +1687,22 @@ static struct sock_addr_test tests[] = {
16441687 SERV4_IP ,
16451688 SUCCESS ,
16461689 },
1690+ {
1691+ SOCK_ADDR_TEST_RECVMSG ,
1692+ "recvmsg4: attach prog with wrong attach type" ,
1693+ recvmsg4_prog_load_raw ,
1694+ recvmsg4_prog_destroy_raw ,
1695+ BPF_CGROUP_UDP6_RECVMSG ,
1696+ & user_ops ,
1697+ AF_INET ,
1698+ SOCK_DGRAM ,
1699+ SERV4_REWRITE_IP ,
1700+ SERV4_REWRITE_PORT ,
1701+ SERV4_REWRITE_IP ,
1702+ SERV4_REWRITE_PORT ,
1703+ SERV4_IP ,
1704+ ATTACH_REJECT ,
1705+ },
16471706 {
16481707 SOCK_ADDR_TEST_RECVMSG ,
16491708 "recvmsg6: recvfrom (dgram)" ,
@@ -1660,6 +1719,22 @@ static struct sock_addr_test tests[] = {
16601719 SERV6_IP ,
16611720 SUCCESS ,
16621721 },
1722+ {
1723+ SOCK_ADDR_TEST_RECVMSG ,
1724+ "recvmsg6: attach prog with wrong attach type" ,
1725+ recvmsg6_prog_load_raw ,
1726+ recvmsg6_prog_destroy_raw ,
1727+ BPF_CGROUP_UDP4_RECVMSG ,
1728+ & user_ops ,
1729+ AF_INET6 ,
1730+ SOCK_DGRAM ,
1731+ SERV6_REWRITE_IP ,
1732+ SERV6_REWRITE_PORT ,
1733+ SERV6_REWRITE_IP ,
1734+ SERV6_REWRITE_PORT ,
1735+ SERV6_IP ,
1736+ ATTACH_REJECT ,
1737+ },
16631738 {
16641739 SOCK_ADDR_TEST_RECVMSG ,
16651740 "recvmsg_unix: recvfrom (dgram)" ,
@@ -1692,6 +1767,22 @@ static struct sock_addr_test tests[] = {
16921767 SERVUN_ADDRESS ,
16931768 SUCCESS ,
16941769 },
1770+ {
1771+ SOCK_ADDR_TEST_RECVMSG ,
1772+ "recvmsg_unix: attach prog with wrong attach type" ,
1773+ recvmsg_unix_prog_load_raw ,
1774+ recvmsg_unix_prog_destroy_raw ,
1775+ BPF_CGROUP_UDP4_RECVMSG ,
1776+ & user_ops ,
1777+ AF_INET6 ,
1778+ SOCK_STREAM ,
1779+ SERVUN_REWRITE_ADDRESS ,
1780+ 0 ,
1781+ SERVUN_REWRITE_ADDRESS ,
1782+ 0 ,
1783+ SERVUN_ADDRESS ,
1784+ ATTACH_REJECT ,
1785+ },
16951786
16961787 /* getsockname - system calls */
16971788 {
@@ -1726,6 +1817,22 @@ static struct sock_addr_test tests[] = {
17261817 NULL ,
17271818 SUCCESS ,
17281819 },
1820+ {
1821+ SOCK_ADDR_TEST_GETSOCKNAME ,
1822+ "getsockname4: attach prog with wrong attach type" ,
1823+ getsockname_v4_prog_load_raw ,
1824+ getsockname_v4_prog_destroy_raw ,
1825+ BPF_CGROUP_INET6_GETSOCKNAME ,
1826+ & user_ops ,
1827+ AF_INET ,
1828+ SOCK_DGRAM ,
1829+ SERV4_REWRITE_IP ,
1830+ SERV4_REWRITE_PORT ,
1831+ SERV4_IP ,
1832+ SERV4_PORT ,
1833+ NULL ,
1834+ ATTACH_REJECT ,
1835+ },
17291836 {
17301837 SOCK_ADDR_TEST_GETSOCKNAME ,
17311838 "getsockname6: getsockname (stream)" ,
@@ -1758,6 +1865,22 @@ static struct sock_addr_test tests[] = {
17581865 NULL ,
17591866 SUCCESS ,
17601867 },
1868+ {
1869+ SOCK_ADDR_TEST_GETSOCKNAME ,
1870+ "getsockname6: attach prog with wrong attach type" ,
1871+ getsockname_v6_prog_load_raw ,
1872+ getsockname_v6_prog_destroy_raw ,
1873+ BPF_CGROUP_INET4_GETSOCKNAME ,
1874+ & user_ops ,
1875+ AF_INET6 ,
1876+ SOCK_DGRAM ,
1877+ SERV6_REWRITE_IP ,
1878+ SERV6_REWRITE_PORT ,
1879+ SERV6_IP ,
1880+ SERV6_PORT ,
1881+ NULL ,
1882+ ATTACH_REJECT ,
1883+ },
17611884 {
17621885 SOCK_ADDR_TEST_GETSOCKNAME ,
17631886 "getsockname_unix: getsockname" ,
@@ -1774,6 +1897,22 @@ static struct sock_addr_test tests[] = {
17741897 NULL ,
17751898 SUCCESS ,
17761899 },
1900+ {
1901+ SOCK_ADDR_TEST_GETSOCKNAME ,
1902+ "getsockname_unix: attach prog with wrong attach type" ,
1903+ getsockname_unix_prog_load_raw ,
1904+ getsockname_unix_prog_destroy_raw ,
1905+ BPF_CGROUP_INET4_GETSOCKNAME ,
1906+ & user_ops ,
1907+ AF_UNIX ,
1908+ SOCK_STREAM ,
1909+ SERVUN_ADDRESS ,
1910+ 0 ,
1911+ SERVUN_REWRITE_ADDRESS ,
1912+ 0 ,
1913+ NULL ,
1914+ ATTACH_REJECT ,
1915+ },
17771916
17781917 /* getsockname - kernel calls */
17791918 {
@@ -1890,6 +2029,22 @@ static struct sock_addr_test tests[] = {
18902029 NULL ,
18912030 SUCCESS ,
18922031 },
2032+ {
2033+ SOCK_ADDR_TEST_GETPEERNAME ,
2034+ "getpeername4: attach prog with wrong attach type" ,
2035+ getpeername_v4_prog_load_raw ,
2036+ getpeername_v4_prog_destroy_raw ,
2037+ BPF_CGROUP_INET6_GETSOCKNAME ,
2038+ & user_ops ,
2039+ AF_UNIX ,
2040+ SOCK_DGRAM ,
2041+ SERV4_REWRITE_IP ,
2042+ SERV4_REWRITE_PORT ,
2043+ SERV4_IP ,
2044+ SERV4_PORT ,
2045+ NULL ,
2046+ ATTACH_REJECT ,
2047+ },
18932048 {
18942049 SOCK_ADDR_TEST_GETPEERNAME ,
18952050 "getpeername6: getpeername (stream)" ,
@@ -1922,6 +2077,22 @@ static struct sock_addr_test tests[] = {
19222077 NULL ,
19232078 SUCCESS ,
19242079 },
2080+ {
2081+ SOCK_ADDR_TEST_GETPEERNAME ,
2082+ "getpeername6: attach prog with wrong attach type" ,
2083+ getpeername_v6_prog_load_raw ,
2084+ getpeername_v6_prog_destroy_raw ,
2085+ BPF_CGROUP_INET4_GETSOCKNAME ,
2086+ & user_ops ,
2087+ AF_INET6 ,
2088+ SOCK_DGRAM ,
2089+ SERV6_REWRITE_IP ,
2090+ SERV6_REWRITE_PORT ,
2091+ SERV6_IP ,
2092+ SERV6_PORT ,
2093+ NULL ,
2094+ ATTACH_REJECT ,
2095+ },
19252096 {
19262097 SOCK_ADDR_TEST_GETPEERNAME ,
19272098 "getpeername_unix: getpeername" ,
@@ -1938,6 +2109,22 @@ static struct sock_addr_test tests[] = {
19382109 NULL ,
19392110 SUCCESS ,
19402111 },
2112+ {
2113+ SOCK_ADDR_TEST_GETPEERNAME ,
2114+ "getpeername_unix: attach prog with wrong attach type" ,
2115+ getpeername_unix_prog_load_raw ,
2116+ getpeername_unix_prog_destroy_raw ,
2117+ BPF_CGROUP_INET4_GETSOCKNAME ,
2118+ & user_ops ,
2119+ AF_UNIX ,
2120+ SOCK_STREAM ,
2121+ SERVUN_ADDRESS ,
2122+ 0 ,
2123+ SERVUN_REWRITE_ADDRESS ,
2124+ 0 ,
2125+ NULL ,
2126+ ATTACH_REJECT ,
2127+ },
19412128
19422129 /* getpeername - kernel calls */
19432130 {
0 commit comments