Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp9777540ybi; Wed, 10 Jul 2019 16:58:04 -0700 (PDT) X-Google-Smtp-Source: APXvYqzUNphkLBHgYSLxez6e1RbHC+Wuy+8PyK/wV3li3Q7gQKFEkt34+E8gsZLvSFdwz0fHYupT X-Received: by 2002:a63:7e17:: with SMTP id z23mr1064735pgc.14.1562803084743; Wed, 10 Jul 2019 16:58:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562803084; cv=none; d=google.com; s=arc-20160816; b=BfrUor7CLf0wVo/cPGDHCp6D9h59OG0FY4ssqboIzoJOo/RNJNzXamJKVp++tdU3Rv /qeU5vhq5qCd4w+LH3l6FJEYskq9IzHyIkyRR4c8OFiqpYgw9YPaUcJxw8RNad2JaOcl EHbWFMD5+gX+3dkow+uqnj8TAU0nQEYxkbpzyhgUsZHioGVCvZSN1s/UbAdjtBPaj0QH d6l3vVZqJ1nEkv9bXmpzqRxNis5sVJCxXrDh37eMPlDxo/1R3wSoN2XQ5Off6wfBaENF on/lPrstaUSSrLlcdhZW9BUHK2AbpQETDPNVqdbauDSZ2d7CQJIrAB9RA1xRGw+Ca9Pa cIEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=vm1tVbhQpvHWsXffjaSnaFHT1SscgoMTOQl51QNkYuU=; b=ny1UmgR7kQIjtEYc9DYBM9ad47ZMu5Ohxr9eIIwn5V1he5nidDVgmOpEQDKgsFuOsh 5THpdTLmuVmkXbszgnjemNH0s1oEvBgfwVRlS/Qoyd8jNoOI477O5RWEUmhbbq8er1yV voNONQy4D4y7D4yl+WUP3O5h+/RFD4n6bOWNF+e/PyEdnaLj1d35sXQYuzmJJqPafvqM St4hNI0Lgi/V89sJbqyhaSQ+of1BkUC4ammFm83Fuyh6ewiZJXGiBJU2fOG15sCkA/Fh ZKrOnKig85lSd1os0Lj8gYZkDDsj4CO2z10DuHUwI//pcHASFZf/NRWUIupGeKz4eSz/ 0TzA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=DgXDeg3+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f21si3241087pgv.381.2019.07.10.16.57.48; Wed, 10 Jul 2019 16:58:04 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=DgXDeg3+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727520AbfGJX52 (ORCPT + 99 others); Wed, 10 Jul 2019 19:57:28 -0400 Received: from mail-qt1-f196.google.com ([209.85.160.196]:33974 "EHLO mail-qt1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727386AbfGJX52 (ORCPT ); Wed, 10 Jul 2019 19:57:28 -0400 Received: by mail-qt1-f196.google.com with SMTP id k10so4503038qtq.1; Wed, 10 Jul 2019 16:57:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=vm1tVbhQpvHWsXffjaSnaFHT1SscgoMTOQl51QNkYuU=; b=DgXDeg3++iIAfEw1RQwcNOG++6kooAArYaBKpFUvjeIaYRYMhRYLnAYO+2BWUkjrr3 Ol2U3efQjm4vXiXLeVEcpUS1iWHZyBkiSVzOpna598WbkzkFynFbs6R1S0Xp7TZd7uUH jwDV33Y9ispkmz0/k4d67eyDpPVzqJQ6usCxXYSVr4IIh69RhbJ/hBYa4gJb+T5D/QgP hDBxRiRMlBGWwd4F9FejS6fllbQPI2dumDFOCkmsnm64kQUBHbwSVmOUgwm3KxPKVLny zFOTtOgD6k+uaA92D1aP2YlRmq2maT1P+63NwBX8btPOe/Z4ntZfynXX6CAUhrJ+9Qx1 Auag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=vm1tVbhQpvHWsXffjaSnaFHT1SscgoMTOQl51QNkYuU=; b=ijI399gqpsgx5Ng3SPti7SZqpvOOq1BlI9x/PONIHQoCQ43t3ZUB2EBAHaauT4EQlB Lx1KAr2OH5hhSMlY3jXHMu+TrS/4vUVdcEiv/MQSZiJdqwdbuwMmSZ+VA7uzKxchhG7x ZqcnN+sm88Ywk4X2jTeMFsZy16jj2QDBqIys0j1ua8R6yoqi6RkpcL8hJkTTcO0Mjjxt gsIoWg8BhchkF+GM1DXZGDhWrIqm8+dQGRahRYtAJ85WDwCe5YOvN07J2ATf5K91zlFK t0AQhzpbcwdMGmufoy/Mm8QSW70fPrPJ2Xpn7eJ0jrvKCs0kQ97vGUNkvqC4gz9bEhtq GCyw== X-Gm-Message-State: APjAAAXg8ufAwbZTd/BdG3IFHXEBZYjBXRZFbJIA/RROvdynJ5W9vjc3 G3eDEdSNETE4Z52xn6JKGNUIdi/80gNnDrtVY/o= X-Received: by 2002:a0c:818f:: with SMTP id 15mr418329qvd.162.1562803046595; Wed, 10 Jul 2019 16:57:26 -0700 (PDT) MIME-Version: 1.0 References: <20190708163121.18477-1-krzesimir@kinvolk.io> <20190708163121.18477-4-krzesimir@kinvolk.io> In-Reply-To: <20190708163121.18477-4-krzesimir@kinvolk.io> From: Andrii Nakryiko Date: Wed, 10 Jul 2019 16:57:15 -0700 Message-ID: Subject: Re: [bpf-next v3 03/12] selftests/bpf: Avoid another case of errno clobbering To: Krzesimir Nowak Cc: open list , Alban Crequy , =?UTF-8?Q?Iago_L=C3=B3pez_Galeiras?= , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Song Liu , Yonghong Song , "David S. Miller" , Jakub Kicinski , Jesper Dangaard Brouer , John Fastabend , Stanislav Fomichev , Networking , bpf , xdp-newbies@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jul 8, 2019 at 3:43 PM Krzesimir Nowak wrote: > > Commit 8184d44c9a57 ("selftests/bpf: skip verifier tests for > unsupported program types") added a check for an unsupported program > type. The function doing it changes errno, so test_verifier should > save it before calling it if test_verifier wants to print a reason why > verifying a BPF program of a supported type failed. > > Changes since v2: > - Move the declaration to fit the reverse christmas tree style. > > Fixes: 8184d44c9a57 ("selftests/bpf: skip verifier tests for unsupported program types") > Cc: Stanislav Fomichev > Signed-off-by: Krzesimir Nowak > --- Acked-by: Andrii Nakryiko > tools/testing/selftests/bpf/test_verifier.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/bpf/test_verifier.c b/tools/testing/selftests/bpf/test_verifier.c > index 3fe126e0083b..c7541f572932 100644 > --- a/tools/testing/selftests/bpf/test_verifier.c > +++ b/tools/testing/selftests/bpf/test_verifier.c > @@ -864,6 +864,7 @@ static void do_test_single(struct bpf_test *test, bool unpriv, > int run_errs, run_successes; > int map_fds[MAX_NR_MAPS]; > const char *expected_err; > + int saved_errno; > int fixup_skips; nit: combine those ints? or even with i and err below as well? > __u32 pflags; > int i, err; > @@ -894,6 +895,7 @@ static void do_test_single(struct bpf_test *test, bool unpriv, > pflags |= BPF_F_ANY_ALIGNMENT; > fd_prog = bpf_verify_program(prog_type, prog, prog_len, pflags, > "GPL", 0, bpf_vlog, sizeof(bpf_vlog), 4); > + saved_errno = errno; > if (fd_prog < 0 && !bpf_probe_prog_type(prog_type, 0)) { > printf("SKIP (unsupported program type %d)\n", prog_type); > skips++; > @@ -910,7 +912,7 @@ static void do_test_single(struct bpf_test *test, bool unpriv, > if (expected_ret == ACCEPT) { > if (fd_prog < 0) { > printf("FAIL\nFailed to load prog '%s'!\n", > - strerror(errno)); > + strerror(saved_errno)); > goto fail_log; > } > #ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS > -- > 2.20.1 >