From nobody Sun May 5 07:26:08 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1656089554844396.25667666936874; Fri, 24 Jun 2022 09:52:34 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.355769.583627 (Exim 4.92) (envelope-from ) id 1o4mXM-00005e-9Y; Fri, 24 Jun 2022 16:52:04 +0000 Received: by outflank-mailman (output) from mailman id 355769.583627; Fri, 24 Jun 2022 16:52:04 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1o4mXM-00005X-6F; Fri, 24 Jun 2022 16:52:04 +0000 Received: by outflank-mailman (input) for mailman id 355769; Fri, 24 Jun 2022 16:52:02 +0000 Received: from mail.xenproject.org ([104.130.215.37]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1o4mXK-00005R-IB for xen-devel@lists.xenproject.org; Fri, 24 Jun 2022 16:52:02 +0000 Received: from xenbits.xenproject.org ([104.239.192.120]) by mail.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1o4mXK-00033d-CE; Fri, 24 Jun 2022 16:52:02 +0000 Received: from 54-240-197-232.amazon.com ([54.240.197.232] helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com) by xenbits.xenproject.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1o4mXK-0006pZ-3I; Fri, 24 Jun 2022 16:52:02 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org; s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date: Subject:Cc:To:From; bh=ESCTga1VeCr6gJ7GjxuK0AjiEvsJA55vwBsy56yrgpY=; b=Qq4k5W 8fjelYPId5/t+OF6Yh2pA3WkXtJzg4SY+RHUPefvjWPJdMIXObPeBOyi3mpjTOYzsyLJ8Yx+sZY8f bvMYW6LCaUlR/FHnUcz6jKr2aveefl1nnBZE5gHH9SHE1eHLGggXD167ZRPNOtOLKMXO0LPOPEERc ZRvfxJy5b+0=; From: Julien Grall To: xen-devel@lists.xenproject.org Cc: julien@xen.org, Julien Grall , Juergen Gross Subject: [PATCH] public/io: xs_wire: Allow Xenstore to report EPERM Date: Fri, 24 Jun 2022 17:51:51 +0100 Message-Id: <20220624165151.940-1-julien@xen.org> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @xen.org) X-ZM-MESSAGEID: 1656089556329100001 Content-Type: text/plain; charset="utf-8" From: Julien Grall C Xenstored is using EPERM when the client is not allowed to change the owner (see GET_PERMS). However, the xenstore protocol doesn't describe EPERM so EINVAL will be sent to the client. When writing test, it would be useful to differentiate between EINVAL (e.g. parsing error) and EPERM (i.e. no permission). So extend xsd_errors[] to support return EPERM. Looking at previous time xsd_errors was extended (8b2c441a1b), it was considered to be safe to add a new error because at least Linux driver and libxenstore treat an unknown error code as EINVAL. This statement doesn't cover other possible OSes, however I am not aware of any breakage. Signed-off-by: Julien Grall --- xen/include/public/io/xs_wire.h | 1 + 1 file changed, 1 insertion(+) diff --git a/xen/include/public/io/xs_wire.h b/xen/include/public/io/xs_wir= e.h index c1ec7c73e3b1..c23b63cdfeaf 100644 --- a/xen/include/public/io/xs_wire.h +++ b/xen/include/public/io/xs_wire.h @@ -76,6 +76,7 @@ static struct xsd_errors xsd_errors[] __attribute__((unused)) #endif =3D { + XSD_ERROR(EPERM), XSD_ERROR(EINVAL), XSD_ERROR(EACCES), XSD_ERROR(EEXIST), --=20 2.32.0