From nobody Thu Oct 30 18:31:01 2025 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; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1753878213; cv=none; d=zohomail.com; s=zohoarc; b=H4KXpekDtFTywesy8ANPo3yHnsOayeAX4HgGH5efu7QSP5WfC0NqvmlPYJM6ffecYa77o3hGvd5/PKWg+OL1+BU6fy1mJrdxTOqXhOHFhJHTc/psumXu7KMnW5xNuB19uZ2HyPvRLbn2/PzLjxnK6OSzycYRVI1oKzrUH2gh38Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753878213; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=zTuQB4usI/8G+rFjtACQ9r4c3DbmIKyqro5eo5iqlqQ=; b=eHxMgwZRDEJWiQ8syZQpGWBhGERG1OAWi9PY3fjHnVUs+q08U0Fk0M6jLKyhOK3NHNzrRK9UCnjPhTl4C3Df6tIQuBDm8eeJ8Ei06D6YNtIijdO4XD7wP+qzpwVu8jWqLyCjpIgyGJ8ZrK7kpB2pvHDX0q3nYw/YT0XFphXKUy4= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1753878213520592.7622482215504; Wed, 30 Jul 2025 05:23:33 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1063874.1429600 (Exim 4.92) (envelope-from ) id 1uh5q0-0004l1-1G; Wed, 30 Jul 2025 12:23:16 +0000 Received: by outflank-mailman (output) from mailman id 1063874.1429600; Wed, 30 Jul 2025 12:23:16 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5pz-0004ku-UP; Wed, 30 Jul 2025 12:23:15 +0000 Received: by outflank-mailman (input) for mailman id 1063874; Wed, 30 Jul 2025 12:23:14 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5py-0004Wg-QQ for xen-devel@lists.xenproject.org; Wed, 30 Jul 2025 12:23:14 +0000 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id f6cc3d6e-6d3f-11f0-a320-13f23c93f187; Wed, 30 Jul 2025 14:23:14 +0200 (CEST) Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (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) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id A9D8C219D1; Wed, 30 Jul 2025 12:23:13 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (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) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 79C8F1388B; Wed, 30 Jul 2025 12:23:13 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id THJMHLEOimiOJAAAD6G6ig (envelope-from ); Wed, 30 Jul 2025 12:23:13 +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" X-Inumbo-ID: f6cc3d6e-6d3f-11f0-a320-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878193; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zTuQB4usI/8G+rFjtACQ9r4c3DbmIKyqro5eo5iqlqQ=; b=kxGtyChC6kedJU2CRHv1jZIm6BBo1wAcmbURo8YPfpv5HmVGaUIrWYb8a/vY0I08npBAAH 9RmieaHqxurhsqrGdnK+B9WdSQ9ozFliFmDtLcHu5dIwnzGuopdF0fs7GuUIc+XR1ZPf1Y zkxQHpYqxMsHXWib8v+VHtbuJSZhv9E= Authentication-Results: smtp-out1.suse.de; dkim=pass header.d=suse.com header.s=susede1 header.b=kxGtyChC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878193; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zTuQB4usI/8G+rFjtACQ9r4c3DbmIKyqro5eo5iqlqQ=; b=kxGtyChC6kedJU2CRHv1jZIm6BBo1wAcmbURo8YPfpv5HmVGaUIrWYb8a/vY0I08npBAAH 9RmieaHqxurhsqrGdnK+B9WdSQ9ozFliFmDtLcHu5dIwnzGuopdF0fs7GuUIc+XR1ZPf1Y zkxQHpYqxMsHXWib8v+VHtbuJSZhv9E= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Julien Grall , Anthony PERARD , Jason Andryuk Subject: [PATCH v3 1/9] xenstored: use fread() instead of mmap() for reading live update state Date: Wed, 30 Jul 2025 14:22:57 +0200 Message-ID: <20250730122305.4050-2-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730122305.4050-1-jgross@suse.com> References: <20250730122305.4050-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-3.01 / 50.00]; BAYES_HAM(-3.00)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[suse.com:s=susede1]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.com:mid,suse.com:dkim,suse.com:email]; FUZZY_RATELIMITED(0.00)[rspamd.com]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from]; FROM_EQ_ENVFROM(0.00)[]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; DKIM_TRACE(0.00)[suse.com:+] X-Spam-Flag: NO X-Spam-Level: X-Rspamd-Queue-Id: A9D8C219D1 X-Rspamd-Server: rspamd2.dmz-prg2.suse.org X-Rspamd-Action: no action X-Spam-Score: -3.01 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1753878215488116600 Content-Type: text/plain; charset="utf-8" Mini-OS doesn't support using mmap() for accessing a file. In order to support reading the live update state from a 9pfs based file, use fread() instead of mmap(). While adding the offset member to lu_state, change the type of "size" to size_t in order to avoid problems with state exceeding 4GB. Signed-off-by: Juergen Gross Reviewed-by: Jason Andryuk --- V2: - move to start of series V3: - change offset to off64_t and size to size_t (Andrew Cooper) --- tools/xenstored/lu.c | 97 +++++++++++++++++++++++++++----------------- 1 file changed, 60 insertions(+), 37 deletions(-) diff --git a/tools/xenstored/lu.c b/tools/xenstored/lu.c index 77e0d377c5..fa8395eb1e 100644 --- a/tools/xenstored/lu.c +++ b/tools/xenstored/lu.c @@ -27,9 +27,11 @@ struct live_update *lu_status; =20 struct lu_dump_state { void *buf; - unsigned int size; - int fd; + unsigned int buf_size; + size_t size; + size_t offset; char *filename; + FILE *fp; }; =20 static int lu_destroy(void *data) @@ -80,9 +82,10 @@ bool lu_is_pending(void) return lu_status !=3D NULL; } =20 -static void lu_get_dump_state(struct lu_dump_state *state) +static void lu_get_dump_state(void *ctx, struct lu_dump_state *state) { struct stat statbuf; + int fd; =20 state->size =3D 0; =20 @@ -91,82 +94,107 @@ static void lu_get_dump_state(struct lu_dump_state *st= ate) if (!state->filename) barf("Allocation failure"); =20 - state->fd =3D open(state->filename, O_RDONLY); - if (state->fd < 0) - return; - if (fstat(state->fd, &statbuf) !=3D 0) - goto out_close; + fd =3D open(state->filename, O_RDONLY); + if (fd < 0) + barf("No state file found"); + if (fstat(fd, &statbuf) !=3D 0) + barf("Could not fstat state file"); state->size =3D statbuf.st_size; =20 - state->buf =3D mmap(NULL, state->size, PROT_READ, MAP_PRIVATE, - state->fd, 0); - if (state->buf =3D=3D MAP_FAILED) { - state->size =3D 0; - goto out_close; - } + /* Start with a 4k buffer. If needed we'll reallocate a larger one. */ + state->buf_size =3D 4096; + state->buf =3D talloc_size(ctx, state->buf_size); + if (!state->buf) + barf("Allocation failure"); =20 - return; + state->fp =3D fdopen(fd, "r"); +} =20 - out_close: - close(state->fd); +static void lu_dump_close(FILE *fp) +{ + fclose(fp); } =20 static void lu_close_dump_state(struct lu_dump_state *state) { assert(state->filename !=3D NULL); =20 - munmap(state->buf, state->size); - close(state->fd); + lu_dump_close(state->fp); =20 unlink(state->filename); talloc_free(state->filename); + talloc_free(state->buf); +} + +static void lu_read_data(void *ctx, struct lu_dump_state *state, + unsigned int size) +{ + if (state->offset + size > state->size) + barf("Inconsistent state data"); + + if (size > state->buf_size) { + state->buf =3D talloc_realloc_size(ctx, state->buf, size); + if (!state->buf) + barf("Allocation failure"); + state->buf_size =3D size; + } + + if (fread(state->buf, size, 1, state->fp) !=3D 1) + barf("State read error"); + + state->offset +=3D size; } =20 void lu_read_state(void) { struct lu_dump_state state =3D {}; - struct xs_state_record_header *head; + struct xs_state_record_header head; void *ctx =3D talloc_new(NULL); /* Work context for subfunctions. */ struct xs_state_preamble *pre; unsigned int version; =20 syslog(LOG_INFO, "live-update: read state\n"); - lu_get_dump_state(&state); + lu_get_dump_state(ctx, &state); if (state.size =3D=3D 0) barf_perror("No state found after live-update"); =20 + lu_read_data(ctx, &state, sizeof(*pre)); pre =3D state.buf; version =3D be32toh(pre->version); if (memcmp(pre->ident, XS_STATE_IDENT, sizeof(pre->ident)) || !version || version > XS_STATE_VERSION || pre->flags !=3D XS_STATE_FLAGS) barf("Unknown record identifier"); - for (head =3D state.buf + sizeof(*pre); - head->type !=3D XS_STATE_TYPE_END && - (void *)head - state.buf < state.size; - head =3D (void *)head + sizeof(*head) + head->length) { - switch (head->type) { + + for (;;) { + lu_read_data(ctx, &state, sizeof(head)); + head =3D *(struct xs_state_record_header *)(state.buf); + if (head.type =3D=3D XS_STATE_TYPE_END) + break; + lu_read_data(ctx, &state, head.length); + + switch (head.type) { case XS_STATE_TYPE_GLOBAL: - read_state_global(ctx, head + 1); + read_state_global(ctx, state.buf); break; case XS_STATE_TYPE_CONN: - read_state_connection(ctx, head + 1); + read_state_connection(ctx, state.buf); break; case XS_STATE_TYPE_WATCH: - read_state_watch(ctx, head + 1); + read_state_watch(ctx, state.buf); break; case XS_STATE_TYPE_TA: xprintf("live-update: ignore transaction record\n"); break; case XS_STATE_TYPE_NODE: - read_state_node(ctx, head + 1); + read_state_node(ctx, state.buf); break; case XS_STATE_TYPE_DOMAIN: - read_state_domain(ctx, head + 1, version); + read_state_domain(ctx, state.buf, version); break; default: xprintf("live-update: unknown state record %08x\n", - head->type); + head.type); break; } } @@ -271,11 +299,6 @@ static FILE *lu_dump_open(const void *ctx) return fdopen(fd, "w"); } =20 -static void lu_dump_close(FILE *fp) -{ - fclose(fp); -} - static const char *lu_dump_state(const void *ctx, struct connection *conn) { FILE *fp; --=20 2.43.0 From nobody Thu Oct 30 18:31:01 2025 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; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1753878216; cv=none; d=zohomail.com; s=zohoarc; b=mpPy3Ic2rti4Z5iQeRTfFAhNfF+IVlPOArpw2YQNKyhJ88wPKiUG2CFsvkRd5szFqaCzZQqGoERo9AOT8b/UfnC/p4yuWQbeW6SD41EPxxFDnfQ+obvx8WQY2ZDXN6ECVrZn3gfw5NBKTsvWjO6mYFdOQxqs5DsL/FHoN0KyJHo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753878216; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=cL+my/8Y69Yt6PMb++AXznzgrjyjpycOZ4ZdC57l7Vg=; b=bjgV+rYClee/WqfzaO5lRHsmQ3KP8MFMFWzSOd5n+J9wpBPGL8WZUKB8dJ2L5at7MYLS2iHnzm0rSTUQVwWLTh0fo0OT37vOlHiRh9HEIhGXFKxgFXklHyUMj6zMYCGXJzDd5kPKrkXLFBoTFyaNSJBU9az9uz1ocq0uzxo8FzM= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1753878216932726.9123598599774; Wed, 30 Jul 2025 05:23:36 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1063875.1429610 (Exim 4.92) (envelope-from ) id 1uh5q7-000545-91; Wed, 30 Jul 2025 12:23:23 +0000 Received: by outflank-mailman (output) from mailman id 1063875.1429610; Wed, 30 Jul 2025 12:23:23 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5q7-00053w-65; Wed, 30 Jul 2025 12:23:23 +0000 Received: by outflank-mailman (input) for mailman id 1063875; Wed, 30 Jul 2025 12:23:21 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5q5-00051g-Jv for xen-devel@lists.xenproject.org; Wed, 30 Jul 2025 12:23:21 +0000 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id fa2b60c0-6d3f-11f0-b895-0df219b8e170; Wed, 30 Jul 2025 14:23:19 +0200 (CEST) Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (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) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 3E2211F809; Wed, 30 Jul 2025 12:23:19 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (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) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 15B031388B; Wed, 30 Jul 2025 12:23:19 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id o8KsA7cOimiXJAAAD6G6ig (envelope-from ); Wed, 30 Jul 2025 12:23:19 +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" X-Inumbo-ID: fa2b60c0-6d3f-11f0-b895-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878199; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=cL+my/8Y69Yt6PMb++AXznzgrjyjpycOZ4ZdC57l7Vg=; b=crZWgH0I14VpZS+kTwqZjRZqmY3dzdgKa9dbBIIcl8uJG9hKLLZEUR4ayQoqG0RZLnPry2 zSbfw/KEM+ImUBxCycco8R6FMbHW1v8YvW89SDQw7WiPkWCdBSP7CKLLeKtbAf300hEvsM 5ngCkN2ZXRWQ+QBNo7a7Gnlh9BrfHYM= Authentication-Results: smtp-out2.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878199; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=cL+my/8Y69Yt6PMb++AXznzgrjyjpycOZ4ZdC57l7Vg=; b=crZWgH0I14VpZS+kTwqZjRZqmY3dzdgKa9dbBIIcl8uJG9hKLLZEUR4ayQoqG0RZLnPry2 zSbfw/KEM+ImUBxCycco8R6FMbHW1v8YvW89SDQw7WiPkWCdBSP7CKLLeKtbAf300hEvsM 5ngCkN2ZXRWQ+QBNo7a7Gnlh9BrfHYM= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Anthony PERARD , Jason Andryuk Subject: [PATCH v3 2/9] libevtchn: add O_CLOEXEC support for Mini-OS Date: Wed, 30 Jul 2025 14:22:58 +0200 Message-ID: <20250730122305.4050-3-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730122305.4050-1-jgross@suse.com> References: <20250730122305.4050-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Level: X-Spamd-Result: default: False [-2.80 / 50.00]; BAYES_HAM(-3.00)[99.99%]; NEURAL_HAM_LONG(-1.00)[-1.000]; MID_CONTAINS_FROM(1.00)[]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-0.999]; MIME_GOOD(-0.10)[text/plain]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,suse.com:mid,imap1.dmz-prg2.suse.org:helo]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FUZZY_RATELIMITED(0.00)[rspamd.com]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; RCPT_COUNT_THREE(0.00)[4]; RCVD_TLS_ALL(0.00)[] X-Spam-Flag: NO X-Spam-Score: -2.80 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1753878217467116600 Content-Type: text/plain; charset="utf-8" With Mini-OS now supporting O_CLOEXEC for the kexec case, no longer ignore the XENEVTCHN_NO_CLOEXEC flag in minios.c. Signed-off-by: Juergen Gross Reviewed-by: Jason Andryuk Acked-by: Anthony PERARD --- tools/libs/evtchn/minios.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c index 046cd28d37..0d2a201438 100644 --- a/tools/libs/evtchn/minios.c +++ b/tools/libs/evtchn/minios.c @@ -114,10 +114,6 @@ static void evtchn_initialize(void) ftype_evtchn =3D alloc_file_type(&evtchn_ops); } =20 -/* - * XENEVTCHN_NO_CLOEXEC is being ignored, as there is no exec() call suppo= rted - * in Mini-OS. - */ int osdep_evtchn_open(xenevtchn_handle *xce, unsigned int flags) { int fd; @@ -137,6 +133,8 @@ int osdep_evtchn_open(xenevtchn_handle *xce, unsigned i= nt flags) return -1; } =20 + if ( !(flags & XENEVTCHN_NO_CLOEXEC) ) + file->cloexec =3D true; file->dev =3D ports; XEN_LIST_INIT(&ports->list); xce->fd =3D fd; --=20 2.43.0 From nobody Thu Oct 30 18:31:01 2025 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; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1753878219; cv=none; d=zohomail.com; s=zohoarc; b=QdhFkJHQIFljkcOcCIVW2byacwpUwoCR+jy0dcyNLTBIf+iWPmNBBIyz5A8YRFVxrB21nuEhsS7JmAlJW4Khds5YMUv7mc0+gNf/5PLZ/fNRSlWIZoDGQVrR3iOrJEdmKP4WIntxiApmg11EwMbZQCXEstLY3YqYw6WSRs5692c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753878219; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=VLpe7KKQnXA6SKs55rwaL4IZ02NYf6XdE3j376Oj+TA=; b=ksG18jyiwwMpd1fMAHOvWPBqkkJZiuAGWHtz7UG3GL3WOjzKzzS1PEtPtO06bZZfWzJBHPRPEgNylsB6HIAVlWbOZZD8zTQ4pr7suwCgUxrWdSF4eZilm5BKEn9P+VmrmrVnX6XznRnkJVFbYiaBWjEpBbC8l+8xgkQqoxYx6IY= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 175387821950943.09204581896972; Wed, 30 Jul 2025 05:23:39 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1063877.1429621 (Exim 4.92) (envelope-from ) id 1uh5qA-0005Kj-Gt; Wed, 30 Jul 2025 12:23:26 +0000 Received: by outflank-mailman (output) from mailman id 1063877.1429621; Wed, 30 Jul 2025 12:23:26 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5qA-0005Kc-DS; Wed, 30 Jul 2025 12:23:26 +0000 Received: by outflank-mailman (input) for mailman id 1063877; Wed, 30 Jul 2025 12:23:25 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5q9-0004Wg-Lt for xen-devel@lists.xenproject.org; Wed, 30 Jul 2025 12:23:25 +0000 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id fd68791f-6d3f-11f0-a320-13f23c93f187; Wed, 30 Jul 2025 14:23:25 +0200 (CEST) Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (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) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id DAA62219D1; Wed, 30 Jul 2025 12:23:24 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (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) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id A48A71388B; Wed, 30 Jul 2025 12:23:24 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id zc6OJrwOimidJAAAD6G6ig (envelope-from ); Wed, 30 Jul 2025 12:23: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" X-Inumbo-ID: fd68791f-6d3f-11f0-a320-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878204; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VLpe7KKQnXA6SKs55rwaL4IZ02NYf6XdE3j376Oj+TA=; b=D9RHVh1BTG29YB1ynPCigO2pZNIWqWnrktRaV9A6sT+ncGsDT22G9m5PmdNx0V6+85939B i8Cg5VL9HOasnCashQ787KFdcHoF7WjzMe5A9mS14b3Rlo+cLII7aLd6XRJRWGrwYQ3/5n 9ZH8zUK/8w5j7PHswY2k2YoTIh345rw= Authentication-Results: smtp-out1.suse.de; dkim=pass header.d=suse.com header.s=susede1 header.b=D9RHVh1B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878204; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VLpe7KKQnXA6SKs55rwaL4IZ02NYf6XdE3j376Oj+TA=; b=D9RHVh1BTG29YB1ynPCigO2pZNIWqWnrktRaV9A6sT+ncGsDT22G9m5PmdNx0V6+85939B i8Cg5VL9HOasnCashQ787KFdcHoF7WjzMe5A9mS14b3Rlo+cLII7aLd6XRJRWGrwYQ3/5n 9ZH8zUK/8w5j7PHswY2k2YoTIh345rw= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Anthony PERARD , Jason Andryuk Subject: [PATCH v3 3/9] libxengnttab: set the cloexec flag on Mini-OS Date: Wed, 30 Jul 2025 14:22:59 +0200 Message-ID: <20250730122305.4050-4-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730122305.4050-1-jgross@suse.com> References: <20250730122305.4050-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Level: X-Spam-Flag: NO X-Rspamd-Queue-Id: DAA62219D1 X-Rspamd-Action: no action X-Rspamd-Server: rspamd1.dmz-prg2.suse.org X-Spamd-Result: default: False [-3.01 / 50.00]; BAYES_HAM(-3.00)[99.99%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[suse.com:s=susede1]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim,suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FUZZY_RATELIMITED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; DKIM_TRACE(0.00)[suse.com:+] X-Spam-Score: -3.01 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1753878221783116600 Content-Type: text/plain; charset="utf-8" With Mini-OS now supporting the O_CLOEXEC flag for the kexec case, set the related cloexec flag in minios.c. Signed-off-by: Juergen Gross Reviewed-by: Jason Andryuk Acked-by: Anthony PERARD --- tools/libs/gnttab/minios.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/libs/gnttab/minios.c b/tools/libs/gnttab/minios.c index cac89f0ba6..63bbdc7719 100644 --- a/tools/libs/gnttab/minios.c +++ b/tools/libs/gnttab/minios.c @@ -74,6 +74,7 @@ int osdep_gnttab_open(xengnttab_handle *xgt) } =20 file->dev =3D gntmap; + file->cloexec =3D true; gntmap_init(gntmap); xgt->fd =3D fd; return 0; --=20 2.43.0 From nobody Thu Oct 30 18:31:01 2025 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; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1753878227; cv=none; d=zohomail.com; s=zohoarc; b=R8TiOFky8olJMs6++sALlPMStp2Jc3RlKTmm2GTgQL6ZBaXjS9/10uGICxK9UYizwMpKLu+9Iwi6F0mLt4NS1xUUZt54cVuFRomJcxKqtkFV5T8ldQijRG3oSTXe7NseKrUHTmbGXPRmtS4WCmf1yq6/VmGPLszjM4BQwFauqzU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753878227; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=/WAy7ZfzAdZfOYDos9+uJhuz1NfdLzQ8HaGXK/lMiv8=; b=aAeyMu4CZsfbRvoqBJc5z2E6PUtgTKIOp8+2XWJ3bb3kC/tDMjNW0sr3QM0FJC+m+5EpaI6Xwl2WcjYu4jG0/b+GMYlfG1hMJn241cjbgSnrqIfnrL4C2qN6qIDpuZANBWFv8XTZKXlMt7RgBLyPzcmavjkCI64x6E0soZOsTRw= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1753878226990514.6658898504588; Wed, 30 Jul 2025 05:23:46 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1063884.1429630 (Exim 4.92) (envelope-from ) id 1uh5qH-0005md-Pi; Wed, 30 Jul 2025 12:23:33 +0000 Received: by outflank-mailman (output) from mailman id 1063884.1429630; Wed, 30 Jul 2025 12:23:33 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5qH-0005mR-Lw; Wed, 30 Jul 2025 12:23:33 +0000 Received: by outflank-mailman (input) for mailman id 1063884; Wed, 30 Jul 2025 12:23:32 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5qG-00051g-Db for xen-devel@lists.xenproject.org; Wed, 30 Jul 2025 12:23:32 +0000 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id 00ce4380-6d40-11f0-b895-0df219b8e170; Wed, 30 Jul 2025 14:23:30 +0200 (CEST) Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (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) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 876A2219D1; Wed, 30 Jul 2025 12:23:30 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (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) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 512601388B; Wed, 30 Jul 2025 12:23:30 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id 96MrEsIOimikJAAAD6G6ig (envelope-from ); Wed, 30 Jul 2025 12:23:30 +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" X-Inumbo-ID: 00ce4380-6d40-11f0-b895-0df219b8e170 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878210; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/WAy7ZfzAdZfOYDos9+uJhuz1NfdLzQ8HaGXK/lMiv8=; b=LsWK3jJE0X0+cGux2FRoNhaURTE4HxOC8Ju/X67CEvM/MyHpP1gCEDyaIP3rMJFn+Zolc0 V3UAdizU7KYS4FYTs8RnTIOQdoevqY3iVYPYSj0Ti3nhwYmufKfp2EnQzL2dWoIuA0/dK9 xBTnkxNA8CQL02m+5ZMInoWKOCDOzb0= Authentication-Results: smtp-out1.suse.de; dkim=pass header.d=suse.com header.s=susede1 header.b=LsWK3jJE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878210; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/WAy7ZfzAdZfOYDos9+uJhuz1NfdLzQ8HaGXK/lMiv8=; b=LsWK3jJE0X0+cGux2FRoNhaURTE4HxOC8Ju/X67CEvM/MyHpP1gCEDyaIP3rMJFn+Zolc0 V3UAdizU7KYS4FYTs8RnTIOQdoevqY3iVYPYSj0Ti3nhwYmufKfp2EnQzL2dWoIuA0/dK9 xBTnkxNA8CQL02m+5ZMInoWKOCDOzb0= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Julien Grall , Anthony PERARD , Jason Andryuk Subject: [PATCH v3 4/9] xenstored: don't use xenevtchn_fdopen() in stubdom Date: Wed, 30 Jul 2025 14:23:00 +0200 Message-ID: <20250730122305.4050-5-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730122305.4050-1-jgross@suse.com> References: <20250730122305.4050-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Level: X-Spam-Flag: NO X-Rspamd-Queue-Id: 876A2219D1 X-Rspamd-Action: no action X-Rspamd-Server: rspamd1.dmz-prg2.suse.org X-Spamd-Result: default: False [-3.01 / 50.00]; BAYES_HAM(-3.00)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[suse.com:s=susede1]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; FUZZY_RATELIMITED(0.00)[rspamd.com]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[suse.com:+]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_TLS_ALL(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim,suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo] X-Spam-Score: -3.01 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1753878227508116600 Content-Type: text/plain; charset="utf-8" When running in a stubdom environment xenevtchn_fdopen() won't work, as any file descriptor state is lost across kexec(). Use a wrapper to replace the call of xenevtchn_fdopen() with the really needed xenevtchn_open() when running on top of Mini-OS. Signed-off-by: Juergen Gross Reviewed-by: Jason Andryuk --- tools/xenstored/core.h | 3 +++ tools/xenstored/domain.c | 2 +- tools/xenstored/minios.c | 5 +++++ tools/xenstored/posix.c | 5 +++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h index 1ba9592d16..bef24a688c 100644 --- a/tools/xenstored/core.h +++ b/tools/xenstored/core.h @@ -29,6 +29,7 @@ #include #include #include +#include =20 #include "xenstore_lib.h" #include "xenstore_state.h" @@ -405,6 +406,8 @@ void handle_special_fds(void); int get_socket_fd(void); void set_socket_fd(int fd); =20 +xenevtchn_handle *evtchn_fdopen(int fd); + #ifdef __MINIOS__ void mount_9pfs(void); #endif diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c index 2362216a7a..6767d29a19 100644 --- a/tools/xenstored/domain.c +++ b/tools/xenstored/domain.c @@ -1396,7 +1396,7 @@ void domain_init(int evtfd) if (evtfd < 0) xce_handle =3D xenevtchn_open(NULL, XENEVTCHN_NO_CLOEXEC); else - xce_handle =3D xenevtchn_fdopen(NULL, evtfd, 0); + xce_handle =3D evtchn_fdopen(evtfd); =20 if (xce_handle =3D=3D NULL) barf_perror("Failed to open evtchn device"); diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c index a229954cf4..aa1f03fd6b 100644 --- a/tools/xenstored/minios.c +++ b/tools/xenstored/minios.c @@ -85,6 +85,11 @@ void set_socket_fd(int fd) { } =20 +xenevtchn_handle *evtchn_fdopen(int fd) +{ + return xenevtchn_open(NULL, XENEVTCHN_NO_CLOEXEC); +} + static void mount_thread(void *p) { xenbus_event_queue events =3D NULL; diff --git a/tools/xenstored/posix.c b/tools/xenstored/posix.c index 6037d739d0..ebdec82215 100644 --- a/tools/xenstored/posix.c +++ b/tools/xenstored/posix.c @@ -408,6 +408,11 @@ void set_socket_fd(int fd) sock =3D fd; } =20 +xenevtchn_handle *evtchn_fdopen(int fd) +{ + return xenevtchn_fdopen(NULL, fd, 0); +} + const char *xenstore_rundir(void) { return xenstore_daemon_rundir(); --=20 2.43.0 From nobody Thu Oct 30 18:31:01 2025 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; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1753878231; cv=none; d=zohomail.com; s=zohoarc; b=d08qcdxxVN107WQNwMjk+/YYvEu5R98rBSF/665kQTTUitiiJ+mYoxKyz5KXN5nMMUmGcz8P12XhL1an/sVJu9iwhn5tXCA0XTMSSOx3N6oQUbBerUP5iYYchT4ex/F5YCGmZdNpiH2sF6E18LY7xnRxONW3dKzW4COpTbsTnoY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753878231; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=K6iAtxXMUrScZVtmsx02gxIyebOq1l4zjJnLdM45pk4=; b=DTq1AEgRrTxMpY3QfzO8QuJ65rKtYv2glSRCH2/Hd5IpyFwyklz9GhzbmT232uUqmOV4Lp6uwk3C87DxOZhaHtoX7BAEbqnPMNAoVeOlDVnwbpHKBzxg8Q3bGHWaWKRNYIds0ry0XsuIMttThNY/YAT0fnhCtRkJFZ8Oj2YZGDM= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1753878231698415.97785957190183; Wed, 30 Jul 2025 05:23:51 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1063887.1429640 (Exim 4.92) (envelope-from ) id 1uh5qN-0006GU-6y; Wed, 30 Jul 2025 12:23:39 +0000 Received: by outflank-mailman (output) from mailman id 1063887.1429640; Wed, 30 Jul 2025 12:23:39 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5qN-0006GL-2x; Wed, 30 Jul 2025 12:23:39 +0000 Received: by outflank-mailman (input) for mailman id 1063887; Wed, 30 Jul 2025 12:23:37 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5qL-0004Wg-7t for xen-devel@lists.xenproject.org; Wed, 30 Jul 2025 12:23:37 +0000 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 0432f4b0-6d40-11f0-a320-13f23c93f187; Wed, 30 Jul 2025 14:23:36 +0200 (CEST) Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (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) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 1DC311F809; Wed, 30 Jul 2025 12:23:36 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (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) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id E9F0D1388B; Wed, 30 Jul 2025 12:23:35 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id 7+uwN8cOimi2JAAAD6G6ig (envelope-from ); Wed, 30 Jul 2025 12:23:35 +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" X-Inumbo-ID: 0432f4b0-6d40-11f0-a320-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878216; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=K6iAtxXMUrScZVtmsx02gxIyebOq1l4zjJnLdM45pk4=; b=eYx5eR5H61tZe6+OLjjtLIpj8Wx69jx5nnTa061+LJj1XfEW8dwe0Krvw60p/oPmkMM5YT DqqxIvfZwzgW95cMvpoH2HEUEOVzXk6pImORQXo3Hqm5PVjPZMiv8umP3D/Viw+1JE7wWz Ia6Dia8t/iJLgkdcDAcODzl8mujKSzA= Authentication-Results: smtp-out2.suse.de; dkim=pass header.d=suse.com header.s=susede1 header.b=eYx5eR5H DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878216; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=K6iAtxXMUrScZVtmsx02gxIyebOq1l4zjJnLdM45pk4=; b=eYx5eR5H61tZe6+OLjjtLIpj8Wx69jx5nnTa061+LJj1XfEW8dwe0Krvw60p/oPmkMM5YT DqqxIvfZwzgW95cMvpoH2HEUEOVzXk6pImORQXo3Hqm5PVjPZMiv8umP3D/Viw+1JE7wWz Ia6Dia8t/iJLgkdcDAcODzl8mujKSzA= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Anthony PERARD , Jason Andryuk Subject: [PATCH v3 5/9] tools/libxenevtchn: add xenevtchn_bind() under Mini-OS Date: Wed, 30 Jul 2025 14:23:01 +0200 Message-ID: <20250730122305.4050-6-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730122305.4050-1-jgross@suse.com> References: <20250730122305.4050-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-3.01 / 50.00]; BAYES_HAM(-3.00)[99.99%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[suse.com:s=susede1]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.com:mid,suse.com:dkim,suse.com:email]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FUZZY_RATELIMITED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; DKIM_TRACE(0.00)[suse.com:+] X-Spam-Flag: NO X-Spam-Level: X-Rspamd-Queue-Id: 1DC311F809 X-Rspamd-Server: rspamd2.dmz-prg2.suse.org X-Rspamd-Action: no action X-Spam-Score: -3.01 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1753878233560116600 Content-Type: text/plain; charset="utf-8" In order to reactivate an event channel after kexec() of Mini-OS, libxenevtchn needs to allocate the port data for the event channel and set the handler again. Add a new interface xenevtchn_bind() for that purpose, available under Mini-OS only. Signed-off-by: Juergen Gross Reviewed-by: Jason Andryuk Acked-by: Anthony PERARD --- V3: - add #ifdef __MINIOS__ (Anthony Perard) --- tools/include/xenevtchn.h | 13 +++++++++++++ tools/libs/evtchn/minios.c | 17 +++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/tools/include/xenevtchn.h b/tools/include/xenevtchn.h index 1255c85178..5748af530b 100644 --- a/tools/include/xenevtchn.h +++ b/tools/include/xenevtchn.h @@ -173,6 +173,19 @@ int xenevtchn_unmask(xenevtchn_handle *xce, evtchn_por= t_t port); */ int xenevtchn_restrict(xenevtchn_handle *xce, domid_t domid); =20 +#ifdef __MINIOS__ +/** + * Bind an event channel under Mini-OS. + * + * Bind an event channel specified by its known port after a kexec() of + * Mini-OS. This function is available under Mini-OS only! + * + * @parm xce handle to the open evtchn interface + * @parm port the event channel to bind again + * @return 0 on success, -1 on failure with errno set appropriately. + */ +int xenevtchn_bind(xenevtchn_handle *xce, evtchn_port_t port); +#endif #endif =20 /* diff --git a/tools/libs/evtchn/minios.c b/tools/libs/evtchn/minios.c index 0d2a201438..36e4201249 100644 --- a/tools/libs/evtchn/minios.c +++ b/tools/libs/evtchn/minios.c @@ -259,6 +259,23 @@ xenevtchn_port_or_error_t xenevtchn_bind_interdomain(x= enevtchn_handle *xce, return local_port; } =20 +int xenevtchn_bind(xenevtchn_handle *xce, evtchn_port_t port) +{ + struct port_info *port_info; + port_info =3D port_alloc(xce); + if ( port_info =3D=3D NULL ) + return -1; + + printf("xenevtchn_bind(%"PRId32")\n", port); + bind_evtchn(port, evtchn_handler, xce); + + port_info->bound =3D true; + port_info->port =3D port; + unmask_evtchn(port); + + return 0; +} + int xenevtchn_unbind(xenevtchn_handle *xce, evtchn_port_t port) { int fd =3D xce->fd; --=20 2.43.0 From nobody Thu Oct 30 18:31:01 2025 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; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1753878238; cv=none; d=zohomail.com; s=zohoarc; b=hFT3VLoppURGBYt3WKVpgt070O0Q17FTyCz2DAhDtl1uGbBI0oEX4COjCLoVq+xXyaZuDo+SzHdYjAPAsUXz7vf4cpazxxh7jKHOdr6ZJJPqkUu1KyzCl6pCgUsyvQMA/S+OffNqLS+vZVX7567nXCYyPuikjJD1v4sbOXi7MyY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753878238; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=WIXBeSEHnTgln5V5JCLta83mIxR1YN9GFI9+BdUPQsk=; b=AeelviqTb6O7Bcs1vCfgLyf35dU6siFkhvUt2KooPws/aq28cV3l5eEEaou1F9v4QaHa3WW3sBJL4PRwNAFhs+c3lQxvhk1XecvUDyExBxvn5Ym2hjrAg7NxvGgxgsmOXNZ2vTJfwnQcJ0zGFlra60Pj+Fn1r9MXdCfTfMuL6Mo= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1753878238232196.69516600848158; Wed, 30 Jul 2025 05:23:58 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1063895.1429651 (Exim 4.92) (envelope-from ) id 1uh5qT-0006pX-Ge; Wed, 30 Jul 2025 12:23:45 +0000 Received: by outflank-mailman (output) from mailman id 1063895.1429651; Wed, 30 Jul 2025 12:23:45 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5qT-0006oy-DF; Wed, 30 Jul 2025 12:23:45 +0000 Received: by outflank-mailman (input) for mailman id 1063895; Wed, 30 Jul 2025 12:23:43 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5qR-0004Wg-IO for xen-devel@lists.xenproject.org; Wed, 30 Jul 2025 12:23:43 +0000 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 080699df-6d40-11f0-a320-13f23c93f187; Wed, 30 Jul 2025 14:23:43 +0200 (CEST) Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (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) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id ADEA321B25; Wed, 30 Jul 2025 12:23:41 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (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) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 7FCB01388B; Wed, 30 Jul 2025 12:23:41 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id SAPFHc0OimjAJAAAD6G6ig (envelope-from ); Wed, 30 Jul 2025 12:23:41 +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" X-Inumbo-ID: 080699df-6d40-11f0-a320-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878222; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WIXBeSEHnTgln5V5JCLta83mIxR1YN9GFI9+BdUPQsk=; b=Rlr0kCoSO4P7RDVgf4ip9f8IP7qr3nTb/dolQkfKJ35pafCbf+U4ZP1e6nDNvl/0A9Ddb5 Uv39rwNbpEEgicHd2xzUybbRoirHGbByx43HHBP3XYsnvbANxX8UrW92ubzaKVOhpS7xDM EimZFkEsJEr+Pav4Wt29DrIxXI9X3Mk= Authentication-Results: smtp-out1.suse.de; dkim=pass header.d=suse.com header.s=susede1 header.b=WsY487FA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878221; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WIXBeSEHnTgln5V5JCLta83mIxR1YN9GFI9+BdUPQsk=; b=WsY487FARlgToMRldiG5yLOvv2Wag9koImzHJv9iwK/sEHKLe3iBljm8EAha2VcgeCKt34 A+72GOwJvgS9OpRLTJIEL3yVOTnmnuyJTIVolFWWGcGcHNSt303zQgX5UAqlkZaYuMtGZs DuUtC7RdgvGI8itPNUkvj+mwhFiD7SQ= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Julien Grall , Anthony PERARD , Jason Andryuk Subject: [PATCH v3 6/9] xenstored: rebind event channels after live update in stubdom Date: Wed, 30 Jul 2025 14:23:02 +0200 Message-ID: <20250730122305.4050-7-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730122305.4050-1-jgross@suse.com> References: <20250730122305.4050-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spamd-Result: default: False [-3.01 / 50.00]; BAYES_HAM(-3.00)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[suse.com:s=susede1]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; FUZZY_RATELIMITED(0.00)[rspamd.com]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[suse.com:+]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_TLS_ALL(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.com:mid,suse.com:dkim,suse.com:email] X-Spam-Flag: NO X-Spam-Level: X-Rspamd-Queue-Id: ADEA321B25 X-Rspamd-Server: rspamd2.dmz-prg2.suse.org X-Rspamd-Action: no action X-Spam-Score: -3.01 X-ZohoMail-DKIM: pass (identity @suse.com) (identity @suse.com) X-ZM-MESSAGEID: 1753878239767116600 Content-Type: text/plain; charset="utf-8" After performing a live update in stubdom environment some information about inter-domain event channels is lost. In order to set this information again, call xenevtchn_bind() from new_domain() in the restore case. Signed-off-by: Juergen Gross Reviewed-by: Jason Andryuk --- tools/xenstored/core.c | 1 - tools/xenstored/core.h | 3 +++ tools/xenstored/domain.c | 8 ++++++-- tools/xenstored/minios.c | 5 +++++ tools/xenstored/posix.c | 5 +++++ 5 files changed, 19 insertions(+), 3 deletions(-) diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c index 3022efdce1..e3e8607592 100644 --- a/tools/xenstored/core.c +++ b/tools/xenstored/core.c @@ -49,7 +49,6 @@ #include "control.h" #include "lu.h" =20 -extern xenevtchn_handle *xce_handle; /* in domain.c */ static int xce_pollfd_idx =3D -1; struct pollfd *poll_fds; static unsigned int current_array_size; diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h index bef24a688c..3f7426fbe3 100644 --- a/tools/xenstored/core.h +++ b/tools/xenstored/core.h @@ -394,6 +394,8 @@ static inline bool domain_is_unprivileged(const struct = connection *conn) return conn && domid_is_unprivileged(conn->id); } =20 +extern xenevtchn_handle *xce_handle; /* in domain.c */ + /* Return the event channel used by xenbus. */ evtchn_port_t get_xenbus_evtchn(void); void early_init(bool live_update, bool dofork, const char *pidfile); @@ -407,6 +409,7 @@ int get_socket_fd(void); void set_socket_fd(int fd); =20 xenevtchn_handle *evtchn_fdopen(int fd); +int evtchn_rebind(int port); =20 #ifdef __MINIOS__ void mount_9pfs(void); diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c index 6767d29a19..7a6ce5b91b 100644 --- a/tools/xenstored/domain.c +++ b/tools/xenstored/domain.c @@ -862,9 +862,13 @@ static int new_domain(struct domain *domain, int port,= bool restore) =20 wrl_domain_new(domain); =20 - if (restore) + if (restore) { + if (evtchn_rebind(port)) { + errno =3D ENOMEM; + return errno; + } domain->port =3D port; - else { + } else { /* Tell kernel we're interested in this event. */ rc =3D xenevtchn_bind_interdomain(xce_handle, domain->domid, port); diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c index aa1f03fd6b..ec5faebaf3 100644 --- a/tools/xenstored/minios.c +++ b/tools/xenstored/minios.c @@ -90,6 +90,11 @@ xenevtchn_handle *evtchn_fdopen(int fd) return xenevtchn_open(NULL, XENEVTCHN_NO_CLOEXEC); } =20 +int evtchn_rebind(int port) +{ + return xenevtchn_bind(xce_handle, port); +} + static void mount_thread(void *p) { xenbus_event_queue events =3D NULL; diff --git a/tools/xenstored/posix.c b/tools/xenstored/posix.c index ebdec82215..97561701ae 100644 --- a/tools/xenstored/posix.c +++ b/tools/xenstored/posix.c @@ -413,6 +413,11 @@ xenevtchn_handle *evtchn_fdopen(int fd) return xenevtchn_fdopen(NULL, fd, 0); } =20 +int evtchn_rebind(int port) +{ + return 0; +} + const char *xenstore_rundir(void) { return xenstore_daemon_rundir(); --=20 2.43.0 From nobody Thu Oct 30 18:31:01 2025 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; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1753878242; cv=none; d=zohomail.com; s=zohoarc; b=drPaiqCW9MSmrJgldn7SOCig0aCRbSFbq/J+pByGXLrB9TQCfo17w8+JWC+FgIbQqjMOsQOybP/tNNNZYhoRz66DbBu6jTFw/TDnfVwC8JjxzSB5XFAI/hEO5SqaqW3WS2PlTyfuiAXMYLXeBYSLYm20x3qg30QZz8TKQDUD3w4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753878242; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=EEBwah7qk2nax0TCJi1E0NRt+EjeWrtG5skr59O3zrk=; b=nj+GuCWAO5Kgkv8PFaQ2qznzkb0mlR03nAjCRe06GoIOwF8o8FBARbAqjA2V1YHIuQms5DuS0BwzcqOitKvjoh9n5Ko4jwEEMKMUotKQd0PaenJnEdcpI02ESkZMS2Wk7jC3/d6KQFFKHrlD3ZNt5djw3Gmq8PvwVRAvSjM4JzE= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1753878242297122.69999490260398; Wed, 30 Jul 2025 05:24:02 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1063900.1429661 (Exim 4.92) (envelope-from ) id 1uh5qY-0007Ex-Ns; Wed, 30 Jul 2025 12:23:50 +0000 Received: by outflank-mailman (output) from mailman id 1063900.1429661; Wed, 30 Jul 2025 12:23:50 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5qY-0007Eo-Ky; Wed, 30 Jul 2025 12:23:50 +0000 Received: by outflank-mailman (input) for mailman id 1063900; Wed, 30 Jul 2025 12:23:49 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5qX-0004Wg-NH for xen-devel@lists.xenproject.org; Wed, 30 Jul 2025 12:23:49 +0000 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 0ad215d8-6d40-11f0-a320-13f23c93f187; Wed, 30 Jul 2025 14:23:47 +0200 (CEST) Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (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) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 5555C21AB3; Wed, 30 Jul 2025 12:23:47 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (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) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 223DC1388B; Wed, 30 Jul 2025 12:23:47 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id iIn0BtMOimjMJAAAD6G6ig (envelope-from ); Wed, 30 Jul 2025 12:23:47 +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" X-Inumbo-ID: 0ad215d8-6d40-11f0-a320-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878227; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EEBwah7qk2nax0TCJi1E0NRt+EjeWrtG5skr59O3zrk=; b=QMWUHD7/BeWXk9NigmovZa2+P5cGFcp7h2xN2vQocuPPEzLwEBrPZqp5hYIMUq4qdH7OGM vVy+o3y5dO/5wr3zd5h8WjNU53vMdiL5QqjObAaqXmKUpO0iGpzTP56QCtlwJp0G2SSdYA e+LhNpS+VdVlHT0JnUYKn0zZj/4QYXI= Authentication-Results: smtp-out1.suse.de; dkim=pass header.d=suse.com header.s=susede1 header.b="QMWUHD7/" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878227; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EEBwah7qk2nax0TCJi1E0NRt+EjeWrtG5skr59O3zrk=; b=QMWUHD7/BeWXk9NigmovZa2+P5cGFcp7h2xN2vQocuPPEzLwEBrPZqp5hYIMUq4qdH7OGM vVy+o3y5dO/5wr3zd5h8WjNU53vMdiL5QqjObAaqXmKUpO0iGpzTP56QCtlwJp0G2SSdYA e+LhNpS+VdVlHT0JnUYKn0zZj/4QYXI= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Julien Grall , Anthony PERARD , Jason Andryuk Subject: [PATCH v3 7/9] tools/xenstored: make stubdom_init() live update aware Date: Wed, 30 Jul 2025 14:23:03 +0200 Message-ID: <20250730122305.4050-8-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730122305.4050-1-jgross@suse.com> References: <20250730122305.4050-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Level: X-Spam-Flag: NO X-Rspamd-Queue-Id: 5555C21AB3 X-Rspamd-Action: no action X-Rspamd-Server: rspamd1.dmz-prg2.suse.org X-Spamd-Result: default: False [-3.01 / 50.00]; BAYES_HAM(-3.00)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[suse.com:s=susede1]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; FUZZY_RATELIMITED(0.00)[rspamd.com]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[suse.com:+]; RCPT_COUNT_FIVE(0.00)[5]; RCVD_TLS_ALL(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.com:dkim,suse.com:mid,suse.com:email] X-Spam-Score: -3.01 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1753878243785116600 Content-Type: text/plain; charset="utf-8" Pass the live_update bool to stubdom_init() in order to be able to handle it properly under Mini-OS. As stubdom_init() will (re-)create the 9pfs device needed for reading the saved state, call stubdom_init() before lu_read_state(). Signed-off-by: Juergen Gross Reviewed-by: Jason Andryuk --- tools/xenstored/core.c | 4 ++-- tools/xenstored/core.h | 2 +- tools/xenstored/domain.c | 15 +++++++++------ tools/xenstored/domain.h | 2 +- tools/xenstored/minios.c | 12 +++++++++--- 5 files changed, 22 insertions(+), 13 deletions(-) diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c index e3e8607592..5377d72f54 100644 --- a/tools/xenstored/core.c +++ b/tools/xenstored/core.c @@ -2774,14 +2774,14 @@ int main(int argc, char *argv[]) if (tracefile) tracefile =3D absolute_filename(NULL, tracefile); =20 + stubdom_init(live_update); + #ifndef NO_LIVE_UPDATE /* Read state in case of live update. */ if (live_update) lu_read_state(); #endif =20 - stubdom_init(); - check_store(); =20 /* Get ready to listen to the tools. */ diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h index 3f7426fbe3..5071f1dedd 100644 --- a/tools/xenstored/core.h +++ b/tools/xenstored/core.h @@ -412,7 +412,7 @@ xenevtchn_handle *evtchn_fdopen(int fd); int evtchn_rebind(int port); =20 #ifdef __MINIOS__ -void mount_9pfs(void); +void mount_9pfs(bool live_update); #endif =20 const char *xenstore_rundir(void); diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c index 7a6ce5b91b..57ca98ee5b 100644 --- a/tools/xenstored/domain.c +++ b/tools/xenstored/domain.c @@ -1337,7 +1337,7 @@ void dom0_init(void) xenevtchn_notify(xce_handle, dom0->port); } =20 -void stubdom_init(void) +void stubdom_init(bool live_update) { #ifdef __MINIOS__ struct domain *stubdom; @@ -1345,13 +1345,16 @@ void stubdom_init(void) if (stub_domid < 0) return; =20 - stubdom =3D introduce_domain(NULL, stub_domid, xenbus_evtchn, false); - if (!stubdom) - barf_perror("Failed to initialize stubdom"); + if (!live_update) { + stubdom =3D introduce_domain(NULL, stub_domid, xenbus_evtchn, + false); + if (!stubdom) + barf_perror("Failed to initialize stubdom"); =20 - xenevtchn_notify(xce_handle, stubdom->port); + xenevtchn_notify(xce_handle, stubdom->port); + } =20 - mount_9pfs(); + mount_9pfs(live_update); #endif } =20 diff --git a/tools/xenstored/domain.h b/tools/xenstored/domain.h index 94481fdcc0..3ca702f56d 100644 --- a/tools/xenstored/domain.h +++ b/tools/xenstored/domain.h @@ -93,7 +93,7 @@ int do_set_feature(const void *ctx, struct connection *co= nn, void domain_early_init(void); void domain_init(int evtfd); void dom0_init(void); -void stubdom_init(void); +void stubdom_init(bool live_update); void domain_deinit(void); void ignore_connection(struct connection *conn, unsigned int err); =20 diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c index ec5faebaf3..f04423fe09 100644 --- a/tools/xenstored/minios.c +++ b/tools/xenstored/minios.c @@ -131,15 +131,21 @@ static void mount_thread(void *p) free(err); } =20 - p9_device =3D init_9pfront(0, XENSTORE_LIB_DIR); + p9_device =3D init_9pfront2(0, XENSTORE_LIB_DIR, INIT9P_FLAG_KEXEC); =20 /* Start logging if selected. */ reopen_log(); } =20 -void mount_9pfs(void) +void mount_9pfs(bool live_update) { - create_thread("mount-9pfs", mount_thread, NULL); + if (!live_update) + create_thread("mount-9pfs", mount_thread, NULL); + else { + p9_device =3D init_9pfront2(0, XENSTORE_LIB_DIR, + INIT9P_FLAG_REINIT); + reopen_log(); + } } =20 const char *xenstore_rundir(void) --=20 2.43.0 From nobody Thu Oct 30 18:31:01 2025 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; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1753878711; cv=none; d=zohomail.com; s=zohoarc; b=P4J17PrZWgTGYJ9DcGefNGNr5FV38azDGYqFpI0cqsh1d8rrKJ8IeLkeIvmkPbfdxBPbbZuW/7onSemGawE2dMt2PftUCcI1KIdt7DbHhB35NDF9L7NnZnI19etQuiOsAuPKEs5T9uqY4n0w/nX4OTGFiGHiFY1igxPAMfF9w1I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753878711; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=MZs9gkWMRCn/Cl3Pk0hWLJVwTQP6kYnRzoKl6b4zXlc=; b=cixKN5y5r66nQYl0f4s3lqZY0M7QqxjMLl1y0dah/8SuPJissn0KZmTthdy61py7bP8gBc9gK9uRwCx84oUJx23pdUPRiuPOrbpB12n7gqpXWKm+yOBdyFxxEZEUuug4StrUPXuJC0gLeWqeKs5+Ri8+XuMrw6FX3C6StLdPEzY= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 175387871167382.8546938574467; Wed, 30 Jul 2025 05:31:51 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1063922.1429670 (Exim 4.92) (envelope-from ) id 1uh5xr-0001aH-Fc; Wed, 30 Jul 2025 12:31:23 +0000 Received: by outflank-mailman (output) from mailman id 1063922.1429670; Wed, 30 Jul 2025 12:31:23 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5xr-0001aA-Cb; Wed, 30 Jul 2025 12:31:23 +0000 Received: by outflank-mailman (input) for mailman id 1063922; Wed, 30 Jul 2025 12:31:22 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5qb-0004Wg-V2 for xen-devel@lists.xenproject.org; Wed, 30 Jul 2025 12:23:53 +0000 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 0e3e160f-6d40-11f0-a320-13f23c93f187; Wed, 30 Jul 2025 14:23:53 +0200 (CEST) Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (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) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 1B3891F824; Wed, 30 Jul 2025 12:23:53 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (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) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id BEEEA1388B; Wed, 30 Jul 2025 12:23:52 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id n4McLdgOimjQJAAAD6G6ig (envelope-from ); Wed, 30 Jul 2025 12:23:52 +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" X-Inumbo-ID: 0e3e160f-6d40-11f0-a320-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878233; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MZs9gkWMRCn/Cl3Pk0hWLJVwTQP6kYnRzoKl6b4zXlc=; b=qn69jW2XFRErkLTOiuOp+3yTY2uVWvzHpyCDGCBdQV+36aiqd+RFXynfkd2ZxrR6uAi4/B XCa6mdwvLpryrhl4eCZFKRldA0mrdJNmKimt8ak8Hg5jpUms+ZWRRUDOz5SH/pumqCmB6K EBZUza3PDO7LlAT2XBHJjlnIt72mLGE= Authentication-Results: smtp-out2.suse.de; dkim=pass header.d=suse.com header.s=susede1 header.b=qn69jW2X DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878233; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MZs9gkWMRCn/Cl3Pk0hWLJVwTQP6kYnRzoKl6b4zXlc=; b=qn69jW2XFRErkLTOiuOp+3yTY2uVWvzHpyCDGCBdQV+36aiqd+RFXynfkd2ZxrR6uAi4/B XCa6mdwvLpryrhl4eCZFKRldA0mrdJNmKimt8ak8Hg5jpUms+ZWRRUDOz5SH/pumqCmB6K EBZUza3PDO7LlAT2XBHJjlnIt72mLGE= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Andrew Cooper , Anthony PERARD , Michal Orzel , Jan Beulich , Julien Grall , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Stefano Stabellini Subject: [PATCH v3 8/9] SUPPORT.md: add xenstorepvh-stubdom live update Date: Wed, 30 Jul 2025 14:23:04 +0200 Message-ID: <20250730122305.4050-9-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730122305.4050-1-jgross@suse.com> References: <20250730122305.4050-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Level: X-Spam-Flag: NO X-Rspamd-Queue-Id: 1B3891F824 X-Rspamd-Action: no action X-Rspamd-Server: rspamd1.dmz-prg2.suse.org X-Spamd-Result: default: False [-3.01 / 50.00]; BAYES_HAM(-3.00)[99.99%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[suse.com:s=susede1]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FUZZY_RATELIMITED(0.00)[rspamd.com]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from]; RCVD_TLS_ALL(0.00)[]; DKIM_TRACE(0.00)[suse.com:+]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received]; RCPT_COUNT_SEVEN(0.00)[9]; RCVD_VIA_SMTP_AUTH(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:dkim,suse.com:mid,suse.com:email,imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo] X-Spam-Score: -3.01 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1753878713568116600 Content-Type: text/plain; charset="utf-8" Live update is now working with the PVH variant of xenstore-stubdom. Signed-off-by: Juergen Gross Acked-by: Julien Grall --- V2: - new patch --- SUPPORT.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SUPPORT.md b/SUPPORT.md index 6a82a92189..eb44ee85fd 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -280,7 +280,7 @@ or itself will not be regarded a security issue. ### C xenstore stubdom PVH =20 Status: Supported - Status, Liveupdate: Not implemented + Status, Liveupdate: Supported =20 ### OCaml xenstored daemon =20 --=20 2.43.0 From nobody Thu Oct 30 18:31:01 2025 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; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1753878718; cv=none; d=zohomail.com; s=zohoarc; b=XSzP4xls/oI08RULGjMUErO7EXHrECOFqTVDFZ5XbKK2EuFSCX2cDQoIvayY7iDS0RqwX06d/iuugj1TalzBf5fFWVqAwUuVC2XscjRGBGGqS5ZpYyq8Oe8AXQzi1sbIm/D7LRGTSJrQxVLhqvHnMr/m5YrgcpWG8GEy79bx3jw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1753878718; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=nbSw2XSXTnRBMBHQqo318I/HhCGPQCpy7irgifrRtPY=; b=OJmQRA27m+SGY1kLIA5BIUoEKC6hF7qn6X4N6XRonr6RanfDJYjJVu0IOkW5t6pm7103gewyznekrK8Va7P3rbo8gXfljA0/nTi+wodVmquUsTGunuqDOTWMciK9gTMYivbnRIH9PC4iKFRM9urfEZ10HN3WucYSP7Kb9cMMW+8= ARC-Authentication-Results: i=1; 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; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 17538787187221004.0040170320705; Wed, 30 Jul 2025 05:31:58 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1063925.1429681 (Exim 4.92) (envelope-from ) id 1uh5y0-0001u2-MT; Wed, 30 Jul 2025 12:31:32 +0000 Received: by outflank-mailman (output) from mailman id 1063925.1429681; Wed, 30 Jul 2025 12:31:32 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5y0-0001tv-JZ; Wed, 30 Jul 2025 12:31:32 +0000 Received: by outflank-mailman (input) for mailman id 1063925; Wed, 30 Jul 2025 12:31:31 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1uh5qh-0004Wg-JQ for xen-devel@lists.xenproject.org; Wed, 30 Jul 2025 12:23:59 +0000 Received: from smtp-out2.suse.de (smtp-out2.suse.de [2a07:de40:b251:101:10:150:64:2]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 11a21181-6d40-11f0-a320-13f23c93f187; Wed, 30 Jul 2025 14:23:59 +0200 (CEST) Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (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) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id C0A641F809; Wed, 30 Jul 2025 12:23:58 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (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) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 8568E1388B; Wed, 30 Jul 2025 12:23:58 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id BQjkHt4OimjYJAAAD6G6ig (envelope-from ); Wed, 30 Jul 2025 12:23:58 +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" X-Inumbo-ID: 11a21181-6d40-11f0-a320-13f23c93f187 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878238; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nbSw2XSXTnRBMBHQqo318I/HhCGPQCpy7irgifrRtPY=; b=loKg8UEjzTdm3AXg/uc6IXjCMFDZEpOIUNyA1efidDvjZoLhDNDcQyo+YmcNPlF6ghBmIE q8db9Y6outtFRQbx1BUSeUOIs32jRTk4O7yZMRYwVai+WqFqHcehFnwZvZ3712gqCW6iFf kD6LgojmLW+ndowNgpQLppGNzWeOp3M= Authentication-Results: smtp-out2.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1753878238; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nbSw2XSXTnRBMBHQqo318I/HhCGPQCpy7irgifrRtPY=; b=loKg8UEjzTdm3AXg/uc6IXjCMFDZEpOIUNyA1efidDvjZoLhDNDcQyo+YmcNPlF6ghBmIE q8db9Y6outtFRQbx1BUSeUOIs32jRTk4O7yZMRYwVai+WqFqHcehFnwZvZ3712gqCW6iFf kD6LgojmLW+ndowNgpQLppGNzWeOp3M= From: Juergen Gross To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Oleksii Kurochko , Community Manager Subject: [PATCH v3 9/9] CHANGELOG.md: add xenstorepvh-stubdom live update Date: Wed, 30 Jul 2025 14:23:05 +0200 Message-ID: <20250730122305.4050-10-jgross@suse.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250730122305.4050-1-jgross@suse.com> References: <20250730122305.4050-1-jgross@suse.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Spam-Level: X-Spamd-Result: default: False [-1.29 / 50.00]; BAYES_HAM(-2.99)[99.95%]; SUSPICIOUS_RECIPS(1.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MID_CONTAINS_FROM(1.00)[]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,changelog.md:url,suse.com:email,suse.com:mid]; RCVD_VIA_SMTP_AUTH(0.00)[]; FUZZY_RATELIMITED(0.00)[rspamd.com]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; TAGGED_RCPT(0.00)[]; FREEMAIL_CC(0.00)[suse.com,gmail.com,xenproject.org]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; DKIM_SIGNED(0.00)[suse.com:s=susede1]; FREEMAIL_ENVRCPT(0.00)[gmail.com] X-Spam-Flag: NO X-Spam-Score: -1.29 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1753878719584116600 Content-Type: text/plain; charset="utf-8" Signed-off-by: Juergen Gross --- V2: - new patch --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f31ca08fe..d118bb1c8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ The format is based on [Keep a Changelog](https://keepach= angelog.com/en/1.0.0/) - Support PCI passthrough for HVM domUs when dom0 is PVH (note SR-IOV capability usage is not yet supported on PVH dom0). - Smoke tests for the FreeBSD Xen builds in Cirrus CI. + - PVH xenstore-stubdom now supports Live Update. =20 - On Arm: - Ability to enable stack protector --=20 2.43.0