From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1762960AbbA3Rvg (ORCPT ); Fri, 30 Jan 2015 12:51:36 -0500 Received: from mailout4.w1.samsung.com ([210.118.77.14]:57246 "EHLO mailout4.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753462AbbA3Rvf (ORCPT ); Fri, 30 Jan 2015 12:51:35 -0500 X-AuditID: cbfec7f5-b7fc86d0000066b7-cb-54cbc412d2ca Message-id: <54CBC49C.5080503@samsung.com> Date: Fri, 30 Jan 2015 20:51:24 +0300 From: Andrey Ryabinin User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-version: 1.0 To: Andrew Morton Cc: linux-kernel@vger.kernel.org, Dmitry Vyukov , Konstantin Serebryany , Dmitry Chernenkov , Andrey Konovalov , Yuri Gribov , Konstantin Khlebnikov , Sasha Levin , Christoph Lameter , Joonsoo Kim , Dave Hansen , Andi Kleen , x86@kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v10 13/17] mm: vmalloc: add flag preventing guard hole allocation References: <1404905415-9046-1-git-send-email-a.ryabinin@samsung.com> <1422544321-24232-1-git-send-email-a.ryabinin@samsung.com> <1422544321-24232-14-git-send-email-a.ryabinin@samsung.com> <20150129151254.edc75e5ae20c3cafb55d88b1@linux-foundation.org> In-reply-to: <20150129151254.edc75e5ae20c3cafb55d88b1@linux-foundation.org> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrPLMWRmVeSWpSXmKPExsVy+t/xa7pCR06HGBz7yGXxe+9MVos569ew WRy59p3d4vq3N4wWn14+YLR4/vAhu8WEh23sFiu7m9kstj97y2SxsvMBq8XlXXPYLO6t+c9q sfjIbWaLd88mM1v82PCY1YHfY/7Oj4weO2fdZfdYsKnUY/Gel0wem1Z1snls+jSJ3aPr7RUm jxMzfrN4PLkyncnj49NbLB6fN8kFcEdx2aSk5mSWpRbp2yVwZRw7coW5YBp7xduOo4wNjI9Y uxg5OCQETCQ+NNl0MXICmWISF+6tZ+ti5OIQEljKKHH/4Ck2kISQQDOTxI8mFRCbV0BL4t2B PrA4i4CqxK3+S8wgNpuAnsS/WdvB4qICERIfVn1lg6gXlPgx+R4LiC0ioCux6vkuZpAFzAJv mSW2TPgElhAWCJfYdOYl1LJGJonW7UEgx3EKeEts6dIFMZmB5t+/qAVSwSwgL7F5zVvmCYwC s5BsmIVQNQtJ1QJG5lWMoqmlyQXFSem5RnrFibnFpXnpesn5uZsYIZH2dQfj0mNWhxgFOBiV eHhvJJ4OEWJNLCuuzD3EKMHBrCTCO2USUIg3JbGyKrUoP76oNCe1+BAjEwenVANj+2OjqV+W s6d7n9wpcfn/pCynqwaRWy++XtBS0PJ/22GFigOqzV3P5raX7w27OkHdi5nzbl5isavAV6lT UZHL1nOYdJ99+njG1DkMs7Tv68x4s9CsiS8tU7gj1e2S02lZv+C1j3eXau9N2lntZNRmeDH5 z3ztrGvJiW8W8Ruvu8C2/qb3TjteJZbijERDLeai4kQA/gYbTpICAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/30/2015 02:12 AM, Andrew Morton wrote: > On Thu, 29 Jan 2015 18:11:57 +0300 Andrey Ryabinin wrote: > >> For instrumenting global variables KASan will shadow memory >> backing memory for modules. So on module loading we will need >> to allocate shadow memory and map it at exact virtual address. > > I don't understand. What does "map it at exact virtual address" mean? > I mean that if module_alloc() returned address x, than shadow memory should be mapped exactly at address kasan_mem_to_shadow(x). >> __vmalloc_node_range() seems like the best fit for that purpose, >> except it puts a guard hole after allocated area. > > Why is the guard hole a problem? > Because of guard hole in shadow some future allocations of shadow memory will fail. Requested address ( kasan_mem_to_shadow(x) ) will be already occupied by guard hole of previous allocation.