Received: by 2002:a25:7ec1:0:0:0:0:0 with SMTP id z184csp326715ybc; Tue, 19 Nov 2019 01:59:08 -0800 (PST) X-Google-Smtp-Source: APXvYqzbVteVseB3LTGHrAYODwiBuGWtdRAXfVX3SuvErxdNm7vUKBUpUdGZy/Px3xprG2yS3xb5 X-Received: by 2002:a17:906:f259:: with SMTP id gy25mr32746854ejb.297.1574157547916; Tue, 19 Nov 2019 01:59:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1574157547; cv=none; d=google.com; s=arc-20160816; b=0HkLDdV2iWIf5nJElCTj5aapGSQhM5a2b6K4CTvk5wiNtpNGRc3ScWQ/pFnQmHQqGR nGbeE9fYsui2ECl6053fnP773Rod42JMmT1cBoU/Y8p6OAyITky7I4LM2LsaTQqTm32O kLXRR0Z/fLHAXZlmYijAx1Mxi0iO0q0PAjDdWEXraAJ2Re/F+EyNluwKlN8Y0gBF0Vqh gwHgO7LdSAUHQNRaHEX3J/Vd1+R9K/a6OVG5s0WW6bn0fJTBUg+crKru8FyQ8JUJlKbD eI+AWsDOKI02xgu66Dnvg8BBGCXYDjx1Vxt2KxM8MZ1fGfirzOIHhH1WF1H0PDmZ3O+/ ODTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=BSY55w7EfCb7gNvbocVrWkstWTMjyOz4IgD3YA6s2WU=; b=SOHwpKFW5NhEFv7/9KzkGacVvTLB4wquO5rSTwk4Lk/1gagoIHA/eqxzsWZ7iN5Yjs 6z9jtQk60DTr0WEXeor7xIJz7vZAUJOuJ1ZlWec3C69+jxVNrMVSxDC7I3Sr5QS54Imt 6IVxWnTuslHmza4CYWN/3QziiQXwjzl2pKKT2SJ4A+xf5oI+TdlUV0GcQcuoEbUOk2Nj VrnmJuCbuuXaVUQzXURG90kLGRARZA3ha/a1X1ZVozu1H6HkYAXaOoH2a4R479YJ5n/M HPcxLFXRDWSaocST3F7DrCcHoRtBVJvKd9dPWdIDGUDzNpjc6tmoDVSTRI30mAWFLOwT 9VwA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=virtuozzo.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c44si15077357ede.398.2019.11.19.01.58.40; Tue, 19 Nov 2019 01:59:07 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=virtuozzo.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727296AbfKSJyq (ORCPT + 99 others); Tue, 19 Nov 2019 04:54:46 -0500 Received: from relay.sw.ru ([185.231.240.75]:53948 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726170AbfKSJyq (ORCPT ); Tue, 19 Nov 2019 04:54:46 -0500 Received: from dhcp-172-16-25-5.sw.ru ([172.16.25.5]) by relay.sw.ru with esmtp (Exim 4.92.3) (envelope-from ) id 1iX0DD-0002dW-Cu; Tue, 19 Nov 2019 12:54:19 +0300 Subject: Re: [PATCH v11 1/4] kasan: support backing vmalloc space with real shadow memory To: Daniel Axtens , Qian Cai , kasan-dev@googlegroups.com, linux-mm@kvack.org, x86@kernel.org, glider@google.com, luto@kernel.org, linux-kernel@vger.kernel.org, mark.rutland@arm.com, dvyukov@google.com, christophe.leroy@c-s.fr Cc: linuxppc-dev@lists.ozlabs.org, gor@linux.ibm.com References: <20191031093909.9228-1-dja@axtens.net> <20191031093909.9228-2-dja@axtens.net> <1573835765.5937.130.camel@lca.pw> <871ru5hnfh.fsf@dja-thinkpad.axtens.net> From: Andrey Ryabinin Message-ID: <952ec26a-9492-6f71-bab1-c1def887e528@virtuozzo.com> Date: Tue, 19 Nov 2019 12:54:08 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 MIME-Version: 1.0 In-Reply-To: <871ru5hnfh.fsf@dja-thinkpad.axtens.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/18/19 6:29 AM, Daniel Axtens wrote: > Qian Cai writes: > >> On Thu, 2019-10-31 at 20:39 +1100, Daniel Axtens wrote: >>> /* >>> * In this function, newly allocated vm_struct has VM_UNINITIALIZED >>> * flag. It means that vm_struct is not fully initialized. >>> @@ -3377,6 +3411,9 @@ struct vm_struct **pcpu_get_vm_areas(const unsigned long *offsets, >>> >>> setup_vmalloc_vm_locked(vms[area], vas[area], VM_ALLOC, >>> pcpu_get_vm_areas); >>> + >>> + /* assume success here */ >>> + kasan_populate_vmalloc(sizes[area], vms[area]); >>> } >>> spin_unlock(&vmap_area_lock); >> >> Here it is all wrong. GFP_KERNEL with in_atomic(). > > I think this fix will work, I will do a v12 with it included. You can send just the fix. Andrew will fold it into the original patch before sending it to Linus. > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index a4b950a02d0b..bf030516258c 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -3417,11 +3417,14 @@ struct vm_struct **pcpu_get_vm_areas(const unsigned long *offsets, > > setup_vmalloc_vm_locked(vms[area], vas[area], VM_ALLOC, > pcpu_get_vm_areas); > + } > + spin_unlock(&vmap_area_lock); > > + /* populate the shadow space outside of the lock */ > + for (area = 0; area < nr_vms; area++) { > /* assume success here */ > kasan_populate_vmalloc(sizes[area], vms[area]); > } > - spin_unlock(&vmap_area_lock); > > kfree(vas); > return vms; > >