On 09/12/2018 06:12 AM, Cong Wang wrote:
> When __tipc_dump_start() fails with running out of memory,
> we have no reason to continue, especially we should avoid
> calling tipc_dump_done().
> 
> Fixes: 8f5c5fcf3533 ("tipc: call start and done ops directly in 
> __tipc_nl_compat_dumpit()")
> Reported-and-tested-by: [email protected]
> Cc: Jon Maloy <[email protected]>
> Cc: Ying Xue <[email protected]>
> Signed-off-by: Cong Wang <[email protected]>

Acked-by: Ying Xue <[email protected]>

> ---
>  net/tipc/netlink_compat.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/net/tipc/netlink_compat.c b/net/tipc/netlink_compat.c
> index 82f665728382..6376467e78f8 100644
> --- a/net/tipc/netlink_compat.c
> +++ b/net/tipc/netlink_compat.c
> @@ -185,7 +185,10 @@ static int __tipc_nl_compat_dumpit(struct 
> tipc_nl_compat_cmd_dump *cmd,
>               return -ENOMEM;
>  
>       buf->sk = msg->dst_sk;
> -     __tipc_dump_start(&cb, msg->net);
> +     if (__tipc_dump_start(&cb, msg->net)) {
> +             kfree_skb(buf);
> +             return -ENOMEM;
> +     }
>  
>       do {
>               int rem;
> 


_______________________________________________
tipc-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tipc-discussion

Reply via email to