| From foo@baz Sun May 27 17:33:38 CEST 2018 |
| From: Sven Eckelmann <sven.eckelmann@openmesh.com> |
| Date: Mon, 19 Feb 2018 14:08:52 +0100 |
| Subject: batman-adv: Ignore invalid batadv_iv_gw during netlink send |
| |
| From: Sven Eckelmann <sven.eckelmann@openmesh.com> |
| |
| [ Upstream commit 10d570284258a30dc104c50787c5289ec49f3d23 ] |
| |
| The function batadv_iv_gw_dump stops the processing loop when |
| batadv_iv_gw_dump_entry returns a non-0 return code. This should only |
| happen when the buffer is full. Otherwise, an empty message may be |
| returned by batadv_gw_dump. This empty message will then stop the netlink |
| dumping of gateway entries. At worst, not a single entry is returned to |
| userspace even when plenty of possible gateways exist. |
| |
| Fixes: efb766af06e3 ("batman-adv: add B.A.T.M.A.N. IV bat_gw_dump implementations") |
| Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com> |
| Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/batman-adv/bat_iv_ogm.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/net/batman-adv/bat_iv_ogm.c |
| +++ b/net/batman-adv/bat_iv_ogm.c |
| @@ -2705,7 +2705,7 @@ static int batadv_iv_gw_dump_entry(struc |
| struct batadv_neigh_ifinfo *router_ifinfo = NULL; |
| struct batadv_neigh_node *router; |
| struct batadv_gw_node *curr_gw; |
| - int ret = -EINVAL; |
| + int ret = 0; |
| void *hdr; |
| |
| router = batadv_orig_router_get(gw_node->orig_node, BATADV_IF_DEFAULT); |