Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2224777imm; Mon, 28 May 2018 04:17:06 -0700 (PDT) X-Google-Smtp-Source: AB8JxZop0iORNy7BHBwbH0FqYxi8+Bvx02tb6pgesW8S7HNJsZah5VeP0Aktj/o4/grASgfr+XD4 X-Received: by 2002:a17:902:3303:: with SMTP id a3-v6mr13219648plc.209.1527506226528; Mon, 28 May 2018 04:17:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527506226; cv=none; d=google.com; s=arc-20160816; b=wkwAKvhAeNJvJnQbFJEQCyHPgD8na5Oj2a34sp/wFcFLQakDMaiawm0sjDnVuGxd37 +gx8r1TCks2+cS3KzjBA34UHrnyGiykR/WkZivBziqo7TQdSM+3K8JOPWHFTR39zgeNO 1P4SSFY4rS3hO9LI+moHAVgs8uXhcWMWiy8HCFq0h+UPwb+5OSyq2G1xbt6Tqpe4EI6u i4KmIwTRIHK6+9VRb6D7YqPPy/fw6k5NLKpq5WUvn8+e3uqJZsFDcVIUtx4EilP+A9QD rMqhdf4PLtj0pe7AmyPPMmEw6H2/od28X/zUUBIfE/tatjg+FSG7MI9A90xOOdHUg7Oa z93w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=Es2qfJQJNOp3K8w3BJjbYZAaIppHt5+0ozmbVzixTvs=; b=0K0uAUI3Tx0gzMkvhu4lU2hyZSXbg01sJ/g/35hi3QR/pRueMTAQyIHMiOGlmdWh5P ORX6Kbt4DwgFsDszv3lREu5EzSzeK6m+vVkurBxCImTzP33MdMEaWum9PU+lS5NH8B7Z dWCyMVO7BrRzCl4WpB9RhSBILbxRkfhBSWvWodwDPFhGX0U87Jw5zPirODHljVfT6YIH x8LZPxFagO1hGNhVZK8JXs1csYJYgtOvgjWIs60/pEkzmeuWMc6Bl5UE97LMDkjtlbbp R/1K5kUf7fkKNRipWSdgBGlgaCbJFI+GWsdw7xfVF8nQZdBd9EIDrN/PVyDAJicSLRlT 5RMw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ikPhswQh; 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 k18-v6si30153021pfe.13.2018.05.28.04.16.51; Mon, 28 May 2018 04:17:06 -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=ikPhswQh; 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 S1424388AbeE1LOP (ORCPT + 99 others); Mon, 28 May 2018 07:14:15 -0400 Received: from mail.kernel.org ([198.145.29.99]:33544 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1424331AbeE1LOM (ORCPT ); Mon, 28 May 2018 07:14:12 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (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 B4F9C206B7; Mon, 28 May 2018 11:14:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1527506052; bh=KgB0phsfJZ+q116FXK6jME0A23V6/U8nFnCe2K6QS90=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ikPhswQhesm9BtcnS8Z9QgQA3esDaGTI+8e3nRYV1V6x9yFLu091D141FZ57JlpRM BgWzCREcr9AXqN54+exU9WzyhfclCccb7AIh5ayWbtZ5v/7Q/aLUcgkCnutZD4hYOU uyZxToeOI+Xp+sl0MP0KCz31Q7WxIDDNuINAU12o= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Thomas Falcon , "David S. Miller" , Sasha Levin Subject: [PATCH 4.16 224/272] ibmvnic: Allocate statistics buffers during probe Date: Mon, 28 May 2018 12:04:17 +0200 Message-Id: <20180528100259.244142209@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180528100240.256525891@linuxfoundation.org> References: <20180528100240.256525891@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.16-stable review patch. If anyone has any objections, please let me know. ------------------ From: Thomas Falcon [ Upstream commit 53cc7721fdf12e649994cfb7d8f562acb0e4510b ] Currently, buffers holding individual queue statistics are allocated when the device is opened. If an ibmvnic interface is hotplugged or initialized but never opened, an attempt to get statistics with ethtool will result in a kernel panic. Since the driver allocates a constant number, the maximum supported queues, of buffers, these can be allocated during device probe and freed when the device is hot-unplugged or the module is removed. Signed-off-by: Thomas Falcon Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/ibm/ibmvnic.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) --- a/drivers/net/ethernet/ibm/ibmvnic.c +++ b/drivers/net/ethernet/ibm/ibmvnic.c @@ -812,8 +812,6 @@ static void release_resources(struct ibm release_tx_pools(adapter); release_rx_pools(adapter); - release_stats_token(adapter); - release_stats_buffers(adapter); release_error_buffers(adapter); if (adapter->napi) { @@ -953,14 +951,6 @@ static int init_resources(struct ibmvnic if (rc) return rc; - rc = init_stats_buffers(adapter); - if (rc) - return rc; - - rc = init_stats_token(adapter); - if (rc) - return rc; - adapter->vpd = kzalloc(sizeof(*adapter->vpd), GFP_KERNEL); if (!adapter->vpd) return -ENOMEM; @@ -4390,6 +4380,14 @@ static int ibmvnic_init(struct ibmvnic_a release_crq_queue(adapter); } + rc = init_stats_buffers(adapter); + if (rc) + return rc; + + rc = init_stats_token(adapter); + if (rc) + return rc; + return rc; } @@ -4497,6 +4495,9 @@ static int ibmvnic_remove(struct vio_dev release_sub_crqs(adapter); release_crq_queue(adapter); + release_stats_token(adapter); + release_stats_buffers(adapter); + adapter->state = VNIC_REMOVED; mutex_unlock(&adapter->reset_lock);