Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp666714img; Fri, 22 Mar 2019 06:13:05 -0700 (PDT) X-Google-Smtp-Source: APXvYqwPUhmOSmYyYquEiTnwZfc4q/Gy1T9yVJ96Z1yaEkqFQNglE/Attj2XmmVtrB8/HQHRv8SF X-Received: by 2002:a63:31ce:: with SMTP id x197mr8925374pgx.69.1553260385640; Fri, 22 Mar 2019 06:13:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553260385; cv=none; d=google.com; s=arc-20160816; b=aEaN7X7rjCEZA2uO8/8EzL0voI7G3A7EFRVH7xBoMeRb7NPLMgvG6+Fd5C35/DsOeW 4taNIAUzY2qDy2AB3r8/GEghrOIDuTdGcw9CewGBWb5qz45KegLtsNvqqh1mT11rx4DE Z77xlDofBF8RCuKrvIJNTxTh7vQT9mbNUHSozh+tHbmp9Ce+UzuPYU4JQTOwBYEKsgy5 fb7pbQfjWTLqErtjgOtV8KNSWlExibfHk3CxmdJPV6ud/T2CHYP7eaYyfBXDVUC25A+q YgIE0ysweL07q6/AmRUE6ihRDohHOUJwKpnX2rxTgom0M7DLPEyDlNN6WhtIs4dg5Cfz E3UQ== 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:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Dt7kbJEO5XEh57qjvHk2vKhhrIgLjj7jQX0jLn8ZOxw=; b=lRPLO4Ivcxafa5UR66gBot0zUS8mW0UAzyQipFTL4nhEZ6vLZMO/RCXCCn81+0fsBu m5AvOQEK/u9ZmNyF9gqkf9qynfhRO1LeuIfQSHhWDJZW3ODYq6WJ1VZTLzsLGwYUXHWx PpfIaVXpYXIgvd3ys2Gyp75w4iKOtYkf7fygSddsKLg8ItriLo7a/77vYuYtKAuJDQrw vrZC9rZz/0zS9QKbDmKEwxHa/PkSsOW5N5XAgT8gzqh4KCbXzUPTfrNu7/DXIqJfICZt 7I6BbsjTHbzS6E0oavNMRXEGmWgqSQ0nMhA13N1aDij5ErKV4cAcVrMpwMNhW/990pWX mY/A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=r6erh5zV; 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 g8si6596162pgq.159.2019.03.22.06.12.47; Fri, 22 Mar 2019 06:13:05 -0700 (PDT) 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; dkim=pass header.i=@kernel.org header.s=default header.b=r6erh5zV; 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 S1730013AbfCVLdx (ORCPT + 99 others); Fri, 22 Mar 2019 07:33:53 -0400 Received: from mail.kernel.org ([198.145.29.99]:34340 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730317AbfCVLdt (ORCPT ); Fri, 22 Mar 2019 07:33:49 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6247721916; Fri, 22 Mar 2019 11:33:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553254427; bh=i721EGfZ24JAuqsMgTQq07xjBicZ5WGeImgDtPnpZo4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=r6erh5zVo8MFC9Wj1SQjOHaiMAdkpGatJMEUT9EGIZpz0fAfdjyGvEArmxschGEsK A1Rocp0/ep2hUSbBAp6xfVGPx6Sy4MeUUCh13brouglgnO6B4sLHzPfLrLF/8ZEura 5e39AJQPWUDNvCS5Zd/QNnn5ttHXaXara9FAPWzg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Sasha Levin Subject: [PATCH 4.4 117/230] Revert "x86/platform/UV: Use efi_runtime_lock to serialise BIOS calls" Date: Fri, 22 Mar 2019 12:14:15 +0100 Message-Id: <20190322111244.855972199@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190322111236.796964179@linuxfoundation.org> References: <20190322111236.796964179@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ This reverts commit 7212e37cbdf99f48e4a6c689a42f4bda1ae69001. Hedi Berriche notes: > In 4.4-stable efi_runtime_lock as defined in drivers/firmware/efi/runtime-wrappers.c > is a spinlock (given it predates commit dce48e351c0d) and commit > > f331e766c4be x86/platform/UV: Use efi_runtime_lock to serialise BIOS calls > > which 7212e37cbdf9 is a backport of, needs it to be a semaphore. Signed-off-by: Sasha Levin --- arch/x86/include/asm/uv/bios.h | 8 +------- arch/x86/platform/uv/bios_uv.c | 23 ++--------------------- drivers/firmware/efi/runtime-wrappers.c | 7 ------- 3 files changed, 3 insertions(+), 35 deletions(-) --- a/arch/x86/include/asm/uv/bios.h +++ b/arch/x86/include/asm/uv/bios.h @@ -48,8 +48,7 @@ enum { BIOS_STATUS_SUCCESS = 0, BIOS_STATUS_UNIMPLEMENTED = -ENOSYS, BIOS_STATUS_EINVAL = -EINVAL, - BIOS_STATUS_UNAVAIL = -EBUSY, - BIOS_STATUS_ABORT = -EINTR, + BIOS_STATUS_UNAVAIL = -EBUSY }; /* @@ -112,9 +111,4 @@ extern long system_serial_number; extern struct kobject *sgi_uv_kobj; /* /sys/firmware/sgi_uv */ -/* - * EFI runtime lock; cf. firmware/efi/runtime-wrappers.c for details - */ -extern struct semaphore __efi_uv_runtime_lock; - #endif /* _ASM_X86_UV_BIOS_H */ --- a/arch/x86/platform/uv/bios_uv.c +++ b/arch/x86/platform/uv/bios_uv.c @@ -28,8 +28,7 @@ static struct uv_systab uv_systab; -static s64 __uv_bios_call(enum uv_bios_cmd which, u64 a1, u64 a2, u64 a3, - u64 a4, u64 a5) +s64 uv_bios_call(enum uv_bios_cmd which, u64 a1, u64 a2, u64 a3, u64 a4, u64 a5) { struct uv_systab *tab = &uv_systab; s64 ret; @@ -44,19 +43,6 @@ static s64 __uv_bios_call(enum uv_bios_c a1, a2, a3, a4, a5); return ret; } - -s64 uv_bios_call(enum uv_bios_cmd which, u64 a1, u64 a2, u64 a3, u64 a4, u64 a5) -{ - s64 ret; - - if (down_interruptible(&__efi_uv_runtime_lock)) - return BIOS_STATUS_ABORT; - - ret = __uv_bios_call(which, a1, a2, a3, a4, a5); - up(&__efi_uv_runtime_lock); - - return ret; -} EXPORT_SYMBOL_GPL(uv_bios_call); s64 uv_bios_call_irqsave(enum uv_bios_cmd which, u64 a1, u64 a2, u64 a3, @@ -65,15 +51,10 @@ s64 uv_bios_call_irqsave(enum uv_bios_cm unsigned long bios_flags; s64 ret; - if (down_interruptible(&__efi_uv_runtime_lock)) - return BIOS_STATUS_ABORT; - local_irq_save(bios_flags); - ret = __uv_bios_call(which, a1, a2, a3, a4, a5); + ret = uv_bios_call(which, a1, a2, a3, a4, a5); local_irq_restore(bios_flags); - up(&__efi_uv_runtime_lock); - return ret; } --- a/drivers/firmware/efi/runtime-wrappers.c +++ b/drivers/firmware/efi/runtime-wrappers.c @@ -88,13 +88,6 @@ static DEFINE_SPINLOCK(efi_runtime_lock) */ /* - * Expose the EFI runtime lock to the UV platform - */ -#ifdef CONFIG_X86_UV -extern struct semaphore __efi_uv_runtime_lock __alias(efi_runtime_lock); -#endif - -/* * As per commit ef68c8f87ed1 ("x86: Serialize EFI time accesses on rtc_lock"), * the EFI specification requires that callers of the time related runtime * functions serialize with other CMOS accesses in the kernel, as the EFI time