From patchwork Tue Jun 19 04:58:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sudarsana Reddy Kalluru X-Patchwork-Id: 931365 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=cavium.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=CAVIUMNETWORKS.onmicrosoft.com header.i=@CAVIUMNETWORKS.onmicrosoft.com header.b="klnzla/v"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 418whR3cWwz9s37 for ; Tue, 19 Jun 2018 14:58:15 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S937129AbeFSE6N (ORCPT ); Tue, 19 Jun 2018 00:58:13 -0400 Received: from mail-bn3nam01on0089.outbound.protection.outlook.com ([104.47.33.89]:10240 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751777AbeFSE6K (ORCPT ); Tue, 19 Jun 2018 00:58:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=cco4MChlGze0f1G6x7SeY5XlQxjgJ/afBKH72LBUODk=; b=klnzla/vuwOThxECfomjBdjpEVpEFStc9DsaaMDlYzasocr6OXEpgpuWwXcdebV6iHaNV6iCFKZ5ZtYb5w/MeTAcRsCz2GjxTMp7g/u9OPkbbo6up5t5c8gaoHSBIzgQYCSyJvsyxm2LzQjzK9g/U8qWWPgXbuvftsC00LaxS5s= Received: from DM5PR07CA0044.namprd07.prod.outlook.com (2603:10b6:3:16::30) by BY2PR07MB1458.namprd07.prod.outlook.com (2a01:111:e400:515f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.863.17; Tue, 19 Jun 2018 04:58:07 +0000 Received: from DM3NAM05FT047.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e51::206) by DM5PR07CA0044.outlook.office365.com (2603:10b6:3:16::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.863.14 via Frontend Transport; Tue, 19 Jun 2018 04:58:07 +0000 Received-SPF: Pass (protection.outlook.com: domain of cavium.com designates 50.232.66.26 as permitted sender) receiver=protection.outlook.com; client-ip=50.232.66.26; helo=CAEXCH02.caveonetworks.com; Received: from CAEXCH02.caveonetworks.com (50.232.66.26) by DM3NAM05FT047.mail.protection.outlook.com (10.152.98.161) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.20.884.14 via Frontend Transport; Tue, 19 Jun 2018 04:58:07 +0000 Received: from dut1171.mv.qlogic.com (172.29.51.171) by CAEXCH02.caveonetworks.com (10.17.4.29) with Microsoft SMTP Server id 14.2.347.0; Mon, 18 Jun 2018 21:58:05 -0700 Received: from dut1171.mv.qlogic.com (localhost [127.0.0.1]) by dut1171.mv.qlogic.com (8.14.7/8.14.7) with ESMTP id w5J4w5uf024091; Mon, 18 Jun 2018 21:58:05 -0700 Received: (from root@localhost) by dut1171.mv.qlogic.com (8.14.7/8.14.7/Submit) id w5J4w5cS024090; Mon, 18 Jun 2018 21:58:05 -0700 From: Sudarsana Reddy Kalluru To: CC: , , Subject: [PATCH net 1/3] qed: Fix possible memory leak in Rx error path handling. Date: Mon, 18 Jun 2018 21:58:00 -0700 Message-ID: <20180619045802.24050-2-sudarsana.kalluru@cavium.com> X-Mailer: git-send-email 2.12.0 In-Reply-To: <20180619045802.24050-1-sudarsana.kalluru@cavium.com> References: <20180619045802.24050-1-sudarsana.kalluru@cavium.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:50.232.66.26; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39380400002)(39860400002)(396003)(346002)(376002)(2980300002)(438002)(199004)(189003)(76176011)(316002)(2906002)(86362001)(51416003)(356003)(5660300001)(8936002)(16586007)(42186006)(8676002)(106002)(6666003)(6916009)(6346003)(54906003)(26005)(186003)(106466001)(59450400001)(81166006)(81156014)(47776003)(486006)(69596002)(80596001)(36756003)(2616005)(2351001)(50226002)(305945005)(48376002)(11346002)(446003)(476003)(126002)(107886003)(72206003)(1076002)(4326008)(336012)(87636003)(478600001)(50466002); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR07MB1458; H:CAEXCH02.caveonetworks.com; FPR:; SPF:Pass; LANG:en; PTR:50-232-66-26-static.hfc.comcastbusiness.net; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: 1; DM3NAM05FT047; 1:nEr6uNIc8LtDHdnHxeMAfokiCQT3U4Gxwi0tCtZDsQeE1fcgFGAajEjJ1wuSQYsIh+wedtvrVO7Vc/8Sf4uUlIYQtJcV/FCsjHEVKkpCmmtLE59u94pk0/JrgmGBFAg2 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 57aab755-6232-41c4-1c11-08d5d5a13f7f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(711020)(4608076)(2017052603328)(7153060); SRVR:BY2PR07MB1458; X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB1458; 3:sLuTSrBXY0T2ejphXlChfObDTbpgbDiBC6w9dqYYRjdTI0RyFzfAyGv94UhC812JnT+S5jdXGaDljoEipGBZsZSkt6cJZYCr3slnIBGZ9uVBzFqusrH3oPc0ghjctTSFnWFdeb1A1rtSMBCqomgI4Ftr4+DOI4H8pwpZycT5D1pwACDytZvhXw3DkE1I3mJTIxMWyz9LowGjYcNDtE5wHky8fffevlJrBk82Sm8QxQljdzunrLhzfV5S+9Kq3Dj9AeAcE5OY52uEB2c2AsB0iWUJ2WXoKP76ZzWZ7y+TU4jtY6iKlhwn8nOnOIIADT7T5tdo5OnrH5wtCn3Sokn0uA==; 25:JeAu2dkVGMtnL8Wa39X6+VoJW2MKsyTZ82hykxPJlTfETm/j3G7bLBXS7xHKL2j1vAk2pkSgbE99tUFxGhb0vsUsBoJOtjsHAbBOhaoZID0iFVDk5rYFsqBEwezwUpyKswMQQYDv7LSWrXYg0yIYrjVd75y6VxoD3JsY7HbVfxRvTXPOLu4E/tSqRaRRDHYrvpT9JUZpd0P/M/7CngBq+Ka7D3pk7UmjvQVTNZfIWIVdozdsfnNWuKzyL8EW40U8h9V9hvEFND8cOena8wc0OnhfjeAHyNq4Sch1xr+sh+A8mF2bnp746WhIRji7jH0zdCLePcyYfS5iip45fCMp9w==; 31:aj98Sbz7l0wPXjhcjDPJkY85+o3eV8mSlxyOS74vvs9dzjjupiKxLUXBwsk3+UeHNv0nuR1GmH2bcmHjYh0fxE9t8kO7Z79IRHEDyWA0SznZPcKs8OR586tWKTQlQBNLSQp9uj29bBvOO/i04KyCR/Jxo8OwuyogED+UH/EwIFEnez/UMG4pmkjlpmpLXRRKeCwxm6tGEyf8G6ttlibyZgWqFup1jRsE9onhGJku78c= X-MS-TrafficTypeDiagnostic: BY2PR07MB1458: X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB1458; 20:JaozfWPqkHp7R6of7YikUHtOqMh2IP+Sp1PEOT9qqqITsrEkhUl3GCGks9ef7GE1cXfSXlUBSBVZhhDvEdQ7crIgZsh1cq7xvvapUVacnok3W4wojoGdtB1LdBV++qyjhAf9Jy9In5YHqWzQSlpFHaLQGSmo0ADoRqnDbFoNtEybeGfSHjoV+CtxJw2mEfTp+Ch/V73lrd29hlDSgjFAhtU3cs6MoSlmYlNYJl0J2eLUTlCjdzH+++hPIKmMbtEJkO/WJs9OCM85psxn4/b2XUHcUA/CuN/ORIw4yHIDb8iHkPfiNVHyksHdC2X4Fi9fZbLB+0mIABaeLNPHyC1aGNNjJpZJUq5+F8Lg93SbQHOaeTalp+0MjM3smozos95q/sKAH0Fa6F//O41BElMBA00LQoDl072etLRi63pPhm98QF1fRTMAqDIWYoVfFWadLvh6I+5v304n6dko4gKF7BoN+dlz5G4l6Cz1TxrmDY2Ats+y89PfotCGbDlzVUpq; 4:wMewpfWa58J5+ylcwu2XkRJlNyliA6YHYaZzVNTMD7RvcLCcsCb5yaflCSpAz35S19ggl5vdKRZfa4gV1NuDpoLddfol5TvrmYtx9S7IKvlT+uTxS3EeYCaMpfteLD6pt9/LncbecQBtE3awuJHfPRcZfBTiEgjwOzhJVDjfT1a3HfF951jIyjtWJQ/bHNPMOGqEDhS0oskhK8Dz+BwDG4AXXXG60g8txTkZ6a8fKOevz096VS7BugrMw0arhgVdSwDFgdtW5To4dmdmnGccww== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(93006095)(93004095)(10201501046)(3002001)(149027)(150027)(6041310)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:BY2PR07MB1458; BCL:0; PCL:0; RULEID:; SRVR:BY2PR07MB1458; X-Forefront-PRVS: 07083FF734 X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB1458; 23:k8+EcVUep8J+/ZlNMb6Dt7g4wDHqw/psEdb8M3W40OjO1xxreeRipQvHidOt7OBnR0Cuht3gYw5w8Z7e/AXD+nHJfXmWKV7sBLDV6t6AZ8FZU8GL/CrDnYkkjUSzxJXy1lzz3Qc7uEgQSdZh56V3zDR3egmYmbBmRW9J7j7/YjPpvLD+FaeXpmp3ncoMpIaP9ArMpjZqLKkZiQB+mRZnKHCSyIiP4Oxbr2wI5yuz0suC3MJpBP+YLL+X1IIPeLn5TaJg42YVmvl9uPwst+DFFP5IgVLZ1P9I6uz+zHB0hGA5hxQBw2tqzKND0UU6xAPZR7t3JoTw5qG4P+7ijQZO5Dbv5bh3yfPGQYpgsdtVUGQCukQzJUKQrXADclhm8S4v1i71yS0g3OLh87d/sE//U0FlY9phv4l2D9AEErIKu50D3ZaniX4puZUtMCjMt+4puLVDuRoB/zfo9Ck3LMIl8cQPzAmhy46WZQBKJjPLJvPVxwl4dFANPqJi9Phz/bj2bnV6rZ6DCrGDe++hWb4xHRoSEIu/qOqE4uuH38b0RhEYhXmiNrVezH4sY2TJIA8exgDywcu0H95GuiOwRd6QkdPXiTkVTwN0AbJvISRgQEmhmov3Qf3rv6ITt6zy4pT4Gg6J8tQTw/dzRaLyQt0pp3Q09H11ye3jrXy0rXEjzlw1DM6BthNKu6ouW+BHoJSn/XGm6LVzL5PDEeoH9HdZAeLuuFWH2AsPBXMGu46dxlFxtmlC1lbmVhEd5A7szCs3w5m+A/F/lVd41TbjZTBMeBF4H1NbZ8235jl+0xiWFB3Qahg/mMK2s0rFLJOBm+kvGEWmT6/eRyJzQguHZjYS3S8t1dCgOdHA1DA/Hg3kFATv87dbDxZ1GvBQfQ8LIystS9SHt5ZFwIq3sfj4KVUMyoFUv0163MWDGIfXtaqbGXcgeJUqkMaIi+6PwFp+Zn/YgeCsSe33S1z9i0QA6Oo0KnFH/lEba6CwbutlIxiKZKzWlxDdOctBHbU9v0H3Ve1Q973a0ICwTfuKkuVERxeETWQN2SI/hTbtiKcn0HYFKmW5TqqPJzTreRRaemKvxxpTqOoFL6wPsojG17vv/fhsSOKufq8HvYrWsauKFUeyhzNpNBLrHrKohRZKxwN9fKyT/tw4mVbcW8B7+iPvT7++dm677Mwir3ek2GFo7oHC4kc= X-Microsoft-Antispam-Message-Info: kMcXxAVi0wKKqzzdcqdGepz5Nc8Pk1kIYpxlbB6v3+jjLUe78DbQsmEpgXJblGJ3e94/Rwnqy6z53mXqP8NAPn2Z5jZb5txo1AZwRve7u/fHm/g4rgBerIkSEYx3V/Fgp+Fg3zHGpZH/FDZ4b6LYG3MuolCT4aqXUSNi7xE9jywG/kiEbeVm47CMMul6Wy/ru2KfIaZ5Kt3wTkn8Lfo/3DvmB8N+B5+2eqg8yEXRyPLQpu7HDDTRjpf1g6x2kCjkYOzNp34WqwkUsBVSTd6JnmwXEz9HE9/ebW52w1aAuQgXfEk44vFgrhlYqGotUmws5Yru1sCjJ3B6ccQEd5rsiQ== X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB1458; 6:19cWG+3/ElajWXi4UIDVrLA15vUM32+NPSD8cSmWuc4RbNLaJhf6nRE9uf2QCyRxBtvVFHe3F+tU+3CWwllV633jBEIY1dL+k7fnxMKBkLnXLWPV2kMeuxODP5uEpDR56FmlB+ZeNr7OK8Y2lPuhQVIICc75oNQ6JFOEyxO4R5+kygfmfkmG00Ech6ALDZ+AvgMIpEfXFcR4SjxK1x264Beaug28Hcgnuo0aCDhbgIAqHfhGvWMMd6JmtniLDHet9/aesAHB1ucOpqhd4TYVAbXOcFA8HRTVMJNJcdwkCTjxLUTLlIsPMWN/XKDYV1V36XKq5v/yTQWZ0pRvbWyLyESykTncwL8MilD71km4NyCXBEwE2OVZx93Vz2CMni2nzGyEp9S1TYHVz5C/NXXerX180tZo3kF+tmrb9TQ8uwzEXk9CWPpEsLOUyQ+soeI6JT5OLOeutGQcSXB00XHprA==; 5:LedWYrpHeymmj7NSwrmW9CXLxB9lXPfG5ZoInFfdjZT743y+I4Uth8TxI0+cit9R/scRsIoEgO4ygkAMLW0BFl+026AcO+WtApgI07P6wQoRYWxxTEkqdvHXp93odfPg0d64kQDlxSEId54vfhBu5yCROPwga5qLevvQBWe12vY=; 24:IZKUEW7xBe2qPAznXlWJfjEW0AdNjw+GpDuh758XuJBa/5+zDekC5Utu3wEgjHeQtec3vMJ/TXWyBWP2TScFIOJ8Cq+1mD2+Rdfjyx/tspo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB1458; 7:m64dVqS3OxmvCO2xJyIQA2DYdY6W+qlooVAoj+59gxkstDjaPZ2CibftW1Om3rwYdkOHs9E0bE4hYhiXq6+7SFc5bWVoojNIOTPIc/iyXKMEi1ZbE08q1hpU0GaNeFMm9lSArUud+Ch5/CZ0Wd4eIh3QZPP2ODdDo7aziIsF7eHZ+c9vWyq/UyNFfrmQA+CWb+0fv2KCNAdOilUi7tJorKBjb8fno2UiRW/Ln9kbrt4DBEw10VjGZU8HS92bwUkp X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2018 04:58:07.1570 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 57aab755-6232-41c4-1c11-08d5d5a13f7f X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=711e4ccf-2e9b-4bcf-a551-4094005b6194; Ip=[50.232.66.26]; Helo=[CAEXCH02.caveonetworks.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR07MB1458 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Memory for packet buffers need to be freed in the error paths as there is no consumer (e.g., upper layer) for such packets and that memory will never get freed. The issue was uncovered when port was attacked with flood of isatap packets, these are multicast packets hence were directed at all the PFs. For foce PF, this meant they were routed to the ll2 module which in turn drops such packets. Fixes: 0a7fb11c ("qed: Add Light L2 support") Signed-off-by: Sudarsana Reddy Kalluru Signed-off-by: Ariel Elior Signed-off-by: Michal Kalderon --- drivers/net/ethernet/qlogic/qed/qed_ll2.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/qlogic/qed/qed_ll2.c b/drivers/net/ethernet/qlogic/qed/qed_ll2.c index c97ebd6..012973d 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_ll2.c +++ b/drivers/net/ethernet/qlogic/qed/qed_ll2.c @@ -201,8 +201,9 @@ void qed_ll2b_complete_rx_packet(void *cxt, struct qed_ll2_comp_rx_data *data) skb = build_skb(buffer->data, 0); if (!skb) { - rc = -ENOMEM; - goto out_post; + DP_INFO(cdev, "Failed to build SKB\n"); + kfree(buffer->data); + goto out_post1; } data->u.placement_offset += NET_SKB_PAD; @@ -224,8 +225,14 @@ void qed_ll2b_complete_rx_packet(void *cxt, struct qed_ll2_comp_rx_data *data) cdev->ll2->cbs->rx_cb(cdev->ll2->cb_cookie, skb, data->opaque_data_0, data->opaque_data_1); + } else { + DP_VERBOSE(p_hwfn, (NETIF_MSG_RX_STATUS | NETIF_MSG_PKTDATA | + QED_MSG_LL2 | QED_MSG_STORAGE), + "Dropping the packet\n"); + kfree(buffer->data); } +out_post1: /* Update Buffer information and update FW producer */ buffer->data = new_data; buffer->phys_addr = new_phys_addr;