lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 22 Feb 2017 08:44:12 -0800
From:   Moritz Fischer <moritz.fischer@...us.com>
To:     Alan Tull <delicious.quinoa@...il.com>
Cc:     Jason Gunthorpe <jgunthorpe@...idianresearch.com>,
        "Nadathur, Sundar" <sundar.nadathur@...el.com>,
        Yves Vandervennet <yves.vandervennet@...ux.intel.com>,
        "matthew.gerlach@...ux.intel.com" <matthew.gerlach@...ux.intel.com>,
        linux-kernel <linux-kernel@...r.kernel.org>,
        "linux-fpga@...r.kernel.org" <linux-fpga@...r.kernel.org>,
        "Marek Va??ut" <marex@...x.de>
Subject: Re: [RFC 7/8] fpga-region: add sysfs interface

On Wed, Feb 22, 2017 at 8:33 AM, Alan Tull <delicious.quinoa@...il.com> wrote:
> On Tue, Feb 21, 2017 at 11:38 PM, Moritz Fischer
> <moritz.fischer@...us.com> wrote:
>
> Hi Moritz,
>
>> Hi all,
>>
>> On Tue, Feb 21, 2017 at 9:12 PM, Jason Gunthorpe
>> <jgunthorpe@...idianresearch.com> wrote:
>>> On Tue, Feb 21, 2017 at 07:49:19PM -0800, Moritz Fischer wrote:
>>>
>>>> fdt does this out of the box, too. So far I've seen nothing fdt
>>>> couldn't do (or doesn't do let's rather say).
>>>
>>> tlv/fdt/http headers are all essentially exactly the same
>>> thing. Key/value pairs with various encoding schemes.
>>>
>>> I don't think we don't need a tree of data, so fdt is overkill.
>>>
>>> tlv is not substantially easier to parse correctly than the
>>> structured plain text headers.. It is just in binary so it can
>>> represent binary-ish things better.
>>
>> TLV Seems easy enough. To give an update, I played with fdt a bit to see
>> how far I get in half an hour. I got bool / int / strings to work
>> quite fast (~30mins).
>
> Thanks for doing this fast piece of exploratory coding.  It does
> confirm that for Linux, using fdt is pretty straightforward here.
> However...
>
>> Please disregard the horrible hackyness of this ...
>>
>> For simplicity I stuck the header on top of my bitfile with:
>>
>> <snip>
>> /dts-v1/;
>>
>> /{
>>         description = "Test";
>>         compressed = <0>;
>>         encrypted = <1>;
>> };
>
> I understand that this is a simplified example, but it looks a lot
> like KVP which then gets compiled by dtc.
>
> If we do KVP or TLV we get skip using dtc, which would be nice for non-dt
> OS's using the same images.

I used dtc for pure lazyness. Writing a blob to a file using libfdt is
about as much
code as parsing it. Even with KVP or TLV you have some code that needs
to encode / pack your header into a file.

libfdt has an example that creates an empty tree. Write that to a file, done.

1: Create empty tree
https://github.com/dgibson/dtc/blob/master/libfdt/fdt_empty_tree.c

2: fopen / fwrite, done

> Also, the license of libfdt allows the use by proprietary
> os's, but that's not true for dtc.

Why would that be an issue, you don't need to link anything to run
dtc. That being
said as I pointed out above you don not have to actually use dtc if the values
are known ahead of time (like in our case). What you'd get from using dtc is to
encode arbitrary values (for the types supported).

Cheers,

Moritz

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ