Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp3114991rwd; Mon, 22 May 2023 08:51:59 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5GdqGHHAaqBpfkJw5ua5R94Md7iEt3GhNX0tTp6AMUUtiyfDj2k3vNxE0nlDBpvvAMXqMS X-Received: by 2002:a05:6a21:32aa:b0:102:a6d7:764a with SMTP id yt42-20020a056a2132aa00b00102a6d7764amr12520968pzb.30.1684770719095; Mon, 22 May 2023 08:51:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684770719; cv=none; d=google.com; s=arc-20160816; b=00sVqj7wi3rg+2Fpcf0XWCX+4savN5vFUrXpZKhuZsyTRWy8gfJs4j1nln62VcXzHj tpZHHPeq3GqHJBfVGr71r5tBckjeMHOEPNqMSFgN+Td5Syonvm4u9yWkUL/WXm1qfcey F7ULVpHpwpMery4XNk3nubQ56tlLBbkAlrl8UkUScRbfrLQ8tn1+JS7XzjkBCBOP6QDC X7yysV+BAyRY97gK+shUHsRt+b72aJPn4DoKYlvi6CmfL/j2lMTKQbaimdnqEg/3CjRh IiJnxOtS66NuI5mc1HCCmVAIfq2qppNvQlCxu94wRCL2E3/UQ4MUKEfKzdrKeiz/FyOD M16Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject:from :content-language:user-agent:mime-version:date:message-id :dkim-signature:dkim-signature; bh=2679TV+JUyZ+fAItjpP4WQhJySQQqMxl4k0z8zhjO3c=; b=RVGcQSgxKMRdkNA6pGiKkPRViRiQazq1VFPUqOMoEjPO6rP3XfIAL2mJxhgGgRUCfO 3JrpbwFTAtGfzXo/mPpTENUCvsRwiasWAC2ZXNdOFrjA+03i3uOKY634avfW7KlWG7RB OpxQUtLdRxDOqbCxZ0sS2vpUn3znvZIR8oQvVceVOt8i1WCqaPNyW7akKPoEb/iILjLA aXjbi79HkxHYzddXSF02aE95R1UirJOmlzFTyhmD5OqafpLZyuU9YYf0vQaN1u+zk0RH MtgiwVLfY+F2nRzo5RQL/tqjpmK3xmoFElLupQjzsbFHmtE3UpuyvKbLMHRQxDC4vqVl 7tVA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@alu.unizg.hr header.s=mail header.b=LT5j5SjA; dkim=fail header.i=@alu.unizg.hr header.s=mail header.b=b2MBIAjo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alu.unizg.hr Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 186-20020a6300c3000000b00524f08e1fdbsi4994592pga.813.2023.05.22.08.51.45; Mon, 22 May 2023 08:51:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@alu.unizg.hr header.s=mail header.b=LT5j5SjA; dkim=fail header.i=@alu.unizg.hr header.s=mail header.b=b2MBIAjo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alu.unizg.hr Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233900AbjEVPcU (ORCPT + 99 others); Mon, 22 May 2023 11:32:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34144 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229692AbjEVPcS (ORCPT ); Mon, 22 May 2023 11:32:18 -0400 Received: from domac.alu.hr (domac.alu.unizg.hr [161.53.235.3]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8D054E0; Mon, 22 May 2023 08:32:16 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by domac.alu.hr (Postfix) with ESMTP id D265D6017E; Mon, 22 May 2023 17:32:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=alu.unizg.hr; s=mail; t=1684769534; bh=RqvuOsJ8S7XdjoXvu70wev1e9QQK7l1N40NzkMAHzX8=; h=Date:From:Subject:To:Cc:From; b=LT5j5SjAGNIFjpZFPLIxMxTA8kJEM6iiS/Cx4UJNgNxQyU6aU2vmu5fC4bQTS/1S2 fqdEYzhR++jqx8rT5uU2u0j+waMJv9Th92bfHCd1AWZeXtjF/m8PCvHohjyjtemRFa jPD++DKXZ8Y67dbSVXKImbjz3Dq/sUgYSxLClTtPQ7SLeaSvutlVGi93HaG3IUKwY5 hoad7FZ1SmRvoT9dcooE0T0S7n6Y0hH08hQ9Ud9Edr0QoPGKn8Go9K6+/mKnjmDlOU QeAvYxWUAqPzHQnpy6JGj2tN/tgEp7BLYipxOc5uWYHtuTxDZPUiaJm0mAn4qvl1Do eWTfXolOUaL4A== X-Virus-Scanned: Debian amavisd-new at domac.alu.hr Received: from domac.alu.hr ([127.0.0.1]) by localhost (domac.alu.hr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cccNu_K_Opy5; Mon, 22 May 2023 17:32:12 +0200 (CEST) Received: from [193.198.186.200] (pc-mtodorov.slava.alu.hr [193.198.186.200]) by domac.alu.hr (Postfix) with ESMTPSA id 971516017C; Mon, 22 May 2023 17:32:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=alu.unizg.hr; s=mail; t=1684769532; bh=RqvuOsJ8S7XdjoXvu70wev1e9QQK7l1N40NzkMAHzX8=; h=Date:From:Subject:To:Cc:From; b=b2MBIAjoXrkkWbHzTTNiaL8Ybasp/aWQctqNzYBXy5Sdat2DFo2HG4enNPsO56KFl jldM9PvrgPVvCHxV+VNf4JoqLlC9E3eD6eVflKp0V0WpxMWC8K9yXvu7wKmbjRgn+A BDb69+8SFkxyrg00mceEXwoOVTov9duFzJyAxV06WjzQgruLqqrfaEHA/Lnj2CP0K0 nowm7CBa3qhHwOXGSlyWMHQ1ydOawOAIup9QWGUFafUvuGm9RYZIqUTzMESzJIrKb0 uquXjs5lmCu6xSSfp+EVWJlOhChF9k9ADeYaNEaSK8nYUFDeNZMslrvBWTr6JF4BuR VbRR6eNJnjBSQ== Message-ID: Date: Mon, 22 May 2023 17:32:11 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Content-Language: en-US, hr From: Mirsad Todorovac Subject: [BUG] selftests: af_unix: unix:diag.c does not compile on AlmaLinux 8.7 To: linux-kselftest@vger.kernel.org Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Shuah Khan , Kuniyuki Iwashima , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On vanilla AlmaLinux 8.7 (CentOS fork) selftests/net/af_unix/diag_uid.c doesn't compile out of the box, giving the errors: make[2]: Entering directory '/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/net/af_unix' gcc diag_uid.c -o /home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/net/af_unix/diag_uid diag_uid.c:36:16: error: ‘UDIAG_SHOW_UID’ undeclared here (not in a function); did you mean ‘UDIAG_SHOW_VFS’? .udiag_show = UDIAG_SHOW_UID ^~~~~~~~~~~~~~ UDIAG_SHOW_VFS In file included from diag_uid.c:17: diag_uid.c: In function ‘render_response’: diag_uid.c:128:28: error: ‘UNIX_DIAG_UID’ undeclared (first use in this function); did you mean ‘UNIX_DIAG_VFS’? ASSERT_EQ(attr->rta_type, UNIX_DIAG_UID); ^~~~~~~~~~~~~ ../../kselftest_harness.h:707:13: note: in definition of macro ‘__EXPECT’ __typeof__(_seen) __seen = (_seen); \ ^~~~~ diag_uid.c:128:2: note: in expansion of macro ‘ASSERT_EQ’ ASSERT_EQ(attr->rta_type, UNIX_DIAG_UID); ^~~~~~~~~ diag_uid.c:128:28: note: each undeclared identifier is reported only once for each function it appears in ASSERT_EQ(attr->rta_type, UNIX_DIAG_UID); ^~~~~~~~~~~~~ ../../kselftest_harness.h:707:13: note: in definition of macro ‘__EXPECT’ __typeof__(_seen) __seen = (_seen); \ ^~~~~ diag_uid.c:128:2: note: in expansion of macro ‘ASSERT_EQ’ ASSERT_EQ(attr->rta_type, UNIX_DIAG_UID); ^~~~~~~~~ make[2]: *** [../../lib.mk:147: /home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/net/af_unix/diag_uid] Error 1 The correct value is in : include/uapi/linux/unix_diag.h:23:#define UDIAG_SHOW_UID 0x00000040 /* show socket's UID */ The fix is as follows: --- tools/testing/selftests/net/af_unix/diag_uid.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/testing/selftests/net/af_unix/diag_uid.c b/tools/testing/selftests/net/af_unix/diag_uid.c index 5b88f7129fea..66d75b646d35 100644 --- a/tools/testing/selftests/net/af_unix/diag_uid.c +++ b/tools/testing/selftests/net/af_unix/diag_uid.c @@ -16,6 +16,10 @@ #include "../../kselftest_harness.h" +#ifndef UDIAG_SHOW_UID +#define UDIAG_SHOW_UID 0x00000040 /* show socket's UID */ +#endif + FIXTURE(diag_uid) { int netlink_fd; -- However, this patch reveals another undefined value: make[2]: Entering directory '/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/net/af_unix' gcc diag_uid.c -o /home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/net/af_unix/diag_uid In file included from diag_uid.c:17: diag_uid.c: In function ‘render_response’: diag_uid.c:132:28: error: ‘UNIX_DIAG_UID’ undeclared (first use in this function); did you mean ‘UNIX_DIAG_VFS’? ASSERT_EQ(attr->rta_type, UNIX_DIAG_UID); ^~~~~~~~~~~~~ ../../kselftest_harness.h:707:13: note: in definition of macro ‘__EXPECT’ __typeof__(_seen) __seen = (_seen); \ ^~~~~ diag_uid.c:132:2: note: in expansion of macro ‘ASSERT_EQ’ ASSERT_EQ(attr->rta_type, UNIX_DIAG_UID); ^~~~~~~~~ diag_uid.c:132:28: note: each undeclared identifier is reported only once for each function it appears in ASSERT_EQ(attr->rta_type, UNIX_DIAG_UID); ^~~~~~~~~~~~~ ../../kselftest_harness.h:707:13: note: in definition of macro ‘__EXPECT’ __typeof__(_seen) __seen = (_seen); \ ^~~~~ diag_uid.c:132:2: note: in expansion of macro ‘ASSERT_EQ’ ASSERT_EQ(attr->rta_type, UNIX_DIAG_UID); ^~~~~~~~~ make[2]: *** [../../lib.mk:147: /home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/net/af_unix/diag_uid] Error 1 Apparently, AlmaLinux 8.7 lacks this enum UNIX_DIAG_UID: diff -u /usr/include/linux/unix_diag.h include/uapi/linux/unix_diag.h --- /usr/include/linux/unix_diag.h 2023-05-16 13:47:51.000000000 +0200 +++ include/uapi/linux/unix_diag.h 2022-10-12 07:35:58.253481367 +0200 @@ -20,6 +20,7 @@ #define UDIAG_SHOW_ICONS 0x00000008 /* show pending connections */ #define UDIAG_SHOW_RQLEN 0x00000010 /* show skb receive queue len */ #define UDIAG_SHOW_MEMINFO 0x00000020 /* show memory info of a socket */ +#define UDIAG_SHOW_UID 0x00000040 /* show socket's UID */ struct unix_diag_msg { __u8 udiag_family; @@ -40,6 +41,7 @@ UNIX_DIAG_RQLEN, UNIX_DIAG_MEMINFO, UNIX_DIAG_SHUTDOWN, + UNIX_DIAG_UID, __UNIX_DIAG_MAX, }; Now, this is a change in enums and there doesn't seem to an easy way out here. (I think I saw an example, but I cannot recall which thread. I will do more research.) When I included # gcc -I ../../../../include diag_uid.c I've got the following error: [marvin@pc-mtodorov linux_torvalds]$ cd tools/testing/selftests/net/af_unix/ [marvin@pc-mtodorov af_unix]$ gcc -I ../../../../../include diag_uid.c -o /home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/net/af_unix/diag_uid In file included from ../../../../../include/linux/build_bug.h:5, from ../../../../../include/linux/bits.h:21, from ../../../../../include/linux/capability.h:18, from ../../../../../include/linux/netlink.h:6, from diag_uid.c:8: ../../../../../include/linux/compiler.h:246:10: fatal error: asm/rwonce.h: No such file or directory #include ^~~~~~~~~~~~~~ compilation terminated. [marvin@pc-mtodorov af_unix]$ At this point I gave up, as it would be an overkill to change kernel system header to make a test pass, and this probably wouldn't be accepted upsteam? Hope this helps. (If we still want to build on CentOS/AlmaLinux/Rocky 8?) Best regards, Mirsad -- Mirsad Goran Todorovac Sistem inženjer Grafički fakultet | Akademija likovnih umjetnosti Sveučilište u Zagrebu System engineer Faculty of Graphic Arts | Academy of Fine Arts University of Zagreb, Republic of Croatia