Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3613492imu; Mon, 14 Jan 2019 06:11:14 -0800 (PST) X-Google-Smtp-Source: ALg8bN688WwsP/6ZUw/7n+h+1S22EeaQrUS99H1pjZ07rngNEZ2Mc2Idi5U9njERRleTQn3p5yf0 X-Received: by 2002:a17:902:8a91:: with SMTP id p17mr25660836plo.316.1547475074830; Mon, 14 Jan 2019 06:11:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1547475074; cv=none; d=google.com; s=arc-20160816; b=iQ6SnOkkQNQZsUa6jUT6BPjRkAAIG+2gHeeC5LFA3EKjGypCxkbdIyULCZ6Z4GdF17 am/jcF6QK6XB9OCWajCxmEI/G7WPcqZFx9h9VCq3i+LBKI7CsMIVm2ARrOhM1XshGEht rvM4K4X15cIHyAQtiraULeZdXKg3z4yAfPi+J+Kaugwb0c+i2jJHfl8b05usc64GVSz7 zjTUlupz33Rk17EOfON4dn558EVdKh5/LvRkLjyxK+tvoEXovfZ+K87oBei9M3SFFx7B AWn2GzzKr0Rs6OHDq8aAvkpgqIaRzslRs80YGWHHP5cFrDmD2sg+y8/epr0LavEenzcc lTLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=1bqC4OHDXW0F2L875TlaHlEUCUyNciF7VDwJcttF8pg=; b=OMt4lsBZ5e55DFx28Yv+i6m8HLIMG0XYDHoZeW2Ivu+oXpAoE7UcKZ1XDOIdDVjfvS PV1ibRRBztceY/WL23ZTm7Gy525cYqrSNv53Ag18XeRlUbm8V45V0leFBBNIbt1w7nCX EfqkYk8AIwMcxrkIhTq0C+7pemCnt+X03VYrfyzrmKXeq+40LO/5a8bVuOn88/gJlqYd Sh7lASnBU0tnM4wxzL9TTKDjfqx9p8MpwKSWMVNB2Uc1twkcuZo4RXqZK8DDoypHO1Ow GK9j06sUztx/NUyxJ2oNikl6gwPZj6mh2d8zy+O1WwUbtMf6T7hexEiouuw2H2Zs5hXJ 5dTA== ARC-Authentication-Results: i=1; mx.google.com; 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 v69si434447pgb.3.2019.01.14.06.10.57; Mon, 14 Jan 2019 06:11:14 -0800 (PST) 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; 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 S1726653AbfANOI6 (ORCPT + 99 others); Mon, 14 Jan 2019 09:08:58 -0500 Received: from charlotte.tuxdriver.com ([70.61.120.58]:36828 "EHLO smtp.tuxdriver.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726470AbfANOI5 (ORCPT ); Mon, 14 Jan 2019 09:08:57 -0500 Received: from cpe-2606-a000-111b-405a-f7a2-17fc-4213-1a54.dyn6.twc.com ([2606:a000:111b:405a:f7a2:17fc:4213:1a54] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1gj2uv-0003VS-Ba; Mon, 14 Jan 2019 09:08:53 -0500 Date: Mon, 14 Jan 2019 09:08:12 -0500 From: Neil Horman To: Xin Long Cc: linux-kernel@vger.kernel.org, network dev , linux-sctp@vger.kernel.org, davem@davemloft.net, Marcelo Ricardo Leitner , Alexander Potapenko Subject: Re: [PATCH net] sctp: allocate sctp_sockaddr_entry with kzalloc Message-ID: <20190114140812.GA4751@hmswarspite.think-freely.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-Spam-Score: -2.9 (--) X-Spam-Status: No Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jan 14, 2019 at 06:34:02PM +0800, Xin Long wrote: > The similar issue as fixed in Commit 4a2eb0c37b47 ("sctp: initialize > sin6_flowinfo for ipv6 addrs in sctp_inet6addr_event") also exists > in sctp_inetaddr_event, as Alexander noticed. > > To fix it, allocate sctp_sockaddr_entry with kzalloc for both sctp > ipv4 and ipv6 addresses, as does in sctp_v4/6_copy_addrlist(). > > Reported-by: Alexander Potapenko > Signed-off-by: Xin Long > --- > net/sctp/ipv6.c | 5 +---- > net/sctp/protocol.c | 4 +--- > 2 files changed, 2 insertions(+), 7 deletions(-) > > diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c > index b9ed271..ed8e006 100644 > --- a/net/sctp/ipv6.c > +++ b/net/sctp/ipv6.c > @@ -97,11 +97,9 @@ static int sctp_inet6addr_event(struct notifier_block *this, unsigned long ev, > > switch (ev) { > case NETDEV_UP: > - addr = kmalloc(sizeof(struct sctp_sockaddr_entry), GFP_ATOMIC); > + addr = kzalloc(sizeof(*addr), GFP_ATOMIC); > if (addr) { > addr->a.v6.sin6_family = AF_INET6; > - addr->a.v6.sin6_port = 0; > - addr->a.v6.sin6_flowinfo = 0; > addr->a.v6.sin6_addr = ifa->addr; > addr->a.v6.sin6_scope_id = ifa->idev->dev->ifindex; > addr->valid = 1; > @@ -434,7 +432,6 @@ static void sctp_v6_copy_addrlist(struct list_head *addrlist, > addr = kzalloc(sizeof(*addr), GFP_ATOMIC); > if (addr) { > addr->a.v6.sin6_family = AF_INET6; > - addr->a.v6.sin6_port = 0; > addr->a.v6.sin6_addr = ifp->addr; > addr->a.v6.sin6_scope_id = dev->ifindex; > addr->valid = 1; > diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c > index d5878ae..4e0eeb1 100644 > --- a/net/sctp/protocol.c > +++ b/net/sctp/protocol.c > @@ -101,7 +101,6 @@ static void sctp_v4_copy_addrlist(struct list_head *addrlist, > addr = kzalloc(sizeof(*addr), GFP_ATOMIC); > if (addr) { > addr->a.v4.sin_family = AF_INET; > - addr->a.v4.sin_port = 0; > addr->a.v4.sin_addr.s_addr = ifa->ifa_local; > addr->valid = 1; > INIT_LIST_HEAD(&addr->list); > @@ -776,10 +775,9 @@ static int sctp_inetaddr_event(struct notifier_block *this, unsigned long ev, > > switch (ev) { > case NETDEV_UP: > - addr = kmalloc(sizeof(struct sctp_sockaddr_entry), GFP_ATOMIC); > + addr = kzalloc(sizeof(*addr), GFP_ATOMIC); > if (addr) { > addr->a.v4.sin_family = AF_INET; > - addr->a.v4.sin_port = 0; > addr->a.v4.sin_addr.s_addr = ifa->ifa_local; > addr->valid = 1; > spin_lock_bh(&net->sctp.local_addr_lock); > -- > 2.1.0 > > Acked-by: Neil Horman