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 D552FC46467 for ; Thu, 19 Jan 2023 18:49:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 79C4B6B007E; Thu, 19 Jan 2023 13:49:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 74C5F6B0081; Thu, 19 Jan 2023 13:49:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5FA096B007E; Thu, 19 Jan 2023 13:49:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 508116B007E for ; Thu, 19 Jan 2023 13:49:25 -0500 (EST) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 350361C4B3E for ; Thu, 19 Jan 2023 18:49:25 +0000 (UTC) X-FDA: 80372436690.13.D70A2DE Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) by imf08.hostedemail.com (Postfix) with ESMTP id 76D58160011 for ; Thu, 19 Jan 2023 18:49:23 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=o08f1MQS; spf=pass (imf08.hostedemail.com: domain of urezki@gmail.com designates 209.85.218.53 as permitted sender) smtp.mailfrom=urezki@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=1674154163; h=from:from:sender: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=wh9F2fUF9iYN5K+cfBa9Z7OEtQotBEq6jkKhvvwhjpY=; b=puXlDtA/kYHmfbMoBhnOEQzOpj9Jqw4PPMJ2+gY/Ptjz9kT/MJkeoLKw8Wj31CWjcwLLQ9 y51GD9j8UCBsRs3at7lp4jj6+vELQpgBq2wOstEEJu1dpXoW+KchqOFB0wZY5YR/XZZebV ItwJ1rX2R9DW9iDKxa/z3sd99ywZG4w= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=o08f1MQS; spf=pass (imf08.hostedemail.com: domain of urezki@gmail.com designates 209.85.218.53 as permitted sender) smtp.mailfrom=urezki@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674154163; a=rsa-sha256; cv=none; b=Mn1k7XPVE0z+Qo7jbLSzpmzigXrkJ+res1gAEdkDWrrhrA887ABjbVpb8LNq2egcnYGmDv ku+03u0+gmsXAffaLjGqG8RDaD4eY3z27wOdlZEdllg1isrDGXUEVg0NFhjZE/8Ovja9QV NljPf/fpcQmZNXaeliQjDgYQM2dATQM= Received: by mail-ej1-f53.google.com with SMTP id mp20so8089236ejc.7 for ; Thu, 19 Jan 2023 10:49:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=wh9F2fUF9iYN5K+cfBa9Z7OEtQotBEq6jkKhvvwhjpY=; b=o08f1MQSvjrArEgLDgkTYEWwI8wdjCV0B7+e1oB4haknGdWhNm/MpEZ5vR9oyP9vsy U7HTniWKxqRxmFObaalbWXpnH4xP8DkZmlVp88VF/TAtudrcfo6sp5pY9wPyT2Cl0bRs H01jTi3UTsfiW8J4o2KhLyhSn4YrF4cQ6sUa3VLUf01KZg0GA3Pz9EFJZLIx2eBLgU8s QCx2PlUkLP71NAnoGzZLLVe822uHd56xb5mteVHM1Z6eTF/fl79fdQ3E3zHYj+GLdyFR B9sujRY2mO3OesQBxLy/7SHwo18DUNArDXcrRfiBLU3R7CkU6GrM98IBVzEQ49npNwgF Tu8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=wh9F2fUF9iYN5K+cfBa9Z7OEtQotBEq6jkKhvvwhjpY=; b=vIxUa5XcFCoV3KAh3BKqaBv45/i40ShWGgJSYnKu1zri0db9b3w3/s3AHEBkNJzI9J S8Btr/FuFOMYbhzfKQs8bI4XJ8r2n5ew2J8tB4tqC5wm++8LG8NUnY6GcK858jDInhN4 9pt3S3ADBnVm7rZ7BDs9BLmUfRhxvGMbocAK5YQ6ijaVHRAlfxGaHLst8g3FR3gxZqMQ 7ELI2y1coYmcgJeATrNnJTrzEG3xOaeKfQDQB8VezWya7A+qFp+tGpDZ0xo37px5uQJP DPgFlLhpxzn3LjQfx2CKc+Y7EGc4WKqrr6eYIAFKw71bCSCdmyQO51jiVLgzGKmz8BXF hVQQ== X-Gm-Message-State: AFqh2krnahynAgWv1mYG1VSV5TInBlS/neGh8BWYDhiJCbLTFxN3O2JY xzwgewQlkYHXg4SI6B4AClA= X-Google-Smtp-Source: AMrXdXsbqGvQYLVakLZNRURH8FM/ywJDcmTkVNP7DF06km9wpV5vwihquprOfN24d9lMiraN41JGPw== X-Received: by 2002:a17:907:7ea6:b0:873:1b57:b27f with SMTP id qb38-20020a1709077ea600b008731b57b27fmr15030783ejc.61.1674154162126; Thu, 19 Jan 2023 10:49:22 -0800 (PST) Received: from pc636 (host-90-235-24-47.mobileonline.telia.com. [90.235.24.47]) by smtp.gmail.com with ESMTPSA id p5-20020a17090653c500b007ae32daf4b9sm16742154ejo.106.2023.01.19.10.49.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Jan 2023 10:49:21 -0800 (PST) From: Uladzislau Rezki X-Google-Original-From: Uladzislau Rezki Date: Thu, 19 Jan 2023 19:49:19 +0100 To: Christoph Hellwig Cc: Andrew Morton , Uladzislau Rezki , linux-mm@kvack.org Subject: Re: [PATCH 07/10] mm: use remove_vm_area in __vunmap Message-ID: References: <20230119100226.789506-1-hch@lst.de> <20230119100226.789506-8-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230119100226.789506-8-hch@lst.de> X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 76D58160011 X-Stat-Signature: 9s9znrg3pr9u8yunw4wbtooqt4m8mcsf X-Rspam-User: X-HE-Tag: 1674154163-613242 X-HE-Meta: U2FsdGVkX18DzvBG8CgJj9dmyR9TzBMRpXGfkDuAEgjLsrx5sJ6oTSsvp9PhQhqJQGBJxvvquY/a9r+oF/uLQlDBaeRRi425l9x1LRvPQ3oyGnkMOondBM8WASjQGf7IOCUFS8N/d89glcdk3SbFravLZSl6TjDrmGgc7P4H1sYEydRYX8Vw5kNs54WrA96v7d/AeXTHM/SJiP67INcxCpzeJrXwLinJSrYKdrspVx0zeUPF4RuNND2Tu9aghVGfz9zsw+hDzuhPms71SbTNR45MD8pPwrDfEWRWN/FLCS5ZFVdQkEuUF3vNlicqUHbQpzGl8XSlw4C6+Bmh2kuOGFohPJH0Sp0KiXz+fZ3mOuHBe1xNvB2uc2qzRTh2GmzxpqSvEuMO4auQSEnlWAUrnWI3QXigkfydeNlM38TtgSLfPY7WxDLREYbfS6VfYwcrsE/8Mfxj7cW88lk8jPGlrjdha2foZqKpsPR8V5u3kHN3gS2xjNTRqNFAtXVkiKO2oi1pA6AwgSPMd2VadQnkXN4Jw6H7GGMqKO0WxUHdGjdsqQiqX5PcSbYZrGOMI4Vcyr3s/H+dLH2P8S5YoLWSaxqouQX37V9zxZTLXojpvURiSskReY2gRdKtW7HeQbH/UBftUDmmgyQFVA3BqsVeyWnLcbKsExVX/GARsjMwEfQIZPUWDZ3zqTbK/zuRuMf1r4R2GjkKm8Os3SZ5XBOMlMhDZ5fs6qoE/4GPX+nTSvOExDr/wr3mlKzojF3axNjn7pFXWckHjyq3a8K/gbyNA2Dnm3s3ibsKNeECTrvFRVAsQmXThi84DnieVYN3BNxBVjKNM/dF5hRxCKp2CEXad3CMxc1lnJd0dAKNaUCEh3sxL5i1fdVZMs1fbHvg8hGqy56l+Mnc3ri3mYJuAURQQDKdGYrHtKT/Wq2dDR4YSx6hULgLEjqOOHLMLclg60310VkETLi97oCGSJnSlnN cKkxt9ug TsvMyy4sVMihKIY7SZ5dDSVNLzEiccI1a/OoITVBhW7fD15z647FXVwuq8bQoI9pUNZoSCVnVdDlNAcQrt90pk9LP+wLwmeqiRXa7BTiL1qiBW0+ObqiDwGTrzZj6RLsGz5jdjsyee08G2lo= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Jan 19, 2023 at 11:02:23AM +0100, Christoph Hellwig wrote: > Use the common helper to find and remove a vmap_area instead of open > coding it. > > Signed-off-by: Christoph Hellwig > --- > mm/vmalloc.c | 33 ++++++++++++--------------------- > 1 file changed, 12 insertions(+), 21 deletions(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index 09c6fcfdaeb7c9..096633ba89965a 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -2571,20 +2571,6 @@ struct vm_struct *find_vm_area(const void *addr) > return va->vm; > } > > -static struct vm_struct *__remove_vm_area(struct vmap_area *va) > -{ > - struct vm_struct *vm; > - > - if (!va || !va->vm) > - return NULL; > - > - vm = va->vm; > - kasan_free_module_shadow(vm); > - free_unmap_vmap_area(va); > - > - return vm; > -} > - > /** > * remove_vm_area - find and remove a continuous kernel virtual area > * @addr: base address > @@ -2597,10 +2583,18 @@ static struct vm_struct *__remove_vm_area(struct vmap_area *va) > */ > struct vm_struct *remove_vm_area(const void *addr) > { > + struct vmap_area *va; > + struct vm_struct *vm; > + > might_sleep(); > > - return __remove_vm_area( > - find_unlink_vmap_area((unsigned long) addr)); > + va = find_unlink_vmap_area((unsigned long)addr); > + if (!va || !va->vm) > + return NULL; > + vm = va->vm; > + kasan_free_module_shadow(vm); > + free_unmap_vmap_area(va); > + return vm; > } > > static inline void set_area_direct_map(const struct vm_struct *area, > @@ -2666,7 +2660,6 @@ static void va_remove_mappings(struct vm_struct *area, int deallocate_pages) > static void __vunmap(const void *addr, int deallocate_pages) > { > struct vm_struct *area; > - struct vmap_area *va; > > if (!addr) > return; > @@ -2675,20 +2668,18 @@ static void __vunmap(const void *addr, int deallocate_pages) > addr)) > return; > > - va = find_unlink_vmap_area((unsigned long)addr); > - if (unlikely(!va)) { > + area = remove_vm_area(addr); > + if (unlikely(!area)) { > WARN(1, KERN_ERR "Trying to vfree() nonexistent vm area (%p)\n", > addr); > return; > } > > - area = va->vm; > debug_check_no_locks_freed(area->addr, get_vm_area_size(area)); > debug_check_no_obj_freed(area->addr, get_vm_area_size(area)); > > kasan_poison_vmalloc(area->addr, get_vm_area_size(area)); > > - __remove_vm_area(va); > va_remove_mappings(area, deallocate_pages); > > if (deallocate_pages) { > -- > 2.39.0 > Reviewed-by: Uladzislau Rezki (Sony) -- Uladzislau Rezki