From nobody Thu Jan 26 18:54:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P2qd1573lz3bPFV; Thu, 26 Jan 2023 18:54:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P2qd06dJ2z46N9; Thu, 26 Jan 2023 18:54:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759268; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c45CRKWd/R1+Pg660/n7lGhAjjKF8dTy7mksgA/Acuw=; b=IM3KdSs33ODsPqj/IqBxyxIR/80zUE3F0lQXG+l/j8v8iWaggezrCmpO9uSTwGqCSA+jEU KfXNUk4RHITGLLtH7MOS+xiwl2SxrasTWZzJ/FQVGy1z3Oe+XC9IwcjxBfLrHCz26ML8PJ DqIfXtKJXBnX80tNinxGe8dqg9SF71g7mhbBLlSEusFOEaZVNBQhgWz9CFAT/11IPzpSg0 lCJXHZgiuClJTE4ETLz7cMlCLjW3LKg0+1QCNLdpTGiq6YT8UOEoDT6mCHS2QaD9fN9MCX BodrHxgM4FbriJzWc2scKz55bzFYuenCYPnT0fsYw2bm/TKWDyOPPbDVeGiqVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1674759268; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c45CRKWd/R1+Pg660/n7lGhAjjKF8dTy7mksgA/Acuw=; b=Gvl0uaiGQSbKGDyVKKQbogRqqJI2S0arVPOmqo2mvlnNCyQTHViKrxDN+LiqJ5n8aHsWd6 OeiABIc+ALw/t3JOG6sLLzBY5wOSXd4DqPY4XmtyqaWILvlF4z1ZBkoBXl0ssWo9u444CD kekCnHDXwLsscBUt6Ipq5NQFkoYdo8Y/mDwnbaukaAy6lzuwJS5qW23X2tuOrTAFTRnQ41 lGol73N4O/s8F9HTo1MoVVxmz97WDFSY191hgZMcddPXboL3LP/fIXLsCuHOtMOscvmnk8 /890o8hRL/QcX0rTpmC4c/FJn5jIYOrL+HmMze9cwgXR8MhrZ2frWXoXUXm+fA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1674759268; a=rsa-sha256; cv=none; b=Ds9Qa9gvt5osuZaQsd92etm0jidrrrIJUGGGRUcHIElK6tRxK44swJO2Zl1Z4vMebK8Mj9 88zRFj+aGLMXTII2hW+aqVWUo1wUiCbc/vbsfznzgocGVk+JIuiwky01mG7XcaNqvLkLY2 qMlYq9VWnXbRkr7hw4iLVEsxqN9syYir0/aI2jFwaGVEPZzIjaLPams0pmDyk623Bw54TV vB/ABhOKbCESMQ+npigi8l8Mdwj3urDaDCjx8RCuuVNUZ7rybi3aUCOVxSsBnNdLuK4ZC+ rfang3HqliRkODk2fzIMzGgJj+tLjkvwgBF4JAxJED7yB8CW0i+ym+KUoU84TQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P2qd05QQPzgPq; Thu, 26 Jan 2023 18:54:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30QIsSSY034269; Thu, 26 Jan 2023 18:54:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30QIsS27034268; Thu, 26 Jan 2023 18:54:28 GMT (envelope-from git) Date: Thu, 26 Jan 2023 18:54:28 GMT Message-Id: <202301261854.30QIsS27034268@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 51b1d348203d - stable/13 - libvmm: constify vm_get_name() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 51b1d348203d57bc5562e98cba25a2223e5c839a Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=51b1d348203d57bc5562e98cba25a2223e5c839a commit 51b1d348203d57bc5562e98cba25a2223e5c839a Author: Robert Wing AuthorDate: 2022-03-18 05:26:54 +0000 Commit: John Baldwin CommitDate: 2023-01-26 18:48:47 +0000 libvmm: constify vm_get_name() Allows callers of vm_get_name() to retrieve the vm name without having to allocate a buffer. While in the vicinity, do minor cleanup in vm_snapshot_basic_metadata(). Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D34290 (cherry picked from commit 3efc45f34e13c63cb37a77a67fea39937004b75a) --- lib/libvmmapi/vmmapi.c | 9 +++------ lib/libvmmapi/vmmapi.h | 2 +- usr.sbin/bhyve/snapshot.c | 28 ++++------------------------ 3 files changed, 8 insertions(+), 31 deletions(-) diff --git a/lib/libvmmapi/vmmapi.c b/lib/libvmmapi/vmmapi.c index f6d83dd0e08f..4fc9c4dc69e9 100644 --- a/lib/libvmmapi/vmmapi.c +++ b/lib/libvmmapi/vmmapi.c @@ -498,14 +498,11 @@ vm_rev_map_gpa(struct vmctx *ctx, void *addr) return ((vm_paddr_t)-1); } -/* TODO: maximum size for vmname */ -int -vm_get_name(struct vmctx *ctx, char *buf, size_t max_len) +const char * +vm_get_name(struct vmctx *ctx) { - if (strlcpy(buf, ctx->name, max_len) >= max_len) - return (EINVAL); - return (0); + return (ctx->name); } size_t diff --git a/lib/libvmmapi/vmmapi.h b/lib/libvmmapi/vmmapi.h index 586392a0ff29..c8454150f0b1 100644 --- a/lib/libvmmapi/vmmapi.h +++ b/lib/libvmmapi/vmmapi.h @@ -135,7 +135,7 @@ uint32_t vm_get_lowmem_limit(struct vmctx *ctx); void vm_set_lowmem_limit(struct vmctx *ctx, uint32_t limit); void vm_set_memflags(struct vmctx *ctx, int flags); int vm_get_memflags(struct vmctx *ctx); -int vm_get_name(struct vmctx *ctx, char *buffer, size_t max_len); +const char *vm_get_name(struct vmctx *ctx); size_t vm_get_lowmem_size(struct vmctx *ctx); size_t vm_get_highmem_size(struct vmctx *ctx); int vm_set_desc(struct vmctx *ctx, int vcpu, int reg, diff --git a/usr.sbin/bhyve/snapshot.c b/usr.sbin/bhyve/snapshot.c index aae8353b89db..4bd2ea273171 100644 --- a/usr.sbin/bhyve/snapshot.c +++ b/usr.sbin/bhyve/snapshot.c @@ -1123,28 +1123,15 @@ err_vm_snapshot_kern_data: static int vm_snapshot_basic_metadata(struct vmctx *ctx, xo_handle_t *xop, size_t memsz) { - int error; - int memflags; - char vmname_buf[MAX_VMNAME]; - - memset(vmname_buf, 0, MAX_VMNAME); - error = vm_get_name(ctx, vmname_buf, MAX_VMNAME - 1); - if (error != 0) { - perror("Failed to get VM name"); - goto err; - } - - memflags = vm_get_memflags(ctx); xo_open_container_h(xop, JSON_BASIC_METADATA_KEY); xo_emit_h(xop, "{:" JSON_NCPUS_KEY "/%ld}\n", guest_ncpus); - xo_emit_h(xop, "{:" JSON_VMNAME_KEY "/%s}\n", vmname_buf); + xo_emit_h(xop, "{:" JSON_VMNAME_KEY "/%s}\n", vm_get_name(ctx)); xo_emit_h(xop, "{:" JSON_MEMSIZE_KEY "/%lu}\n", memsz); - xo_emit_h(xop, "{:" JSON_MEMFLAGS_KEY "/%d}\n", memflags); + xo_emit_h(xop, "{:" JSON_MEMFLAGS_KEY "/%d}\n", vm_get_memflags(ctx)); xo_close_container_h(xop, JSON_BASIC_METADATA_KEY); -err: - return (error); + return (0); } static int @@ -1518,7 +1505,6 @@ init_checkpoint_thread(struct vmctx *ctx) struct sockaddr_un addr; int socket_fd; pthread_t checkpoint_pthread; - char vmname_buf[MAX_VMNAME]; int err; memset(&addr, 0, sizeof(addr)); @@ -1532,14 +1518,8 @@ init_checkpoint_thread(struct vmctx *ctx) addr.sun_family = AF_UNIX; - err = vm_get_name(ctx, vmname_buf, MAX_VMNAME - 1); - if (err != 0) { - perror("Failed to get VM name"); - goto fail; - } - snprintf(addr.sun_path, sizeof(addr.sun_path), "%s%s", - BHYVE_RUN_DIR, vmname_buf); + BHYVE_RUN_DIR, vm_get_name(ctx)); addr.sun_len = SUN_LEN(&addr); unlink(addr.sun_path);