net/netfilter/nf_sockopt.c-
- static int nf_sockopt(struct sock *sk, int pf, int val,
- char __user *opt, int *len, int get)
- {
- struct nf_sockopt_ops *ops;
- int ret;
-
- ops = nf_sockopt_find(sk, pf, val, get);
- if (IS_ERR(ops))
- return PTR_ERR(ops);
-
- if (get)
- ret = ops->get(sk, val, opt, len);
- else
- ret = ops->set(sk, val, opt, *len);
-
- module_put(ops->owner);
- return ret;
- }
|