Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/806321/?format=api
{ "id": 806321, "url": "http://patchwork.ozlabs.org/api/patches/806321/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/20170828001603.75876-6-jeffrey.t.kirsher@intel.com/", "project": { "id": 7, "url": "http://patchwork.ozlabs.org/api/projects/7/?format=api", "name": "Linux network development", "link_name": "netdev", "list_id": "netdev.vger.kernel.org", "list_email": "netdev@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20170828001603.75876-6-jeffrey.t.kirsher@intel.com>", "list_archive_url": null, "date": "2017-08-28T00:15:53", "name": "[net-next,05/15] i40evf: fix possible snprintf truncation of q_vector->name", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "c91016724455487483c66fe22f8cd142516f4e40", "submitter": { "id": 473, "url": "http://patchwork.ozlabs.org/api/people/473/?format=api", "name": "Kirsher, Jeffrey T", "email": "jeffrey.t.kirsher@intel.com" }, "delegate": { "id": 34, "url": "http://patchwork.ozlabs.org/api/users/34/?format=api", "username": "davem", "first_name": "David", "last_name": "Miller", "email": "davem@davemloft.net" }, "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/20170828001603.75876-6-jeffrey.t.kirsher@intel.com/mbox/", "series": [ { "id": 52, "url": "http://patchwork.ozlabs.org/api/series/52/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netdev/list/?series=52", "date": "2017-08-28T00:15:49", "name": "40GbE Intel Wired LAN Driver Updates 2017-08-27", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/52/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/806321/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/806321/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<netdev-owner@vger.kernel.org>", "X-Original-To": "patchwork-incoming@ozlabs.org", "Delivered-To": "patchwork-incoming@ozlabs.org", "Authentication-Results": "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)", "Received": [ "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xgXQC6Vlrz9s82\n\tfor <patchwork-incoming@ozlabs.org>;\n\tMon, 28 Aug 2017 10:17:07 +1000 (AEST)", "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751825AbdH1ARG (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tSun, 27 Aug 2017 20:17:06 -0400", "from mga14.intel.com ([192.55.52.115]:47467 \"EHLO mga14.intel.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1751493AbdH1AQT (ORCPT <rfc822;netdev@vger.kernel.org>);\n\tSun, 27 Aug 2017 20:16:19 -0400", "from fmsmga004.fm.intel.com ([10.253.24.48])\n\tby fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t27 Aug 2017 17:16:18 -0700", "from davidpwo-mobl1.amr.corp.intel.com (HELO\n\tjtkirshe-DESK.amr.corp.intel.com.com) ([10.254.22.134])\n\tby fmsmga004.fm.intel.com with ESMTP; 27 Aug 2017 17:16:18 -0700" ], "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.41,439,1498546800\"; d=\"scan'208\";a=\"304981066\"", "From": "Jeff Kirsher <jeffrey.t.kirsher@intel.com>", "To": "davem@davemloft.net", "Cc": "Jacob Keller <jacob.e.keller@intel.com>, netdev@vger.kernel.org,\n\tnhorman@redhat.com, sassmann@redhat.com, jogreene@redhat.com,\n\tJeff Kirsher <jeffrey.t.kirsher@intel.com>", "Subject": "[net-next 05/15] i40evf: fix possible snprintf truncation of\n\tq_vector->name", "Date": "Sun, 27 Aug 2017 17:15:53 -0700", "Message-Id": "<20170828001603.75876-6-jeffrey.t.kirsher@intel.com>", "X-Mailer": "git-send-email 2.14.1", "In-Reply-To": "<20170828001603.75876-1-jeffrey.t.kirsher@intel.com>", "References": "<20170828001603.75876-1-jeffrey.t.kirsher@intel.com>", "Sender": "netdev-owner@vger.kernel.org", "Precedence": "bulk", "List-ID": "<netdev.vger.kernel.org>", "X-Mailing-List": "netdev@vger.kernel.org" }, "content": "From: Jacob Keller <jacob.e.keller@intel.com>\n\nThe q_vector names are based on the interface name with a driver prefix,\nthe type of q_vector setup, and the queue number. We previously set the\nsize of this variable to IFNAMSIZ + 9, which is incorrect, because we\nactually include a minimum of 14 characters extra beyond the interface\nname size.\n\nNew versions of GCC since 7 include a new warning that detects this\npossible truncation and complains. We can fix this by increasing the\nsize in case our interface name is too large to avoid truncation. We\ndon't need to go beyond 14 because the compiler is smart enough to\nrealize our values can never exceed size of 1. We do go up to 15 here\nbecause possible future changes may increase the number of queues beyond\none digit.\n\nWhile we are here, also change some variables to be unsigned (since they\nare never negative) and stop using an extra unnecessary %s format\nspecifier.\n\nSigned-off-by: Jacob Keller <jacob.e.keller@intel.com>\nTested-by: Andrew Bowers <andrewx.bowers@intel.com>\nSigned-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>\n---\n drivers/net/ethernet/intel/i40evf/i40evf.h | 2 +-\n drivers/net/ethernet/intel/i40evf/i40evf_main.c | 21 +++++++++------------\n 2 files changed, 10 insertions(+), 13 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/intel/i40evf/i40evf.h b/drivers/net/ethernet/intel/i40evf/i40evf.h\nindex d310544c6c6e..e5293d35fb6a 100644\n--- a/drivers/net/ethernet/intel/i40evf/i40evf.h\n+++ b/drivers/net/ethernet/intel/i40evf/i40evf.h\n@@ -121,7 +121,7 @@ struct i40e_q_vector {\n #define ITR_COUNTDOWN_START 100\n \tu8 itr_countdown;\t/* when 0 or 1 update ITR */\n \tint v_idx;\t/* vector index in list */\n-\tchar name[IFNAMSIZ + 9];\n+\tchar name[IFNAMSIZ + 15];\n \tbool arm_wb_state;\n \tcpumask_t affinity_mask;\n \tstruct irq_affinity_notify affinity_notify;\ndiff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c\nindex 0d87191b6bac..258e8e27068b 100644\n--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c\n+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c\n@@ -543,9 +543,9 @@ static void i40evf_irq_affinity_release(struct kref *ref) {}\n static int\n i40evf_request_traffic_irqs(struct i40evf_adapter *adapter, char *basename)\n {\n-\tint vector, err, q_vectors;\n-\tint rx_int_idx = 0, tx_int_idx = 0;\n-\tint irq_num;\n+\tunsigned int vector, q_vectors;\n+\tunsigned int rx_int_idx = 0, tx_int_idx = 0;\n+\tint irq_num, err;\n \n \ti40evf_irq_disable(adapter);\n \t/* Decrement for Other and TCP Timer vectors */\n@@ -556,18 +556,15 @@ i40evf_request_traffic_irqs(struct i40evf_adapter *adapter, char *basename)\n \t\tirq_num = adapter->msix_entries[vector + NONQ_VECS].vector;\n \n \t\tif (q_vector->tx.ring && q_vector->rx.ring) {\n-\t\t\tsnprintf(q_vector->name, sizeof(q_vector->name) - 1,\n-\t\t\t\t \"i40evf-%s-%s-%d\", basename,\n-\t\t\t\t \"TxRx\", rx_int_idx++);\n+\t\t\tsnprintf(q_vector->name, sizeof(q_vector->name),\n+\t\t\t\t \"i40evf-%s-TxRx-%d\", basename, rx_int_idx++);\n \t\t\ttx_int_idx++;\n \t\t} else if (q_vector->rx.ring) {\n-\t\t\tsnprintf(q_vector->name, sizeof(q_vector->name) - 1,\n-\t\t\t\t \"i40evf-%s-%s-%d\", basename,\n-\t\t\t\t \"rx\", rx_int_idx++);\n+\t\t\tsnprintf(q_vector->name, sizeof(q_vector->name),\n+\t\t\t\t \"i40evf-%s-rx-%d\", basename, rx_int_idx++);\n \t\t} else if (q_vector->tx.ring) {\n-\t\t\tsnprintf(q_vector->name, sizeof(q_vector->name) - 1,\n-\t\t\t\t \"i40evf-%s-%s-%d\", basename,\n-\t\t\t\t \"tx\", tx_int_idx++);\n+\t\t\tsnprintf(q_vector->name, sizeof(q_vector->name),\n+\t\t\t\t \"i40evf-%s-tx-%d\", basename, tx_int_idx++);\n \t\t} else {\n \t\t\t/* skip this unused q_vector */\n \t\t\tcontinue;\n", "prefixes": [ "net-next", "05/15" ] }