Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3049444imu; Wed, 7 Nov 2018 04:17:26 -0800 (PST) X-Google-Smtp-Source: AJdET5cBSY2i4PE7ra2mubUT2hj6pZVC2UDStX8SYGrSMfKpf8TEMmm9+Oh/pgqaH7P47QLLjKiT X-Received: by 2002:a17:902:2867:: with SMTP id e94-v6mr1610388plb.317.1541593046010; Wed, 07 Nov 2018 04:17:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541593045; cv=none; d=google.com; s=arc-20160816; b=yNG9sm9C043e0GLT+O/OxNSaDwG5tzR4tJaATij8lpIZ+BTPC4x2wWf/dsZTixb6gc acNb+R3sWyRInYn76+dB8J69a6PN2NdyM24Rws0N/LBP7+wFvcsqstAfqJnSDvbTtQtP gHqVa48IMsWIJr9ZPA1U/V67Sl3T0ojcE7xNBeNhyjBysZV9oIyoLvdETpS5Sy9GkRfw hg9quZZuNi8hFEbANeXXhqDUtr+M5hiJnFavvHoBEsvF9OPyfvB4T88BzD595AMnbmuA WnKURjhSgXeLrQyuYC1ADHsKeh9jZB/AeeZKG4h7Md4DgIjjF6XfLsN2KB7JWiHmtHkX UpCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:autocrypt:openpgp:from:references:cc:to:subject; bh=Y4xh1PBlbyFggRHamx67R4UVY5+gsMxenUlvVAOEYy8=; b=CO8ZxJ3+MuR92PAwMgKKl1ovhIn0k888CT+L48L6fZRLvPUuy9KgBtFLGF4+pD6EPI FpEoi4v6Ew+lOO1DJM0sDwLqOxMVZjxKq5qjeYCqc8x7YtujpqwAdjUuRi+D4VVSoKyx QIQuHNpss1uCALpVIWzce4zh9Z2IyCbxebJ4NGjqdH8s3IY4dOFnLkPxoS8LH16nO8So oEj/X+RxijGsmw1C1LsO+Ut4vDmxLe5IlXNx7E/E1kwePn868ou9KeOKRNERufAKHJEq beqWqrmFvJfZ6YIu36TCzOBKJEPaOslakDJBdOd0ta0o6DsLWW+aGr4gD82xqUiDXryL vKdA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t20si370089pgl.211.2018.11.07.04.17.10; Wed, 07 Nov 2018 04:17:25 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727115AbeKGVqw (ORCPT + 99 others); Wed, 7 Nov 2018 16:46:52 -0500 Received: from mx2.suse.de ([195.135.220.15]:48382 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726469AbeKGVqw (ORCPT ); Wed, 7 Nov 2018 16:46:52 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id DB63CAFDB; Wed, 7 Nov 2018 12:16:42 +0000 (UTC) Subject: Re: [Xen-devel] [PATCH] x86/xen: fix pv boot To: Andrew Cooper , linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org Cc: sstabellini@kernel.org, mingo@redhat.com, bp@alien8.de, hpa@zytor.com, boris.ostrovsky@oracle.com, tglx@linutronix.de References: <20181107113017.30090-1-jgross@suse.com> <6eb96a45-393c-4e06-ee19-549fdbe9e316@citrix.com> From: Juergen Gross Openpgp: preference=signencrypt Autocrypt: addr=jgross@suse.com; prefer-encrypt=mutual; keydata= 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 Message-ID: Date: Wed, 7 Nov 2018 13:16:42 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 MIME-Version: 1.0 In-Reply-To: <6eb96a45-393c-4e06-ee19-549fdbe9e316@citrix.com> Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 07/11/2018 13:02, Andrew Cooper wrote: > On 07/11/18 11:55, Andrew Cooper wrote: >> On 07/11/18 11:30, Juergen Gross wrote: >>> + return ret; >>> } >>> >>> static inline int xen_safe_read_ulong(unsigned long *addr, unsigned long *val) >>> { >>> - return __get_user(*val, (unsigned long __user *)addr); >>> + int ret = 0; >>> + unsigned long rval; >>> + >>> + asm volatile("1: mov"__i" %2,%"__r"1\n" >>> + "2:\n" >>> + ".section .fixup,\"ax\"\n" >>> + "3: mov %3,%0\n" >>> + " jmp 2b\n" >>> + ".previous\n" >>> + _ASM_EXTABLE(1b, 3b) >>> + : "=r" (ret), "=r" (rval) >>> + : "m" (*addr), "i" (-1), "0" (ret)); >>> + *val = rval; >>> + return ret; >> This also uses rval uninitialised if a fault occurs. >> >> Overall, how about: >> >> static inline int xen_safe_write_ulong(unsigned long *addr, unsigned >> long val) >> { >>     int ret = 0; >> >>     asm volatile("1: mov %[val], %[ptr]\n" >>                  "2:\n" >>                  ".section .fixup, \"ax\"\n" >>                  "3: mov %[err], %[ret]\n" > > Actually, if you want a shorter fixup path, `sub $1, %[ret]` would also > do, and drop the [err] constraint. Thanks for the review. Will send V2 soon. Juergen