Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp3959669img; Mon, 25 Mar 2019 23:32:51 -0700 (PDT) X-Google-Smtp-Source: APXvYqx+JHzmp5z+bvqaTyctxFcc9BUYtIBuBMdKIN9gwe6I/ql66J02govcx8WNW7nK1UhAEfKF X-Received: by 2002:a63:f80f:: with SMTP id n15mr27338714pgh.283.1553581971744; Mon, 25 Mar 2019 23:32:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553581971; cv=none; d=google.com; s=arc-20160816; b=zpooJcDSciULBNUzSCQ2UCEYozmb0fCEyqCyPdnupPn+aP0Ic/OLfq14ih8VJYfsbW A6PgG9bROAO9Ym9FijyDgNey3L1V+WmznbrGrCYpYaUG2lNPpQb/lU9CfP0prWLvKx9p NUPeT/Wu0l9qrUuJJMqgtT3W2d3Sxw4bdWZG5K/DH85fcOJM3Zt46a7mOvyUg6TTFnYh ARSLVfPlNMy9LnPuTUa2Wdi8x+MDRT6hUcFZ3DeSLkyVcJkiGPwkZTE0Uu+wK8GUPuhO zhO95bh3LAjdOdUIGVz0yN4AZv4aNjS5PtlHMZb/PkEZStSdsVV1p973kCd+3rpoO4YH Ba9A== 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=zjEpZNPtbt7OO4KxF46kCR1/2VL4o1FrS1QM7F12d2E=; b=ZHE0jr7R7YOjml2mFcnsugJFS1UGd9eMvaA1qftRC9aA8ikFV+OX9YCjnoxySRYbYk ByEKlHZL9yKYth8IVA/gX+4IVdqaISgtBWjAikeWnAzCt327R+HEwxT/f588dArArd7s QTs81xBK1N2PV7CfyKjADm7FOHJbESM0D0j6yUV4bBxXRR7p6wPfU8lCAewK3BdJZAhZ XGKzuXbiTwAl+ET+V43p5G5jF1Z4zspjyORazD1Wtj9gUG9eFKPF5zoN6Hn3QufeHFQr 7/trbN7oIWzVjsicMLDHic+6cS0C94YTdG3J7hYrOxw1Qz0RTd4wlWoljzofjcLiXlTJ RoCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=jVrLt7Kx; 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 bc4si15414360plb.119.2019.03.25.23.32.36; Mon, 25 Mar 2019 23:32:51 -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=jVrLt7Kx; 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 S1731129AbfCZGbm (ORCPT + 99 others); Tue, 26 Mar 2019 02:31:42 -0400 Received: from mail.kernel.org ([198.145.29.99]:41044 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731088AbfCZGbi (ORCPT ); Tue, 26 Mar 2019 02:31:38 -0400 Received: from localhost (unknown [104.132.152.111]) (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 8C18E20866; Tue, 26 Mar 2019 06:31:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1553581898; bh=Tihbc4Z6MF7F6RiRz4r4Qdr2HlBe995dTlbAHE1WZaE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jVrLt7KxKWb/sYD75FLqp/xzQ/YxzDvONk+ptMm9cT9zuHIVcbr4NNWf4mImBwzNq MwARlXw9oJePBer1vvmgLJlo+5wgtOrUvJU9lcwTgPjmZ4w8cT1qFg32FPfGJEZE9M /PuVcSW+og0XZrS0uWbvZcXyUpY8InllPd8clqJ8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Archer Yan , Paul Burton , linux-mips@vger.kernel.org Subject: [PATCH 4.9 08/30] MIPS: Fix kernel crash for R6 in jump label branch function Date: Tue, 26 Mar 2019 15:29:47 +0900 Message-Id: <20190326042607.861704407@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190326042607.558087893@linuxfoundation.org> References: <20190326042607.558087893@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.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Archer Yan commit 47c25036b60f27b86ab44b66a8861bcf81cde39b upstream. Insert Branch instruction instead of NOP to make sure assembler don't patch code in forbidden slot. In jump label function, it might be possible to patch Control Transfer Instructions(CTIs) into forbidden slot, which will generate Reserved Instruction exception in MIPS release 6. Signed-off-by: Archer Yan Reviewed-by: Paul Burton [paul.burton@mips.com: - Add MIPS prefix to subject. - Mark for stable from v4.0, which introduced r6 support, onwards.] Signed-off-by: Paul Burton Cc: linux-mips@vger.kernel.org Cc: stable@vger.kernel.org # v4.0+ Signed-off-by: Greg Kroah-Hartman --- arch/mips/include/asm/jump_label.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) --- a/arch/mips/include/asm/jump_label.h +++ b/arch/mips/include/asm/jump_label.h @@ -21,15 +21,15 @@ #endif #ifdef CONFIG_CPU_MICROMIPS -#define NOP_INSN "nop32" +#define B_INSN "b32" #else -#define NOP_INSN "nop" +#define B_INSN "b" #endif static __always_inline bool arch_static_branch(struct static_key *key, bool branch) { - asm_volatile_goto("1:\t" NOP_INSN "\n\t" - "nop\n\t" + asm_volatile_goto("1:\t" B_INSN " 2f\n\t" + "2:\tnop\n\t" ".pushsection __jump_table, \"aw\"\n\t" WORD_INSN " 1b, %l[l_yes], %0\n\t" ".popsection\n\t"