From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io0-f197.google.com (mail-io0-f197.google.com [209.85.223.197]) by kanga.kvack.org (Postfix) with ESMTP id EC0906B0003 for ; Thu, 2 Aug 2018 11:00:27 -0400 (EDT) Received: by mail-io0-f197.google.com with SMTP id f9-v6so1782464ioh.1 for ; Thu, 02 Aug 2018 08:00:27 -0700 (PDT) Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id s62-v6sor728809jaa.64.2018.08.02.08.00.26 for (Google Transport Security); Thu, 02 Aug 2018 08:00:26 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <20180801174256.5mbyf33eszml4nmu@armageddon.cambridge.arm.com> References: <20180626172900.ufclp2pfrhwkxjco@armageddon.cambridge.arm.com> <20180801174256.5mbyf33eszml4nmu@armageddon.cambridge.arm.com> From: Andrey Konovalov Date: Thu, 2 Aug 2018 17:00:25 +0200 Message-ID: Subject: Re: [PATCH v4 0/7] arm64: untag user pointers passed to the kernel Content-Type: text/plain; charset="UTF-8" Sender: owner-linux-mm@kvack.org List-ID: To: Catalin Marinas Cc: Mark Rutland , Kate Stewart , linux-doc@vger.kernel.org, Will Deacon , Kostya Serebryany , linux-kselftest@vger.kernel.org, Chintan Pandya , Shuah Khan , Ingo Molnar , linux-arch@vger.kernel.org, Jacob Bramley , Dmitry Vyukov , Evgeniy Stepanov , Kees Cook , Ruben Ayrapetyan , Ramana Radhakrishnan , Al Viro , Linux ARM , Linux Memory Management List , Greg Kroah-Hartman , LKML , Lee Smith , Andrew Morton , Robin Murphy , "Kirill A . Shutemov" On Wed, Aug 1, 2018 at 7:42 PM, Catalin Marinas wrote: > On Mon, Jul 16, 2018 at 01:25:59PM +0200, Andrey Konovalov wrote: >> On Thu, Jun 28, 2018 at 9:30 PM, Andrey Konovalov wrote: >> So the checker reports ~100 different places where a __user pointer >> being casted. I've looked through them and found 3 places where we >> need to add untagging. Source code lines below come from 4.18-rc2+ >> (6f0d349d). > [...] >> I'll add the 3 patches with fixes to v5 of this patchset. > > Thanks for investigating. You can fix those three places in your code OK, will do. > but I was rather looking for a way to check such casting in the future > for newly added code. While for the khwasan we can assume it's a debug > option, the tagged user pointers are ABI and we need to keep it stable. > > We could we actually add some macros for explicit conversion between > __user ptr and long and silence the warning there (I guess this would > work better for sparse). We can then detect new ptr to long casts as > they appear. I just hope that's not too intrusive. > > (I haven't tried the sparse patch yet, hopefully sometime this week) Haven't look at that sparse patch yet myself, but sounds doable. Should these macros go into this patchset or should they go separately?