From nobody Mon Feb 9 11:33:12 2026 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=1610636745; cv=none; d=zohomail.com; s=zohoarc; b=EcxveZ8+B/GAFw7dUsFMxJaHlfLsybvAsUUOQ0/9I6VBIWpVqaT5Am0jsNRZjKUGL1AIzLzQadIRI0lYFEnq4Gc3UQpwW+qRr/ysp8vsA9GG58MRY71xkvOLOWK7TzrKeflanqD6+t+X2kGZOC4DGLkBBcdhbtDEXa+Olt+bDbU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1610636745; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=PKCI8/ExLlhFmX+oxuow12nmgg61oDI6flUEFtcNiaU=; b=kaKvnhmGO2wcPRLy1+Fe6K0VrKGmceTuG2cft34yiqNrpNyk+TIRTrlVufTWILkkQ74VcM5TnEJvqOFVlwVOAT9h59zGmDA+8+JnAx9yVQlMR2UZJOIcItdCrtAycK7cRxOLNd5Jy3b7Z9WDZgzndLXnD1F4Nm2L3iLjFCmvQU0= 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) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1610636745132670.7367893479601; Thu, 14 Jan 2021 07:05:45 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.67084.119445 (Exim 4.92) (envelope-from ) id 1l04Bi-0005TD-UZ; Thu, 14 Jan 2021 15:05:26 +0000 Received: by outflank-mailman (output) from mailman id 67084.119445; Thu, 14 Jan 2021 15:05: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 1l04Bi-0005T6-RH; Thu, 14 Jan 2021 15:05:26 +0000 Received: by outflank-mailman (input) for mailman id 67084; Thu, 14 Jan 2021 15:05:25 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l04Bh-0005Sq-7V for xen-devel@lists.xenproject.org; Thu, 14 Jan 2021 15:05:25 +0000 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 483ed273-0f93-4ac6-b176-0503b2879029; Thu, 14 Jan 2021 15:05:24 +0000 (UTC) Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 5A738AC5B; Thu, 14 Jan 2021 15:05:23 +0000 (UTC) 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: 483ed273-0f93-4ac6-b176-0503b2879029 X-Virus-Scanned: by amavisd-new at test-mx.suse.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1610636723; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PKCI8/ExLlhFmX+oxuow12nmgg61oDI6flUEFtcNiaU=; b=ZMb3mnA49xATiEEgFGFLnYJWyKqYszsJjhhY+hxYbvyhYNp36yok2facYVHe9AhXn9uB+K Lb81vfsARCfou1PWnXBtYyj95Ia3ycFXbqqwRbtMVX8Wydh4ux787SBX55PZISN5tFkMfj V5mi65zvQAOuqRVVaIrA/jSLsX3NZAE= Subject: [PATCH 05/17] x86: rename {get,put}_user() to {get,put}_guest() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , Tim Deegan , George Dunlap References: <4f1975a9-bdd9-f556-9db5-eb6c428f258f@suse.com> Message-ID: Date: Thu, 14 Jan 2021 16:05:23 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <4f1975a9-bdd9-f556-9db5-eb6c428f258f@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @suse.com) Content-Type: text/plain; charset="utf-8" Bring them (back) in line with __{get,put}_guest(). Signed-off-by: Jan Beulich --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -1626,19 +1626,19 @@ static void load_segments(struct vcpu *n =20 if ( !ring_1(regs) ) { - ret =3D put_user(regs->ss, esp-1); - ret |=3D put_user(regs->esp, esp-2); + ret =3D put_guest(regs->ss, esp - 1); + ret |=3D put_guest(regs->esp, esp - 2); esp -=3D 2; } =20 if ( ret | - put_user(rflags, esp-1) | - put_user(cs_and_mask, esp-2) | - put_user(regs->eip, esp-3) | - put_user(uregs->gs, esp-4) | - put_user(uregs->fs, esp-5) | - put_user(uregs->es, esp-6) | - put_user(uregs->ds, esp-7) ) + put_guest(rflags, esp - 1) | + put_guest(cs_and_mask, esp - 2) | + put_guest(regs->eip, esp - 3) | + put_guest(uregs->gs, esp - 4) | + put_guest(uregs->fs, esp - 5) | + put_guest(uregs->es, esp - 6) | + put_guest(uregs->ds, esp - 7) ) { gprintk(XENLOG_ERR, "error while creating compat failsafe callback fra= me\n"); @@ -1667,17 +1667,17 @@ static void load_segments(struct vcpu *n cs_and_mask =3D (unsigned long)regs->cs | ((unsigned long)vcpu_info(n, evtchn_upcall_mask) << 32); =20 - if ( put_user(regs->ss, rsp- 1) | - put_user(regs->rsp, rsp- 2) | - put_user(rflags, rsp- 3) | - put_user(cs_and_mask, rsp- 4) | - put_user(regs->rip, rsp- 5) | - put_user(uregs->gs, rsp- 6) | - put_user(uregs->fs, rsp- 7) | - put_user(uregs->es, rsp- 8) | - put_user(uregs->ds, rsp- 9) | - put_user(regs->r11, rsp-10) | - put_user(regs->rcx, rsp-11) ) + if ( put_guest(regs->ss, rsp - 1) | + put_guest(regs->rsp, rsp - 2) | + put_guest(rflags, rsp - 3) | + put_guest(cs_and_mask, rsp - 4) | + put_guest(regs->rip, rsp - 5) | + put_guest(uregs->gs, rsp - 6) | + put_guest(uregs->fs, rsp - 7) | + put_guest(uregs->es, rsp - 8) | + put_guest(uregs->ds, rsp - 9) | + put_guest(regs->r11, rsp - 10) | + put_guest(regs->rcx, rsp - 11) ) { gprintk(XENLOG_ERR, "error while creating failsafe callback frame\n"); --- a/xen/include/asm-x86/uaccess.h +++ b/xen/include/asm-x86/uaccess.h @@ -27,14 +27,12 @@ extern void __put_user_bad(void); #define UA_DROP(args...) =20 /** - * get_user: - Get a simple variable from user space. + * get_guest: - Get a simple variable from guest space. * @x: Variable to store result. - * @ptr: Source address, in user space. - * - * Context: User context only. This function may sleep. + * @ptr: Source address, in guest space. * - * This macro copies a single simple variable from user space to kernel - * space. It supports simple types like char and int, but not larger + * This macro load a single simple variable from guest space. + * It supports simple types like char and int, but not larger * data types like structures or arrays. * * @ptr must have pointer-to-simple-variable type, and the result of @@ -43,18 +41,15 @@ extern void __put_user_bad(void); * Returns zero on success, or -EFAULT on error. * On error, the variable @x is set to zero. */ -#define get_user(x,ptr) \ - __get_user_check((x),(ptr),sizeof(*(ptr))) +#define get_guest(x, ptr) get_guest_check(x, ptr, sizeof(*(ptr))) =20 /** - * put_user: - Write a simple value into user space. - * @x: Value to copy to user space. - * @ptr: Destination address, in user space. - * - * Context: User context only. This function may sleep. + * put_guest: - Write a simple value into guest space. + * @x: Value to store in guest space. + * @ptr: Destination address, in guest space. * - * This macro copies a single simple value from kernel space to user - * space. It supports simple types like char and int, but not larger + * This macro stores a single simple value from to guest space. + * It supports simple types like char and int, but not larger * data types like structures or arrays. * * @ptr must have pointer-to-simple-variable type, and @x must be assignab= le @@ -62,8 +57,8 @@ extern void __put_user_bad(void); * * Returns zero on success, or -EFAULT on error. */ -#define put_user(x,ptr) \ - __put_user_check((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr))) +#define put_guest(x, ptr) \ + put_guest_check((__typeof__(*(ptr)))(x), ptr, sizeof(*(ptr))) =20 /** * __get_guest: - Get a simple variable from guest space, with less checki= ng. @@ -119,7 +114,7 @@ extern void __put_user_bad(void); err_; \ }) =20 -#define __put_user_check(x, ptr, size) \ +#define put_guest_check(x, ptr, size) \ ({ \ __typeof__(*(ptr)) __user *ptr_ =3D (ptr); \ __typeof__(size) size_ =3D (size); \ @@ -141,7 +136,7 @@ extern void __put_user_bad(void); err_; \ }) =20 -#define __get_user_check(x, ptr, size) \ +#define get_guest_check(x, ptr, size) \ ({ \ __typeof__(*(ptr)) __user *ptr_ =3D (ptr); \ __typeof__(size) size_ =3D (size); \