Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp498567ybz; Tue, 21 Apr 2020 13:12:28 -0700 (PDT) X-Google-Smtp-Source: APiQypJNB6FVV0KgG//pnZBy5d8m4F7l7PVAqQBw2UPDqIJlGVZswAmjLtc5FMeTchSTwcPYP4oR X-Received: by 2002:a17:906:310e:: with SMTP id 14mr23797825ejx.177.1587499948512; Tue, 21 Apr 2020 13:12:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587499948; cv=none; d=google.com; s=arc-20160816; b=r9nQFwruxHePiE8dj3BO7tFrBQaanwtAAhtEZoitYlAalVC6AdZVaTUUUctMsBIeKn bWJgovEtwn2fAXSkBKXTrbtDG6rsFxZr7cpv+Dne0KBk3J2+w8eTSAEbNH8/C1d7c3I1 5lRLTf5a+Nvg70VoEofVXxbUtmJJDTZQr0lH0nyB8mwdfXz4xVPF7hOXu3Lq83DdpOAT 6koRkA1q/OUJ9+V5n3ckg3Qf7gqVnDD0vH0Wcpb9Cu0tH+KsUfmkxzmM7FOHHMzjf1iu Gj3lSPoDqjpdAg8p4q7gAR1H7AwvzEECCxavT+o/dkQRRPofVkTpoQnLZqa6xLRtnUFG TErQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=X+//GjRlupUmIYIFzP0Ctl779RKP1FxieoOD/8PQKf8=; b=UfunpUERoJeL9kEdk/xSFCbPS5pXgdtC2G50iYXLxc4RbuujD8eXHv4KkoQcc6P7g0 Zhe0lyWULpt3x961RKgc7K/A+NqLQq7Z25ObJQjY+2tx/CEv697w3MYx1RlfCG1Z1mSb WrGbny0oyD6uCOCMuGsaNYvfVGegIFIho2dpxG5OABE/tJfuLzvAYGvfsyeo+2yMsU/4 eaLQ6VEbYNEZpTIpHZjQeQHl/75ewbnk+f2wmdOFjzqwN9/LMJjYL+6W7UgJvYKf0XNF fu8fQoh8r6vKB/1rkRRQVEuUVpjukwafcTunF8G9SQrfK/EK3xTlncgvh+UIbxb0FI8A Uopg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2020-01-29 header.b=NFQwfC7R; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h10si2196243edw.542.2020.04.21.13.12.05; Tue, 21 Apr 2020 13:12:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2020-01-29 header.b=NFQwfC7R; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726337AbgDUUIi (ORCPT + 99 others); Tue, 21 Apr 2020 16:08:38 -0400 Received: from aserp2120.oracle.com ([141.146.126.78]:55392 "EHLO aserp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726039AbgDUUIh (ORCPT ); Tue, 21 Apr 2020 16:08:37 -0400 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 03LK2bFe134049; Tue, 21 Apr 2020 20:08:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references; s=corp-2020-01-29; bh=X+//GjRlupUmIYIFzP0Ctl779RKP1FxieoOD/8PQKf8=; b=NFQwfC7R605RcIgKo5Bh4sZ43bethE5EefhF9TffLBQgJfOqa4IJ6QtNFnyOIofTqFeF QqLgeMAV+Hbz3nElDNa5aropDYZnBfxXIarOP1OA7o0jMjnDjorcSnC0/ytIVSjhtc/T C6C9YApg1Xq7QhZZCqoEU8KWvabxnkKFo13OixJyPMTDh1dgVw79bB4zT9kAbVSN8SW6 se3r8m47IdbxR1FWo6+j1GB2aT00imuiA2jUi79nUTItAhJ0akBRIjXlqpe1yzJRjUB3 bWnRqD4tGr/OtMmdLkMbbCjNymlIlxZX443+BmSxefAfFaHaEgtFKThkb+Dz7WmPDXyA Ug== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by aserp2120.oracle.com with ESMTP id 30fsgky4a5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 21 Apr 2020 20:08:21 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 03LK2Vee128225; Tue, 21 Apr 2020 20:08:21 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserp3020.oracle.com with ESMTP id 30gbber9dh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 21 Apr 2020 20:08:21 +0000 Received: from abhmp0005.oracle.com (abhmp0005.oracle.com [141.146.116.11]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 03LK8JCT006680; Tue, 21 Apr 2020 20:08:19 GMT Received: from mihai.localdomain (/10.153.73.25) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 21 Apr 2020 13:08:19 -0700 From: Mihai Carabas To: linux-kernel@vger.kernel.org Cc: Mihai Carabas , Borislav Petkov , Thomas Gleixner , Ingo Molnar , x86@kernel.org, "H. Peter Anvin" Subject: [PATCH v2] x86: microcode: fix return value for microcode late loading Date: Tue, 21 Apr 2020 22:28:38 +0300 Message-Id: <1587497318-4438-1-git-send-email-mihai.carabas@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1586858135-29337-1-git-send-email-mihai.carabas@oracle.com> References: <1586858135-29337-1-git-send-email-mihai.carabas@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9598 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 malwarescore=0 suspectscore=1 mlxlogscore=999 adultscore=0 mlxscore=0 phishscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2004210150 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9598 signatures=668686 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 mlxlogscore=999 malwarescore=0 clxscore=1015 spamscore=0 bulkscore=0 phishscore=0 suspectscore=1 impostorscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2004210150 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The return value from stop_machine might not be consistent. stop_machine_cpuslocked returns: - zero if all functions have returned 0 - a non-zero value if at least one of the functions returned a non-zero value There is no way to know if it is negative or positive. So make __reload_late return 0 on success, or negative otherwise. Signed-off-by: Mihai Carabas --- Changes in v2: - do not print anything on UCODE_NFOUND as microcode not found is not an error arch/x86/kernel/cpu/microcode/core.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/arch/x86/kernel/cpu/microcode/core.c b/arch/x86/kernel/cpu/microcode/core.c index 7019d4b..a2ae3da 100644 --- a/arch/x86/kernel/cpu/microcode/core.c +++ b/arch/x86/kernel/cpu/microcode/core.c @@ -545,8 +545,7 @@ static int __wait_for_cpus(atomic_t *t, long long timeout) /* * Returns: * < 0 - on error - * 0 - no update done - * 1 - microcode was updated + * 0 - success (no update done or microcode was updated) */ static int __reload_late(void *info) { @@ -576,8 +575,8 @@ static int __reload_late(void *info) if (err > UCODE_NFOUND) { pr_warn("Error reloading microcode on CPU %d\n", cpu); ret = -1; - } else if (err == UCODE_UPDATED || err == UCODE_OK) { - ret = 1; + } else if (err == UCODE_NFOUND) { + ret = -1; } wait_for_siblings: @@ -608,7 +607,7 @@ static int microcode_reload_late(void) atomic_set(&late_cpus_out, 0); ret = stop_machine_cpuslocked(__reload_late, NULL, cpu_online_mask); - if (ret > 0) + if (ret == 0) microcode_check(); pr_info("Reload completed, microcode revision: 0x%x\n", boot_cpu_data.microcode); @@ -649,7 +648,7 @@ static ssize_t reload_store(struct device *dev, put: put_online_cpus(); - if (ret >= 0) + if (ret == 0) ret = size; return ret; -- 1.8.3.1