From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id 9C544235 for ; Tue, 21 Nov 2017 14:20:56 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 51AFA20AF5; Tue, 21 Nov 2017 08:20:56 -0500 (EST) Received: from frontend2 ([10.202.2.161]) by compute1.internal (MEProxy); Tue, 21 Nov 2017 08:20:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fridaylinux.org; h=cc:date:from:in-reply-to:message-id:references:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=tpIaVuuLqRqG1xuuE wJdF+5uGK9CM9g1bqT7ey16EkU=; b=Vg5wgop3iOj2d702MSEENQv8W0TY77SsC H4lIsfdF57PKzxs7RvBSldWyrDa0IWMvtUuNoYF1YZgV5gaL6JTZCoE5fpuzU1MG tNPckpzW2X4ApB1+JyNjOI8VGgNMu5RMHjdy6c421G+H0zXSmyH4FOtoaJMy/j4R QK7nrGZRFDgaoQUdi+8JNax9dN58DeOEFokuXsemuMpR/mtNm1jKH1J+OcGHwld5 ezpPIvwkBOC/6nBACxCv46DFFmx7CTn9lcnYOAW8JUwCuZ9GvDoaiGGydTav7MxK uUimSefdPFMkrP/St5q3nZ6WihXmLeKTe5IXjmPZ6C4MMG5mEgM1A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:in-reply-to:message-id :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=tpIaVuuLqRqG1xuuEwJdF+5uGK9CM9g1bqT7ey16EkU=; b=b+ndlTCc yIxZ7W1Na/8378fBWWNNXkZ1cAosC8gUdGdOgTkWhNbEVZ48tCN88Y5ISCFRZkm3 numr32CWz1faAGUqKR17a1ADGkrm15UjiLOMTBgOqk4MUfDNvDQ3Igurh41TfRin sEU5HqOFRHgs+nvXgplhuTa+YUx/ZFbTU/Fv+f97QiyL4PvV6xd1kD12/EbDI/U8 IiAFADNbx5DfDWIkag61IYX+dmBSzoIzdAEci3mzF1uw+nKl7QvAn8V6nPsPObAi psNRjeU+z4XF79dh660xZ/IZf/nmaXacZAqrSgfFKUNJv4kiiekROIsM4rqQy8vR Ust/WlsOwN1T9g== X-ME-Sender: Received: from localhost.localdomain (unknown [180.158.62.0]) by mail.messagingengine.com (Postfix) with ESMTPA id 4B51E247A9; Tue, 21 Nov 2017 08:20:52 -0500 (EST) From: Yuanhan Liu To: Gaetan Rivet Cc: Matan Azrad , dpdk stable Date: Tue, 21 Nov 2017 21:16:07 +0800 Message-Id: <1511270333-31002-25-git-send-email-yliu@fridaylinux.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1511270333-31002-1-git-send-email-yliu@fridaylinux.org> References: <1511270333-31002-1-git-send-email-yliu@fridaylinux.org> Subject: [dpdk-stable] patch 'net/failsafe: fix errno set on command execution' has been queued to stable release 17.08.1 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: Tue, 21 Nov 2017 13:20:56 -0000 Hi, FYI, your patch has been queued to stable release 17.08.1 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/24/17. So please shout if anyone has objections. Thanks. --yliu --- >>From 057fb6e12a0eb125e5ba2f3360cbc8492b293cc5 Mon Sep 17 00:00:00 2001 From: Gaetan Rivet Date: Wed, 30 Aug 2017 17:59:54 +0200 Subject: [PATCH] net/failsafe: fix errno set on command execution [ upstream commit 4853f2be3cb1483f4ccce445748794897fc37b4a ] This is unacceptable behavior. Fixes: a0194d828100 ("net/failsafe: add flexible device definition") Fixes: 35ffe4208140 ("net/failsafe: fix missing pclose after popen") Reported-by: Matan Azrad Signed-off-by: Gaetan Rivet --- drivers/net/failsafe/failsafe_args.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/drivers/net/failsafe/failsafe_args.c b/drivers/net/failsafe/failsafe_args.c index ae857b0..cfc83e3 100644 --- a/drivers/net/failsafe/failsafe_args.c +++ b/drivers/net/failsafe/failsafe_args.c @@ -115,8 +115,7 @@ fs_execute_cmd(struct sub_device *sdev, char *cmdline) /* store possible newline as well */ char output[DEVARGS_MAXLEN + 1]; size_t len; - int old_err; - int ret, pclose_ret; + int ret; RTE_ASSERT(cmdline != NULL || sdev->cmdline != NULL); if (sdev->cmdline == NULL) { @@ -135,12 +134,10 @@ fs_execute_cmd(struct sub_device *sdev, char *cmdline) sdev->cmdline[i] = ' '; } DEBUG("'%s'", sdev->cmdline); - old_err = errno; fp = popen(sdev->cmdline, "r"); if (fp == NULL) { - ret = errno; + ret = -errno; ERROR("popen: %s", strerror(errno)); - errno = old_err; return ret; } /* We only read one line */ @@ -155,18 +152,11 @@ fs_execute_cmd(struct sub_device *sdev, char *cmdline) goto ret_pclose; } ret = fs_parse_device(sdev, output); - if (ret) { + if (ret) ERROR("Parsing device '%s' failed", output); - goto ret_pclose; - } ret_pclose: - pclose_ret = pclose(fp); - if (pclose_ret) { - pclose_ret = errno; + if (pclose(fp) == -1) ERROR("pclose: %s", strerror(errno)); - errno = old_err; - return pclose_ret; - } return ret; } -- 2.7.4