From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id DDC7DC0218D for ; Tue, 28 Jan 2025 03:30:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3DCF62801FD; Mon, 27 Jan 2025 22:30:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 38D782801F2; Mon, 27 Jan 2025 22:30:39 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 254A32801FD; Mon, 27 Jan 2025 22:30:39 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 065262801F2 for ; Mon, 27 Jan 2025 22:30:38 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 761ACA0A94 for ; Tue, 28 Jan 2025 03:30:38 +0000 (UTC) X-FDA: 83055433356.25.97830F9 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) by imf06.hostedemail.com (Postfix) with ESMTP id 5952F180007 for ; Tue, 28 Jan 2025 03:30:36 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=kxPvb8FB; spf=pass (imf06.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1738035036; h=from:from:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=67F838oc+dojbhnQEcvwv7YodRtpbtCE6Z6PyI/ngN8=; b=KSygA6nU7qrSrb+dZiyJv6OtAWJig0OVQdhqymSw2WpJ4roSBMBkYqyN4Ge0q5+2J9ySpH mou7W13HK3KgdFF8Bvt+L02RGEeGwi1rPQ4MDWJyazdTxDEDcW82fKDm91FE5+iQxIqRMg zMzAWba4QD2cJxMbWWd0WmtJ5HSvhIg= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=kxPvb8FB; spf=pass (imf06.hostedemail.com: domain of richard.weiyang@gmail.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=richard.weiyang@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738035036; a=rsa-sha256; cv=none; b=dE6YPv7u8EzhlIIYbeP9FfGgK43KvkaC2Pw0HD39j4gJbEDDETiFJxJxkQVKIrX3PHn4+W l9ifDecgBu4Td+O1xZr4b8R2rBJ4vLthcLPeEhAAOCc2/3nEnL8zfvP2vHDMHUmqHGEwrp zxRAMZMsRzdzjV/72rG4yaR53mv0mHM= Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-aa684b6d9c7so57268166b.2 for ; Mon, 27 Jan 2025 19:30:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738035035; x=1738639835; darn=kvack.org; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=67F838oc+dojbhnQEcvwv7YodRtpbtCE6Z6PyI/ngN8=; b=kxPvb8FBY887Ec40aThFYycU+OLtGd66GEjE3dD1pwZUQDLIH1tcp6zHFOB4Dp972J ysMSJDwIzcnspjezVNNAaEOPAUzRttISujkXEeP5mAHwy0sAV4ywYpNesAdO3fhdicQp uM9Vq8OTOvG9YLqAZ2S7zcmtzWwsD6ZwgiW4FtwP7BWgxM50fuxWUEJm4ekJfe4+J+XY pt9pKlb/Jq5FXcQDizeXZFoaPBSGnQHONJk1y+qaMmMpbRBk5f0Z46FLH17SRtkh49eO vm4XggwWcdrFEGWMl5HoCdjMTg9nKxBs87ZLfRVUqHL+bLrKQsXprOqO2ALnYQM6ibMy +Fzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738035035; x=1738639835; h=user-agent:in-reply-to:content-disposition:mime-version:references :reply-to:message-id:subject:cc:to:from:date:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=67F838oc+dojbhnQEcvwv7YodRtpbtCE6Z6PyI/ngN8=; b=r8O16QLW4eKJUFo3IZqrR1Hgd0iLAwDVWIs5gAnOuQ4BjP8Mm1FXLnplo4MwscFmhG Po+WiyEYi7G9Yz/z2VVb6qJ+OswWM/63AgDcwcCUgrUfneGkCi20mz46wcFX2E0UwL9E b4bw7QoIQAOt2AmdKxm4t6rjISQT2LAQVI3na01fThrltuA8DGYGbw3e5dko0P6mFZ+Z Sl1TEuRAI1S2Q6Fzyew00EaK/9/u5dEanYchDzqG9iwGLJRRRRYcqpkIZjKwlMYKB58p Xs6Ea3XDzwr5wFthrlusbB8kNR9wZapo45AjlBno5HjOMK3ZyDhaM1yloaIV89z+aHrP zncg== X-Forwarded-Encrypted: i=1; AJvYcCXlSdgyh+odIlm3cTz7vsw5C1t7jGBF521xAlFrfYcD66Lzo+4byUuBs6SAvJuWkbnGIFMoT4A7RA==@kvack.org X-Gm-Message-State: AOJu0YyGd1s3u6UJigY5u74Kygt931gi/L9uY4TVEA8QVd3/DOdD9cnb rSeEbPlxvhHLC/30ePmCon7ScWuTfts49uZcspVI47CVT5F1fWZN X-Gm-Gg: ASbGncs/rYr2HIci9bneijjzoE8z45surueq3DImAeYBYOapKxZuhc+v4JUIIZre4u3 lucydWL23DTj+l2QKWZXvHZ8/VkznNd/h5Ob6fmmFSCwoYrHWWiI12+IwbZcvGEKMspjGsaGB8T gs6ShyaZUFMcV+A2drxkwUntz9uXJn8G0WNI/w/JvXvh0zlpN9iHOaraf6LMAXiRb9jlIRDTHXx 18qtdLVRuvHlsmCYEctlemaO6L3XsL1jk7VnS9o2EZiMi9pXTDDW621ov4ydu8bPo8jU9UQdRD6 NbQwI8+rm2oRho0= X-Google-Smtp-Source: AGHT+IEf2qKuHXTYcAUUhGXUpk0g7e8L3G11lWnZRuVGroEYxi0LMHlRQA9QLELJdipbR0xO2rwuBA== X-Received: by 2002:a17:907:72cf:b0:aa6:8676:3b33 with SMTP id a640c23a62f3a-ab38b3f8f45mr3795472466b.47.1738035034510; Mon, 27 Jan 2025 19:30:34 -0800 (PST) Received: from localhost ([185.92.221.13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ab675e126eesm697978366b.14.2025.01.27.19.30.31 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Jan 2025 19:30:32 -0800 (PST) Date: Tue, 28 Jan 2025 03:30:30 +0000 From: Wei Yang To: Lorenzo Stoakes Cc: Wei Yang , akpm@linux-foundation.org, Liam.Howlett@oracle.com, vbabka@suse.cz, jannh@google.com, linux-mm@kvack.org, Rick Edgecombe , stable@vger.kernel.org Subject: Re: [PATCH 1/2] mm/vma: fix gap check for unmapped_area with VM_GROWSDOWN Message-ID: <20250128033030.syh64kqq3xoigl7v@master> Reply-To: Wei Yang References: <20250127075527.16614-1-richard.weiyang@gmail.com> <20250127075527.16614-2-richard.weiyang@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170113 (1.7.2) X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 5952F180007 X-Stat-Signature: bxo6k6xo96g8n7kjnxqxqp6dcogbygpe X-Rspam-User: X-HE-Tag: 1738035036-908496 X-HE-Meta: U2FsdGVkX1/gSKP6/mPKmfVy+llTHBIoBhUTkltGBSKZt1oMa+byVUSj4foOnhSxQWTdaVczat7lfehhIT3fyj9R4Ka9pqXdXrPG1v9RtNDyN4I2+HQrqiK8dbMmAwywgXJlUinlBZcgWcE9kJPKt+sIc6o2O1PrpTVUbd0/v0Gp6JrQ78cVLdaFMJaaaMQurcE+CZ1V4PyyOs2IJazn9e2jHNnFcCaqWnAG0cQV8tYY45B6x9h9PfqcmWRA45cnl6sXXCGCAsYH0dj1mJqqBJGFIXTb02lb2b8YOJPzU3ANlcbq/KVA4MBU8VvCYsdv+KaFvkDgc90zj5RLWGM8HxB02JaaZTa9oj9V45E6xYrvyTUt/zhsZKCRdyeKeQ8GsUpgICIMaoKDVmco3Kkpf9+j/Xw0EH8uIpDCHBENtMXVPnmMq16u2DYUa8FflCQvo+3VPRGheK7U2OyPBpBQL37OELbt0JhOruSBqwgTgnbcjMMNh8MPht/yXDxY/RSJ7527eWlTqemcx46Yid8QAdOe+XqRuhvjk8CaADO8d00kpNJ7Poi1tgqMHrC+SHhbtDur6/P8Q5GSE+ZhJYt5aevw/0wGOqZBPAgrKfn0z2JVWZNd9WUs61kayYBX/PrBqB2BVoHZafZExFjo0rR7xedNEJ5jnHcK9xbMImjwBV/n1UVzchLZYtPHBtrZZOJdnlOJRUohQhJBsbwKYTdx+FSxbD/+jDmCGZjrqMMaHPndDA/VhLqfcx16p0/WtQIiuuEQCW8ESdS/QxC0evhnD5rPLYiA3Rx+bpiu7JnL81RPZhjwGiikRvmZiBQpH4vJkRq3tDZTtO5SfgDSnu8ge2dq35/9DkMK187QcJXOhO1uUdhjOkHko2bh8hn43u3dJj3aupCi7uTdaHCj1e6cJZurQTbeq2EZPH5cUm2cZM2FPFmkgXvZNUpybztlP6YCOkXnYTksoJOiDDH1QlQ jQHcbXj2 55ueO0a8iB7bIZDZ63jFBzlLRGqcValHlUyFMQlG/LVWrqvehxYoMtV5LFFU7Vb76HT1tWpbNRXJqBUoHdH2mnaSLQ08VjMedRNJb3PhQKzy5pBaJBJXAT5E8m0kobOEHZqDcpvaX1T+S8ZOst4Gy3dzzSv+MZJhhEmPtCjx3AjMRWvNtRHWBtyibTora3Z8G/ozyBDzWSqQau5XmJy8fpQyV8jBT250zVlQi9PTdNEGzSONqeEMjWtLyMybxrPs5kI2JO47VDQgo9qeQyvcx9ec7PPXHQUVaqsGPocZxBkfxBL2tBShqqmTRSRlMYHd4t3w9bfUjsMuxrJWYlKCx9C51EhJP/ZMYRAG/hCQRv51Ffj8gJNta3GN1woXSQaXiyC6r86j8SsXRdKMJJXGiHBZYRGb7zOtQh0W4P/m75lPN4nNCIfmiC5HSh2/xOz3RHbTq4LNexhnPsNSiO+ssfdSmHliKGimcfDPqhZrQ6GoVFU550noxuPunxWGZTyq32Hhb6E1BDt5nDFoiJkaL0dcUofrpITUJvkWjK6DRTRSUF/bbEpDl6Xodg49rHiF28Rg+vS0LY8kuS9wO5gPDC1rfHMABrVjSiO9zYWTpvfz70mHBs7UycDu60WvdFFaPCk1+GlbIWU9ORv58pCQXnxJmS4TcQZA0izBvtsZOwHoZ/SN7ffROmL8xw4RcDWTMEoWIPLYZDqtPPVxUXeQQaGx5Hg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.201393, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, Jan 27, 2025 at 12:08:04PM +0000, Lorenzo Stoakes wrote: >You have a subject line of 'fix gap check for unmapped_area with >VM_GROWSDOWN'. I'm not sure this is quite accurate. > >I don't really have time to do a deep dive (again, this is why it's so >important to give a decent commit message - explaining under what _real >world_ circumstances this will be used etc.). > >But anyway, it seems it will only be the case if MMF_TOPDOWN is not set in >the mm flags, which usually requires an mmap compatibility mode to achieve >unless the arch otherwise forces it. > >And these arches would be ones where the stack grows UP, right? Or at least >ones where this is possible? > >So already we're into specifics - either arches that grow the stack up, or >ones that intentionally use the old mmap compatibility mode are affected. > >This happens in: > >[ pretty much all unmapped area callers ] >-> vm_unmapped_area() >-> unmapped_area() (if !(info->flags & VM_UNMAPPED_AREA_TOPDOWN) > >Where VM_UNMAPPED_AREA_TOPDOWN is only not set in the circumstances >mentioned above. > >So, for this issue you claim is the case to happen, you have to: > >1. Either be using a stack grows up arch, or enabling an mmap() >compatibility mode. >2. Also set MAP_GROWSDOWN on the mmap() call, which is translated to >VM_GROWSDOWN. > >We are already far from 'fix gap check for VM_GROWSDOWN' right? I mean I >don't have the time to absolutely dive into the guts of this, but I assume >this is correct right? > >I'm not saying we shouldn't address this, but it's VITAL to clarify what >exactly it is you're tackling. > Thanks for taking a look. If my understanding is correct, your concern here is the case here never happen in real world. We are searching a gap bottom-up, while the vma wants top-down. This maybe possible to me. Here is my understanding, (but maybe not correct). We have two separate flags affecting the search: * mm->flags: MMF_TOPDOWN or not * vma->vm_flags: VM_GROWSDOWN or VM_GROWSUP To me, they are independent. For mm->flags, arch_pick_mmap_layout() could set/clear MMF_TOPDOWN it based on the result of mmap_is_legacy(). Even we provide a sysctl file /proc/sys/vm/legacy_vm_layout for configuration. For vma->vm_flags, for general, VM_STACK is set to VM_GROWSDOWN by default. And we use the flag in __bprm_mm_init() and setup_arg_pages(). So to me the case is real and not a very specific one. But maybe I missed some background. Would you mind telling me the miss part, if it is not too time wasting? -- Wei Yang Help you, Help me