From nobody Tue Mar 07 06:55:56 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 4PW5nS6nkgz3x101; Tue, 7 Mar 2023 06:55:56 +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 4PW5nS536tz4K5t; Tue, 7 Mar 2023 06:55:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678172156; 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=dVFIaT5GKg96nnWgScMSu5ce45Mk/FkU320qnsV2KlM=; b=MVhN3RLrOXmfJg7KhGMKgTnpMETcLNZCc4X6HSlay739omtlMgIatLYiCb5QwxEvTT3bp0 PYNBbZUrq9I19YPwLllT00dXcHFlwRtwuCd0mwef2bXwvs2i2EfeEvKShCVvEbMEPsg1DI HGaVzjhvmei/uAhDFvVra/flho5EDJa9ONq3MNU1QrvX3z/Gj1gxB/RY8P7+xsshctJyJW bca3av1M8S8OtKK2ou0PaGJJxK653/SQhYdmrsTIXKiDXhFaUwQ5G10P2I0S7Q2AjtqmVV DMPmBeCBMN7i/kR5fKo/jjUlxji4V4lM1clX+0U2UokHTq0hfRNG7Vs3lZq2AQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1678172156; 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=dVFIaT5GKg96nnWgScMSu5ce45Mk/FkU320qnsV2KlM=; b=aw3vEi2vEBek07svyC1YhBA1qcGOE0f2o9enlqJNCEhMLOWB61TnPqwdXHvY9Oy30LlUWo 2UddrTpuUZFu7o1395sWwYNZDAD4YYM73QByWav/FKiYhr2Xv9t4ENZ2cYYk9zOuH9JmAc 1dWSmWElqYZhJoTerieHfNyPq4f7QQKhJTo+uRvynA6kJs1pZBzivPbfmx+X/C+/0QK8ku PHlCNIRC3lUusQPdIzFARYiGs99bScXbyLdAPJWq9Y3id55ILf1s/92RaRy5WBLmTHG/oG MItRAehjMB7LZjHnS2MEkf/TSj6VuS6OWg1S8xrv21xAjiL+sL8fq5WVZDf7hQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1678172156; a=rsa-sha256; cv=none; b=uoiqGMpqXmHXaXEMKuuWZE5Ia3391ZFhOUdZLqxzMJTSipd+L8Cy3Fy0KXgIe5uPBsUZHH eUvhpSMLlPCb11q51izWmLSX0DfL2AnPo5G2dml5nK7aYlCCXWInwfTkGcL8OZNHvnuq+l twisvniDjXN+HwDG+OTZAp6Rm/4tqa30MU2UKFlUnl6jkY4PTKp2pAurF8TJXeW/QOmqcL IcE2pIKes7EjEiAHKwg9UdjWnVg7iPMwKVkBw1sskAwNKzZNM2m40NFod2Bimk+uaXGX2m ujJGktwsKA5sDl9l0xzTge4lmDbndzDsEjuCWVLkzBxrmO/GrmiBgdAJKOxOvw== 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 4PW5nS4770zZLn; Tue, 7 Mar 2023 06:55:56 +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 3276tuCJ037442; Tue, 7 Mar 2023 06:55:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 3276tuVh037441; Tue, 7 Mar 2023 06:55:56 GMT (envelope-from git) Date: Tue, 7 Mar 2023 06:55:56 GMT Message-Id: <202303070655.3276tuVh037441@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: 0cc2deb476be - stable/13 - 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/stable/13 X-Git-Reftype: branch X-Git-Commit: 0cc2deb476bec103ad7c8dbeb650aa2937d6a0da Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=0cc2deb476bec103ad7c8dbeb650aa2937d6a0da commit 0cc2deb476bec103ad7c8dbeb650aa2937d6a0da Author: Xin LI AuthorDate: 2023-03-05 09:40:13 +0000 Commit: Xin LI CommitDate: 2023-03-07 06:55:41 +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 (cherry picked from commit c237c10a2346dec422233db05b2012afd45363fa) --- 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)