From nobody Tue May 7 16:03:23 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 1656333481683686.0226026687178; Mon, 27 Jun 2022 05:38:01 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.356570.584794 (Exim 4.92) (envelope-from ) id 1o5nzZ-0006yI-SR; Mon, 27 Jun 2022 12:37:25 +0000 Received: by outflank-mailman (output) from mailman id 356570.584794; Mon, 27 Jun 2022 12:37:25 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1o5nzZ-0006xi-Lf; Mon, 27 Jun 2022 12:37:25 +0000 Received: by outflank-mailman (input) for mailman id 356570; Mon, 27 Jun 2022 12:37:24 +0000 Received: from mail.xenproject.org ([104.130.215.37]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1o5nzY-0006uV-JV for xen-devel@lists.xenproject.org; Mon, 27 Jun 2022 12:37:24 +0000 Received: from xenbits.xenproject.org ([104.239.192.120]) by mail.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1o5nzY-0002wl-Gr; Mon, 27 Jun 2022 12:37:24 +0000 Received: from 54-240-197-224.amazon.com ([54.240.197.224] 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 1o5nzY-0007Ql-8U; Mon, 27 Jun 2022 12:37:24 +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:References: In-Reply-To:Message-Id:Date:Subject:Cc:To:From; bh=w7gSoXXb34865U21Be1Dz8VUMwYroXFPxp1CGLJXARQ=; b=tEEu3IRfqsl4LeTJgPhUjaaFHy 57AeI0XGFwjlSBXt8yplYdBLiTcvQt0ogJYRrH84tPd+Z2re7iCsbEpQ7zDwjGM/64MS5sy7PcKgj tgSiaZ2uA723Xz2JuutsAm5Br4ztvi9Xt8Ie495kpfqmPtQAYc8FnmeoS8N/QkPQHYow=; From: Julien Grall To: xen-devel@lists.xenproject.org Cc: jbeulich@suse.com, Julien Grall , Juergen Gross Subject: [PATCH v2 1/2] public/io: xs_wire: Document that EINVAL should always be first in xsd_errors Date: Mon, 27 Jun 2022 13:36:34 +0100 Message-Id: <20220627123635.3416-2-julien@xen.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220627123635.3416-1-julien@xen.org> References: <20220627123635.3416-1-julien@xen.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @xen.org) X-ZM-MESSAGEID: 1656333482934100001 Content-Type: text/plain; charset="utf-8" From: Julien Grall Some tools (e.g. xenstored) always expect EINVAL to be first in xsd_errors. Document it so, one doesn't add a new entry before hand by mistake. Signed-off-by: Julien Grall ---- I have tried to add a BUILD_BUG_ON() but GCC complained that the value was not a constant. I couldn't figure out a way to make GCC happy. Changes in v2: - New patch --- 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..dd4c9c9b972d 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 { + /* /!\ Some users (e.g. xenstored) expect EINVAL to be the first entry= . */ XSD_ERROR(EINVAL), XSD_ERROR(EACCES), XSD_ERROR(EEXIST), --=20 2.32.0 From nobody Tue May 7 16:03:23 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 1656333478526650.0531377595246; Mon, 27 Jun 2022 05:37:58 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.356571.584808 (Exim 4.92) (envelope-from ) id 1o5nzb-0007PN-2U; Mon, 27 Jun 2022 12:37:27 +0000 Received: by outflank-mailman (output) from mailman id 356571.584808; Mon, 27 Jun 2022 12:37:27 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1o5nza-0007PG-Vs; Mon, 27 Jun 2022 12:37:26 +0000 Received: by outflank-mailman (input) for mailman id 356571; Mon, 27 Jun 2022 12:37:25 +0000 Received: from mail.xenproject.org ([104.130.215.37]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1o5nzZ-0006ub-Cy for xen-devel@lists.xenproject.org; Mon, 27 Jun 2022 12:37:25 +0000 Received: from xenbits.xenproject.org ([104.239.192.120]) by mail.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1o5nzZ-0002wr-AH; Mon, 27 Jun 2022 12:37:25 +0000 Received: from 54-240-197-224.amazon.com ([54.240.197.224] 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 1o5nzZ-0007Ql-1x; Mon, 27 Jun 2022 12:37:25 +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:References: In-Reply-To:Message-Id:Date:Subject:Cc:To:From; bh=XVUKUMHdJRQ1Ho4SEl/UvW5XaMba3R7x8iHBIEdv7MQ=; b=cBxr+PMKesl+cgeA7NVj/ZjhnM yMapaeUAmT1aPLWjPzz/FQXUImz5I+zHRw/LQnFdfmLIQsABQAf9gQ5L4S2e8LvrkVZl2QbpI9xy+ e6nJcdbauKwR4Rio2piVqIpHA0j2R5kFcwrE1m1+eKvmusYp9P1SFwH9VFvCJsvDia10=; From: Julien Grall To: xen-devel@lists.xenproject.org Cc: jbeulich@suse.com, Julien Grall , Juergen Gross Subject: [PATCH v2 2/2] public/io: xs_wire: Allow Xenstore to report EPERM Date: Mon, 27 Jun 2022 13:36:35 +0100 Message-Id: <20220627123635.3416-3-julien@xen.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220627123635.3416-1-julien@xen.org> References: <20220627123635.3416-1-julien@xen.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @xen.org) X-ZM-MESSAGEID: 1656333478929100003 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 Reviewed-by: Juergen Gross ---- Changes in v2: - Define EPERM at the end of xsd_errors --- xen/include/public/io/xs_wire.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/include/public/io/xs_wire.h b/xen/include/public/io/xs_wir= e.h index dd4c9c9b972d..211770911d9b 100644 --- a/xen/include/public/io/xs_wire.h +++ b/xen/include/public/io/xs_wire.h @@ -91,7 +91,8 @@ __attribute__((unused)) XSD_ERROR(EBUSY), XSD_ERROR(EAGAIN), XSD_ERROR(EISCONN), - XSD_ERROR(E2BIG) + XSD_ERROR(E2BIG), + XSD_ERROR(EPERM), }; #endif =20 --=20 2.32.0