github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/sys/linux/socket_kcm.txt (about)

     1  # Copyright 2016 syzkaller project authors. All rights reserved.
     2  # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
     3  
     4  include <linux/net.h>
     5  include <linux/kcm.h>
     6  include <linux/sockios.h>
     7  
     8  resource sock_kcm[sock]
     9  
    10  socket$kcm(domain const[AF_KCM], type flags[kcm_socket_type], proto const[KCMPROTO_CONNECTED]) sock_kcm
    11  setsockopt$kcm_KCM_RECV_DISABLE(fd sock_kcm, level const[SOL_KCM], opt const[KCM_RECV_DISABLE], val ptr[in, int32], len len[val])
    12  getsockopt$kcm_KCM_RECV_DISABLE(fd sock_kcm, level const[SOL_KCM], opt const[KCM_RECV_DISABLE], val ptr[out, int32], len len[val])
    13  sendmsg$kcm(fd sock_kcm, msg ptr[in, send_msghdr], f flags[send_flags])
    14  recvmsg$kcm(fd sock_kcm, msg ptr[inout, recv_msghdr], f flags[recv_flags])
    15  
    16  ioctl$sock_kcm_SIOCKCMATTACH(fd sock_kcm, cmd const[SIOCKCMATTACH], arg ptr[in, kcm_attach])
    17  ioctl$sock_kcm_SIOCKCMUNATTACH(fd sock_kcm, cmd const[SIOCKCMUNATTACH], arg ptr[in, kcm_unattach])
    18  ioctl$sock_kcm_SIOCKCMCLONE(fd sock_kcm, cmd const[SIOCKCMCLONE], arg ptr[inout, kcm_clone])
    19  
    20  kcm_socket_type = SOCK_DGRAM, SOCK_SEQPACKET
    21  
    22  kcm_attach {
    23  	fd	sock
    24  	bpf_fd	fd_bpf_prog
    25  }
    26  
    27  kcm_unattach {
    28  	fd	sock
    29  }
    30  
    31  kcm_clone {
    32  	fd	sock
    33  }