From patchwork Sat Aug 5 14:40:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 9883119 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 7B4A76031B for ; Sat, 5 Aug 2017 14:42:36 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7C5FE286BD for ; Sat, 5 Aug 2017 14:42:36 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 713DA28871; Sat, 5 Aug 2017 14:42:36 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, DKIM_VALID, RCVD_IN_DNSWL_NONE autolearn=unavailable version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 3A41F2887A for ; Sat, 5 Aug 2017 14:41:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=KpKpT/+8jrz2QIZwmiigOLvDnJT+3PKdlWCgGDbljbQ=; b=NE0ZhErZpyvsqS F4f+6YlDihuMT97VGMvHN/VYfnL0XDUXRVfNWpgJfSHOWntJVPvxO+jPoPViljA1LllWmymgMali6 zVZCSWz2xNZkSVpacj2RE/hDr3P78NzM02ERXdxyWtPwfBAYv0aSOuuL0+PRdvfFNslI8pdPIkJmi GchqhhzjqnKP7lSEbaRVO8TwmNO2LKOqJaf1rgcvnLb1VXgqRFasSjRzeTcq5S8NUevtIDO7nLZAJ ukaEGPfN+z2FzwG41x8xMt/eAyH6Fnni1gtMELqr7aqojrBe4G8Qa5g9woFiWINsiKK+CEGp8UW6w rC7YDWlCYvVvlP0DR3qw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1de0GS-000697-N4; Sat, 05 Aug 2017 14:41:16 +0000 Received: from mail-cys01nam02on0043.outbound.protection.outlook.com ([104.47.37.43] helo=NAM02-CY1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1de0GB-0005rw-4x for linux-arm-kernel@lists.infradead.org; Sat, 05 Aug 2017 14:41:01 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=ASX71b9FCFap6p9vBr256O9WtPXLyDbW8wC18qyXq10=; b=ezAOBcfQUOuWu+h4jsw4C8KfLltd2VWDswhf5ArJBOJ7GI6uEdQUHKGbWSSwAzL40200K4MdffJ3Fj3mQi8ml5bmSAjUM4MB9o/ekmISDbQfWn9fq6OVcIFkdHwxoA8jnWzrkXte/Xswhh225MnGnqPsZiV8/SYWkeGazQaesJc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@cavium.com; Received: from localhost (196.71.79.105) by DM3PR07MB2124.namprd07.prod.outlook.com (10.164.4.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1304.22; Sat, 5 Aug 2017 14:40:44 +0000 From: Yury Norov To: Catalin Marinas , Pratyush Anand , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] arm64: introduce separated bits for mm_context_t flags Date: Sat, 5 Aug 2017 17:40:21 +0300 Message-Id: <20170805144022.17260-2-ynorov@caviumnetworks.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170805144022.17260-1-ynorov@caviumnetworks.com> References: <20170805144022.17260-1-ynorov@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [196.71.79.105] X-ClientProxiedBy: DB6PR02CA0020.eurprd02.prod.outlook.com (10.170.218.161) To DM3PR07MB2124.namprd07.prod.outlook.com (10.164.4.142) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6afc4e43-8703-41ef-779d-08d4dc0ff4bd X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DM3PR07MB2124; X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2124; 3:pB8JXS6fEteXLh7oOU7KYJYfk/55du+20WWbxUU77VUc7pTvxkD1uamCzegAvzPovtRGt2toQsOcHH1IFGnWVt2vU1z1Q+e6llzC3nyYUAx7AKS6CtH3uqd40XsKcSNW9PRnxDSJwqnK5VhfB9/gdTez50liI6DgRdrrUBSeDIyPaUmYW+IpSWWAsLIZ9SABPDhHKwQHDgn2x0RM9uRpDdFrTYpTASWNn17EoTnDJUYa083Xs7QylBvSXb95cBS7; 25:VyXmumfIPbgWT/+hcQ2uzWhO70odEBmMrx5UF+Lz8nPONwsS+fwx7k+xiMlnk1f3ig17m0GZkjE73xuCnyHLBfqSi7hFlHjzyWl8doVWVNSXxYLG3q1oAlC951H5lKBOAKnntQiU1nVXJRscpyZj8T9fM4+FJEv2D6XR3r/rLIjvtAQCeDltGPcdWJbB1D8sJ4FLxgWzJHQonE2G2bc2RWMy7BGd4OLc1r9N+QEoZWyj3QBTEdSlDGtJ4AOM0T+EyjJvvPTFP2AeAm855z/t9gw+0cU1ekl4XHUEZW8HMA4bkQDCnrczC77VbT23dWc3JF9NNh4a66tr53YmGy//vw==; 31:uUrihrLlXQDZMYMsHs2OoX3htnVzeLAY+S7RIilAfrIGTXz45GIqyCjlgc75Ql0mel6562ssDSWlbTv3pkcAFotv06MEFjkoLDmy9Y1S0qe5n8+SQNGx8rIi961l81TcX8QjLTmBLwdu68d7aPSkspOflRjtiuvbu84zP1qahg/L18yEMaQghZpzAwT1PP/kgXvERz2IuRnShE5Uye/+SgcqlF3HxIlxpFdLcaBb5hU= X-MS-TrafficTypeDiagnostic: DM3PR07MB2124: X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2124; 20:HTdO15TNDxYw491OoqfW7HTAR5rM5brWZDqKEpCw0pQMuYcv0Ka7uahQGDV6rdnINvTUWd6v88oypgdoQjPXMwVDT6mEAjYFW8sUZuna2sSV571vXQ67ronxOLK5Aah1MwDiLHrKsSJh5MOfOGxMAb216JvNRnGEE0/KvQ1N1EVWW16ul38F2Qyi3k5p3T8Adf5o7b5hb7iyGikE1a1XoS1QHXp8EdIdHOXera0/7hvL1wB04iQuxQmufMpz+lrRgYJeeqY5rKPYn+kmuFNiPhbzM+m2NZ4G2dq5Zn6Km3YfueV0sbufkW0x46UFLe0kfK9lGER/vk5qZNjeUpEFF1XuGEkTT/i45KHQZeCoByRs/h7kYWtlqRvtugKYt+M+GJK36IGr7OVuGbH/+mcEn/P7usKPS6j47X1l3b+7r+Co6qhHbu3rvfIRbu5Ai2kwZgQ55wKTgVZFm2iSkhvT7wgnb2iJ0MaUIB7VuJHvFuyX9WEx05DeRvJhEZ0Kg3qJV22xkKA3wGKvYHF2+fklh5UVU4EMrvZ42duFMpPXM7Azcd+j3UO17fMbTryMTZ9q9L+NLNtGjAVP7b6N/6gVcfppPT+IH4D18lk8a34lY0U=; 4:9iL/LskzE1NB/nMhLg8i/Ik+xqTXdOPskO3aE3WAG6t7qcvYjJgmS+PM6uA1lJgdKE4HJRTd2uNg/8HUGKXJeoxoVpvAHFYAC2zbgRjl/TtsH7WnxQoIlr1d7XlS99iGjOQcqBwKuK8WRIHC8rv/hYssHOE7phmHEmCQ/+hw04nVHqb92XZjRjmDxjLJduF4fA2zz3vxT+7GAYgi/HPHCQsAVHbIY/j9013+Tm5ef5rW1NT1GiMIJrBKOI4Pakj7rM8EKd7/108SFbY8N6g0QD+wGz5+XzlUe6/JzPiNe4I= X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123555025)(20161123558100)(20161123560025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM3PR07MB2124; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM3PR07MB2124; X-Forefront-PRVS: 0390DB4BDA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6069001)(6009001)(39400400002)(39850400002)(39410400002)(39840400002)(39450400003)(199003)(189002)(10806002)(101416001)(76176999)(25786009)(6486002)(38730400002)(6306002)(106356001)(50986999)(6496005)(42186005)(105586002)(68736007)(4326008)(53936002)(966005)(6116002)(107886003)(3846002)(2950100002)(1076002)(6666003)(42882006)(5001810100001)(72206003)(10916006)(478600001)(47776003)(81156014)(36756003)(5660300001)(81166006)(33646002)(50226002)(48376002)(7736002)(305945005)(66066001)(2906002)(97736004)(7350300001)(76506005)(50466002)(5003940100001)(8676002)(189998001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM3PR07MB2124; H:localhost; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM3PR07MB2124; 23:mLcSesj4KTh1hPUDRKKoXphDphoQXL+eh8HPyn8QK?= =?us-ascii?Q?pjC2TQi3WAWuWeSDncJ1wMGSpHVvuHdGWfMzEFTK7q3kYC8YPRupip6oNGmV?= =?us-ascii?Q?fb20Gnd4eweyP57+ra7E/KdzKyUN4VGdEe3RfCdRgq5y8AoLdHABsoffh/w5?= =?us-ascii?Q?BIIwMrBnVnHuCd3Sk/z0KMLy3WuUUKL7l9ipcZHaCdSodYifvqduUpyodwMh?= =?us-ascii?Q?IyWnhdWRCKGxquASEREjEwSqftzrV5XqzswkXq+8VOPhzrdOHs+XLPvwJOLQ?= =?us-ascii?Q?kRB0ZlZi5vR2pfWljbBoLyA0HiObwKwQ+pfGehdt+vvbG34rd+pende2XW0R?= =?us-ascii?Q?/fhuTUgWWwWUkgm6dubeDV+Miy5pF2O/xcp46VsM6TW+VYJC5WVAcMUITRAZ?= =?us-ascii?Q?OnlNwg4DGmW+bnCcI5ndRMO6xa1Q/QdJrcYAUiyIaDNcmWHhiTgC6Z1lEUg6?= =?us-ascii?Q?7sRIPvh4i2RyBoJRzCL1jI45WW7ufbwfeq6nL0uB5CSTZbPUJk5DfMH0sf6w?= =?us-ascii?Q?XvDoOXP1UQhYrjcnUse1BHZdhQZthqlEFhD1e5DTkc6PEn1Lc0S/0PmEJb2Z?= =?us-ascii?Q?bkZyt/S6zcO6t8A+tWKFxZvSkvXdAJdMORRwkRF5NHso38SSOAHJET2e3Yec?= =?us-ascii?Q?jV3hdKVIyLFPE7F86odWzHLVY00SI+EAaQzihMaLN94Cr7H7mn+M23HW54Wi?= =?us-ascii?Q?CIEZTOwdoOxuMdSNGPHi3Y/I4DBSQUr5PbjPM9dhaIZT9n23/88X3UV8qBfv?= =?us-ascii?Q?VRrST55SggPLCd7AGhj9gp8CQTt0imHe0aEijHl7Yn1fV1ctaQvAdxIiwKfY?= =?us-ascii?Q?p8gqDso7UoAWrtnFDY78ZFrK/zredrUhSwCV8FKUBWFaEPBvrNCY5QFhc8Gc?= =?us-ascii?Q?RUFIVXuHkTV33jRuEviNATRXAznLQhvYdr9CKAYbM+j5QS7Fp6H9NvXuTkD2?= =?us-ascii?Q?e2KM4+6wBsW42KuWFspwiJ0HS4nilYGbK2IfW+kqyez+fPewAHboxAmclZ44?= =?us-ascii?Q?hVKx61zqI9q7nb+yA9OQgZVMk30TazIp/y69wSEgPZ0AbK7ofnumNgdgCyDW?= =?us-ascii?Q?eg1d6lMrrKkOdNoFVl4U3aMEQd0R56fx3M3J+JHNb7tObLyxP+DqoFXIU4uD?= =?us-ascii?Q?duMkayY/9PbnERCT66qybVYoWbW/Vo6TyL0/l89H1sCkMuQYLKtQIHraCQ4d?= =?us-ascii?Q?Dw3q3hS2B486D/QCCk32Djd0uSTCyn6Glqo/NU7BYCaiYvRpY9ieHvn40iVa?= =?us-ascii?Q?BVMxkOmhN190fKakStigmbJOdGXArINMuTIyLHK54s2dko5GRAygq4kzgUwY?= =?us-ascii?Q?RejQsyHNZX4ZDM450HZ3pfo6VzX71OtiPa1UKKcde/zVgcgMup6L3xFDjHfe?= =?us-ascii?Q?3YpyesgyBYXI+E+nuM3o/8YvxmPMkJlNxJwFx7CoWdPCE3R?= X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2124; 6:9KRxMPQDLZuGpCCIS7RknQrG4OjMiwA18D/LQTkJf3XMYYgYPIxWc/iXpqRP94zJ7K1qt9dxu4JItdwphwXJ7i9bo9urKXNfrgUavvCpuID0X6QeSLnbK894ln0Wzv3yrCf8vLNCK6GYGz4HZ6+4FxTi5UKKu1DwL7oyfmnM14okYLN6i3LvX4Tu2iIGnCOY9oDiYH8qI7NkV7YHano4rHlEjbnRCXfzyeF1wP6dIvTxCl7dJe8nzwW4lnBewtiDh43z1aqmL8QzXqYGVntgpEzto7uNNJzFSaQr9/OiUByjTnxiedBVsnOmFRZ9QuEw/Mon1MF0rjUaXQZzVeYeyQ==; 5:YoIvEghH200UmTDix+2kP1bGGFMtgpeub0N2kS/la0gdOBWfvxBkBdveDsPNjV9o6cbYtAkTYyBQKSEoO64UBzSi6ulWhSTCBVP/IUH5sjL99SpkRmIJRhlWbYM6E6oF9xZwpptjJi0/R98mmIMkXQ==; 24:ub3yD6JEimcoOYr00TcKymYIz2WIWfJyvzC5VrOeEmkPmCOvpctLQjkxgA2uZ9nTtmt6HHRXmLtQw+DS8mGbfiWZpkUcrbzq8VtBxglWfA0=; 7:lfwFCucdkdMhZ3GLgVnnXI3a+eyinFCyDuvMAhBuDuYU/iOX/pqGHBXPIHQnT7w1dhQL4oHNrML5ROzTO2UXysaPFFaCqrj7kOeURuBZPIyg6i8BXQofAhcUOaIHhHLMvgyW1om6Q/jXlH61mRS0bXBwIS8pE9DZsF+FgRAA7kLO7O6rgysQv6MVjKM6LBjh5v6LGjE0hjs/A7jBmb2/uR12NioRXmK/GONvKYT+rIY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2017 14:40:44.9291 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR07MB2124 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170805_074059_247890_B68EB8F1 X-CRM114-Status: GOOD ( 10.73 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Yury Norov Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Currently mm->context.flags field uses thread_info flags which is not the best idea for many reasons. For example, mm_context_t doesn't need most of thread_info flags. And it would be difficult to add new mm-related flag if needed because it may easily interfere with TIF ones. To deal with it, the new MMCF_AARCH32 flag is introduced for mm_context_t flags, where MMCF prefix stands for mm_context_t flags. RFC: https://lkml.org/lkml/2017/7/31/454 v1: - changed the MMCF_AARCH32 bit number from 0x1 to 0x0 and added comment. Signed-off-by: Yury Norov CC: Pratyush Anand CC: Catalin Marinas --- arch/arm64/include/asm/elf.h | 4 ++-- arch/arm64/include/asm/mmu.h | 2 ++ arch/arm64/kernel/probes/uprobes.c | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h index acae781f7359..de11ed1484e3 100644 --- a/arch/arm64/include/asm/elf.h +++ b/arch/arm64/include/asm/elf.h @@ -139,7 +139,7 @@ typedef struct user_fpsimd_state elf_fpregset_t; #define SET_PERSONALITY(ex) \ ({ \ - clear_bit(TIF_32BIT, ¤t->mm->context.flags); \ + clear_bit(MMCF_AARCH32, ¤t->mm->context.flags); \ clear_thread_flag(TIF_32BIT); \ current->personality &= ~READ_IMPLIES_EXEC; \ }) @@ -195,7 +195,7 @@ typedef compat_elf_greg_t compat_elf_gregset_t[COMPAT_ELF_NGREG]; */ #define COMPAT_SET_PERSONALITY(ex) \ ({ \ - set_bit(TIF_32BIT, ¤t->mm->context.flags); \ + set_bit(MMCF_AARCH32, ¤t->mm->context.flags); \ set_thread_flag(TIF_32BIT); \ }) #define COMPAT_ARCH_DLINFO diff --git a/arch/arm64/include/asm/mmu.h b/arch/arm64/include/asm/mmu.h index 5468c834b072..2c57b06b2883 100644 --- a/arch/arm64/include/asm/mmu.h +++ b/arch/arm64/include/asm/mmu.h @@ -16,6 +16,8 @@ #ifndef __ASM_MMU_H #define __ASM_MMU_H +#define MMCF_AARCH32 0x0 /* MM hosts AArch32 executables */ + typedef struct { atomic64_t id; void *vdso; diff --git a/arch/arm64/kernel/probes/uprobes.c b/arch/arm64/kernel/probes/uprobes.c index 26c998534dca..f29ef6b297e4 100644 --- a/arch/arm64/kernel/probes/uprobes.c +++ b/arch/arm64/kernel/probes/uprobes.c @@ -40,7 +40,7 @@ int arch_uprobe_analyze_insn(struct arch_uprobe *auprobe, struct mm_struct *mm, probe_opcode_t insn; /* TODO: Currently we do not support AARCH32 instruction probing */ - if (test_bit(TIF_32BIT, &mm->context.flags)) + if (test_bit(MMCF_AARCH32, &mm->context.flags)) return -ENOTSUPP; else if (!IS_ALIGNED(addr, AARCH64_INSN_SIZE)) return -EINVAL;