Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Mar 2015 05:13:23 -0500
From:      "Matthew D. Fuller" <fullermd@over-yonder.net>
To:        Pawel Jakub Dawidek <pjd@FreeBSD.org>
Cc:        freebsd-geom@freebsd.org
Subject:   Re: RFC: Pass TRIM through GELI
Message-ID:  <20150316101323.GD52331@over-yonder.net>
In-Reply-To: <20150316100030.GB1515@garage.freebsd.pl>
References:  <20150308000131.GP1742@over-yonder.net> <20150314151453.GJ24274@over-yonder.net> <501bca86.508d8e26@fabiankeil.de> <20150315145324.GA52331@over-yonder.net> <20150315182444.GB52331@over-yonder.net> <20150316010845.GA1515@garage.freebsd.pl> <20150316092126.GC52331@over-yonder.net> <20150316100030.GB1515@garage.freebsd.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Mar 16, 2015 at 11:00:31AM +0100 I heard the voice of
Pawel Jakub Dawidek, and lo! it spake thus:
>
> Still would be good to know the root cause of what you are seeing.

I've about used up my investigation time for right now, but what I've
found is that onetime providers wind up with no md_magic and no (0)
md_version, so eli_metadata_decode() EINVAL's right up at the top
before filling anything into the passed md.  As a result, in
g_eli_ctl_configure(), it gets (keeps) stack garbage in the var.

So actually, it DOESN'T work without nop, things just happen to align
so that stack garbage has a 0 for version (which is valid version)
rather than 2-billion-something (which isn't).


Now, regular providers get init'd in userland, so it's hard to
compare.  However, my current thinking is that onetime does much of
what 'geli attach' does, but not all of what 'geli init' does; it
doesn't ever write out the metadata to the provider since it doesn't
need to persist.  But when configure wants to load the metadata, it
takes it from the provider, and so *boom*.


-- 
Matthew Fuller     (MF4839)   |  fullermd@over-yonder.net
Systems/Network Administrator |  http://www.over-yonder.net/~fullermd/
           On the Internet, nobody can hear you scream.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150316101323.GD52331>