From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f73.google.com (mail-ed1-f73.google.com [209.85.208.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6688B3D0927 for ; Tue, 23 Jun 2026 10:52:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.73 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782211928; cv=none; b=gCnXukuQdtXldTgWkxgULwLpujRcnRvtVl6rY5mrwRxVy+onzYax3uViVaRwmnh9oB8169uEiF28N9ZbrvDpbVj8DqMcjkvReAxzRzJIWT22TPNdGTTS2YJkyI1NVpj6XGIdqkxMhtqBWZCvxcZo94iNIRsthOvQ8wqU64uye2I= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782211928; c=relaxed/simple; bh=BQMRk2Wy+M84EDjF2MxpdVUYrNmdwqZpVc08KdszHFc=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=MdKtcuYNR/S1PnmL/OcUymNQ0FLQ4NLeTE/SOUtpO+nLyHemYp9GJLwzW+A+PEvdK6XhT1XAnvLj3+v3iKoxO3/KfYdtyksV2QBnv1T5rQb6353LEVTugZAaXgGkgUizQlISC4zE8YuQnfgHJz0BXPpLfU0nKJqnLtdeXAibL5E= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--tarunsahu.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=psQTSwAX; arc=none smtp.client-ip=209.85.208.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--tarunsahu.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="psQTSwAX" Received: by mail-ed1-f73.google.com with SMTP id 4fb4d7f45d1cf-6960fb32b73so5103387a12.3 for ; Tue, 23 Jun 2026 03:52:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1782211926; x=1782816726; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=AwBhzOQmDvof4o67YNkTf38WRniNdVc8sUDs+ORB3x0=; b=psQTSwAXdzkcDU0Guh5qCYOoVt5fCNq+r7BrHBKyjAJzMxnkVrSisKEI63VyClCpxo 9O0Thv4dsK4S9gNUBEClagQ5H41Rz1VrZ/5l1l9/lX5R71+DLo8b1Q5xh7JJMkEikQcz dHI8fwXM+06G/XARQticDY2zjuupFsoH7xcElvVJhSGuzO3iHHG44YXmIuwIzUf4iyol HM6qHaQd5gOaBqd5stcbs1ttRJwJ/C4/NZRlZb0n+Gz/WKryNIBql7XoWk1QaQ8V6YH1 HotnEr9Ryh/G+dviUmze5aelry17yLNnn/k4CDKgnueL+QdO3Km3Abw/Zw9nmk8L46uZ R1RA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782211926; x=1782816726; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=AwBhzOQmDvof4o67YNkTf38WRniNdVc8sUDs+ORB3x0=; b=JkJndj4W/mRsc7RNyGtibTFrIu3Xe8XYnlUu9z7yiU+H6KlqFeZjyCmhcIXZrMIlKL uk6sZk72wDtXVnFda1kip4R4kok5Y3FSlVw2bKiV7XShE+P+7xlFTNXuJQsRosOlAgBk Mtf+e7KYHvjmkRM+sLRiW8d41oNAAwaDAhFCcNLrF3p8iGB1QolZedivZS8tDpvYbmG8 HWUSOnM0VGuQmXQVcqm89D16EFKBxPJsAvRbW4sGCD54WFlaIbB7lve327wnPHuqNPBJ 6aGb3pCxk9PgrqhdwyFmQJjeZukqcUJ6ubLoVNZhrdalitxupQwRShmpFK6pi1t7HGyy inzA== X-Forwarded-Encrypted: i=1; AFNElJ9Z38rLiOFgiyh/sXrMUEJOOyr6R9vkoF4+rBJaCoVjylpxMevQ2H/Q0bN9xd5ZO2vEsozmIqkOH8OyMLE=@vger.kernel.org X-Gm-Message-State: AOJu0YxibRzYSpbpiW7/yzCYibG6OBWwlbZitvonSqjRd7BakkucRmgI hNVgLSMzeKvCRwGL5doMw+QbPGqyIogT7xDEof4j45a17RiFOjTKpGSaLe8cc8KvO8JngaJuSZL O2natFF4AMDfYFTZBBw== X-Received: from edds5.prod.google.com ([2002:a05:6402:5205:b0:697:9ff1:9f21]) (user=tarunsahu job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6402:4598:b0:697:b75d:fa86 with SMTP id 4fb4d7f45d1cf-697dbac90a4mr1031248a12.19.1782211925395; Tue, 23 Jun 2026 03:52:05 -0700 (PDT) Date: Tue, 23 Jun 2026 10:52:00 +0000 In-Reply-To: <20260623105201.3724592-1-tarunsahu@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260623105201.3724592-1-tarunsahu@google.com> X-Mailer: git-send-email 2.55.0.rc0.786.g65d90a0328-goog Message-ID: <20260623105201.3724592-3-tarunsahu@google.com> Subject: [PATCH v5 2/3] kho: add KHOSER_COPY_PTR to allow phys copy of serialized ptr From: Tarun Sahu To: Mike Rapoport , Pasha Tatashin , Pratyush Yadav , Andrew Morton , Alexander Graf Cc: kexec@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Tarun Sahu Content-Type: text/plain; charset="UTF-8" Adding KHOSER_COPY_PTR to copy one serializeable pointer to another. It basically allows copy of phys val of the serializeable pointer. It ignores the typecheck if any of the argument is of void * Signed-off-by: Tarun Sahu --- include/linux/kho/abi/kexec_handover.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/linux/kho/abi/kexec_handover.h b/include/linux/kho/abi/kexec_handover.h index 5e2eb8519bda..c1b61d875dcc 100644 --- a/include/linux/kho/abi/kexec_handover.h +++ b/include/linux/kho/abi/kexec_handover.h @@ -139,6 +139,17 @@ (typeof((s).ptr))((s).phys ? phys_to_virt((s).phys) : NULL); \ }) +/* Copies one serializable pointer to another. */ +#define KHOSER_COPY_PTR(dest, src) \ + ({ \ + static_assert( \ + __builtin_types_compatible_p(typeof((dest).ptr), typeof((src).ptr)) || \ + __builtin_types_compatible_p(typeof((dest).ptr), void *) || \ + __builtin_types_compatible_p(typeof((src).ptr), void *), \ + "pointer type mismatch in KHOSER_COPY_PTR" \ + ); \ + (dest).phys = (src).phys; \ + }) /* * This header is embedded at the beginning of each `kho_vmalloc_chunk` * and contains a pointer to the next chunk in the linked list, -- 2.55.0.rc0.786.g65d90a0328-goog