From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Bohan Subject: MT_HIGH_VECTOR mapping set read-only creating illegal access Date: Tue, 12 Apr 2011 17:42:24 -0700 Message-ID: <4DA4F170.4020009@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from wolverine02.qualcomm.com ([199.106.114.251]:18351 "EHLO wolverine02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757447Ab1DMAmZ (ORCPT ); Tue, 12 Apr 2011 20:42:25 -0400 Sender: linux-arm-msm-owner@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org To: Russell King - ARM Linux Cc: linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org Hi, In arch/arm/kernel/traps.c:set_tls() and arch/arm/include/asm/tls.h, some configurations allow for a assignment of address 0xffff0ff0. This address falls within the MT_HIGH_VECTORS mapping setup in devicemaps_init(). That mapping is explicitly made read-only. Thus, the kernel takes a segfault when writing in set_tls(). It looks like this disparity may have been introduced in this commit: commit 36bb94ba36f332de767cfaa3af6a5136435a3a9c Author: Russell King Date: Tue Nov 16 08:40:36 2010 +0000 ARM: pgtable: provide RDONLY page table bit rather than WRITE bit Signed-off-by: Russell King Is there a reason this mapping must be read-only? Perhaps we could apply write access for these special cases only? Thanks, Mike -- Employee of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum