tipc: use only positive error codes in messages
authorParthasarathy Bhuvaragan <parthasarathy.bhuvaragan@ericsson.com>
Fri, 29 Sep 2017 08:02:54 +0000 (10:02 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 1 Oct 2017 03:03:35 +0000 (04:03 +0100)
In commit e3a77561e7d32 ("tipc: split up function tipc_msg_eval()"),
we have updated the function tipc_msg_lookup_dest() to set the error
codes to negative values at destination lookup failures. Thus when
the function sets the error code to -TIPC_ERR_NO_NAME, its inserted
into the 4 bit error field of the message header as 0xf instead of
TIPC_ERR_NO_NAME (1). The value 0xf is an unknown error code.

In this commit, we set only positive error code.

Fixes: e3a77561e7d32 ("tipc: split up function tipc_msg_eval()")
Signed-off-by: Parthasarathy Bhuvaragan <parthasarathy.bhuvaragan@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/msg.c

index 6ef379f004ac6da5ef908911368149e10186b5c4..121e59a1d0e729088170586e6714a0245680e4c7 100644 (file)
@@ -551,7 +551,7 @@ bool tipc_msg_lookup_dest(struct net *net, struct sk_buff *skb, int *err)
                return false;
        if (msg_errcode(msg))
                return false;
-       *err = -TIPC_ERR_NO_NAME;
+       *err = TIPC_ERR_NO_NAME;
        if (skb_linearize(skb))
                return false;
        msg = buf_msg(skb);