Re: [B.A.T.M.A.N.] [PATCH maint 1/2] batman-adv: Ignore invalid batadv_iv_gw during netlink send

2018-02-26 Thread Simon Wunderlich
On Monday, February 19, 2018 2:08:52 PM CET Sven Eckelmann wrote:
> 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: fa3228924152 ("batman-adv: add B.A.T.M.A.N. IV bat_gw_dump
> implementations") Signed-off-by: Sven Eckelmann
> 

I've applied both patches in this series in c58f37c2 and 12f1d3a6.

Thank you!
  Simon

signature.asc
Description: This is a digitally signed message part.


[B.A.T.M.A.N.] [PATCH maint 1/2] batman-adv: Ignore invalid batadv_iv_gw during netlink send

2018-02-19 Thread Sven Eckelmann
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: fa3228924152 ("batman-adv: add B.A.T.M.A.N. IV bat_gw_dump 
implementations")
Signed-off-by: Sven Eckelmann 
---
 net/batman-adv/bat_iv_ogm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/batman-adv/bat_iv_ogm.c b/net/batman-adv/bat_iv_ogm.c
index bbe8414b..37064268 100644
--- a/net/batman-adv/bat_iv_ogm.c
+++ b/net/batman-adv/bat_iv_ogm.c
@@ -2719,7 +2719,7 @@ static int batadv_iv_gw_dump_entry(struct sk_buff *msg, 
u32 portid, u32 seq,
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);
-- 
2.11.0