From nobody Fri Jan 2 05:49:21 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2FAD0CDB465 for ; Mon, 16 Oct 2023 07:11:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231805AbjJPHLw (ORCPT ); Mon, 16 Oct 2023 03:11:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51372 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229953AbjJPHLq (ORCPT ); Mon, 16 Oct 2023 03:11:46 -0400 Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com [IPv6:2607:f8b0:4864:20::635]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 41CF4DC for ; Mon, 16 Oct 2023 00:11:45 -0700 (PDT) Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-1bdf4752c3cso22695835ad.2 for ; Mon, 16 Oct 2023 00:11:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1697440305; x=1698045105; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1YLGlADbqxnWAYarOFVSTI3AQVPhPYl3xWfz7Wse3mA=; b=tC4LY86rkiKKI7EWqWKJsM+GwVlT0koeey0qgnh+rLEx0ghY2KWqiaoXsmuQlR7Cer /w4edLT7YNscZrKIYirqOHJYjeeAjXU8pgeJGctnszKI5dmYBQ8alBTgjvVTf5rT2aAa FereKhnBmdGh5Bxl8Kr0re/2owSQrYwOHapsx0LMMwXzeoX/vdYNhmO3TvirB2OP7ZM1 thudmuzodLd010dITKY/2ldyztJ0cE/HzNmPD4URCDLleVVVG128nk+EXfhrS4kOAh1u OaM/LgHUnq/Oq38lFbTDwk1IO4CjscHjZicfjatgj+jC+b6bseDWUqHCSfMqhluQzmNH AACg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697440305; x=1698045105; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1YLGlADbqxnWAYarOFVSTI3AQVPhPYl3xWfz7Wse3mA=; b=uZD5xOn1MmgIl/sq+tk1Tr1SReVjOppHL5Cs7BDJtisIS+qoriHTdVHJY5njXxthEc i062f/ytUkkDjgZEktojl5xNLXUhSYMGChX06GTVDi/P2msXcdmvGAcRE0waQlU2Mou1 +gkysxOyAZ5gHrMTuD4Xjwxi0haiT6M8F3l08zE0e1+3jdIIFN28MWUfptD6SKxVu/HN Hfx0BOeHf2ep9WUseeSh3VmfoHuB9rGZMmdUSQdI8J9c0TIGV00hVWFo1bK/GtRJU3t3 Sq6klhWq95b/gWsdGAET18wR0w84J+zDmyy6olgxwSJ/ZWLHHPdWUd9P/dpa3tczCTk9 be9w== X-Gm-Message-State: AOJu0YwFoA0SgIF9JBAnp3tD3VZaeQLG4XiXQMEP8M6PbyT43D4X5W3l oXhdrNCobTXYchKpl9axhaopLg== X-Google-Smtp-Source: AGHT+IFiZfXVWLAwWVoc8OY1PxB2vC251spWed6E+sNY8zWNiPL3CrOKRidkLrTNfWcwaUPdKETYTg== X-Received: by 2002:a17:902:ec8c:b0:1c9:b187:4d84 with SMTP id x12-20020a170902ec8c00b001c9b1874d84mr18099691plg.14.1697440304700; Mon, 16 Oct 2023 00:11:44 -0700 (PDT) Received: from localhost ([122.172.80.14]) by smtp.gmail.com with ESMTPSA id o11-20020a170902778b00b001b9dab0397bsm7770391pll.29.2023.10.16.00.11.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 00:11:44 -0700 (PDT) From: Viresh Kumar To: Juergen Gross , Stefano Stabellini , Oleksandr Tyshchenko , Viresh Kumar Cc: Vincent Guittot , =?UTF-8?q?Alex=20Benn=C3=A9e?= , stratos-dev@op-lists.linaro.org, Erik Schilling , Manos Pitsidianakis , Mathieu Poirier , Arnd Bergmann , xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org Subject: [PATCH V4 1/4] xen: Make struct privcmd_irqfd's layout architecture independent Date: Mon, 16 Oct 2023 12:41:24 +0530 Message-Id: X-Mailer: git-send-email 2.31.1.272.g89b43f80a514 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Using indirect pointers in an ioctl command argument means that the layout is architecture specific, in particular we can't use the same one from 32-bit compat tasks. The general recommendation is to have __u64 members and use u64_to_user_ptr() to access it from the kernel if we are unable to avoid the pointers altogether. Fixes: f8941e6c4c71 ("xen: privcmd: Add support for irqfd") Reported-by: Arnd Bergmann Closes: https://lore.kernel.org/all/268a2031-63b8-4c7d-b1e5-8ab83ca80b4a@ap= p.fastmail.com/ Signed-off-by: Viresh Kumar Reviewed-by: Juergen Gross --- drivers/xen/privcmd.c | 2 +- include/uapi/xen/privcmd.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c index 120af57999fc..5095bd1abea5 100644 --- a/drivers/xen/privcmd.c +++ b/drivers/xen/privcmd.c @@ -935,7 +935,7 @@ static int privcmd_irqfd_assign(struct privcmd_irqfd *i= rqfd) return -ENOMEM; dm_op =3D kirqfd + 1; =20 - if (copy_from_user(dm_op, irqfd->dm_op, irqfd->size)) { + if (copy_from_user(dm_op, u64_to_user_ptr(irqfd->dm_op), irqfd->size)) { ret =3D -EFAULT; goto error_kfree; } diff --git a/include/uapi/xen/privcmd.h b/include/uapi/xen/privcmd.h index 375718ba4ab6..b143fafce84d 100644 --- a/include/uapi/xen/privcmd.h +++ b/include/uapi/xen/privcmd.h @@ -102,7 +102,7 @@ struct privcmd_mmap_resource { #define PRIVCMD_IRQFD_FLAG_DEASSIGN (1 << 0) =20 struct privcmd_irqfd { - void __user *dm_op; + __u64 dm_op; __u32 size; /* Size of structure pointed by dm_op */ __u32 fd; __u32 flags; --=20 2.31.1.272.g89b43f80a514