Received: by 2002:a25:c205:0:0:0:0:0 with SMTP id s5csp5914236ybf; Thu, 5 Mar 2020 09:22:32 -0800 (PST) X-Google-Smtp-Source: ADFU+vsTCArIl8JlhC4HI4EaYcUmFYV2fnHBBs43opXtiGeXGLSohUFdq6849b0mML/ed+K2+FFk X-Received: by 2002:a05:6808:9ba:: with SMTP id e26mr86592oig.156.1583428952285; Thu, 05 Mar 2020 09:22:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1583428952; cv=none; d=google.com; s=arc-20160816; b=mBFodGKl5w9T7nBaEbJjgGhh6LV3N7MKe4vjJudMOp294J6jl/h0BQ1gpZTqo9M2YY +nSfC/Qc7rvX4bx57HumLNbS0lsxsQLUer0Jisr4N+kLSdtd5W6c0VNbWiveUNMAHUjG PPdSQzMtBPCkAG1U4RaKxCgLDbVRGtmciVLGPJhoJRWlOB7A8jcHvO8MZ+Ek1XAQGbhu eImeM/yUuu2rXDCU4xTCA2i01iRUUjWWQDl6WpEFTNyOxrNNtpKtgIpUzQnpwsWf/WDA jI1D0qFKyMgJB5F7Dbn5ByzbcQ50XwFT+g8LB0avOUksB4V2BxA7Bxk496mjoZtE95PI wj8Q== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=d4Xc8XhvKhpe2hGJkn518tOC4KX5iMImMfnMrQugces=; b=ODcfQqpnIoHh1dDHg+6zKdJbCiPrMY3B/S3b0cmhnfSrYUiseJaaO7WfgMH+FDwv6I aVu2ip85wLTTlzBUyptQ6B462fkSvGtb68qsUvaghRftiZLoDALF/EXLn51oLWrRKX1k f2epNLk2NGiZjuLa7/frh7kZWnAIu5hpf0K/egrERkTqi6yL6+aF5Hqq++7MrupyhNg6 iCxnC0aUNkK9BfH7xi8nwONXNpnapO+jtA1fG4p79R33P7/ecdCLyARYoT9iR3FezMyP FFf6rkH0KIo9PTvJEFflJSN1H1epuN/iEpxZ2xIzJnf0UnBz7yi2mYTu3j7CnY8aV4kN 8p9g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=SUuRd9GK; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t18si4070977otd.269.2020.03.05.09.22.20; Thu, 05 Mar 2020 09:22:32 -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; dkim=pass header.i=@kernel.org header.s=default header.b=SUuRd9GK; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727885AbgCERV1 (ORCPT + 99 others); Thu, 5 Mar 2020 12:21:27 -0500 Received: from mail.kernel.org ([198.145.29.99]:40808 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727720AbgCEROe (ORCPT ); Thu, 5 Mar 2020 12:14:34 -0500 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A99DB24654; Thu, 5 Mar 2020 17:14:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1583428474; bh=57I+7quQKDQmsEDDJITB3L2NMIr5sFzOXq0CxdhIvnc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SUuRd9GKlAEfk5asN8JlZUM3GguoNJftarQsTI4MFpO7cAq4g9P2BtR8vajHzx+wN YHvz6hsvtgldgyXJM8XGNhpfihVVw4vJcAWsZDoCpBdJAXtQBZ53yvLon9t+FLNQhi B0vnifldyGDEpJaIEr8rhFC8tV9lMHvu9nBSgYmY= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Paul Burton , Sasha Levin , linux-mips@vger.kernel.org Subject: [PATCH AUTOSEL 5.4 11/58] MIPS: Disable VDSO time functionality on microMIPS Date: Thu, 5 Mar 2020 12:13:32 -0500 Message-Id: <20200305171420.29595-11-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200305171420.29595-1-sashal@kernel.org> References: <20200305171420.29595-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Paul Burton [ Upstream commit 07015d7a103c4420b69a287b8ef4d2535c0f4106 ] A check we're about to add to pick up on function calls that depend on bogus use of the GOT in the VDSO picked up on instances of such function calls in microMIPS builds. Since the code appears genuinely problematic, and given the relatively small amount of use & testing that microMIPS sees, go ahead & disable the VDSO for microMIPS builds. Signed-off-by: Paul Burton Signed-off-by: Sasha Levin --- arch/mips/vdso/Makefile | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile index 3fa4bbe1bae53..b6b1eb638fb14 100644 --- a/arch/mips/vdso/Makefile +++ b/arch/mips/vdso/Makefile @@ -48,6 +48,8 @@ endif CFLAGS_REMOVE_vgettimeofday.o = -pg +DISABLE_VDSO := n + # # For the pre-R6 code in arch/mips/vdso/vdso.h for locating # the base address of VDSO, the linker will emit a R_MIPS_PC32 @@ -61,11 +63,24 @@ CFLAGS_REMOVE_vgettimeofday.o = -pg ifndef CONFIG_CPU_MIPSR6 ifeq ($(call ld-ifversion, -lt, 225000000, y),y) $(warning MIPS VDSO requires binutils >= 2.25) - obj-vdso-y := $(filter-out vgettimeofday.o, $(obj-vdso-y)) - ccflags-vdso += -DDISABLE_MIPS_VDSO + DISABLE_VDSO := y endif endif +# +# GCC (at least up to version 9.2) appears to emit function calls that make use +# of the GOT when targeting microMIPS, which we can't use in the VDSO due to +# the lack of relocations. As such, we disable the VDSO for microMIPS builds. +# +ifdef CONFIG_CPU_MICROMIPS + DISABLE_VDSO := y +endif + +ifeq ($(DISABLE_VDSO),y) + obj-vdso-y := $(filter-out vgettimeofday.o, $(obj-vdso-y)) + ccflags-vdso += -DDISABLE_MIPS_VDSO +endif + # VDSO linker flags. VDSO_LDFLAGS := \ -Wl,-Bsymbolic -Wl,--no-undefined -Wl,-soname=linux-vdso.so.1 \ -- 2.20.1