Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4131413pxj; Mon, 21 Jun 2021 14:23:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyy1s/Nlt+hkjJ6iii8Ht9Trd1lwE9mBXA3QVN4nM4UKIxXUiKjVi4RuD2K/rGJOoK/S2wQ X-Received: by 2002:a17:906:5d14:: with SMTP id g20mr152890ejt.243.1624310624784; Mon, 21 Jun 2021 14:23:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624310624; cv=none; d=google.com; s=arc-20160816; b=mWNC/cZrO5S5DPkJtXuRKjT5gnbB9UK7jIc9BW/tadUdlj+WykWR2ijJPQ5iEL9DfV ATAfbWKVC8t+WAgBAHDNeZuSzDlhCLYvPA3jLwh4osFrj+Q/bdrMxelr7hvL24Wquqca 5sSTR2Hds3FjFezBv2DwlzXdhF7T+0MoGyDLLkpnezaWQw3LlGHVAvHgBHB3uNSPqZZ6 XggpzJa8bIBtMRQp0qj7Dt6QHXGNnG4TqoTzTr0LcAObX6lYZUCOg7LMPz5+IlmN6CoH GjGuLeLa/uzg9FtjfbKziSY4/8hBW+L2NkEMU+AGCvWzNuHhcasB09gS0evK1wg5mre+ RJyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=iuK/xSPhwyBQGwsFKjmihX2lWYavkv0/y3oH/Sh/Bbg=; b=odkvyfP0an0BNnBNNkEGjX29BVVzXpe8MTk2znb8RZl6dMYmc64xaySHHsEuT/Xzd1 LBd3mAQxt/HG4UEkk+MQgPtQEthNfe42KpxWe+nEAOZvpOQNuLOem/r4fgLTGnlkRpeN 7reNr8GP5OGzDXkfIArb6vBXvuTrzkngzauDAz/pSbndX8tGbmZpowbgpFr4i9jlyNfY xo5yBTX1J6K3isjivh6eTpCrgntl/VSdsWKVLHZCSNSY1EEUPiAtrjumLUSRq2Z3fq2O Q/bjMpnGCnn+tuNMcpDsWSxW6FycLswl+SNOvPfVXTGwfM1DEIPm+IYdC1VU79HjTU+l QZgA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@arista.com header.s=google header.b=RnufykAv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=arista.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id hs15si12404896ejc.266.2021.06.21.14.23.21; Mon, 21 Jun 2021 14:23:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@arista.com header.s=google header.b=RnufykAv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=arista.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231217AbhFUVYm (ORCPT + 99 others); Mon, 21 Jun 2021 17:24:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39272 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229890AbhFUVYl (ORCPT ); Mon, 21 Jun 2021 17:24:41 -0400 Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com [IPv6:2a00:1450:4864:20::435]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 11FC9C061574 for ; Mon, 21 Jun 2021 14:22:26 -0700 (PDT) Received: by mail-wr1-x435.google.com with SMTP id f2so21171395wri.11 for ; Mon, 21 Jun 2021 14:22:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arista.com; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=iuK/xSPhwyBQGwsFKjmihX2lWYavkv0/y3oH/Sh/Bbg=; b=RnufykAv6h3iF+MDiAa42Gzb1IKBtCAOWz2KeQfNLDy7MGDAKVKRPAB41CMtH9Z50I dr0MhHNvD3cgHhQgI0yOcykLef/rN8/6g//ASBYvFrl5+ZojjhB0pai4JNMj5KC/WsCM w/3rmw+0TT+8CCYV19YaDZiFrQOdwSM2JN38niyUu1xU2+WYoP0FP8wcqgbng9jJPftN zCr0frfYAML3iX2eKkpKN//bFQHY6ZtYfmkc5Tpk+Ts2YfzbERyyZBGfc5XK5qeIlH3z tz4iniX8v23G3ZbrlbxZfm1C9/Mht9AwErWbXA17SEAEMEy34LACEkSGQGiWh8iO6meH HXbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=iuK/xSPhwyBQGwsFKjmihX2lWYavkv0/y3oH/Sh/Bbg=; b=i3k0wRYKVCZZaK/nrlFnvCHvBA7ZsQfCNYd9y4dqDgr/jFFSa46MBWewQT4T8n4j2+ BZUz8QT0e8SOsf7OH+og/N74P7Hetjd3Fr5lrbPUDN2AALSND6ZFN2waWm2oef/L45GU dSBDM/AyLGszcAEarp3oXNHm2SY5Cgi/BJodgBUYzL9iTwfEu0DR8Bt5/bEFBfoLmHlX 2+WVkSEr97rzoLTNCw/lSgCRDQ0iyVmEjheUV3np8ZkowvqpQL7ycSTnxHtO0MbDoFK1 x3SgRk9H46SmXTe4c7NkTeGXHhKYNU001SUAPB5eHHURnBa1pZhm0EQzQwme5Zh38toA PxrQ== X-Gm-Message-State: AOAM531srl/F1q+z6KEOVYKxl+CavP+Zp5xwi4KX3FvERUCXgDo+ZGxk 1CbsAipQDhiLPR4l4iDcEqfiMg== X-Received: by 2002:adf:e652:: with SMTP id b18mr473252wrn.379.1624310544364; Mon, 21 Jun 2021 14:22:24 -0700 (PDT) Received: from ?IPv6:2a02:8084:e84:2480:228:f8ff:fe6f:83a8? ([2a02:8084:e84:2480:228:f8ff:fe6f:83a8]) by smtp.gmail.com with ESMTPSA id i6sm13278123wro.12.2021.06.21.14.22.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 21 Jun 2021 14:22:23 -0700 (PDT) Subject: Re: [PATCH v3 22/23] powerpc/vdso: Migrate native signals to generic vdso_base To: Christophe Leroy , linux-kernel@vger.kernel.org Cc: Dmitry Safonov <0x7f454c46@gmail.com>, Alexander Viro , Andrew Morton , Andy Lutomirski , Arnd Bergmann , Borislav Petkov , Catalin Marinas , Guo Ren , "H. Peter Anvin" , Ingo Molnar , Oleg Nesterov , Russell King , Thomas Bogendoerfer , Thomas Gleixner , Vincenzo Frascino , Will Deacon , x86@kernel.org, Benjamin Herrenschmidt , Michael Ellerman , Paul Mackerras References: <20210611180242.711399-1-dima@arista.com> <20210611180242.711399-23-dima@arista.com> <1678c131-98e3-2d5c-7cf1-0dcb985d67bb@csgroup.eu> From: Dmitry Safonov Message-ID: <6cfdf043-b853-8559-f3f7-f52f46dc50e6@arista.com> Date: Mon, 21 Jun 2021 22:22:22 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Chirstophe, On 6/17/21 8:34 AM, Christophe Leroy wrote: > > > Le 17/06/2021 à 08:36, Christophe Leroy a écrit : >> >> >> Le 11/06/2021 à 20:02, Dmitry Safonov a écrit : >>> Generic way to track the land vma area. >>> Stat speaks for itself. >>> >>> Cc: Benjamin Herrenschmidt >>> Cc: Michael Ellerman >>> Cc: Paul Mackerras >>> Signed-off-by: Dmitry Safonov >> >> >> Build failure: >> >>    CC      arch/powerpc/kernel/asm-offsets.s >> In file included from ./include/linux/mmzone.h:21, >>                   from ./include/linux/gfp.h:6, >>                   from ./include/linux/xarray.h:14, >>                   from ./include/linux/radix-tree.h:19, >>                   from ./include/linux/fs.h:15, >>                   from ./include/linux/compat.h:17, >>                   from arch/powerpc/kernel/asm-offsets.c:14: >> ./include/linux/mm_types.h: In function 'init_vdso_base': >> ./include/linux/mm_types.h:522:28: error: 'TASK_SIZE_MAX' undeclared >> (first use in this function); did you mean 'XATTR_SIZE_MAX'? >>    522 | #define UNMAPPED_VDSO_BASE TASK_SIZE_MAX >>        |                            ^~~~~~~~~~~~~ >> ./include/linux/mm_types.h:627:40: note: in expansion of macro >> 'UNMAPPED_VDSO_BASE' >>    627 |         mm->vdso_base = (void __user *)UNMAPPED_VDSO_BASE; >>        |                                        ^~~~~~~~~~~~~~~~~~ >> ./include/linux/mm_types.h:522:28: note: each undeclared identifier is >> reported only once for each function it appears in >>    522 | #define UNMAPPED_VDSO_BASE TASK_SIZE_MAX >>        |                            ^~~~~~~~~~~~~ >> ./include/linux/mm_types.h:627:40: note: in expansion of macro >> 'UNMAPPED_VDSO_BASE' >>    627 |         mm->vdso_base = (void __user *)UNMAPPED_VDSO_BASE; >>        |                                        ^~~~~~~~~~~~~~~~~~ >> make[2]: *** [arch/powerpc/kernel/asm-offsets.s] Error 1 >> make[1]: *** [prepare0] Error 2 >> make: *** [__sub-make] Error 2 >> > > Fixed by moving TASK_SIZE_MAX into asm/task_size_32.h and > asm/task_size_64.h > > diff --git a/arch/powerpc/include/asm/task_size_32.h > b/arch/powerpc/include/asm/task_size_32.h > index de7290ee770f..03af9e6bb5cd 100644 > --- a/arch/powerpc/include/asm/task_size_32.h > +++ b/arch/powerpc/include/asm/task_size_32.h > @@ -7,6 +7,7 @@ >  #endif > >  #define TASK_SIZE (CONFIG_TASK_SIZE) > +#define TASK_SIZE_MAX        TASK_SIZE > >  /* >   * This decides where the kernel will search for a free chunk of vm > space during > diff --git a/arch/powerpc/include/asm/task_size_64.h > b/arch/powerpc/include/asm/task_size_64.h > index c993482237ed..bfdb98c0ef43 100644 > --- a/arch/powerpc/include/asm/task_size_64.h > +++ b/arch/powerpc/include/asm/task_size_64.h > @@ -49,6 +49,7 @@ >                          TASK_SIZE_USER64) > >  #define TASK_SIZE TASK_SIZE_OF(current) > +#define TASK_SIZE_MAX        TASK_SIZE_USER64 > >  #define TASK_UNMAPPED_BASE_USER32 (PAGE_ALIGN(TASK_SIZE_USER32 / 4)) >  #define TASK_UNMAPPED_BASE_USER64 (PAGE_ALIGN(DEFAULT_MAP_WINDOW_USER64 > / 4)) > diff --git a/arch/powerpc/include/asm/uaccess.h > b/arch/powerpc/include/asm/uaccess.h > index 22c79ab40006..5823140d39f1 100644 > --- a/arch/powerpc/include/asm/uaccess.h > +++ b/arch/powerpc/include/asm/uaccess.h > @@ -8,13 +8,6 @@ >  #include >  #include > > -#ifdef __powerpc64__ > -/* We use TASK_SIZE_USER64 as TASK_SIZE is not constant */ > -#define TASK_SIZE_MAX        TASK_SIZE_USER64 > -#else > -#define TASK_SIZE_MAX        TASK_SIZE > -#endif > - >  static inline bool __access_ok(unsigned long addr, unsigned long size) >  { >      return addr < TASK_SIZE_MAX && size <= TASK_SIZE_MAX - addr; Thanks, that's very helpful! -- Dmitry