Lines Matching refs:max_optlen
1301 static int sockopt_alloc_buf(struct bpf_sockopt_kern *ctx, int max_optlen) in sockopt_alloc_buf() argument
1303 if (unlikely(max_optlen < 0)) in sockopt_alloc_buf()
1306 if (unlikely(max_optlen > PAGE_SIZE)) { in sockopt_alloc_buf()
1310 max_optlen = PAGE_SIZE; in sockopt_alloc_buf()
1313 ctx->optval = kzalloc(max_optlen, GFP_USER); in sockopt_alloc_buf()
1317 ctx->optval_end = ctx->optval + max_optlen; in sockopt_alloc_buf()
1319 return max_optlen; in sockopt_alloc_buf()
1337 int ret, max_optlen; in __cgroup_bpf_run_filter_setsockopt() local
1351 max_optlen = max_t(int, 16, *optlen); in __cgroup_bpf_run_filter_setsockopt()
1353 max_optlen = sockopt_alloc_buf(&ctx, max_optlen); in __cgroup_bpf_run_filter_setsockopt()
1354 if (max_optlen < 0) in __cgroup_bpf_run_filter_setsockopt()
1355 return max_optlen; in __cgroup_bpf_run_filter_setsockopt()
1359 if (copy_from_user(ctx.optval, optval, min(*optlen, max_optlen)) != 0) { in __cgroup_bpf_run_filter_setsockopt()
1377 } else if (ctx.optlen > max_optlen || ctx.optlen < -1) { in __cgroup_bpf_run_filter_setsockopt()
1405 int __user *optlen, int max_optlen, in __cgroup_bpf_run_filter_getsockopt() argument
1425 ctx.optlen = max_optlen; in __cgroup_bpf_run_filter_getsockopt()
1427 max_optlen = sockopt_alloc_buf(&ctx, max_optlen); in __cgroup_bpf_run_filter_getsockopt()
1428 if (max_optlen < 0) in __cgroup_bpf_run_filter_getsockopt()
1429 return max_optlen; in __cgroup_bpf_run_filter_getsockopt()
1445 min(ctx.optlen, max_optlen)) != 0) { in __cgroup_bpf_run_filter_getsockopt()
1461 if (ctx.optlen > max_optlen) { in __cgroup_bpf_run_filter_getsockopt()