Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\bpf\cgroup.c Create Date:2022-07-28 13:28:15
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:__cgroup_bpf_run_filter_setsockopt

Proto:int __cgroup_bpf_run_filter_setsockopt(struct sock *sk, int *level, int *optname, char __user *optval, int *optlen, char **kernel_optval)

Type:int

Parameter:

TypeParameterName
struct sock *sk
int *level
int *optname
char __user *optval
int *optlen
char **kernel_optval
987  cgrp = sock_cgroup_ptr( & sk_cgrp_data)
988  struct bpf_sockopt_kern ctx = {sk = sk, level = * level, optname = * optname, }
999  If Not cgroup_bpf_enabled || __cgroup_bpf_prog_array_is_empty(cgrp, BPF_CGROUP_SETSOCKOPT) Then Return 0
1007  max_optlen = max_t - return maximum of two values, using the specified type*@type: data type to use*@x: first value*@y: second value(int, 16, * optlen)
1009  ret = sockopt_alloc_buf( & ctx, max_optlen)
1010  If ret Then Return ret
1013  optlen = optlen
1015  If copy_from_user(optval, optval, * optlen) != 0 Then
1016  ret = -EFAULT
1017  Go to out
1020  lock_sock(sk)
1021  ret = BPF_PROG_RUN_ARRAY( array of effective progs in this cgroup [BPF_CGROUP_SETSOCKOPT], & ctx, BPF_PROG_RUN)
1023  release_sock(sk)
1025  If Not ret Then
1026  ret = -EPERM
1027  Go to out
1030  If optlen == -1 Then
1032  ret = 1
1033  Else if optlen > max_optlen || optlen < -1 Then
1035  ret = -EFAULT
1036  Else
1038  ret = 0
1041  level = level
1042  optname = optname
1043  optlen = optlen
1044  kernel_optval = optval
1047  out :
1048  If ret Then sockopt_free_buf( & ctx)
1050  Return ret