Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp2668010pxb; Tue, 19 Jan 2021 03:09:44 -0800 (PST) X-Google-Smtp-Source: ABdhPJxHCZo4MluKGScXn2J3NzwzXfwaTxg+xAuUaywtMawew3zZ4V+wXxT0VXhgyafdM6z18vdP X-Received: by 2002:aa7:d94b:: with SMTP id l11mr2931802eds.1.1611054584450; Tue, 19 Jan 2021 03:09:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611054584; cv=none; d=google.com; s=arc-20160816; b=Lo9g43dcPhH+VHptFzb71481Xbh+ixHdXWLsjEYxhNQtfBosgAFtbVW2b60CSjWxxn iEUl/VevamziOa6A+flTccNgGP4B8tC8nfxJEGODtL8XHsSeoXf4kyTmZXNdmt6ya2/D la6IhU/p3eWJAjUGB94j3yLHcMf5gQEKpnaaVNfckRfnQ5IX+Bj1bH4ZJGciIB1V5J+T 4uoepSyRUr5gPuah//nlBjC0FFb17SVMldM1FPE+7zG+Fs1oAC2mOjYfYzL6LOx0ECRH Wi9KBjJCD4cU/IF7/44pXH1grT6+rFFAtn/F02r3UGJPtTZzYWu+4dW7Z/J/L/bGgZAy DIsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=DKnwUZrK0kujBYkUXeETf7KvZL9sW7pzXYKujQQp0IU=; b=0qnjQYKYsTdieAH323lOLPDVaTPVq1dcNsUmNTCTtGu0q/NNjN/kEwql3FjsZPtYu6 L2WrvUVH11W7otP4tSbfow3cCMJNBW1nSulhugqXUW4RwiUVzQwMYwi5b7lMvp7Fcqqy U/rsJinwTMRkb5VVR/jcsE7XdbDxcWDq9i6AF1ad7rIW4eCIDx0JZV3Gx+DyudKmDqXY gE3X+lQHGVRQA0ybjSakNNj7qpmFkiIkmbR0XfYYrXVVD65ZBev1Bt1RUtBA1sLnyVWj dAFbOhtxnkq4FwmCTB1E752mjzCTIT1YcjKo/lAxZXIVf9azEU8OHgKLn0xZM6w2hJbP dIOQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m16si7774047ejj.44.2021.01.19.03.09.02; Tue, 19 Jan 2021 03:09:44 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390255AbhASKUi (ORCPT + 99 others); Tue, 19 Jan 2021 05:20:38 -0500 Received: from foss.arm.com ([217.140.110.172]:47980 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389227AbhASJ7A (ORCPT ); Tue, 19 Jan 2021 04:59:00 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A97F41FB; Tue, 19 Jan 2021 01:57:30 -0800 (PST) Received: from e107158-lin (e107158-lin.cambridge.arm.com [10.1.194.78]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 70A163F66E; Tue, 19 Jan 2021 01:57:29 -0800 (PST) Date: Tue, 19 Jan 2021 09:57:26 +0000 From: Qais Yousef To: Yonghong Song Cc: netdev@vger.kernel.org, bpf@vger.kernel.org, Alexei Starovoitov , Andrii Nakryiko , Daniel Borkmann , Steven Rostedt , "Peter Zijlstra (Intel)" , linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 bpf-next 2/2] selftests: bpf: Add a new test for bare tracepoints Message-ID: <20210119095726.obfhqanp6wmauzqs@e107158-lin> References: <20210116182133.2286884-1-qais.yousef@arm.com> <20210116182133.2286884-3-qais.yousef@arm.com> <20210118121818.muifeogh4hvakfeb@e107158-lin> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Yonghong On 01/18/21 09:48, Yonghong Song wrote: > The original patch code: > > +static int trigger_module_test_write(int write_sz) > +{ > + int fd, err; > + char *buf = malloc(write_sz); > + > + if (!buf) > + return -ENOMEM; > + > + memset(buf, 'a', write_sz); > + buf[write_sz-1] = '\0'; > + > + fd = open("/sys/kernel/bpf_testmod", O_WRONLY); > + err = -errno; > + if (CHECK(fd < 0, "testmod_file_open", "failed: %d\n", err)) > + goto out; > + > + write(fd, buf, write_sz); > + close(fd); > +out: > + free(buf); > + > + return 0; > +} > > Even for "fd < 0" case, it "goto out" and "return 0". We should return > error code here instead of 0. > > Second, "err = -errno" is set before checking fd < 0. If fd >= 0, err might > inherit an postive errno from previous failure. > In trigger_module_test_write(), it is okay since the err is only used > when fd < 0: > err = -errno; > if (CHECK(fd < 0, "testmod_file_open", "failed: %d\n", err)) > return err; > > My above rewrite intends to use "err" during final "return" statement, > so I put assignment of "err = -errno" inside the CHECK branch. > But there are different ways to implement this properly. Okay I see now. Sorry I missed your point initially. I will fix and send v3. Thanks -- Qais Yousef