Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp8117798imu; Tue, 4 Dec 2018 03:18:27 -0800 (PST) X-Google-Smtp-Source: AFSGD/UePQyUIO9h2WPxCuBMl4U9H27RZegEUupq+RTquv3Etu9zxFAROXWniZge1TqTZ+5T3weK X-Received: by 2002:a63:ac46:: with SMTP id z6mr16410084pgn.162.1543922307273; Tue, 04 Dec 2018 03:18:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543922307; cv=none; d=google.com; s=arc-20160816; b=SnOsJpV2aUZK8UpI3XfkPrd2IJZuuLOt15RN1r7q7MUxmP0p38wPCLV3/MxFeWKrXg a0zjp+0/UWL80G7UOnRZWYjICJ0caijLVGoqkhWUX8mGkqCrzScwZr3UBigigoWM6s9X JT0sAlcYHzMBbMMPW68dCVFWIo8GxIUEfhofCH1Zdc+9oh9XnkExwKOOPT09sZJqSY/w +PQrShauRmDwCZPmteuYSIbGmybelHyzjWaqj5iRcvL3DojTSHpytdDflM5zXug9/+BX hSbNlVzOWrwpOxSAJ53Ts+Qdpx3DNkFuohhJssL7JC993iVhZTqq+JIL+EEs5Fv1wXIl Pefw== 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=GmunmlMYlGwg5tuo36SA3VNuu50UNEt/1eLQU1/kVSQ=; b=KVJcPQrJQUyHeYoc5tiYtSV4XBB9NnkVXOtA5WtuYQQjwTfAmS6XODFOQtIcP1hQAd 3v+P7IQxXVeHhwcCI/uh6IPqAzuABf4VxJgUg5bzJeYMg6lChjkBV0O0K2/RynKb6QGJ Rt2x3iAC2BHT5rOBPAoNPxWZzT+f/Z4Zt9qD0xWCYvRo7YyMwx9WH5yF5KS67+HmnR2x MVyrJmEVaB0QJbSfHWcZX8+0R2FfJubtnDXSq8wpb+mkYYSxOEp9kjfVmPEF0vRCf17F ArAqZQ/mJo+s8i1XSSj3BLv20/2IAlh7MSogOHJ7YkjTT3Ti4sRmw8xH4CNMa9yM1yg3 bcqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Fr2vt0Tg; 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 c11si15191027pgj.255.2018.12.04.03.18.12; Tue, 04 Dec 2018 03:18:27 -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=Fr2vt0Tg; 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 S1728194AbeLDLFu (ORCPT + 99 others); Tue, 4 Dec 2018 06:05:50 -0500 Received: from mail.kernel.org ([198.145.29.99]:53772 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727487AbeLDLFr (ORCPT ); Tue, 4 Dec 2018 06:05:47 -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 162122082D; Tue, 4 Dec 2018 11:05:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1543921546; bh=KQsP3akFRNnVENXUZth5xNzi1NBo2OCzoGLSlpYvm84=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Fr2vt0Tg+dVhk9FyoQUpaAzNsO4QGpCRkeMLXdVkgNwp/Mvs48yhyJsfHrhWzThZi HFhev7AyTRMwKvR8niRPbpwxU/RGDhihh24C4G8PCyuu4L2UBieL9iAbmtDwHMthKy 58sp8SBm8CMEf8gdg9+0AIzAdZanAFCPopdwAB60= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Max Filippov Subject: [PATCH 4.14 114/146] xtensa: fix coprocessor context offset definitions Date: Tue, 4 Dec 2018 11:50:00 +0100 Message-Id: <20181204103731.410728202@linuxfoundation.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181204103726.750894136@linuxfoundation.org> References: <20181204103726.750894136@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.14-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));