From a3fddabab80820192e60c1bcd6cbc3bb1b5b48d3 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Tue, 3 Mar 2009 23:37:30 -0800 Subject: [PATCH] --- yaml --- r: 132135 b: refs/heads/master c: 4843b93c96ae5043c6279c4ec6fcd8ee3866ff5b h: refs/heads/master i: 132133: 2766cd1e6dc1e9ca6098bf08a13a89bad855a16e 132131: 3ec86398e8ec5f92faa03e6dbe133f23fd7e5aad 132127: c8764d4f0fb917e1ccc4fbf06ebde3479c687c92 v: v3 --- [refs] | 2 +- trunk/net/netlink/af_netlink.c | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index c32a3e227571..1514573df52c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 17edde520927070a6bf14a6a75027c0b843443e5 +refs/heads/master: 4843b93c96ae5043c6279c4ec6fcd8ee3866ff5b diff --git a/trunk/net/netlink/af_netlink.c b/trunk/net/netlink/af_netlink.c index 9eb895c7a2a9..3ae3cb816563 100644 --- a/trunk/net/netlink/af_netlink.c +++ b/trunk/net/netlink/af_netlink.c @@ -1084,6 +1084,13 @@ static inline int do_one_set_err(struct sock *sk, return 0; } +/** + * netlink_set_err - report error to broadcast listeners + * @ssk: the kernel netlink socket, as returned by netlink_kernel_create() + * @pid: the PID of a process that we want to skip (if any) + * @groups: the broadcast group that will notice the error + * @code: error code, must be negative (as usual in kernelspace) + */ void netlink_set_err(struct sock *ssk, u32 pid, u32 group, int code) { struct netlink_set_err_data info; @@ -1093,7 +1100,8 @@ void netlink_set_err(struct sock *ssk, u32 pid, u32 group, int code) info.exclude_sk = ssk; info.pid = pid; info.group = group; - info.code = code; + /* sk->sk_err wants a positive error value */ + info.code = -code; read_lock(&nl_table_lock);