Lines Matching refs:handler
53 const struct inet_diag_handler *handler; in inet_diag_lock_handler() local
62 handler = rcu_dereference(inet_diag_table[proto]); in inet_diag_lock_handler()
63 if (handler && !try_module_get(handler->owner)) in inet_diag_lock_handler()
64 handler = NULL; in inet_diag_lock_handler()
67 return handler; in inet_diag_lock_handler()
70 static void inet_diag_unlock_handler(const struct inet_diag_handler *handler) in inet_diag_unlock_handler() argument
72 module_put(handler->owner); in inet_diag_unlock_handler()
104 const struct inet_diag_handler *handler; in inet_sk_attr_size() local
108 handler = rcu_dereference(inet_diag_table[req->sdiag_protocol]); in inet_sk_attr_size()
109 DEBUG_NET_WARN_ON_ONCE(!handler); in inet_sk_attr_size()
110 if (handler && handler->idiag_get_aux_size) in inet_sk_attr_size()
111 aux = handler->idiag_get_aux_size(sk, net_admin); in inet_sk_attr_size()
243 const struct inet_diag_handler *handler; in inet_sk_diag_fill() local
257 handler = rcu_dereference_protected(inet_diag_table[protocol], 1); in inet_sk_diag_fill()
258 DEBUG_NET_WARN_ON_ONCE(!handler); in inet_sk_diag_fill()
259 if (!handler) in inet_sk_diag_fill()
307 handler->idiag_get_info(sk, r, NULL); in inet_sk_diag_fill()
331 if ((ext & (1 << (INET_DIAG_INFO - 1))) && handler->idiag_info_size) { in inet_sk_diag_fill()
333 handler->idiag_info_size, in inet_sk_diag_fill()
353 handler->idiag_get_info(sk, r, info); in inet_sk_diag_fill()
355 if (ext & (1 << (INET_DIAG_INFO - 1)) && handler->idiag_get_aux) in inet_sk_diag_fill()
356 if (handler->idiag_get_aux(sk, net_admin, skb) < 0) in inet_sk_diag_fill()
607 const struct inet_diag_handler *handler; in inet_diag_cmd_exact() local
618 handler = inet_diag_lock_handler(protocol); in inet_diag_cmd_exact()
619 if (!handler) in inet_diag_cmd_exact()
628 err = handler->dump_one(&cb, req); in inet_diag_cmd_exact()
629 } else if (cmd == SOCK_DESTROY && handler->destroy) { in inet_diag_cmd_exact()
630 err = handler->destroy(in_skb, req); in inet_diag_cmd_exact()
634 inet_diag_unlock_handler(handler); in inet_diag_cmd_exact()
1273 const struct inet_diag_handler *handler; in __inet_diag_dump() local
1281 handler = inet_diag_lock_handler(protocol); in __inet_diag_dump()
1282 if (handler) { in __inet_diag_dump()
1283 handler->dump(skb, cb, r); in __inet_diag_dump()
1284 inet_diag_unlock_handler(handler); in __inet_diag_dump()
1456 const struct inet_diag_handler *handler; in inet_diag_handler_get_info() local
1479 handler = inet_diag_lock_handler(sk->sk_protocol); in inet_diag_handler_get_info()
1480 if (!handler) { in inet_diag_handler_get_info()
1485 attr = handler->idiag_info_size in inet_diag_handler_get_info()
1487 handler->idiag_info_size, in inet_diag_handler_get_info()
1493 handler->idiag_get_info(sk, r, info); in inet_diag_handler_get_info()
1494 inet_diag_unlock_handler(handler); in inet_diag_handler_get_info()