Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Feb 2017 22:37:34 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        cem@freebsd.org
Cc:        Eric McCorkle <eric@metricspace.net>, "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>
Subject:   Re: GELI BIOS weirdness
Message-ID:  <A29A9772-6E42-4C26-BC0D-45D966B69183@FreeBSD.org>
In-Reply-To: <CAG6CVpWiLm0%2BzP_LBFFn9izE7gdnh=icbqpKqjNS5v2_68TMrA@mail.gmail.com>
References:  <6874308d-8892-2f03-d125-418949fd472c@metricspace.net> <F1DCB7BA-0E21-44A6-B80A-0E0429B235FE@FreeBSD.org> <d4d9f6b2-4aaf-1c61-f7d5-f8be908bcc73@metricspace.net> <919F6E39-476C-44B5-93EA-447D855921DE@FreeBSD.org> <CAG6CVpWiLm0%2BzP_LBFFn9izE7gdnh=icbqpKqjNS5v2_68TMrA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_3BCA08C2-3953-4D19-907F-58478BF23ED1
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Yeah, but I'm interested in the symbols, otherwise it becomes hard to
follow.  Also, I've looked at my own copy of gptboot.o, and it doesn't
contain those bytes at all.  That said, my gptboot sources also don't
have the lines:

  if (!(sc->sc_flags & G_ELI_FLAG_AUTH))
         sc->sc_mediasize -=3D (sc->sc_mediasize % sc->sc_sectorsize);
  else {

The only use of G_ELI_FLAG_AUTH is in sys/boot/geli/geliboot.c:

                /* Store the keys */
                bcopy(mkey, geli_e->sc.sc_mkey, =
sizeof(geli_e->sc.sc_mkey));
                bcopy(mkey, geli_e->sc.sc_ivkey, =
sizeof(geli_e->sc.sc_ivkey));
                mkp =3D mkey + sizeof(geli_e->sc.sc_ivkey);
                if ((geli_e->sc.sc_flags & G_ELI_FLAG_AUTH) =3D=3D 0) {
                        bcopy(mkp, geli_e->sc.sc_ekey, =
G_ELI_DATAKEYLEN);
                } else {

but the assembly for the rest of the geli_attach() function looks pretty
reasonable.

-Dimitry

> On 13 Feb 2017, at 22:32, Conrad Meyer <cem@freebsd.org> wrote:
> "objdump -D -b binary -Mx86-64 -mi386 foo.bin" should work fine (no
> symbols, though...).
>=20
> Best,
> Conrad
>=20
> On Mon, Feb 13, 2017 at 1:16 PM, Dimitry Andric <dim@freebsd.org> =
wrote:
>> On 13 Feb 2017, at 21:58, Eric McCorkle <eric@metricspace.net> wrote:
>>>=20
>>> On 02/13/2017 15:36, Dimitry Andric wrote:
>>>=20
>>>> This disassembles to:
>>>>=20
>>>>  0:   66 0f 38 f6 f0          adcx   %eax,%esi
>>>>  5:   31 c6                   xor    %eax,%esi
>>>>  7:   8b 4d 14                mov    0x14(%ebp),%ecx
>>>>  a:   89 cf                   mov    %ecx,%edi
>>>>  c:   c1 ff 1f                sar    $0x1f,%edi
>>>>  f:   8b                      .byte 0x8b
>>>=20
>>> Note that this was truncated, so the sar and .byte are probably a
>>> truncated instruction.
>>>=20
>>> Also, when I had printfs in place, I could see the call =
instructions.
>>>=20
>>>> My first guess would be that the code simply jumped into garbage.  =
But
>>>> can you post the complete .o file somewhere for inspection?
>>>=20
>>> Attached.
>>> <gptboot>
>>=20
>> Can you please post the file before it's been stripped and objcopied
>> from ELF to binary format?  That makes it a lot easier to disassemble
>> and analyze... :)
>>=20
>> -Dimitry
>>=20
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to =
"freebsd-hackers-unsubscribe@freebsd.org"


--Apple-Mail=_3BCA08C2-3953-4D19-907F-58478BF23ED1
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----

iEYEARECAAYFAliiJygACgkQsF6jCi4glqOroQCdHgFq7cC/znJ5WGlmFh5ZzAzp
wPcAoIxZoQVsX8zgSAlPfYCRznoXEbOt
=gFwf
-----END PGP SIGNATURE-----

--Apple-Mail=_3BCA08C2-3953-4D19-907F-58478BF23ED1--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A29A9772-6E42-4C26-BC0D-45D966B69183>