From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.90_1) id 1jEUR0-0000AD-Sx for mharc-grub-devel@gnu.org; Wed, 18 Mar 2020 04:52:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56479) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jEUQy-00009S-AK for grub-devel@gnu.org; Wed, 18 Mar 2020 04:52:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jEUQv-0006ZD-Ei for grub-devel@gnu.org; Wed, 18 Mar 2020 04:52:14 -0400 Received: from m9a0014g.houston.softwaregrp.com ([15.124.64.90]:58678) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jEUQv-0006KJ-6p for grub-devel@gnu.org; Wed, 18 Mar 2020 04:52:13 -0400 Received: FROM m9a0014g.houston.softwaregrp.com (15.121.0.190) BY m9a0014g.houston.softwaregrp.com WITH ESMTP FOR grub-devel@gnu.org; Wed, 18 Mar 2020 08:51:06 +0000 Received: from M4W0335.microfocus.com (2002:f78:1193::f78:1193) by M9W0067.microfocus.com (2002:f79:be::f79:be) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1591.10; Wed, 18 Mar 2020 08:42:24 +0000 Received: from NAM04-SN1-obe.outbound.protection.outlook.com (15.124.8.12) by M4W0335.microfocus.com (15.120.17.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1591.10 via Frontend Transport; Wed, 18 Mar 2020 08:42:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GgMEi74uJ6FUQ0nfAvc6l4TUv1Q4v2J4LpArg7V0+445I5irUUymTQVtMUts+tEu+XBC9waZUaAAPZxhvG7xtYk6ONPqI9oZN2hp1QKb049sr56diOUHDylaGMba0IoAvl3eob4ik83+nfbDv3AH4sqg+GGiTqlwj18d7U7P+MZBYk7vwOuKiP6DpGEGC6a6+5xoIPodh18nP9/0xkxJEcetTBnn3tQYnmcDyFJP5R48zOpCKoHmuo48AWw5Xez2YnszxBYueAHvT0aiiuMQwnqrq8n764RzlrBjRYhluKIivjtWzR8qI11gaTUbhk8+4p01Cb1vmX/QcepYrbt2lQ== 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-SenderADCheck; bh=qXYJR4FZnLIhBWYVJak4+4qzM6zr29+3PHvHHOIi9gk=; b=SbMsDAJOkKq/jb4AYRtHOPTfNloTZBAOwYV9X+eLacpepnmwL8M0iJ/Vwuwsbi0GkwXTCJM3ROcOoWSRpUi1e3gPtJjmr6bYYyNnSiustXsBY1j8pziHHi285tWHnxJCkSA1INuBmNv4tBRoxEZdUClA0K6Z7jWrVCXoyNKIJLZ0gLa8a5Y6xYvtau5qa6RJMHj2AbP/uowhNhw2O+MlNCQVluoBzSfi20iPJECE8aLrUSJuyyH0zR2DuT1PxzbY5zXNEzz27ePMOTNi1jOfpfjPL4XE1s3vi2pEpoOWxNEZpTtLlr12ko5SHjWJ78313q4cG34UleRSQLpsBvOS9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=MChang@suse.com; Received: from BY5PR18MB3188.namprd18.prod.outlook.com (2603:10b6:a03:1ac::18) by BY5PR18MB3298.namprd18.prod.outlook.com (2603:10b6:a03:1ae::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.22; Wed, 18 Mar 2020 08:42:23 +0000 Received: from BY5PR18MB3188.namprd18.prod.outlook.com ([fe80::450b:5974:aa1b:8a9c]) by BY5PR18MB3188.namprd18.prod.outlook.com ([fe80::450b:5974:aa1b:8a9c%7]) with mapi id 15.20.2814.021; Wed, 18 Mar 2020 08:42:23 +0000 Date: Wed, 18 Mar 2020 16:42:17 +0800 From: Michael Chang To: The development of GNU GRUB Subject: Re: [PATCH v3 1/2] lvm: add lvm cache logical volume handling Message-ID: <20200318084217.GA32131@mercury> References: <20200304064453.20973-1-mchang@suse.com> <20200313122342.y3tkkavbd4sp7ujp@tomti.i.net-space.pl> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20200313122342.y3tkkavbd4sp7ujp@tomti.i.net-space.pl> User-Agent: Mutt/1.10.1 (2018-07-13) X-ClientProxiedBy: DM5PR21CA0003.namprd21.prod.outlook.com (2603:10b6:3:ac::13) To BY5PR18MB3188.namprd18.prod.outlook.com (2603:10b6:a03:1ac::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from mercury (36.225.125.52) by DM5PR21CA0003.namprd21.prod.outlook.com (2603:10b6:3:ac::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.8 via Frontend Transport; Wed, 18 Mar 2020 08:42:22 +0000 X-Originating-IP: [36.225.125.52] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5c669143-5972-4714-717d-08d7cb184736 X-MS-TrafficTypeDiagnostic: BY5PR18MB3298: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-Forefront-PRVS: 03468CBA43 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4636009)(346002)(366004)(136003)(376002)(39860400002)(396003)(199004)(5660300002)(55016002)(6496006)(33716001)(6916009)(52116002)(9686003)(86362001)(81166006)(81156014)(8676002)(478600001)(8936002)(316002)(1076003)(966005)(956004)(9576002)(33656002)(186003)(66556008)(66946007)(66476007)(26005)(2906002)(6666004)(16526019)(403724002); DIR:OUT; SFP:1102; SCL:1; SRVR:BY5PR18MB3298; H:BY5PR18MB3188.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; Received-SPF: None (protection.outlook.com: suse.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IgnW6gthAaiwjWAkx9KjDGBcfT3tuO08oicodGEKUVyDmfour6HslxL3IdDMKxXoSS6qvP5+6rQMon3dSkCF+7F0yFRh8x/Jd6wr8xz9j6fAlMmhbWjRucdlOcMH6zBnM/W2c1OPGFecQuOQoBk+vmSAVClqjpr2jPrv9xPUmeu2kQtOhofHHvK8wDLlqTJ5P78iZYOI/Yn4srmDeA3aJAsgQ9sJTp8eoUO36sGkIc99YhqwGezYwBGPI9xqb+V6wJAHWY2WBZk+4IhGTZ9IhVD3c2cAbygkvAH5AAjNI5W0EbV8SdmsI7A/4fBtW4gSbXupr9dtwhLThe5M+WSj5tLgdu2HSajurK5AXnLlA3xxnANSvkdgnSswkDzlZDkuqS5fwEUf8lNCLOZAGwQFL1yF+S12ogWMvKxjGoNrYH1uRws5UPMgcxmWy48t/Jqkd9pZMYodC47KZczhxn3Wq//36EXH8mZ1PHfTVOYKgbPjftvgBsK6gTuK9miVqjvpps657P8Q9Qu0uHiiICVtAtmQcwyX9z50nxsheA6oaOKNNCP7oAZ3Y7VOYGMNU9bqfbPFxejz5Czv9Z3/bKqq5Q== X-MS-Exchange-AntiSpam-MessageData: bTsK4LiuCLjld0+23WHWCLhstNVPv0ZbkBNCAOzMBJjzCqOC+GCbokgzjtNnVZ8Xhm8o4XaK2m111ZhhImXT0ogyVPaT1XVHP99BQe3N1l6rAVsmeOTyKWkgNUTiVCLyyqL//G//GUqzu2SdeuxZKw== X-MS-Exchange-CrossTenant-Network-Message-Id: 5c669143-5972-4714-717d-08d7cb184736 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Mar 2020 08:42:23.6075 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 856b813c-16e5-49a5-85ec-6f081e13b527 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ODrD946nMfkAtwlmHnhQ6pRg7BL96IA5t3ghutBmBI1/qGmiKljIMYENd/JML0IF X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR18MB3298 X-OriginatorOrg: suse.com X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 15.124.64.90 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Mar 2020 08:52:17 -0000 On Fri, Mar 13, 2020 at 01:23:42PM +0100, Daniel Kiper wrote: > On Wed, Mar 04, 2020 at 02:44:52PM +0800, Michael Chang wrote: [snip] > > @@ -243,6 +279,8 @@ grub_lvm_detect (grub_disk_t disk, > > > > if (! vg) > > { > > + struct cache_lv *cache_lvs = NULL; > > + > > /* First time we see this volume group. We've to create the > > whole volume group structure. */ > > vg = grub_malloc (sizeof (*vg)); > > @@ -672,6 +710,101 @@ grub_lvm_detect (grub_disk_t disk, > > seg->nodes[seg->node_count - 1].name = tmp; > > } > > } > > + else if (grub_memcmp (p, "cache\"", > > + sizeof ("cache\"") - 1) == 0) > > + { > > + struct cache_lv *cache = NULL; > > + > > + char *p2, *p3; > > + grub_ssize_t sz; > > Why not grub_size_t? That declaration was used in similar parts throughout the file and I think I was just doing copy-and-paste without thinking too much. Certainly grub_size_t looks better for me too. I will fix that and send next version. > > > + > > + cache = grub_zalloc (sizeof (*cache)); > > + if (!cache) > > + goto cache_lv_fail; > > + cache->lv = grub_zalloc (sizeof (*cache->lv)); > > + if (!cache->lv) > > + goto cache_lv_fail; > > + grub_memcpy (cache->lv, lv, sizeof (*cache->lv)); > > + [snip] > > + > > + cache_lv_fail: > > + if (cache) > > + { > > + grub_free (cache->origin); > > + grub_free (cache->cache_pool); > > + grub_free (cache->lv->fullname); > > If "cache = grub_zalloc (sizeof (*cache));" fails above then > here GRUB crashes due to NULL pointer dereference... > > > + grub_free (cache->lv->idname); > > ...this has to be fixed too... > > > + grub_free (cache->lv->name); > > Ditto... Arh, same mistake again! I'll fix them in next version. Thanks a lot for review. Michael > > > + grub_free (cache); > > + } > > + goto fail4; > > + } > > else > > { > > #ifdef GRUB_UTIL > > Daniel > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel