Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp8113768imu; Tue, 4 Dec 2018 03:14:13 -0800 (PST) X-Google-Smtp-Source: AFSGD/VP3KZz90e47aND19KlMls6A7oZGLuMonQ8ksg9RHTtOnG9u0R1dL28+r9mnVu2qe7txrEu X-Received: by 2002:a17:902:3281:: with SMTP id z1mr20063816plb.296.1543922053250; Tue, 04 Dec 2018 03:14:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543922053; cv=none; d=google.com; s=arc-20160816; b=cbJmoMbom+somJUIDdlDg25MtYS00gFWUKLLxfBTG2mT5hgRYfXKgPOvLPq97cfAaa 2LsCfwW6L3q0xz+e3tm3+2R73zkJh8pSl3A5/mI1GRRM++TYYQEtBuR3K65Yk99v974L TXdtIYXwcLC+aPK/oAoKUujG44fDRuBBUBdKGjOZgd1bjYWlcq1wrpGF/2rHq6tuSVqk 8n1u8jutPcx5ASWepFkbKzjfTG5LNIZ82UfEPhZdgWpFT5KHAyRnYIBkX5tHWjlxGhxt 4mBPxxAAfv7U4r091Oq0SfJiLz4QE75UOgauGdrcTQ4IBYA2uC18c2hvHPnFGeGe51p4 1rdg== 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=p/1N+2sxGbQVjuevaE5AMldIA3NYaJfBv2FqiMGWKkw=; b=bJNUDHkFCFHTa7FbvYSUlFykEaK4bTZ9wHuFAK76pAKOuEezNN9vnlPDevbtXkbaWz EeJEYbGe8Twlefqrv5YOW7AKid3T04D3OW98CrTUBdFJO5K4Xp+2rGixNU7TrcBILdde 0Z8J9hhDAlCHDeTS0Fo3Ji5khbvDf1DQvhxA6ReRhcKHdaR8KoNt8XuA6Iq4IjkHJ/br rLGo+1litnOJl7QrRCYDHNvLAJCDRlHHIBP/l4KwShPXGLdLMqcX7+eI1/aZmBO0WSI7 5j34USZgB2nFH8dI95P4r1mhDekbM3CoY0FajrdCcnmJ5YxmZAUsyEgqeSzB3uxp07TE I1hA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=fOUgq7nu; 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 w1si15556400pgi.66.2018.12.04.03.13.58; Tue, 04 Dec 2018 03:14:13 -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=fOUgq7nu; 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 S1728603AbeLDLIU (ORCPT + 99 others); Tue, 4 Dec 2018 06:08:20 -0500 Received: from mail.kernel.org ([198.145.29.99]:57540 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728015AbeLDLIP (ORCPT ); Tue, 4 Dec 2018 06:08:15 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.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 545F52082D; Tue, 4 Dec 2018 11:08:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543921694; bh=hdwzpjZ0i6swtk1v3vVeyTLBUgnuvc0/0YgyQiaOsJ0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fOUgq7nu6t9rOv7XudcoQ0dQHsvIafmjPQmrnXC4cbphn0+Y7R09GMIRmArot2a0V 2blWqU2824vOYGIvyKF5NF0k+VVREWzCHlOcwGM/HQXevgGGUtz/aIEFZRfVoTWmke 2CoQgowm+2AIiSAqu0hEx9VTwrbyltMyGei1K4Tk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Max Filippov Subject: [PATCH 4.9 23/50] xtensa: fix coprocessor context offset definitions Date: Tue, 4 Dec 2018 11:50:18 +0100 Message-Id: <20181204103715.686106006@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181204103714.485546262@linuxfoundation.org> References: <20181204103714.485546262@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: Max Filippov commit 03bc996af0cc71c7f30c384d8ce7260172423b34 upstream. Coprocessor context offsets are used by the assembly code that moves coprocessor context between the individual fields of the thread_info::xtregs_cp structure and coprocessor registers. This fixes coprocessor context clobbering on flushing and reloading during normal user code execution and user process debugging in the presence of more than one coprocessor in the core configuration. Cc: stable@vger.kernel.org Signed-off-by: Max Filippov Signed-off-by: Greg Kroah-Hartman --- arch/xtensa/kernel/asm-offsets.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) --- a/arch/xtensa/kernel/asm-offsets.c +++ b/arch/xtensa/kernel/asm-offsets.c @@ -91,14 +91,14 @@ int main(void) DEFINE(THREAD_SP, offsetof (struct task_struct, thread.sp)); DEFINE(THREAD_CPENABLE, offsetof (struct thread_info, cpenable)); #if XTENSA_HAVE_COPROCESSORS - DEFINE(THREAD_XTREGS_CP0, offsetof (struct thread_info, xtregs_cp)); - DEFINE(THREAD_XTREGS_CP1, offsetof (struct thread_info, xtregs_cp)); - DEFINE(THREAD_XTREGS_CP2, offsetof (struct thread_info, xtregs_cp)); - DEFINE(THREAD_XTREGS_CP3, offsetof (struct thread_info, xtregs_cp)); - DEFINE(THREAD_XTREGS_CP4, offsetof (struct thread_info, xtregs_cp)); - DEFINE(THREAD_XTREGS_CP5, offsetof (struct thread_info, xtregs_cp)); - DEFINE(THREAD_XTREGS_CP6, offsetof (struct thread_info, xtregs_cp)); - DEFINE(THREAD_XTREGS_CP7, offsetof (struct thread_info, xtregs_cp)); + DEFINE(THREAD_XTREGS_CP0, offsetof(struct thread_info, xtregs_cp.cp0)); + DEFINE(THREAD_XTREGS_CP1, offsetof(struct thread_info, xtregs_cp.cp1)); + DEFINE(THREAD_XTREGS_CP2, offsetof(struct thread_info, xtregs_cp.cp2)); + DEFINE(THREAD_XTREGS_CP3, offsetof(struct thread_info, xtregs_cp.cp3)); + DEFINE(THREAD_XTREGS_CP4, offsetof(struct thread_info, xtregs_cp.cp4)); + DEFINE(THREAD_XTREGS_CP5, offsetof(struct thread_info, xtregs_cp.cp5)); + DEFINE(THREAD_XTREGS_CP6, offsetof(struct thread_info, xtregs_cp.cp6)); + DEFINE(THREAD_XTREGS_CP7, offsetof(struct thread_info, xtregs_cp.cp7)); #endif DEFINE(THREAD_XTREGS_USER, offsetof (struct thread_info, xtregs_user)); DEFINE(XTREGS_USER_SIZE, sizeof(xtregs_user_t));