From nobody Wed Mar 8 03:51:57 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PWdfk07wQz3x46c; Wed, 8 Mar 2023 03:51:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PWdfj6pNNz3ByP; Wed, 8 Mar 2023 03:51:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678247518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=skwolE4SPNUQzo3X1uGpZj1a29b16VMjgP5klG7WR6Q=; b=ZK2El1tqIpnEty5/kFvlJ1YsgkyCGvqM0o2mpnB/XqlKQUUNVbkPUVA9LeKGLSn8AOC9ZJ uDi9mQZ4qa0epiG2jE0Mw3ZoG9X5pS1mF0UzV3jcRG2UwVk+WH27L8ylPJQ2oKx5tqZ2+q QaaNuhE8LnMwgoHZlv7h49dTySpStBr0K+P8unQUa4fSLMSpSnjbnL4QW8BO4qmsjad6kh 4kpGU93/42htZNTr+D6RVOwj+ucYhZhjf7pal0hKZVKqqGMykYSi7K+Zl3G1z+Ixp8SUPY btYEK2vJOl1cEssI0JSaeBZoGDPggjlafCuZpFuCTdgeNUMyGpENiGcLA9eu+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678247518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=skwolE4SPNUQzo3X1uGpZj1a29b16VMjgP5klG7WR6Q=; b=mK5fGwvp0BQMOldicO8eOpOi6ZuXNIUlgPJiIq9V6wFQ16DllYLm/LOF4Rq2qBl43Q8hHD IS7hPS3edRIcOQrxz96A5c2oIOcKU0MWZCVsUNlyL0jlcqOOlgn1KcxmlR455GGQtDjbda /82eKSOpfrizrdFOnUtplxKLht5o9asATTOFhMLQBYtX27MQa+PjCNQ517rfIsnjnXl2mF RuyMWgNf+8sbB56r/2vFNY2R3TEneSJC6IaLmv9GzyW9xKsvgyd+ZVmwt0R6fLQGvOKMlA aImjcSmyqaIvTQtiWDgh6WJ7ZSEBiZ6AKS/+0KCLPEn4AFA5wDP7nb7GTPcrmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678247518; a=rsa-sha256; cv=none; b=pzJwzbzcCPT7p2oA1Ys8bZiaUH676ezFiSpWcaH2Nzh+nhmgVTkhvDvhLa1eg/nGudjgNx BU/dPB2niMSaid04Ku+oB6YbZKQOX3vdyr8De2xWDs3s4PLVC1gljiBWoxFE8vpuNX6V+O FAcBuLRNuDnfr0W/BcRevi9FThC920zq6a5JL9Kth49gRgxEvykBeINdLIlj1G9e1g6QxZ DdcOncxgZC7tCSQhEjjjSKzERvZF6fnuJisYv17cMf/445Bh06w+6BHL/3ES668+1d39Ci 8AfIq22sGZKs9BrCSjd0HFHQTICdU/XpttJMq0GuXHFKqPvADt2enjZRXro0cQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PWdfj5Z4Cz19mB; Wed, 8 Mar 2023 03:51:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 3283pv05007719; Wed, 8 Mar 2023 03:51:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3283pvLR007718; Wed, 8 Mar 2023 03:51:57 GMT (envelope-from git) Date: Wed, 8 Mar 2023 03:51:57 GMT Message-Id: <202303080351.3283pvLR007718@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 139825753995 - releng/13.2 - xz: Improve compatibility with systems without capability mode support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.2 X-Git-Reftype: branch X-Git-Commit: 139825753995ca25a1d40df9f067a1fa4e847d44 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.2 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=139825753995ca25a1d40df9f067a1fa4e847d44 commit 139825753995ca25a1d40df9f067a1fa4e847d44 Author: Xin LI AuthorDate: 2023-03-05 09:40:13 +0000 Commit: Xin LI CommitDate: 2023-03-08 03:51:36 +0000 xz: Improve compatibility with systems without capability mode support When the kernel is built without capability mode support, or when using an emulator like qemu-user-static that does not translate system calls, these calls will return a negative number and set the errno to ENOSYS. However, this error does not indicate a real programming or runtime error and is generally ignored by base system applications built with capability mode sandboxing. Match this behavior by making xz(1) to ignore ENOSYS errors when calling capability mode system calls too. PR: 269185 Reported by: Dan Kotowski Approved by: re (cperciva) (cherry picked from commit c237c10a2346dec422233db05b2012afd45363fa) (cherry picked from commit 0cc2deb476bec103ad7c8dbeb650aa2937d6a0da) --- contrib/xz/src/xz/file_io.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/contrib/xz/src/xz/file_io.c b/contrib/xz/src/xz/file_io.c index a5841b370302..3625393a5dc7 100644 --- a/contrib/xz/src/xz/file_io.c +++ b/contrib/xz/src/xz/file_io.c @@ -193,23 +193,24 @@ io_sandbox_enter(int src_fd) cap_rights_t rights; if (cap_rights_limit(src_fd, cap_rights_init(&rights, - CAP_EVENT, CAP_FCNTL, CAP_LOOKUP, CAP_READ, CAP_SEEK))) + CAP_EVENT, CAP_FCNTL, CAP_LOOKUP, CAP_READ, CAP_SEEK)) < 0 && + errno != ENOSYS) goto error; if (cap_rights_limit(STDOUT_FILENO, cap_rights_init(&rights, CAP_EVENT, CAP_FCNTL, CAP_FSTAT, CAP_LOOKUP, - CAP_WRITE, CAP_SEEK))) + CAP_WRITE, CAP_SEEK)) < 0 && errno != ENOSYS) goto error; if (cap_rights_limit(user_abort_pipe[0], cap_rights_init(&rights, - CAP_EVENT))) + CAP_EVENT)) < 0 && errno != ENOSYS) goto error; if (cap_rights_limit(user_abort_pipe[1], cap_rights_init(&rights, - CAP_WRITE))) + CAP_WRITE)) < 0 && errno != ENOSYS) goto error; - if (cap_enter()) + if (cap_enter() < 0 && errno != ENOSYS) goto error; #elif defined(HAVE_PLEDGE)