From mboxrd@z Thu Jan 1 00:00:00 1970 From: Petr Rockai Date: Thu, 25 Nov 2010 18:26:40 +0100 Subject: [PATCH 04/29] Reset vg pointer after release In-Reply-To: (Zdenek Kabelac's message of "Thu, 25 Nov 2010 11:55:08 +0100") References: Message-ID: <87mxoxmi0f.fsf@twilight.int.mornfall.net.> List-Id: To: lvm-devel@redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Zdenek Kabelac writes: > Set vg to NULL after releasing it as the following memlock() test may > lead to goto for the second call of vg_release() with the same vg pointer. Ack. > Signed-off-by: Zdenek Kabelac > --- > lib/metadata/metadata.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c > index 780b806..743d633 100644 > --- a/lib/metadata/metadata.c > +++ b/lib/metadata/metadata.c > @@ -3117,6 +3117,7 @@ static struct volume_group *_vg_read_by_vgid(struct cmd_context *cmd, > return vg; > } > vg_release(vg); > + vg = NULL; /* reset so memlock goto out is safe */ > } > > /* Mustn't scan if memory locked: ensure cache gets pre-populated! */