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 3778FECAAA1 for ; Tue, 6 Sep 2022 16:25:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 60CF36B0073; Tue, 6 Sep 2022 12:25:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5BC3A8D0002; Tue, 6 Sep 2022 12:25:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4360F8D0001; Tue, 6 Sep 2022 12:25:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 357C66B0073 for ; Tue, 6 Sep 2022 12:25:11 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 02B8E120FFB for ; Tue, 6 Sep 2022 16:25:10 +0000 (UTC) X-FDA: 79882185222.22.174B1AD Received: from mx0a-00082601.pphosted.com (mx0b-00082601.pphosted.com [67.231.153.30]) by imf28.hostedemail.com (Postfix) with ESMTP id 74D3EC0099 for ; Tue, 6 Sep 2022 16:25:10 +0000 (UTC) Received: from pps.filterd (m0001303.ppops.net [127.0.0.1]) by m0001303.ppops.net (8.17.1.5/8.17.1.5) with ESMTP id 286F2kGO004237; Tue, 6 Sep 2022 09:25:07 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=facebook; bh=xHkeWubIfNZrxloZnpWEv0cQoqGeIETW9IWfBZ/b/S4=; b=e/N/AZV2lpA1/Ov0iDYaspNp28TiKQtPZ2dgiqvHW/fq9Q+IUnlG+Am4+ySpTzsqtjNF CeCQYGjqwyYSHb7KFqmyJvi4sN8k6D77wUUX90zom8OWh0AfK1jga66j1cwXl29zOrAo RFLq9RoRvQeQH42FtwXoe6Iu6+yd3PVtM7U= Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2046.outbound.protection.outlook.com [104.47.66.46]) by m0001303.ppops.net (PPS) with ESMTPS id 3je3j3tfex-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 06 Sep 2022 09:25:06 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DNjBbX0cfim7KOL4ziLpswZzbYUQkXV/inpqPpkQ0q4ozgdopqR4aV/smEHV391tTNG7fNx90vbS47vVbRtZucyiZ9gV/c+LgeazqdwD1sdQ3FreXQLGM7mpkZ5l4FhgNdvR7FTBOQY2YzduKpoCvcehNK/AoWf6EiTpIfTLRCN5QSsIfvFOkOHqeXTnwnvX59RFNddgeVnVSEuRik2a+a6rzn6yDpdnDKK1Zxs5/qfJMbSOi8avrXAiissnk2tsNvPschZwZ6WvQApKLM/HvnyyKvfFe4Z/hCtvnS89eTvPAIzDK6AlXHA5A2bNxBp6/XZz8sCGLFbBD/UH7v2zmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xHkeWubIfNZrxloZnpWEv0cQoqGeIETW9IWfBZ/b/S4=; b=To/icTbvXlFcht+DB6K+VbYe6rG5dguVeySWo6bwsM7UXtu56FCvZlv8u1iqiq/IC0r4uy24uYgrJj4Kx6OhhHav9g2ZsMl0nBy+Tt+fTAWY0T2M8ZefHM/uCBJOlY4pvFKuqhiYDO4nu+QdX7C4E/sM3DEGlkJwWsY5LEVD66b+QSoq4X5ZnlaQeuzex3kaUz6DEN5fyy/rRzbaWrdXAv5+QNCCIaBYCIDkJx3lXZAYjDHZGF6XngWNhyjc2XFaYIKaA7xCv22i53GcpXMH4pysfW7OZ4b5NmTgjGViZGYku3zE//7wLzzbOVwbc7QWh2fc6aoZ60v5S3F5qv6Iaw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fb.com; dmarc=pass action=none header.from=fb.com; dkim=pass header.d=fb.com; arc=none Received: from SA1PR15MB5109.namprd15.prod.outlook.com (2603:10b6:806:1dc::10) by MW3PR15MB3913.namprd15.prod.outlook.com (2603:10b6:303:42::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Tue, 6 Sep 2022 16:25:04 +0000 Received: from SA1PR15MB5109.namprd15.prod.outlook.com ([fe80::c488:891f:57b:d5da]) by SA1PR15MB5109.namprd15.prod.outlook.com ([fe80::c488:891f:57b:d5da%8]) with mapi id 15.20.5588.018; Tue, 6 Sep 2022 16:25:04 +0000 From: Song Liu To: Song Liu CC: Linux-MM , "linux-kernel@vger.kernel.org" , Uladzislau Rezki , Baoquan He , Andrew Morton Subject: Re: [PATCH v2] mm/vmalloc: Extend find_vmap_lowest_match_check with extra arguments Thread-Topic: [PATCH v2] mm/vmalloc: Extend find_vmap_lowest_match_check with extra arguments Thread-Index: AQHYwba/hVvX1LqPTUiZhj3kW88u+a3SlwGA Date: Tue, 6 Sep 2022 16:25:04 +0000 Message-ID: <75CD7F46-F419-4D93-B59D-A8C0F942BB91@fb.com> References: <20220906060548.1127396-1-song@kernel.org> In-Reply-To: <20220906060548.1127396-1-song@kernel.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.120.41.1.1) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 29898511-e06e-4ef7-b1c0-08da90245b1c x-ms-traffictypediagnostic: MW3PR15MB3913:EE_ x-fb-source: Internal x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7wIdvlDjBZlz5qA3zVa9lvX//GE1XnFJkqnPpvyzQ17wvT/Q85OggCG1uuBsOwWAOpimuD2nIdEllr0el+7dYO0HxX8AcHyFPQXl/OMqsgAyEk1HlEVQ19LVMnGBKk0DSDEQfjjz43S4v47AyiwHuw4KutQ2o7t9IxQIjJRIqj1NGTo8+hICCSVVGkQPF1HL+UMCgERVX511se0s/rPpV6bjVEyCnAER2xdeOvatlD/ZMbYmimmHhMjHJlQ8SJ2nXV5TrtIhmhZn9cluLDs51N3U8bt9aoNb6QhpjvOefcDoxOffC0W37Wfsn+ThxeHetUeBjZPi422lKQnWNi4LWrmJGDnnYO69Q87Ypu2Gk+s8ijvwNxrVCkTNWhGsWDAv8sZAXwJUFKwwjxaP2QO/xGqED3L1Br5d5i4v3F23n2VJx96mNkv2z5WPWATVgt/SoW2XAk2Mf+7Yo050nuLSS8SbgA6WhHaHU7krwhvPrkpl8n2HidXqPZr9VYO8N3PR+TGIbovlewQkNhpOvSTVpTGXe3CDWO7IzzG7GeZdAV2XrpkIXZ+MpM7jJaNGzRTM1sczZEAFra+cVTKfrM0JiFjiP1r7t6fn/tmIpf4dqg8jk8S74SD/5GfDyCVep87OV03P3MdzB7vjpVFlfNV1r9z09jIDjog1QkJVs513IpwCRmgaOZVzd+k3P3+c5nP19Xeit1rprwzu+8dn6cZuYGRUu2W4fz/IUWXW4xJi27pdfpLPj34WaeQ1GENaVDPDZH5EhcqGnO1Vvv0nRr7rhMmW3OwLTuYlWjyMImZaVKA= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR15MB5109.namprd15.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(366004)(346002)(376002)(136003)(39860400002)(71200400001)(41300700001)(6486002)(478600001)(6506007)(186003)(83380400001)(53546011)(66446008)(8936002)(2906002)(5660300002)(54906003)(316002)(2616005)(6916009)(66556008)(8676002)(64756008)(33656002)(66476007)(76116006)(91956017)(6512007)(4326008)(36756003)(38100700002)(66946007)(38070700005)(86362001)(122000001)(45980500001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?R4UgOIWYfsNGY2gb0NQcgoc/OZN+yKvRq3VIPgC473nPUZ74jaI5HI3iu/ua?= =?us-ascii?Q?t+b1x2X/GOKUyHm1zMTPhYjgbfF+3QmqhwViUa1YPPpS5x31/AYBS7EjytG1?= =?us-ascii?Q?rpAhxmuU2Gn18Adti99+fWmlyZH+hZ2F39UGIcSNsdKz39ZnQg7bsMer/Dld?= =?us-ascii?Q?8R66Ii7eA8H+6K6y5vcehXgRrVWJfuhh0M6Y/lt+PlorWpmx+FLD3Gw81Wkc?= =?us-ascii?Q?aLtfWhSJmCBcJE5Kcc7POFJtoRnRGeEqVVx25TxbGgSXZbsjcb3VnRvu7cfp?= =?us-ascii?Q?x5v2veavybb/lP8QIbnIqwF5e8h3GL615Yyk6ah34Yj/LKf/+qbVevujIbBe?= =?us-ascii?Q?S2j/Bg4NIdD1k/isAMOKo6A34MG2tss+p2/4wyA70LlcaXzUU2syocFYOljW?= =?us-ascii?Q?FMAwmiA3HBYiDJMqhvbN0sXhvKAiJCmUgf5tDJtUY+4osGFnJ3r219kuAwX1?= =?us-ascii?Q?h3Wpmm7vrLurTgw6XE/Yu5K3JhkKMfoX+eDQ037UK3MzTbUdfgG0OuF1Dn2O?= =?us-ascii?Q?CTdwobZF+88htXLMAy++4UIKAnB7spK/hO2hr+qrfQyzaZOg5ORXhIRtO9TI?= =?us-ascii?Q?uuKYBpmdLXfVQc0AbjXc4BjJDxiCT2EowJy+ep5dugIIFztt2+PLLjYhRhyk?= =?us-ascii?Q?/SFyak1yNICDISdP4IPDfCkKq6MfF1LPUkP7+ml0oU954/+rz88WfQ4obMat?= =?us-ascii?Q?hy5VTGnyMk34TWkuJmFI1h87mH+89TMWFToQoVd6TIvD0+T4k0awB6erbs36?= =?us-ascii?Q?HQMLQWAZagAlFAC0EIS2FnVYZ2LJldC8NEgwj7Ov04OKrWNslKyT1dxEZDtJ?= =?us-ascii?Q?z3NROpGhTaGnJqO68egizbDi4KEd9IYhiSGd8jBNmbeyuzl7J9vXq2VAF6QG?= =?us-ascii?Q?26FiyD3hK+9yc78MIuoiASp4CT+I1yeS1zi7CdVtIdqzt2dG5R2M0wQAeOqr?= =?us-ascii?Q?A3tYWJnbFMWeNJBkgcHXvHVgINuGM9yLZNoMJkd/CdjL//y5MvpNi8QfrRQG?= =?us-ascii?Q?N8UU23gARZr1NmpBmt9lSKr/6JxuYxcxG7HY0wHPZ6t3HwFMzSYJWTX7oKv+?= =?us-ascii?Q?1IzhV+LXjhnqhSJFSIWi7e2CN91kihePTLwPQpA820LeaQA2NRsIe/fI/wOz?= =?us-ascii?Q?A5CCVIisXFg3Jc8uvWR81NX7DIKJ1gUVekQ8PAn7r7bRk2pJx2mu5Le9lJfF?= =?us-ascii?Q?7bsJ1s4WTZmti0yWRFA8Tn0+OvJ7KMan7eR07cDmy2RDU5C1dYcxWLMK/t1s?= =?us-ascii?Q?uVBPial02eJ5UV5bnQyPXkL3KU9LYVWD1VqJuvS6LZ35oXI/TX8LQ9mY59gD?= =?us-ascii?Q?ELOnC5jEhss/O4L5sWWQpojoX7R6gpP5bBZZ9NUVQDD6xxeyVLIQtpBMMCfa?= =?us-ascii?Q?PYdtcdEY7MbXUgQANuwoS8hjtRDfkuXtITb06JGM+tib7Mqh8eDo/M7RmXBf?= =?us-ascii?Q?OukUZNBuqTSayebhIJv1K7HkXy8GxrNO7OKoSIDyIgzzbDwE54OZqpu5YpEz?= =?us-ascii?Q?Tx32zv7QeVC+xZNh/WsODvHhNe1Gr4fqOEggi8Y61JJTmJgjo1yWtHH4XfKq?= =?us-ascii?Q?FJDi4qfitzOOxt5MWEcdoGz6+u6kghcP76Z3gveKVPUBo9CPjzeSReB1O6uj?= =?us-ascii?Q?xXCl+uPe/thYh+6HlPABRUs=3D?= Content-Type: text/plain; charset="us-ascii" Content-ID: <6A69ED13320AC9419DCFF642E8685134@namprd15.prod.outlook.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: fb.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR15MB5109.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 29898511-e06e-4ef7-b1c0-08da90245b1c X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Sep 2022 16:25:04.7863 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: R4hZw5WBn+zG+JTvGZIdYwPEYZAnjdvFBIYDUMTpL+mbDE6X7PV++K+yeUymjS48jDYrjJhPgOMfpbx2zuokow== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR15MB3913 X-Proofpoint-ORIG-GUID: lvLitUB7UPK2DBHgSCnAni4eScCa2Uui X-Proofpoint-GUID: lvLitUB7UPK2DBHgSCnAni4eScCa2Uui X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-09-06_09,2022-09-06_02,2022-06-22_01 ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1662481510; a=rsa-sha256; cv=pass; b=kjmLzwZQhXFwvpP1JcYSpd0ld6h2ya+DREXIBeUD+QPGonZU1oHnEJomNIQpu0Pe1D+8uZ f99bhsVlQ4l1SKq7IsuVq/ddlN9LCskzSRJeLFwbUpdG0/94t47DwKvFyQbfojaaJXDCqc sh74fl62CRT7F4b8h7UagK/xS/e2pNM= ARC-Authentication-Results: i=2; imf28.hostedemail.com; dkim=pass header.d=fb.com header.s=facebook header.b="e/N/AZV2"; spf=pass (imf28.hostedemail.com: domain of "prvs=02488a3979=songliubraving@fb.com" designates 67.231.153.30 as permitted sender) smtp.mailfrom="prvs=02488a3979=songliubraving@fb.com"; dmarc=pass (policy=reject) header.from=fb.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1662481510; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=xHkeWubIfNZrxloZnpWEv0cQoqGeIETW9IWfBZ/b/S4=; b=YdA3BzLgjjy1djgBDhu5fywCz0cw9IUlmd3hCjmM+4XPGvvVQOA3Ocq5TcdoCs2IBnRM/U JtyiRY7CSWRVYD9UhtGTc4IgIfoTzrJODAEUN5A4t2XulVMxddxSBHJoUMT0vMGk6XNnop BangR1zWWr71R4wSHr1m81/J2RHbuug= Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=fb.com header.s=facebook header.b="e/N/AZV2"; spf=pass (imf28.hostedemail.com: domain of "prvs=02488a3979=songliubraving@fb.com" designates 67.231.153.30 as permitted sender) smtp.mailfrom="prvs=02488a3979=songliubraving@fb.com"; dmarc=pass (policy=reject) header.from=fb.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") X-Rspam-User: X-Rspamd-Server: rspam06 X-Stat-Signature: qibkmj7m8bhk69ctjsjqzbiof8hut3o8 X-Rspamd-Queue-Id: 74D3EC0099 X-HE-Tag: 1662481510-712549 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 Sep 5, 2022, at 11:05 PM, Song Liu wrote: >=20 > find_vmap_lowest_match() is now able to handle different roots. With > DEBUG_AUGMENT_LOWEST_MATCH_CHECK enabled as: >=20 > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index e68c0081e861..7552f1f8350e 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -713,7 +713,7 @@ EXPORT_SYMBOL(vmalloc_to_pfn); > /*** Global kva allocator ***/ >=20 > -#define DEBUG_AUGMENT_LOWEST_MATCH_CHECK 0 > +#define DEBUG_AUGMENT_LOWEST_MATCH_CHECK 1 >=20 > compilation failed as: >=20 > mm/vmalloc.c: In function 'find_vmap_lowest_match_check': > mm/vmalloc.c:1328:32: warning: passing argument 1 of 'find_vmap_lowest_ma= tch' makes pointer from integer without a cast [-Wint-conversion] > 1328 | va_1 =3D find_vmap_lowest_match(size, align, vstart, false); > | ^~~~ > | | > | long unsigned int > mm/vmalloc.c:1236:40: note: expected 'struct rb_root *' but argument is o= f type 'long unsigned int' > 1236 | find_vmap_lowest_match(struct rb_root *root, unsigned long size, > | ~~~~~~~~~~~~~~~~^~~~ > mm/vmalloc.c:1328:9: error: too few arguments to function 'find_vmap_lowe= st_match' > 1328 | va_1 =3D find_vmap_lowest_match(size, align, vstart, false); > | ^~~~~~~~~~~~~~~~~~~~~~ > mm/vmalloc.c:1236:1: note: declared here > 1236 | find_vmap_lowest_match(struct rb_root *root, unsigned long size, > | ^~~~~~~~~~~~~~~~~~~~~~ >=20 > Extend find_vmap_lowest_match_check() and find_vmap_lowest_linear_match() > with extra arguments to fix this. >=20 > Fixes: f9863be49312 ("mm/vmalloc: extend __alloc_vmap_area() with extra a= rguments") > Cc: Uladzislau Rezki (Sony) > Cc: Baoquan He > Cc: Andrew Morton > Signed-off-by: Song Liu Forgot to add the following from v1: Reviewed-by: Baoquan He Reviewed-by: Uladzislau Rezki (Sony) >=20 > --- > Changes v1 =3D> v2: > 1. Update commit log to show the error with > DEBUG_AUGMENT_LOWEST_MATCH_CHECK. (Uladzislau Rezki, Baoquan He) > --- > mm/vmalloc.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) >=20 > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index dd6cdb201195..088b421601c4 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -1300,12 +1300,12 @@ find_vmap_lowest_match(struct rb_root *root, unsi= gned long size, > #include >=20 > static struct vmap_area * > -find_vmap_lowest_linear_match(unsigned long size, > +find_vmap_lowest_linear_match(struct list_head *head, unsigned long size= , > unsigned long align, unsigned long vstart) > { > struct vmap_area *va; >=20 > - list_for_each_entry(va, &free_vmap_area_list, list) { > + list_for_each_entry(va, head, list) { > if (!is_within_this_va(va, size, align, vstart)) > continue; >=20 > @@ -1316,7 +1316,8 @@ find_vmap_lowest_linear_match(unsigned long size, > } >=20 > static void > -find_vmap_lowest_match_check(unsigned long size, unsigned long align) > +find_vmap_lowest_match_check(struct rb_root *root, struct list_head *hea= d, > + unsigned long size, unsigned long align) > { > struct vmap_area *va_1, *va_2; > unsigned long vstart; > @@ -1325,8 +1326,8 @@ find_vmap_lowest_match_check(unsigned long size, un= signed long align) > get_random_bytes(&rnd, sizeof(rnd)); > vstart =3D VMALLOC_START + rnd; >=20 > - va_1 =3D find_vmap_lowest_match(size, align, vstart, false); > - va_2 =3D find_vmap_lowest_linear_match(size, align, vstart); > + va_1 =3D find_vmap_lowest_match(root, size, align, vstart, false); > + va_2 =3D find_vmap_lowest_linear_match(head, size, align, vstart); >=20 > if (va_1 !=3D va_2) > pr_emerg("not lowest: t: 0x%p, l: 0x%p, v: 0x%lx\n", > @@ -1513,7 +1514,7 @@ __alloc_vmap_area(struct rb_root *root, struct list= _head *head, > return vend; >=20 > #if DEBUG_AUGMENT_LOWEST_MATCH_CHECK > - find_vmap_lowest_match_check(size, align); > + find_vmap_lowest_match_check(root, head, size, align); > #endif >=20 > return nva_start_addr; > --=20 > 2.30.2 >=20