Received: by 2002:ac0:98c7:0:0:0:0:0 with SMTP id g7-v6csp2468271imd; Fri, 2 Nov 2018 11:56:45 -0700 (PDT) X-Google-Smtp-Source: AJdET5eizKq3PA4aHuITyhaU68da/6wtyEHFV/a6C+NxAfhYk2AcS6SaEThDgIQAfpLMbN56Ba/G X-Received: by 2002:a63:f74f:: with SMTP id f15mr12034729pgk.190.1541185005702; Fri, 02 Nov 2018 11:56:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1541185005; cv=none; d=google.com; s=arc-20160816; b=CVT2iCAfH1JmuLFgvoMtX8r/UtQ79J5Vc9lR6FixX/1TSoCKEVuMIxZBAxHJPJB+/i FMsQQVky94GA7LVbMgWmsW/ncYrZxaJJGP/QPGkSVNRWlJ2l+zprv7FcZi2ltpfduA6m hRWE2dzWAxiXC0xrmY8+j384m8k8HryuXIdY0Z6WsFxXuOSPJfk9Rf5AuYJOjdnZhLOF QoaM2pE7GusCiiWyRxKSZrDX9FA2HdGqL4Xz3y5u8KXKj+zvLxxu9tXsqB6TlTJn4ZKX TvDgk3ZVeI5/PYzW5qCR4CA199+2k3XFz61E0lJ0Lse2nEv9VNdzNnILNqKlB/FT6RnW d6qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=ctVT3oktgriYAxqKnk4iGA0LbeLbWKF4PWjnoyiESZ4=; b=z2qPXMI/rXr8YQ6kmoAMKiRNm5z2Px1Zrp97irjJgV287ktIgEe5BMfrPKzDiZYxCg 3Y/dKmkzvINjoFxR2BbRad2Q4PU5PwBpq9mGFP/QOzWY5ZO39WTqFE22jnrSt62M/m2t 31YPcmsMB2Pe7SpQW5iYZZ+vciZv63iQdD+UMhrW/idgAXUpMRz+DV7tHFVOohO2PTHS NtE9j6bBYCNF6l39i3U/it7knsaUdxnC65KrpNSoseftduBkSHzsVV2WhKu/UybNSybk 8FE/8Y6sY9n00qUBEJie3BHsIZf1wA39AwTv91wTMguq2Coy6eM7utA5cp6IF2S8OMpz 8h0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Dt3jtgK4; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b124-v6si27669955pfa.135.2018.11.02.11.56.31; Fri, 02 Nov 2018 11:56:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Dt3jtgK4; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731278AbeKCEDI (ORCPT + 99 others); Sat, 3 Nov 2018 00:03:08 -0400 Received: from mail.kernel.org ([198.145.29.99]:58876 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726760AbeKCEDH (ORCPT ); Sat, 3 Nov 2018 00:03:07 -0400 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 0657520848; Fri, 2 Nov 2018 18:54:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1541184891; bh=vtosIPG3DzgPCX8ORFzKtVCVfCBP1asxQ17kCa4tipg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Dt3jtgK4UWwUdJDd8hIV0Oy1TS/dUrzM8KEPI9sgFgGUvPvWn4k1J3ZmGU4FW4xbt XaBqyG5pTAM45/JiiFFoJdmp2TFFToH3em2yjr0mWlS4XQLEloSnc4GT14tO+TFTf/ uBdOK2io0/BSC4wUbpt3mPWiIsO0hK9YJl6TLiyw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, David Ahern , "David S. Miller" Subject: [PATCH 4.14 121/143] net/ipv6: Fix index counter for unicast addresses in in6_dump_addrs Date: Fri, 2 Nov 2018 19:35:06 +0100 Message-Id: <20181102182907.549292253@linuxfoundation.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181102182857.064326086@linuxfoundation.org> References: <20181102182857.064326086@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: David Ahern [ Upstream commit 4ba4c566ba8448a05e6257e0b98a21f1a0d55315 ] The loop wants to skip previously dumped addresses, so loops until current index >= saved index. If the message fills it wants to save the index for the next address to dump - ie., the one that did not fit in the current message. Currently, it is incrementing the index counter before comparing to the saved index, and then the saved index is off by 1 - it assumes the current address is going to fit in the message. Change the index handling to increment only after a succesful dump. Fixes: 502a2ffd7376a ("ipv6: convert idev_list to list macros") Signed-off-by: David Ahern Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- net/ipv6/addrconf.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -4793,8 +4793,8 @@ static int in6_dump_addrs(struct inet6_d /* unicast address incl. temp addr */ list_for_each_entry(ifa, &idev->addr_list, if_list) { - if (++ip_idx < s_ip_idx) - continue; + if (ip_idx < s_ip_idx) + goto next; err = inet6_fill_ifaddr(skb, ifa, NETLINK_CB(cb->skb).portid, cb->nlh->nlmsg_seq, @@ -4803,6 +4803,8 @@ static int in6_dump_addrs(struct inet6_d if (err < 0) break; nl_dump_check_consistent(cb, nlmsg_hdr(skb)); +next: + ip_idx++; } break; }