From patchwork Sat Jun 13 02:43:34 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kris Gavvala X-Patchwork-Id: 89969 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8D924CD98CE for ; Sat, 13 Jun 2026 02:44:01 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.84797.1781318633167355575 for ; Fri, 12 Jun 2026 19:43:53 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=jKuGBF2Y; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=0624a503c1=kris.gavvala@windriver.com) Received: from pps.filterd (m0250812.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65D2eg3Z2943793 for ; Sat, 13 Jun 2026 02:43:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=PPS06212021; bh=r+j9xtHoAoetiP/49SJJmDBhxFLxYQ/6koNYqvj9yHU=; b=jKuGBF2YDs8s pwbzWe0BgMi/BIhWME6aqe4s8D+RcT/KH4GyQY0mikOgXSnA9Po9cLt1yP/vQiSq /b7U8KavhzYYEjIHo0YZuFXxXg72DpTcUw1qMDq0Uwzhbyfttb9/WLYTLaESy4Ls V/Ha6/grZX6ceAC1KXAl4FMF40cFMrDqrycoytewrd88r6YF2KepMDOwDFzjpd2h ufFctrWsXhsZ8e5LSg2zjLIZjHpDBoaN1ucERgP8ZZ8RS1sywyrlflX4SOIowCoD SMDsl+cV3+LQHuAyCRPqm3qYZkARL1/s27h0AF2UGeQoK6YEP74/FHujIPYklysk UQmAaPEu5Q== Received: from dm1pr04cu001.outbound.protection.outlook.com (mail-centralusazon11010030.outbound.protection.outlook.com [52.101.61.30]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4erx63r0kt-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Sat, 13 Jun 2026 02:43:51 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sxaYgFafsFZ3yODx0zyT1bMn0pR22eAcSakHXgBCtt4j1hofH6dnzciOfXDQhKiS5E6y4LdJIjcVRiXcV3x2RgOixksk6z22BlSRfnHrRTttuxHjDEZrP9ebZNRlIwyevK5JkNZRNu4ZockwjTV1TVgc9zmf68aJWYASQVWDR0wU7e13D2y+kjRS9zIsDob1Y9Sx/BPRbXUCj5bN7vG9dhV6/k5jE1CKHJowsuSir+/BlGDPKgFS2Z5C6dusR3WXqUin2/tq22stz+HoIE8GC3+sq7UWvb2rsp8MuZkFmd2HMRStbxEd52Ev0NIO9/XVkbDUF0WOrWWVs4ZNpq1QjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=r+j9xtHoAoetiP/49SJJmDBhxFLxYQ/6koNYqvj9yHU=; b=I/VfPb06STv0Uqo0TeRjgsraIHcvVDO53zm6O3DPdk1Xf3SS+eG33MUS1kqOMIwWzhgXnaOuHWFlY7j0Ox1fFVhHQhfHn8CzVY07RZh3bG424Vyg2NaViyA7UtvPZX8yGW2QEJmDkfGldVQueXCS7YHaO421pr7H4XNfAg6PRXlkQlMyRLq6UGxohyzZiU9cWHMrngfCRUcJzz3IabYt/jGD048YawuOHIj9wcuaSFlXbAhy1/+icw929yMO5vsjcDAKe9WN+tylT5Fw2i24xMmOAb0HOY2uzn2XZ2fWgxz+4zc39sEeekZVPCAwfhK76nkDXZvwoZT8ZIrWHZWzKQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from DS7PR11MB7783.namprd11.prod.outlook.com (2603:10b6:8:e1::17) by DS4PPF7551E6552.namprd11.prod.outlook.com (2603:10b6:f:fc02::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.13; Sat, 13 Jun 2026 02:43:48 +0000 Received: from DS7PR11MB7783.namprd11.prod.outlook.com ([fe80::aa04:56da:f40e:96a1]) by DS7PR11MB7783.namprd11.prod.outlook.com ([fe80::aa04:56da:f40e:96a1%5]) with mapi id 15.21.0113.013; Sat, 13 Jun 2026 02:43:48 +0000 From: Kris Gavvala To: openembedded-core@lists.openembedded.org Subject: [OE-core][PATCH 1/2] libcap: add ptest support Date: Fri, 12 Jun 2026 19:43:34 -0700 Message-ID: <20260613024335.377418-2-kris.gavvala@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260613024335.377418-1-kris.gavvala@windriver.com> References: <20260613024335.377418-1-kris.gavvala@windriver.com> X-ClientProxiedBy: SJ0PR03CA0358.namprd03.prod.outlook.com (2603:10b6:a03:39c::33) To DS7PR11MB7783.namprd11.prod.outlook.com (2603:10b6:8:e1::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR11MB7783:EE_|DS4PPF7551E6552:EE_ X-MS-Office365-Filtering-Correlation-Id: 2640ca71-98e0-4328-74b6-08dec8f5989e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|366016|376014|1800799024|23010399003|56012099006|11063799006|12006099003|3023799007|22082099003|18002099003|38350700014; X-Microsoft-Antispam-Message-Info: qOGRcXFbcInECX80KZ/5zTYuLXahX9xHwbshZBjuPmP/dGvoWufH8regAXuX1yQMjUlHnhLacJFU1Uv1KnILjdb5EXx3gwSF2nP8ZBE6Ii9qAr9TfUlXrrbyGvYIg/PDEqFhneiz11uuAil9qrVJbHt0O+oXoyyxd++G256dnXJ0t1TSsDam8mxlK1x1okYY7+XXrFkyCL8ZuweNEdNNIBpWSi9sSeugzcUxNLTaDga7vLVmsdpbudSYopJbLm7z1Cu8cdvLnkVCoMnbIG9VG/1u8AWGs/TbTvUE+Y09o0bub9XbJBj7zyVGMFcBVxQWH2LfllMQprqaFbhEP6abwrxjx1I6CPg3ZmBwvt5Cyup4G8GrSSSRyeeVRxhb7mpx9USJlgbSmBcnK18e1zhja4DAHyw7twjyK9qqlt38+ZEfUvYO2eyO5xOJMeeSkD8P18zAtihGZRfx2noR8d5KDPCFl4tAMndE+mrMzK88YwVdn4C4/Kd3cDrJ0scpppVECMn4+uxbzhpH8ot+7DTBsFP/9u7WvjCo8GLxPWgS3o164bPTy6gO9/FVFQTEoO3bExqXPayCvIkPraKkBFy1Vkn1iS3PAs2lxHhZoTLLV0sOgVK+cpqQQg+iqUMxKuigIYnIWCDMLZLDNakt7F+0WOrya84LKeI4YePOHJesItxuOY3Lhps0WGOTlI2+sh/ZoPaPZ7qfH+HAAGv6MpkVjBGHiGcUr3z7LiSyLBlsASMJIiBBYe+dRzz56sS8tf7a X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR11MB7783.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(366016)(376014)(1800799024)(23010399003)(56012099006)(11063799006)(12006099003)(3023799007)(22082099003)(18002099003)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: M1hUj2A0fIB+ahYZMDPyee8kMmWccHA+xJvFVv8OJYy8U2g341tfkkkZX3VIVA2fdv5r4k0H9xbzqA/LhhZHtegdeIdm30FpR2nUCfqFNRdip8S4vUY8kPCWaf6+kp1R7WBpWr4gL6O24/EZUB+gvR5QEWSP058C5FXBKW6AJaXSSGtmTXl4xZs/KIakTNVkAs7FfKoVHRWR+15jd8DyfCffvmwWoh0SyMAOtWe65h8GZ6tK6ZKJ08VyMenOEG+pf3lT5Xx3eHflD7+NDct/MNz3eEEzOlZoSsZZVXZArW/lSBrppdqBwED+mKjWaHtFDwD1Dq+NGteTO1H9BymeMHFw1uOk+Tq+EqFy6FOZDdin8EEmDjX4VLRYUkNPJjubpfwYBl4HECOG4S+Ar1A0lBWDSOv4i/JYsWehe3UPy0Cc5UobPRHcWNLSfHJxpjOH6LxzedViPVCnbqiaV/Ge9OxnTpIoJfCiL3HY4Po4sUXiQBQhqIr7dLhM0xqcR+a3oGGyi5WqRX7DEEeyQEDNnR0HvQ/F92oj+6AakxdisqWU51jgHvuDsN9oNiUdN2Hgn99hNxqAU1w5sRYfqjAGy5NZIxwYjP/H7B1WoDa4NyhOA/IGEXrkTwWIFbQ/wwMatq9l7OeqbBU7lMBcJfJiwg5KMmZB6I6JvOQVdoZ4MDDveu0Rk/UtSpjiSzcTvKapCub1CxuKY8cMspuREsOoQFrC1/0bbdQubNc/CpeCb7ScZbiQGAwm4OHgWezSPxhEPblmK5XsLdpMnZhgP0U1LHLHOGNpP0WXsR5qBBP4oMoJ/Zon56gZTINKHB4p1S8t6OCOuE/tcGfbdjVufM8wdn0o9aDVkh8BTZpY9k+kITWvZuGrR7cV4lalZcJCipQpX5G9Xg8vNfGeOTsZFVNLWu7xCwE41ntm85XpxMQPmUGcN+ai+uVvARcwXFl/FIw/w8I4Y7gmbzjFla6guZCk6VsORRP3YIVaBxKDEZkctEhGHWE6n44Cd502q6UUzTV5j2cV+jUskdcgiez4DMfWcYwsKM8uMPYuWNMZNYDBE6XXOXZVTg71lvdkPgPMnveE+YYifDty4JPLee/sgRuh98vWL64V0StwqNriArVDSMMR9sPGK/SWBUyh93tZ2ZQhr84nMbykZXG03qHNma5lRPCNxJBPQiUeY2DLGisy9xW+LMlaTwF7vRLAiGCnQdprvgd+0ZUkNokfGqQLP9rVi4Pd4TPqTL0Bt7fwJHLKzNNSMNwZpe+txAv838v7kEsgjMkoInccIJ3Nb8vXAt2QV/baAYOcCvgbyRm5bUvkGe2//YYhj83lTDDInjWeD/2ON8z2h8g170G0xXi4JGebN5nVVK0/Owht3ZyGxGXwlsWaXWq5o8ntpbkozZ+S2rBuA/oFJ6EmmpFogqcsrQArATPY/XA9z4szrjXMKwEtJlVOhFRf0AvVtCZnmNcajZm25YwNvJwOiI8g4rVjMvxA25GWnTBleoZ3Mey9QOzeRKQMOSivt66DPmWumdndrRzyxUffMO7vDHZent5bVPMvTUxNJ1Y0VuAH3P/dD85Wt/CXimZOhbNpbw3sAOr9imsYuCFHldgzoYJYsB6Xa5Q4B8voG2PF5gkLIKZirMhU32gzrRt8Zgc6cUc/GTg1WThEuYNSrXAuZoffWDyEEL8lp2jEoJ+Jg1APCXgMsCeE87BfzZZs8MpPOB5nOhJ0QcIdicV/1kajKXy4L0FyWTB3eOtWuCDWes5YkMFQvrzIa2s= X-Exchange-RoutingPolicyChecked: psoL2QtCGuG0FXmd2ewScOqZBqHxtm1MWvet9r0xcPc3QD1GKQxWyd2YXp/71OkkRLUinxkf5lN9Kg1bUj+o18qRZBBtq81PiYFheR1gyG5x31V0EFxtw2sjkmwpJ9LP6NlxKR63ld4W5GQcoA5Lpt2AUD1NispThdT0OKBr6Q4nzFr7S+/PUhAbent1LT8+BYPet501oJqBGQm1AIXmmW719/rSgF/hLAAPFFvo6QVx4QmyWYUqjQzgOBFyX3fi+eNSO1KWWWOyYM4tGl4Y4AiFTRdeJL5dE9m01raocGoSgHYp8VzO1ixqHK6/5g06NWQVGuC6fzpLEgHtG5BdFA== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2640ca71-98e0-4328-74b6-08dec8f5989e X-MS-Exchange-CrossTenant-AuthSource: DS7PR11MB7783.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2026 02:43:48.7106 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Kj9rNLRYkU1dyYOG2lWG+7ocX/OZ7GBCQztmTE3T2Ssk2JlRbaPHaffQgZuwAPWG2XTbt1aqXTdKpxnI5sLtnsntwD8TTjvTudMKZNERiM4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS4PPF7551E6552 X-Authority-Analysis: v=2.4 cv=SvmgLvO0 c=1 sm=1 tr=0 ts=6a2cc3e8 cx=c_pps a=eGdyP8VkvOZnUY1FLHxo4w==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=FelO9ux0wxsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=fTW__CHxibyLmBMfj2wP:22 a=VwQbUJbxAAAA:8 a=t7CeM3EgAAAA:8 a=Q7LFDE9GamHE2BZ3A4wA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-GUID: S3VQk9yYQiRBC4JpYL7uYYSTKz6-0Z4V X-Proofpoint-ORIG-GUID: S3VQk9yYQiRBC4JpYL7uYYSTKz6-0Z4V X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjEzMDAyNCBTYWx0ZWRfX/h3B2DFdIrVy 7+/MDPnKlPFSS2UvVLFcmAReHnANnNy0IsbmXMsqQQGeMKCeIkMDS3UE3x/Yx7p+IwNqPjHJUwp cbgNQdK3FXDQkqv08jLZCzh+MDqi5Am+dJ4xqthInrromBLm8HCFMvltE6NvVZR/B2MsQTpWMBM 78vrWYdMYh4M+fH2uIOCzKuBURrxDOeHc/tkYMt0jKoap1V+8izmPOVKuZCYqEQ91Pbu76hQVQv 2FnYHNOhKijoHmwCAScf1MVcMRBBXzalxQVT3yfqIlKWKuLqplqQQ4s1Gx8EKY4mLU45VreI+8Q ArBv5qGK+dwbt46VktE+tm64fDRdnU+LFDjv/8n4wky7xapeHccQuJdiQTDs3A9ebvi0giLP9Jc LSXVgkynxQT4xjz1oc/vAm/tgnwPXo2DDwQL4HOXGP2oaAW/R+/o1jyG4tQQysybB0UBp+SiKUr pCp+ji3sGlaTizzgk3g== X-Proofpoint-Spam-Info: AW1haW4tMjYwNjEzMDAyNCBTYWx0ZWRfX2N4OoiVdd+w9 e5ysQxfjuxvRdLjUqTZNFC2HuP+FzK2YoaTur1+LDUkIL4NZ/bKVtz7whghavH3QrUS/gvpmUE5 Dbbudym5JYqq0iF2QVAUT2HIsbuvCrxIb+zOegNDQv2Pt6vo2QEj X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-13_01,2026-06-12_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 bulkscore=0 phishscore=0 spamscore=0 priorityscore=1501 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606130024 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 13 Jun 2026 02:44:01 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/238649 This ptest implementation includes a subset of upstream tests that provide functional coverage of core libcap and libpsx behavior across target systems. This approach is preferred instead of using libcap's quicktest.sh script because the later assumes the upstream build-tree layout and has too many dependencies not available after installation. Quicktest exercises a wide range of kernel capability features and environment-specific functionality that is too comprehensive for ptests. The ptests include the following libcap/tests executables: uns_test, psx_test, libcap_psx_test, libcap_launch_test, and exploit/noexploit. cap_test from libcap/libcap is also included. These provide coverage for capability manipulation, libpsx integration, launch handling, and basic security validation. Signed-off-by: Kris Gavvala --- .../distro/include/ptest-packagelists.inc | 1 + meta/recipes-support/libcap/files/run-ptest | 25 +++++++++++ meta/recipes-support/libcap/libcap_2.78.bb | 43 ++++++++++++++++++- 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-support/libcap/files/run-ptest diff --git a/meta/conf/distro/include/ptest-packagelists.inc b/meta/conf/distro/include/ptest-packagelists.inc index f3f42f908a..1254a9e204 100644 --- a/meta/conf/distro/include/ptest-packagelists.inc +++ b/meta/conf/distro/include/ptest-packagelists.inc @@ -31,6 +31,7 @@ PTESTS_FAST = "\ libarchive \ libassuan \ libatomic-ops \ + libcap \ libcheck \ libconfig \ libconvert-asn1-perl \ diff --git a/meta/recipes-support/libcap/files/run-ptest b/meta/recipes-support/libcap/files/run-ptest new file mode 100644 index 0000000000..c56d483545 --- /dev/null +++ b/meta/recipes-support/libcap/files/run-ptest @@ -0,0 +1,25 @@ +#!/bin/sh + +EXPECT_FAIL=1 +EXPECT_PASS=0 + +cd tests || exit + +for t in uns_test psx_test libcap_psx_test libcap_launch_test cap_test exploit noexploit; do + output=$("./$t" 2>&1 ) + status=$? + + expected="$EXPECT_PASS" + + if [ $t = 'exploit' ]; then + expected="$EXPECT_FAIL" + fi + + if [ "$status" -eq "$expected" ]; then + echo "PASS: $t" + else + echo "FAIL: $t" + echo "$output" + fi +done + diff --git a/meta/recipes-support/libcap/libcap_2.78.bb b/meta/recipes-support/libcap/libcap_2.78.bb index 782ad02665..d91ece4aaf 100644 --- a/meta/recipes-support/libcap/libcap_2.78.bb +++ b/meta/recipes-support/libcap/libcap_2.78.bb @@ -16,11 +16,14 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/libs/security/linux-privs/${BPN}2/${BPN}-${ SRC_URI:append:class-nativesdk = " \ file://0001-nativesdk-libcap-Raise-the-size-of-arrays-containing.patch \ " +SRC_URI:append = " \ + file://run-ptest \ + " SRC_URI[sha256sum] = "0d621e562fd932ccf67b9660fb018e468a683d7b827541df27813228c996bb11" UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/linux/libs/security/linux-privs/${BPN}2/" -inherit lib_package +inherit lib_package ptest PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" PACKAGECONFIG[pam] = "PAM_CAP=yes,PAM_CAP=no,libpam" @@ -62,6 +65,44 @@ do_install:append() { fi } +LIBCAP_PTEST_TESTS = " \ + uns_test \ + psx_test \ + libcap_psx_test \ + noop \ + libcap_launch_test \ + exploit \ + noexploit \ +" + +do_compile_ptest() { + oe_runmake -C tests uns_test psx_test libcap_psx_test noop libcap_launch_test exploit noexploit \ + AR="${AR}" \ + CC="${CC}" \ + RANLIB="${RANLIB}" \ + OBJCOPY="${OBJCOPY}" + oe_runmake -C libcap cap_test \ + AR="${AR}" \ + CC="${CC}" \ + RANLIB="${RANLIB}" \ + OBJCOPY="${OBJCOPY}" + oe_runmake -C progs tcapsh-static \ + AR="${AR}" \ + RANLIB="${RANLIB}" \ + OBJCOPY="${OBJCOPY}" \ + CC="${CC}" +} + +do_install_ptest() { + install -d ${D}${PTEST_PATH}/tests ${D}${PTEST_PATH}/progs + + for f in ${LIBCAP_PTEST_TESTS}; do + install -m 0755 ${B}/tests/${f} ${D}${PTEST_PATH}/tests + done + install -m 0755 ${B}/libcap/cap_test ${D}${PTEST_PATH}/tests + install -m 0755 ${B}/progs/tcapsh-static ${D}${PTEST_PATH}/progs +} + # pam files FILES:${PN} += "${base_libdir}/security/*.so" From patchwork Sat Jun 13 02:43:35 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kris Gavvala X-Patchwork-Id: 89968 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7D547CD98D2 for ; Sat, 13 Jun 2026 02:44:01 +0000 (UTC) Received: from mx0b-0064b401.pphosted.com (mx0b-0064b401.pphosted.com [205.220.178.238]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.84796.1781318632927098672 for ; Fri, 12 Jun 2026 19:43:53 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@windriver.com header.s=PPS06212021 header.b=Rfrb7DwX; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: windriver.com, ip: 205.220.178.238, mailfrom: prvs=0624a503c1=kris.gavvala@windriver.com) Received: from pps.filterd (m0250812.ppops.net [127.0.0.1]) by mx0a-0064b401.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65D2eg3Y2943793 for ; Sat, 13 Jun 2026 02:43:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=windriver.com; h=content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=PPS06212021; bh=LdAm8FzoAfYxXV0B+UVh2+yA+EzRbmywayiXjw6i77o=; b=Rfrb7DwXd1/w Gc/87xB+5PwgG1fyeEUi5KXkpLtSkhNkRUIFnMr9BfH27h5L9h3PT1UjOwUSuH5K j2Wo9N+F7rPfnDb3inAJ0oRRt+YXXiojYsxuYxLw8c3db5Qk5PS3ZJ3oXT3RRQ6j oxBheHT4lk6/dMfzng/odpi/wgJX9+nNKK2PRKPh/Z68QQmAJGJ9gMRjVBPPQEix EwJrnAjIBsy3BAmC9NKBRP6tkqzvG6jW21bQsxOTEHKb4rhBih0deWdgoWsWHAkK F4MGMbfDblDpBHvYh4MY8mjuO1oEY+a+LcemXw9k4vZF4Ajh8pPeqx45BxmRSDUl 7QvggWXAww== Received: from dm1pr04cu001.outbound.protection.outlook.com (mail-centralusazon11010030.outbound.protection.outlook.com [52.101.61.30]) by mx0a-0064b401.pphosted.com (PPS) with ESMTPS id 4erx63r0kt-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Sat, 13 Jun 2026 02:43:51 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=s+Ra29unAB2IgY3Agq26ZVCg6s9L/x8bc8BRMsrfxl3ixkh56UzLqlm34P9eNd5CIE4C6oP5Peq8be8epmFf+zFE7mpkA1jKqlSCTnSNGDk2p3WA5eNGE7jk5dhMZAkpS1BWJDCsYR0j+EJ+jrm+IFMUAtIJC1HRlLvVZ1yF5qn/uGV2kLp+CzmpP7eygTs95hxjQPwUYMMTP+8jIUUBTI/2tgCJT0tjNaovp0fTXNzmaTy+OnRRb1K956CoC1XXbW+01/IuyUHi8rtUuUbmbn8KL7dbrvXnyHCgCPfLI7PEQ2JG0ZkZf67gtaMQee1GWUiXWM54QudLPy83kYTyGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LdAm8FzoAfYxXV0B+UVh2+yA+EzRbmywayiXjw6i77o=; b=zUDqUYJZjil0Gcl5P49XOj0uLCne9khcdJONlpkOjSfi+c9Wu22sPrIMr9HqVG6+MKxGn1amK+JwK++UWrCwhNXVT09FlJwDSjcVmGZ+ZsRyVQ5RMeq2UA27kn+SflmoXKH7bKp982cGJhQD5nDxNuJ7Mue1xxYNwEOv04GPGPf8Ufjh3Ga7KT2gl+qyuWM2fnNr28C8FvZUpEf0fEDh4i0TnDMpWDC6fuKdof2uI1xaaQfdsM2mfWj75WzNjQDB8cWY45Zdj18ksoRu75M9wIXiQ6tLpWKT4MX6TkEJdmJ+tsB/fwicpjy5Twwl57CuGl1AMCe/D7DQVEQQKmPauQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=windriver.com; dmarc=pass action=none header.from=windriver.com; dkim=pass header.d=windriver.com; arc=none Received: from DS7PR11MB7783.namprd11.prod.outlook.com (2603:10b6:8:e1::17) by DS4PPF7551E6552.namprd11.prod.outlook.com (2603:10b6:f:fc02::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.13; Sat, 13 Jun 2026 02:43:49 +0000 Received: from DS7PR11MB7783.namprd11.prod.outlook.com ([fe80::aa04:56da:f40e:96a1]) by DS7PR11MB7783.namprd11.prod.outlook.com ([fe80::aa04:56da:f40e:96a1%5]) with mapi id 15.21.0113.013; Sat, 13 Jun 2026 02:43:49 +0000 From: Kris Gavvala To: openembedded-core@lists.openembedded.org Subject: [OE-core][PATCH 2/2] libcap: fix hang in libcap psx_test Date: Fri, 12 Jun 2026 19:43:35 -0700 Message-ID: <20260613024335.377418-3-kris.gavvala@windriver.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20260613024335.377418-1-kris.gavvala@windriver.com> References: <20260613024335.377418-1-kris.gavvala@windriver.com> X-ClientProxiedBy: SJ0PR03CA0358.namprd03.prod.outlook.com (2603:10b6:a03:39c::33) To DS7PR11MB7783.namprd11.prod.outlook.com (2603:10b6:8:e1::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR11MB7783:EE_|DS4PPF7551E6552:EE_ X-MS-Office365-Filtering-Correlation-Id: 1205cb0e-8f04-4115-f26d-08dec8f598d3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|366016|376014|1800799024|23010399003|56012099006|11063799006|6133799003|5023799004|3023799007|22082099003|18002099003|38350700014; X-Microsoft-Antispam-Message-Info: uKtoWjN6OlS80GdO4KupCSLljDMY0ww2kmCOD87kkC99uInRb/W2DiQfxA943EVi5W4McDqqAcHscuVYe3SOqiEvMr+XqdS4uFZDZxb1edrlUPp0qUty1rsRYXkECRCkmiJ1yMKa79Yeea1bur0jATwKiC6SPB6irhyKuKumXjfycPXtOTpTShYwXUeyX4FL+qwsWnITk9zTOOgQ+r793Q7JY4qA0iG90Vmip1iomgvXeyZJn9fnnT3IBEIHcQ2wza6lsb0mVbkyyujPEKUY/ly9Qroxqb89WRIgnyIoYpWF+3YynYEXn87IzzPSwtd1ZwuxjXuh5cSoKdQC+17loe29WjiXz4k/p6t/zHEhZl0rUs9c8sccDAUgQuzWG2mcb+uv0XeqMvKKIuCeLjW6fqp/6QA6iHTWG3MxsnOt+jl1TzAmbHr1I3dvqxeBcMRA8PyFk3TR/Msgl8X4GZVDAMARX4D4YpWS9A1dIKUvIaT8VUrvy26cBeUUjltRAP4kKiiQan/PzGmKFgbiVDkfo1hkDNrlIeNohjG//uQ7lohpaMbg/jeZ/gT4q5kZBLgb+QRLbkteArCclcYXE+1CqpgrFaW/yEHzH80v01pmF1KKfvbKjr+vOfP6w1tcMCh1PgWJLgt5XWKezFRX9Pc6GhpJ5WQrJq1E4MzWsUrocRS61MqXZvkkd6jwLM6FQmwJnLfhApuPMcHRKjQIAwBJqwBv//fasGF4UYZ7BRksHGzd7gm9WZRWm2ap6nLnShb8 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR11MB7783.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(366016)(376014)(1800799024)(23010399003)(56012099006)(11063799006)(6133799003)(5023799004)(3023799007)(22082099003)(18002099003)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2R3FlBghEU3a0IAZFF0HX3vh+nNuqzM++qY6Ayu2PhjOYAUBHYjji0+SNjLjUWhwDQM/1g6QP4mzGWUuX8WluGhOJSEVsaErJ9terOoP/yd5IQZsKHcGKDO9Aj85bS8XCPFgiYYazEF+ehcR9/7lSyTX2vCisgMnU+d1PoJ31+rRgLd+vfOmBlGmcj/B/CjwuY9iseXZGgCrSHRflCa3wKu5N5HZE7xuUT92fn5asWXIo6+e9uYVKSpETbUXYfsGnyASTRuhpJOfKCD57K0CMg3COvMlZ+zCJZoqrwA234be0w+tF7KTBMUynk1M5ct7m9QaFppbnq6eZLd05ldMo/hxQ3UKVhbVv+dWvjHYAFluxQzXJ42EhNQnL6SXRIBCLRrfFq4gyIQAPgn4cB5cBM30xP10pwC94iLoBFGlxp4z1buG/nyIzGj+m5wBYcHMTTmAsy4D8JLBl3ABTqIYvRbZKWpJb6QE1wrdFsIFIOsTWhuennqQema9URqRum1U4wdqRbRw/advYfpqr3GPTVdy4wfMQMX/bngaxza5CBb1V1F9NDQrG2ooSliWzjII+C4NF3pW5WRLOe4GAhbPw4F17Pob61qn2iTCulB+JvpTWSvi0gkT1mvJGeSHBGtKy2BTbWPNLBzNyd8Q4U9OpQnNXjFLOH8gs4Ia/f5JV9HOwOg8M7JQKTiflQUE8Qorppt+d4s+QENeu0qhZjAqZXIZG8jii0pmSwOKYm+63Pp1PDQi0Hw5+YynfO0N77aa30h0QD9dQKtPXFUJhFOUIwQwjA41txgSj+o2jF8YB/rgdscU0rG6rPv1kIt9jRNDRy+ZLLSw3H118eQb9c0OzQKveGEF/Vwj2v8eMqffi/A65Op8Tv7im74jR0sJ/TLx62kaJ6Q3af+8lIMZQwPHZvrHQptD/WkJiQpH2zXBgAx9xrmvAnrKFDsoYBlMbqUJwtGnAvOirdAWhn0X9z8sopyP3LHAwcufRIH018/trZ/5tFx9nL5+GBuoReUOzpmD3Ue9IQ9Hev9j9l54vzx6rE+LSIfWn5rrogVZpiWDbBxptMca5lNlFxZO86pjdoJyN36WS2TUDRXeaf9LX7wFfpAIRhTd0loEc2xIeEvTbUNUTvRU/nZFnBA+ratgFHPl0Dj751W9hSCMjYBUyTzSYsjDElocb1jT/ClSSEnp2voYJ3DjcRao9B8bzVoGoWPrcTgTH9+711CKG+nfcG8IxbVzDF9JuzqaDLD5EzrRt/PHMOwN30JG+Jj+1LUtsPPU7/H/TZeh7313yvmdnz91FKDtZZZK6ik6qyeNYHiQeMVNQyIL0UbrbVEe3HJiuAfiIBWmI28XRZitdZPCJAvdtnVdiCWsfAk34xqxMRH5+WYKR3IHQSaf+uVUAuEHlbcCKCf79stDrncKyqBcLdDqENPgJz1X1iWr/OVuJkl4qgdGhYVqz04/2Dr/3tn7S/Oq4aXx9oUog7FGgtddg12A4JpqCRG/lIzrJ8S6zlOS06/Gys8pBQqEuoFsalx+27p/MvSP45Sa1Hl1XuYydp2OXzQSz8kYwSjFh/N19UM1RUfW39xvhUTy03uATpwr9JDF1nHzHQ57+1zX2zSorGCvfTwE36R33di5ezbTwM4mABS//q+fpywEyEW/0G59wRumDjAN42zF7eK7rMijm9BmDkIqc9ytsXUipkkYhGW0MFHwaJvXDaMVXEM/YDSrljfUgxUpP03jnD97al0aYwn0ZFvR01nHESqjMZue0ghfnnI= X-Exchange-RoutingPolicyChecked: kBniAtRPUxkmr00KcisXi4qaccHDf0dreYpC+xRvwR0OWKMSsZ/B9l0t8nGmvC+IfZSJkLhTaiB6AKfT6IYbWp7eNMFNgjwihacr2n+piL/i4vO/8Agpzw7cqcO2b+3ucVR1Qxlev8Ho+BAp19/wltQkhFmUJMqNdwh47kgtE0Cm8jYCT9ygPzi5yGlu0nPj0IO7XpOp+aOeL6/u8iQVMQGxp8n4y9SnoVHzb8mGPyL5Cyh16wFsFcWa+Y10yav7h/IZNEEcWajS3qr4Z3D58MQC2KJWzr1lTPugg+2vMJ9NlNO8pqyyK7Y9UrvJVMXTpLZQ7ywrUcPR95t+9/gnqQ== X-OriginatorOrg: windriver.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1205cb0e-8f04-4115-f26d-08dec8f598d3 X-MS-Exchange-CrossTenant-AuthSource: DS7PR11MB7783.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jun 2026 02:43:49.1277 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ddb2873-a1ad-4a18-ae4e-4644631433be X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: YcH9jeolAfH6FjDeOVF7Zcq5+9icldPwFxHzdEfaUq3+VSWpp6IhambTQftMQ+kJ+RmkjIvnYdHQRvhBLlWAFnBo/jrFscUT/gVcEjVoTos= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS4PPF7551E6552 X-Authority-Analysis: v=2.4 cv=SvmgLvO0 c=1 sm=1 tr=0 ts=6a2cc3e7 cx=c_pps a=eGdyP8VkvOZnUY1FLHxo4w==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=FelO9ux0wxsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=bi6dqmuHe4P4UrxVR6um:22 a=fTW__CHxibyLmBMfj2wP:22 a=NEAV23lmAAAA:8 a=t7CeM3EgAAAA:8 a=VwQbUJbxAAAA:8 a=IRCfwvbBwB6KfeHA4ccA:9 a=FdTzh2GWekK77mhwV6Dw:22 X-Proofpoint-GUID: UZg1xg6AYdXFdmXxXFrM8U9BQtAAmyti X-Proofpoint-ORIG-GUID: UZg1xg6AYdXFdmXxXFrM8U9BQtAAmyti X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjEzMDAyNCBTYWx0ZWRfX3Lq6Tui7O+ZV /FVkN85Zli6pPkV5Ae+QqB4aRl/VuAH1+X8+0nTQ76+3za7dr8eXA7JXnv82VjxTaj9lRVYtGcY 5eFnMLj++5D83Z5TuFLxZ165pXJ8ZedZKvcXq8hTROIfqNzBto8/XVX8QdGugN8njlkmxUoQgsh lXyWQZAdZVV5lPvdU1BkPmjvx2axTK94YcXP0bcqTdMVTDw5VnK0z9n0c7VqqP83zYSZ3rkM9L9 FK/ss8yc7qQQOlwK7G5Y7rBXK4hFF5cU+ix3ORQyh1Cuves/lELjIVFULekqJNmIORRyJFD71kr 7YbPqBhc1Fic7ayEWuBEoObN85o5kUYrF44lvJh23WcHoXG+aJoOOnKVdmuYoU3ED7u4PZ2Q7om wbNIYJymOKcjdMiwc89qxCD5jC8bodxoD3Rkmce9GfeooMrwozN9y7H3NEOyQEOwpkjd5CjtjHq +hahv3JcgQARa6voEoQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwNjEzMDAyNCBTYWx0ZWRfX9ThySxNTOR2V t/hfUqQQsxD6MmwYGzNFCLHGqubOCPUo0JA7yQPMr2EmNiC6NDFvZCwzIYjDZxmJVNXzYYWD8o6 pHmQn0b0u2yy0Ev+kD4kuigK1nxr/bQXWLW8IiKDzVtrclpXYNoJ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-13_01,2026-06-12_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 impostorscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 bulkscore=0 phishscore=0 spamscore=0 priorityscore=1501 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606130024 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sat, 13 Jun 2026 02:44:01 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/238648 This adresses a bug in libcap_psx_test, one of the ptests. libcap_psx_test checks that capability state remains consistent when concurrent changes to process capability state are made across multiple threads that each perform a fork(). libcap_psx_test outputs that it passed, but leaves a child process in an S state after executing. A fix was found by changing the exit() in a child process to _exit, avoiding the exit handlers that were causing the deadlock. Signed-off-by: Kris Gavvala --- ...1-libcap-fix-hang-in-libcap_psx_test.patch | 47 +++++++++++++++++++ meta/recipes-support/libcap/libcap_2.78.bb | 1 + 2 files changed, 48 insertions(+) create mode 100644 meta/recipes-support/libcap/files/0001-libcap-fix-hang-in-libcap_psx_test.patch diff --git a/meta/recipes-support/libcap/files/0001-libcap-fix-hang-in-libcap_psx_test.patch b/meta/recipes-support/libcap/files/0001-libcap-fix-hang-in-libcap_psx_test.patch new file mode 100644 index 0000000000..353d7358f2 --- /dev/null +++ b/meta/recipes-support/libcap/files/0001-libcap-fix-hang-in-libcap_psx_test.patch @@ -0,0 +1,47 @@ +From a51273125b90157de70ae2615a91f82c1775615b Mon Sep 17 00:00:00 2001 +From: Kris Gavvala +Date: Fri, 12 Jun 2026 14:55:11 -0700 +Subject: [PATCH] libcap: fix hang in libcap_psx_test + +When running libcap_psx_test on some non-x86-64 targets, a hang occurs. +In thread_fork_exit(), the forked child calls exit(0), which invokes exit +handlers and blocks waiting for an internal lock. + +Use of exit() is unsafe in a forked child of a multithreaded process because +of the internal handlers that can causing blocking. + +This commit replaces exit() with _exit() in the child to bypass +exit handling and prevent a deadlock from occuring. + +Signed-off-by: Kris Gavvala +Upstream-Status: Submitted [morgan@kernel.org] +Upstream tracking: [https://github.com/AndrewGMorgan/libcap_mirror/issues/12#issue-4652587116] + +--- + tests/libcap_psx_test.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/tests/libcap_psx_test.c b/tests/libcap_psx_test.c +index 58a13ec..693aeb5 100644 +--- a/tests/libcap_psx_test.c ++++ b/tests/libcap_psx_test.c +@@ -24,13 +24,13 @@ static void *thread_fork_exit(void *data) { + if (pid == 0) { + if (cap_prctlw(PR_SET_KEEPCAPS, !start, 0, 0, 0, 0) != 0) { + perror("failed to set proc"); +- exit(1); ++ _exit(1); + } + if (cap_prctlw(PR_GET_KEEPCAPS, 0, 0, 0, 0, 0) == start) { + perror("failed to have set forked proc"); +- exit(1); ++ _exit(1); + } +- exit(0); ++ _exit(0); + } + int res; + if (waitpid(pid, &res, 0) != pid || res != 0) { +-- +2.49.0 + diff --git a/meta/recipes-support/libcap/libcap_2.78.bb b/meta/recipes-support/libcap/libcap_2.78.bb index d91ece4aaf..54c965a130 100644 --- a/meta/recipes-support/libcap/libcap_2.78.bb +++ b/meta/recipes-support/libcap/libcap_2.78.bb @@ -18,6 +18,7 @@ SRC_URI:append:class-nativesdk = " \ " SRC_URI:append = " \ file://run-ptest \ + file://0001-libcap-fix-hang-in-libcap_psx_test.patch \ " SRC_URI[sha256sum] = "0d621e562fd932ccf67b9660fb018e468a683d7b827541df27813228c996bb11"