All of lore.kernel.org
 help / color / mirror / Atom feed
From: "wanghai (M)" <wanghai38@huawei.com>
To: Jesper Dangaard Brouer <jbrouer@redhat.com>,
	<davem@davemloft.net>, <kuba@kernel.org>, <ast@kernel.org>,
	<daniel@iogearbox.net>, <hawk@kernel.org>,
	<john.fastabend@gmail.com>, <andrii@kernel.org>, <kafai@fb.com>,
	<songliubraving@fb.com>, <yhs@fb.com>, <kpsingh@kernel.org>
Cc: <bpf@vger.kernel.org>, <netdev@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH bpf] samples/bpf: Fix the error return code of xdp_redirect's main()
Date: Mon, 5 Jul 2021 15:45:07 +0800	[thread overview]
Message-ID: <6f35ad34-1334-bdae-da7f-a20f1af34ea5@huawei.com> (raw)
In-Reply-To: <94aad4ed-8384-1841-88ec-6c7e39d63148@redhat.com>


在 2021/7/2 18:29, Jesper Dangaard Brouer 写道:
>
> On 16/06/2021 06.25, Wang Hai wrote:
>> Fix to return a negative error code from the error handling
>> case instead of 0, as done elsewhere in this function.
>
> The main() function in C should never return a negative value on Unix 
> POSIX systems.
>
>
> There is a good explaination in exit(3p): `man 3p exit`
>
>    The  value  of  status may be 0, EXIT_SUCCESS, EXIT_FAILURE, or any 
> other value, though only the least significant 8 bits (that is, status 
> & 0377) shall be available to a waiting parent process.
>
> Thus, negative values are often seen as 255 in the $? program exit 
> status variable $?.
>
>
> Also explained in exit(3):
>
>     The C standard specifies two constants, EXIT_SUCCESS=0 and 
> EXIT_FAILURE=1.
>
> I see the 'samples/bpf/xdp_redirect_user.c' in most places just use 0 
> or 1.
>
Got it, thanks for the explanation, I will fix it to return 1, just like 
the other error paths in samples/bpf/xdp_redirect_user.c
>
>> If bpf_map_update_elem() failed, main() should return a negative error.
>>
>> Fixes: 832622e6bd18 ("xdp: sample program for new bpf_redirect helper")
>> Signed-off-by: Wang Hai <wanghai38@huawei.com>
>> ---
>>   samples/bpf/xdp_redirect_user.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/samples/bpf/xdp_redirect_user.c 
>> b/samples/bpf/xdp_redirect_user.c
>> index 41d705c3a1f7..c903f1ccc15e 100644
>> --- a/samples/bpf/xdp_redirect_user.c
>> +++ b/samples/bpf/xdp_redirect_user.c
>> @@ -213,5 +213,5 @@ int main(int argc, char **argv)
>>       poll_stats(2, ifindex_out);
>>     out:
>> -    return 0;
>> +    return ret;
>>   }
>
>
> (Sorry, I didn't complain it time as I see this patch is already applied)
>
> .
>

      reply	other threads:[~2021-07-05  7:45 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-16  4:25 [PATCH bpf] samples/bpf: Fix the error return code of xdp_redirect's main() Wang Hai
2021-06-18 18:20 ` patchwork-bot+netdevbpf
2021-07-02 10:29 ` Jesper Dangaard Brouer
2021-07-05  7:45   ` wanghai (M) [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6f35ad34-1334-bdae-da7f-a20f1af34ea5@huawei.com \
    --to=wanghai38@huawei.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=hawk@kernel.org \
    --cc=jbrouer@redhat.com \
    --cc=john.fastabend@gmail.com \
    --cc=kafai@fb.com \
    --cc=kpsingh@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=songliubraving@fb.com \
    --cc=yhs@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.