From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-eopbgr130089.outbound.protection.outlook.com [40.107.13.89]) by dpdk.org (Postfix) with ESMTP id DFE351B477 for ; Sat, 16 Feb 2019 08:49:15 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XIpeVDhKmSi0LWoYAZNViYRUGmsOAFPJeD+4UwYzfZM=; b=NaNvFPI37MHrAf/KP7ROS5hi3v0N93kjH0MMJpzihv0o3Y+hSjqbbIdXJNIpmAIq0BwTmtJn7PB26jSR897RVEvLNvTDl/W9wyRyactR99jM9Vgb9dTk7zjv4zov/nl5tH2TDIexnJIlPt8FWgv3y/dY19zi9KKvkhrYmj0+V+A= Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com (52.134.72.27) by DB3PR0502MB4090.eurprd05.prod.outlook.com (52.134.72.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1601.19; Sat, 16 Feb 2019 07:49:14 +0000 Received: from DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::580c:ae7b:8278:cc50]) by DB3PR0502MB3980.eurprd05.prod.outlook.com ([fe80::580c:ae7b:8278:cc50%2]) with mapi id 15.20.1622.018; Sat, 16 Feb 2019 07:49:14 +0000 From: Yongseok Koh To: Alejandro Lucero CC: "stable@dpdk.org" Thread-Topic: [PATH 17.11] net/nfp: fix misuse of strlcpy Thread-Index: AQHUxRmD+OtYY8FztEWFsoEkIvFTa6XiDgMA Date: Sat, 16 Feb 2019 07:49:13 +0000 Message-ID: <42615D86-C8D5-496F-96E2-97887DDB60CB@mellanox.com> References: <20190215103044.10301-1-alejandro.lucero@netronome.com> In-Reply-To: <20190215103044.10301-1-alejandro.lucero@netronome.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=yskoh@mellanox.com; x-originating-ip: [125.180.75.230] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7ec8eca7-28ac-49ab-20d3-08d693e33ed7 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:DB3PR0502MB4090; x-ms-traffictypediagnostic: DB3PR0502MB4090: x-microsoft-exchange-diagnostics: =?us-ascii?Q?1; DB3PR0502MB4090; 23:tDN0kqBLnScXKTJO5JRc68jDv21fSpJnizXwIbe?= =?us-ascii?Q?/eYYahSsLtOE6xq6d001aadaocB3ljmGP9D7lAW9WVWBE9Dxe9mUVVDE2rG/?= =?us-ascii?Q?uKm5usr5owR4X1LCbEYU7hLZFhu97F4j1zCfm3bpLln7q0fQTkBLRClTkygK?= =?us-ascii?Q?zpf4UBFL0UoCa3qWDLlkiGzNl449nk0ouK8aMxk45nj8zb/27+49Y2rv+a/p?= =?us-ascii?Q?+vNlCc0XiX3349KmsWQzc0vXt72ZrYf9qY7bFVTGtQZky+eJNfgbzo/wej8H?= =?us-ascii?Q?jtdPY7ExOpq8rZpuC/xLhU86Cdw/2HJD/F6V3G4RL1liTcRV0eDIwc1OofPA?= =?us-ascii?Q?vUQKNdn7eJ4s4dunNVH9xx6J2a5rkWjOgQ0v/+RBroP2ICc246Cg+52hdnff?= =?us-ascii?Q?ArvcLmm5Sx2rSWibIf45zqMtIYvEFYCuHxorvcfiDR7Pg4qf4uAHYH+vreqg?= =?us-ascii?Q?K5C95sc3WkxQTwUhxnVNqLYVNlNr1pTg+DKK7GoOUR2jI/z72iJuH+vBberf?= =?us-ascii?Q?7I/5tzcDny4gGysrOQeGa1C16Pd1pBFVSfDsqJFnjiDwmJA/8hlVNjyhpMO7?= =?us-ascii?Q?H8aHPJgSTcdCrbFOoGmCiEdc8sK4EYRqe4THgEprx+S4RBQq8nrN2DcIwyFQ?= =?us-ascii?Q?YuwIZ7ojPqi+hTNkRDg9OmPozmwmLDUvRV8pJ31FifoH0Al+ugzOo2DhITkz?= =?us-ascii?Q?ldKWv26ytU6WjSbhUkjFChCzn4pdXATOeLOjAQo83aJkOZvLczQ4zHkqTKdY?= =?us-ascii?Q?7/5V+LJ+6GMrRb8vI9ExsL5L46XuvwA/4Iw43AFagc9P3RHTCeLUgy5VblkN?= =?us-ascii?Q?Gv7fAdutsv/qOTwwEqs0TTh56Cspd2rNfL1gei4d1BMsxcAkagrU4EeQHVjC?= =?us-ascii?Q?25ClzNtRr8whTeZVaN3ZUuMB+Em50u3DDEM3WnDmSnCe5dbZZ6pw7PJ53bHl?= =?us-ascii?Q?ZbPmCw5zTArDsrJYlG0HbLlzU+jnorPpwSPNjTwTcgRY1boqbrX88tRIB8rw?= =?us-ascii?Q?t5SUr1lYYuGVVfsBEN7ffABYVUHHASq8qMh1RvA/PkXRwY+lmRg6c15Tpvit?= =?us-ascii?Q?E83LtPS+KUWdKWvtbFJELvgjXpIuzp2FN2bx2nZds0FLYEqrNTaiNVN1lRAV?= =?us-ascii?Q?95d73b8A5IdYzJH4mFn5wpzyz38RRkr5S7MdiK/kyaf9yD/jtDc6GFuhY/KF?= =?us-ascii?Q?xPNw3z4Ku6HZgzAd0T388/5BRou3HA9ILEvuyrwbRm1H6FohJZcdiLB1rG25?= =?us-ascii?Q?Sq/vx8bo7BLXnFr0Q7dDph2acUWCpnWWzvj29j39o?= x-microsoft-antispam-prvs: x-forefront-prvs: 0950706AC1 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(346002)(376002)(136003)(366004)(39860400002)(199004)(189003)(6506007)(229853002)(86362001)(66066001)(53546011)(102836004)(3846002)(305945005)(14454004)(6512007)(53936002)(478600001)(76176011)(82746002)(6436002)(5660300002)(316002)(6116002)(7736002)(99286004)(81166006)(6916009)(6486002)(68736007)(97736004)(11346002)(476003)(486006)(256004)(25786009)(2616005)(8676002)(83716004)(81156014)(8936002)(446003)(71190400001)(6246003)(14444005)(2906002)(105586002)(71200400001)(186003)(36756003)(26005)(33656002)(106356001)(4326008)(156123004); DIR:OUT; SFP:1101; SCL:1; SRVR:DB3PR0502MB4090; H:DB3PR0502MB3980.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: u2bc3Vei0Q8EzLkdW2gcM9pxmUuIJGp7UPTz2Fk7po+a261CEsEl2W1jiFBxfFgXwB80cnMxjfKZt5ZGOBFIXmTumx72q68hWi6NF4AO9eoBz/yDlyMzH7311sGw79J2JzFug4m/e2g19+Z041aP7NG9rG2qCDj7YXWDre1dwoAyPUcECntciJA10tU5KX0kfS075jkckU+hv9tGNX+Fry8/+atFVw9hDgPo/TF95ARAwtTcV/g9OuZMbl/FVk/Mu49LppkIbRKbENj6e882Pgo280scRl/eLKii7DK44bQ3pmSaifbGCIrNFI/LMeV032ws1rfGU3LfvZgX7827SBXgcrsKTBZ67dr9LwXvLYvYjDGeIk87ZVZecUMllDUb6LXaktqLL7QRP39/PhIeUzinhL6cIQtW7wGVYLLR1wI= Content-Type: text/plain; charset="us-ascii" Content-ID: <97D6A79BAC0AFB409D58DEAAFC43BD2B@eurprd05.prod.outlook.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7ec8eca7-28ac-49ab-20d3-08d693e33ed7 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Feb 2019 07:49:13.9778 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0502MB4090 Subject: Re: [dpdk-stable] [PATH 17.11] net/nfp: fix misuse of strlcpy X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Feb 2019 07:49:16 -0000 > On Feb 15, 2019, at 7:30 PM, Alejandro Lucero wrote: >=20 > Current strlcpy function is doing the wrong thing and as a consequence > the firmware does not find the symbol requested precluding the right > NFP initialization. Applied to stable/17.11. However, can you explain what strlcpy does wrong? If it is buggy, we should fix it as there are quite a few occurrences, due to the new gcc. Thanks, Yongseok > Using strncpy is safe here since the symbol length can never be longer > than the buffer size where the firmware will get the symbol to work > with. However, newer compilers do not allow to have the strncpy using > the source length as the third parameter, so this patch uses instead a > memcpy call with a previous memset for cleaning up the buffer to be > used by the firmware. >=20 > Fixes: a5d659c2d03f ("net/nfp: replace strncpy by strlcpy") >=20 > Signed-off-by: Alejandro Lucero > --- > drivers/net/nfp/nfp_nspu.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) >=20 > diff --git a/drivers/net/nfp/nfp_nspu.c b/drivers/net/nfp/nfp_nspu.c > index ac5bce3b1..d4abb6c8e 100644 > --- a/drivers/net/nfp/nfp_nspu.c > +++ b/drivers/net/nfp/nfp_nspu.c > @@ -424,7 +424,9 @@ nfp_nspu_set_bar_from_symbl(nspu_desc_t *desc, const = char *symbl, > if (!sym_buf) > return -ENOMEM; >=20 > - strlcpy(sym_buf, symbl, sizeof(sym_buf)); > + memset(sym_buf, 0, desc->buf_size); > + memcpy(sym_buf, symbl, strlen(symbl)); > + > ret =3D nspu_command(desc, NSP_CMD_GET_SYMBOL, 1, 1, sym_buf, > NFP_SYM_DESC_LEN, strlen(symbl)); > if (ret) { > --=20 > 2.17.1 >=20