Received: by 2002:a05:7208:c24f:b0:81:d631:dc8 with SMTP id w15csp413546rbd; Thu, 4 Apr 2024 13:07:56 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWKv2jSdp+FudZ15dPPewGQPhncDNBgvbUEJItjqXOnEHozKL+ZnmQo99C82gtAO8MjNKC0oE8w92zDpnpZEUkOqf41ofid+nDy4ec7gg== X-Google-Smtp-Source: AGHT+IFpMNuDrbeMXognfyBPTPuA7Zu2vSLCZqdIPfvjxXNVGI/8iQyF3ktJkUzpUXsY4DczoBF4 X-Received: by 2002:a05:6214:20eb:b0:699:268f:9f22 with SMTP id 11-20020a05621420eb00b00699268f9f22mr784680qvk.64.1712261275773; Thu, 04 Apr 2024 13:07:55 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712261275; cv=pass; d=google.com; s=arc-20160816; b=le9alGoDKSNa5BSLaN9aCT9p++cKSc3gbCnuhrkJUdp2kezOubkJrCthhATHWmRE5j 59PnOkUVNPqIoICGjlEPhbCYrB9eceOiYhZG12rl2xCM8JiPu2jh5+1V6GBG3w3Hc0s/ ptWPKWj3UsETcmjT3EYVsE+tt7njbPqX99mA61vQp3YLahxTYVJDlmgN3VRUVuApCxt4 wxlR9E88SyTKSMiz3hyjad3j1/ZBy90WT2WwkWhHnoxqMz7BV1IXl4LlGEx67gfGtT4J kHZvZMYqfsqIitLY1ptMjvyVy8XSU5NJSC4NISP3XJxdFWW2haBVaxvAXGuuD8F4bgz9 IBcQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:dkim-signature:message-id; bh=n1SLGajoYfkd/BVU/Z4IP2IUlKcHDqf4f4XKLUjAyXc=; fh=GzUdTpSrwoGiZDmHn9tVqzaZkN8vFD447I7QR4YAXTQ=; b=PAZ01kYTEfxDendrfyiFvneuH8liiMWd5HfK9a6VWWRLaDNyJtJQhieCSxCeT/yBGm 2OKB8ippDiOxBSXHIltZhwfQIKZaDwWqSXz50JhfCqd4l82XlIzS/P0rElLb3EYRp4xA f6/BrHEKR/bYwhROI8aPZhHekvGed540sf0XFnM2zO288svhwEctL4KOFhp6dO50WFE6 tBtED3jI42zI13s3CwD1fUvQg579AIYfcTisK16uDS0csdQd007Hk9p6/RBWXgDwEsGU vKeYXR5iJE92rKj42tjFje5vI/c+f3iROvkHtR8ZaDxyxRX2YRb5+n6pUC2bM2zezFnU R9JQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=OkBoT7cB; arc=pass (i=1 spf=pass spfdomain=linux.dev dkim=pass dkdomain=linux.dev dmarc=pass fromdomain=linux.dev); spf=pass (google.com: domain of linux-kernel+bounces-132075-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-132075-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id lf12-20020a0562142ccc00b006972eded89fsi80221qvb.307.2024.04.04.13.07.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Apr 2024 13:07:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-132075-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=OkBoT7cB; arc=pass (i=1 spf=pass spfdomain=linux.dev dkim=pass dkdomain=linux.dev dmarc=pass fromdomain=linux.dev); spf=pass (google.com: domain of linux-kernel+bounces-132075-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-132075-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 08D0D1C21115 for ; Thu, 4 Apr 2024 20:07:10 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 35F031350C9; Thu, 4 Apr 2024 20:07:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="OkBoT7cB" Received: from out-189.mta0.migadu.com (out-189.mta0.migadu.com [91.218.175.189]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 462866A008 for ; Thu, 4 Apr 2024 20:07:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.189 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712261222; cv=none; b=JnkG32W4S6gkRQPYrjo1NCDiTlNFRFZqb31tRw++BH/ZvCL/ZdjD64sdvzKRTYOefhyMfZgfk6xTV5T/mPqVawJ1l7xYbByggue3LitIwYMjikc9fVq7dnKJ+Vga3W32B8vs/HM2uYx0j3N85b6aDugZK41fqFSYCByjofdog6o= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712261222; c=relaxed/simple; bh=DuFa4hmd+yyQJc4kdYQczPH/6uJpnYrciswo6eFuxBs=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=KJj6H+FFVHcK1+g92TwjAAhKSSCWOvpmp5VHzYFm0aOX3YjzP5tnt+v4bq/BomUjh0isrYKpXwZMbj+xD0t2MCjyloKo0tZsLYwr8BdY4f0UdVGyA8ItdS6X1tArU7jPH3oxWhgR2Bze4ZGzFNZKqaXzKxdhOtcQNeh7JbGMtCM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=OkBoT7cB; arc=none smtp.client-ip=91.218.175.189 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Message-ID: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1712261218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=n1SLGajoYfkd/BVU/Z4IP2IUlKcHDqf4f4XKLUjAyXc=; b=OkBoT7cBI9fR/9QKUis94AcIOB+rQcO8qjNPV0qOlGiPE5LTyG+5KtIv8xohW7d0i6xBKt kwcOrQMKMzqDBJYkhbkF/4eud9cKIrLoQhoOeLGM+QwTREYPdvRzBYZ41PrIvo+FsdQJz0 7B3SnsMQ3UNpaUeJPZccXW1/xWvKcZQ= Date: Thu, 4 Apr 2024 13:06:50 -0700 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Subject: Re: [PATCH bpf-next v3] selftests/bpf: Move test_dev_cgroup to prog_tests Content-Language: en-GB To: Muhammad Usama Anjum , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Song Liu , John Fastabend , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa , Mykola Lysenko , Shuah Khan Cc: kernel@collabora.com, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, linux-kselftest@vger.kernel.org References: <20240401123455.1377896-1-usama.anjum@collabora.com> <92e1cce6-5f26-4a49-86b6-81e1e80d1aaa@linux.dev> <0ff5c7d0-d5c5-4b61-ba89-8e7f9f775935@linux.dev> <0973bc93-7a8d-451c-9944-d91a77d68755@collabora.com> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Yonghong Song In-Reply-To: <0973bc93-7a8d-451c-9944-d91a77d68755@collabora.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT On 4/3/24 5:03 AM, Muhammad Usama Anjum wrote: > On 4/3/24 7:36 AM, Yonghong Song wrote: >> On 4/2/24 8:16 AM, Muhammad Usama Anjum wrote: >>> Yonghong Song, >>> >>> Thank you so much for replying. I was missing how to run pipeline manually. >>> Thanks a ton. >>> >>> On 4/1/24 11:53 PM, Yonghong Song wrote: >>>> On 4/1/24 5:34 AM, Muhammad Usama Anjum wrote: >>>>> Move test_dev_cgroup.c to prog_tests/dev_cgroup.c to be able to run it >>>>> with test_progs. Replace dev_cgroup.bpf.o with skel header file, >>>>> dev_cgroup.skel.h and load program from it accourdingly. >>>>> >>>>>     ./test_progs -t dev_cgroup >>>>>     mknod: /tmp/test_dev_cgroup_null: Operation not permitted >>>>>     64+0 records in >>>>>     64+0 records out >>>>>     32768 bytes (33 kB, 32 KiB) copied, 0.000856684 s, 38.2 MB/s >>>>>     dd: failed to open '/dev/full': Operation not permitted >>>>>     dd: failed to open '/dev/random': Operation not permitted >>>>>     #72     test_dev_cgroup:OK >>>>>     Summary: 1/0 PASSED, 0 SKIPPED, 0 FAILED >>>>> Signed-off-by: Muhammad Usama Anjum >>>>> --- >>>>> Changes since v2: >>>>> - Replace test_dev_cgroup with serial_test_dev_cgroup as there is >>>>>     probability that the test is racing against another cgroup test >>>>> - Minor changes to the commit message above >>>>> >>>>> I've tested the patch with vmtest.sh on bpf-next/for-next and linux >>>>> next. It is passing on both. Not sure why it was failed on BPFCI. >>>>> Test run with vmtest.h: >>>>> sudo LDLIBS=-static PKG_CONFIG='pkg-config --static' ./vmtest.sh >>>>> ./test_progs -t dev_cgroup >>>>> ./test_progs -t dev_cgroup >>>>> mknod: /tmp/test_dev_cgroup_null: Operation not permitted >>>>> 64+0 records in >>>>> 64+0 records out >>>>> 32768 bytes (33 kB, 32 KiB) copied, 0.000403432 s, 81.2 MB/s >>>>> dd: failed to open '/dev/full': Operation not permitted >>>>> dd: failed to open '/dev/random': Operation not permitted >>>>>    #69      dev_cgroup:OK >>>>> Summary: 1/0 PASSED, 0 SKIPPED, 0 FAILED >>>> The CI failure: >>>> >>>> >>>> Error: #72 dev_cgroup >>>> serial_test_dev_cgroup:PASS:skel_open_and_load 0 nsec >>>> serial_test_dev_cgroup:PASS:cgroup_setup_and_join 0 nsec >>>> serial_test_dev_cgroup:PASS:bpf_attach 0 nsec >>>> serial_test_dev_cgroup:PASS:bpf_query 0 nsec >>>> serial_test_dev_cgroup:PASS:bpf_query 0 nsec >>>> serial_test_dev_cgroup:PASS:rm 0 nsec >>>> serial_test_dev_cgroup:PASS:mknod 0 nsec >>>> serial_test_dev_cgroup:PASS:rm 0 nsec >>>> serial_test_dev_cgroup:PASS:rm 0 nsec >>>> serial_test_dev_cgroup:FAIL:mknod unexpected mknod: actual 256 != >>>> expected 0 >>>> serial_test_dev_cgroup:PASS:rm 0 nsec >>>> serial_test_dev_cgroup:PASS:dd 0 nsec >>>> serial_test_dev_cgroup:PASS:dd 0 nsec >>>> serial_test_dev_cgroup:PASS:dd 0 nsec >>>> >>>> (cgroup_helpers.c:353: errno: Device or resource busy) umount cgroup2 >>>> >>>> The error code 256 means mknod execution has some issues. Maybe you need to >>>> find specific errno to find out what is going on. I think you can do ci >>>> on-demanding test to debug. >>> errno is 2 --> No such file or directory >>> >>> Locally I'm unable to reproduce it until I don't remove >>> rm -f /tmp/test_dev_cgroup_zero such that the /tmp/test_dev_cgroup_zero >>> node is present before test execution. The error code is 256 with errno 2. >>> I'm debugging by placing system("ls /tmp 1>&2"); to find out which files >>> are already present in /tmp. But ls's output doesn't appear on the CI logs. >> errno 2 means ENOENT. >> From mknod man page (https://linux.die.net/man/2/mknod), it means >>   A directory component in/pathname/  does not exist or is a dangling >> symbolic link. >> >> It means /tmp does not exist or a dangling symbolic link. >> It is indeed very strange. To make the test robust, maybe creating a temp >> directory with mkdtemp and use it as the path? The temp directory >> creation should be done before bpf prog attach. > I've tried following but still no luck: > * /tmp is already present. Then I thought maybe the desired file is already > present. I've verified that there isn't file of same name is present inside > /tmp. > * I thought maybe mknod isn't present in the system. But mknod --help succeeds. > * I switched from /tmp to current directory to create the mknod. But the > result is same error. > * I've tried to use the same kernel config as the BPF CI is using. I'm not > able to reproduce it. > > Not sure which edge case or what's going on. The problem is appearing > because of some limitation in the rootfs. Maybe you could collect /tmp mount options to see whether anything is suspicious? In my vm, I have tmpfs on /tmp type tmpfs (rw,nosuid,nodev,size=3501540k,nr_inodes=1048576) and the test works fine.