From patchwork Thu Feb 21 08:44:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anders Roxell X-Patchwork-Id: 1045881 X-Patchwork-Delegate: bpf@iogearbox.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="MWAObh/D"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 444p1d0G7Zz9sBr for ; Thu, 21 Feb 2019 19:44:37 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727433AbfBUIoc (ORCPT ); Thu, 21 Feb 2019 03:44:32 -0500 Received: from mail-lj1-f196.google.com ([209.85.208.196]:36565 "EHLO mail-lj1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726612AbfBUIoc (ORCPT ); Thu, 21 Feb 2019 03:44:32 -0500 Received: by mail-lj1-f196.google.com with SMTP id g11-v6so23290810ljk.3 for ; Thu, 21 Feb 2019 00:44:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=X1MR8AIWsbNV2CcMMAD/646Fti2Myq2Tmqq34opOOuM=; b=MWAObh/Dvjbx2/u9wwuhuPlBNktImMkZTbQCxhlZC5jTjXSUgb5WfQ/m882bfHese3 NoSBymAnEybCphLht3iUOjJ8KPq5WhBziF8l1+hBtClQSpwotqvi1c6lBwKhmWcAgEuP aOP//T66Q2uF0c4+pRjf+ilAfKov7EeasYoPZAMiVEh+gL5kPZPnF06pZ/NeidTNKb5C NBcRy0Mf3j7ZM82ITklVa+KBuSIg0O1+xxF3A6bbIQLufZ+tlzJkTXg/uGC7RSUab2lU mIbyd3llwgQ3mAXU8f9j2RmbeX4RFTI+ONL5YdBDqaxBG86NNu44kcN+ktTTiJ2r6trP U+NA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=X1MR8AIWsbNV2CcMMAD/646Fti2Myq2Tmqq34opOOuM=; b=Hjbu2PiHxopwnU0vVBmOab/dbQiznghQW+yinX3c8xChIV0cWEw3odBZWyuSU95Z0v meiupV9aIh0W9Vd3fWtNvLgLjJgtELVChecEDAwWNxdP1nNab0Ti0HBPLpFfv9jAcEiw C3YBaWz8HlzecQcDrCueLM/gjvbbQaqoVfvq1hVoBXPydcdKgoFlqd9yjEv/NWg0YVdQ 9YsNE15PAVZ05IF29GUIiQLomPnYeYJewAtlAUyVbmF0u4ECEgxnALNevRn0kxYRXdYz ZmvterM0rk1PAlRgF2oJvpn72cP4BfBdces3rrx7d2DRRztstGd/z6XzkAt4H1cjC1kN xo1Q== X-Gm-Message-State: AHQUAuY+4k86CatAZx7r2s1TlgwpXcJjem2k/HGU9FEhTC12+c0b5Guf 7XEJ64Dh8l+G7mGDgQca+oZjEw== X-Google-Smtp-Source: AHgI3IYEELJG6+pkm9q9chybNBmA1NZmBMK6lR2JLAD+iy9b1TAazSwpst5sU6Q2F/lZSAcB8oHafw== X-Received: by 2002:a2e:80d6:: with SMTP id r22mr14482869ljg.148.1550738669973; Thu, 21 Feb 2019 00:44:29 -0800 (PST) Received: from localhost (c-573670d5.07-21-73746f28.bbcust.telenor.se. [213.112.54.87]) by smtp.gmail.com with ESMTPSA id x62sm2826866lfd.51.2019.02.21.00.44.29 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 Feb 2019 00:44:29 -0800 (PST) From: Anders Roxell To: ast@kernel.org, daniel@iogearbox.net Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Anders Roxell Subject: [PATCH] bpf: test_bpf: turn of preemption in function __run_once Date: Thu, 21 Feb 2019 09:44:25 +0100 Message-Id: <20190221084425.9574-1-anders.roxell@linaro.org> X-Mailer: git-send-email 2.11.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org When running test seccomp_bpf the following splat occurs: [ RUN ] global.secseccomp_bpf.c:2136:global.detect_seccomp_filter_flags:Expected 22 (22) == (*__errno_location ()) (14) seccomp_bpf.c:2138:global.detect_seccomp_filter_flags:Failed to detect that an unknown filter flag (0x8) is unsupported! Does a new flag need to be added to this test? [ 2155.677841] BUG: assuming atomic context at kernel/seccomp.c:271 [ 2155.689351] in_atomic(): 0, irqs_disabled(): 0, pid: 28540, name: seccomp_bpf [ 2155.696597] INFO: lockdep is turned off. [ 2155.700605] CPU: 5 PID: 28540 Comm: seccomp_bpf Tainted: G W 5.0.0-rc7-next-20190220 #1 [ 2155.709972] Hardware name: HiKey Development Board (DT) [ 2155.715232] Call trace: [ 2155.717710] dump_backtrace+0x0/0x160 [ 2155.721399] show_stack+0x24/0x30 [ 2155.724742] dump_stack+0xc8/0x114 [ 2155.728172] __cant_sleep+0xf0/0x108 [ 2155.731777] __seccomp_filter+0x8c/0x5c8 [ 2155.735727] __secure_computing+0x4c/0xe8 [ 2155.739767] syscall_trace_enter+0xf8/0x2b8 [ 2155.743982] el0_svc_common+0xf0/0x130 [ 2155.747758] el0_svc_handler+0x38/0x78 [ 2155.751534] el0_svc+0x8/0xc Rework so that preemption is disabled when we loop over function 'BPF_PROG_RUN(...)'. Commit 568f196756ad ("bpf: check that BPF programs run with preemption disabled") highlighted the issue. Suggested-by: Arnd Bergmann Signed-off-by: Anders Roxell --- lib/test_bpf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/test_bpf.c b/lib/test_bpf.c index f3e570722a7e..0845f635f404 100644 --- a/lib/test_bpf.c +++ b/lib/test_bpf.c @@ -6668,12 +6668,14 @@ static int __run_one(const struct bpf_prog *fp, const void *data, u64 start, finish; int ret = 0, i; + preempt_disable(); start = ktime_get_ns(); for (i = 0; i < runs; i++) ret = BPF_PROG_RUN(fp, data); finish = ktime_get_ns(); + preempt_enable(); *duration = finish - start; do_div(*duration, runs);