<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/include/ext4fs.h, branch v2017.07</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<entry>
<title>ext4: Allow reading files with non-zero offset, clamp read len</title>
<updated>2016-11-21T19:07:27+00:00</updated>
<author>
<name>Stefan Brüns</name>
<email>stefan.bruens@rwth-aachen.de</email>
</author>
<published>2016-11-06T17:33:57+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=66a47ff2d8f037e1e9d641623257894a9975c325'/>
<id>66a47ff2d8f037e1e9d641623257894a9975c325</id>
<content type='text'>
Support was already implemented, but not hooked up. This fixes several
fails in the test cases.

Signed-off-by: Stefan Brüns &lt;stefan.bruens@rwth-aachen.de&gt;
Acked-by: Stephen Warren &lt;swarren@wwwdotorg.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Support was already implemented, but not hooked up. This fixes several
fails in the test cases.

Signed-off-by: Stefan Brüns &lt;stefan.bruens@rwth-aachen.de&gt;
Acked-by: Stephen Warren &lt;swarren@wwwdotorg.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ext4: Use helper function to access group descriptor and its fields</title>
<updated>2016-09-23T13:20:15+00:00</updated>
<author>
<name>Stefan Brüns</name>
<email>stefan.bruens@rwth-aachen.de</email>
</author>
<published>2016-09-17T00:10:10+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=688d0e79f657ed0b60e5b721bd00540021e1e518'/>
<id>688d0e79f657ed0b60e5b721bd00540021e1e518</id>
<content type='text'>
The descriptor size is variable, thus array indices are not generically
applicable. The larger group descriptors also contain e.g. high parts
of block numbers, which have to be read and written.

Signed-off-by: Stefan Brüns &lt;stefan.bruens@rwth-aachen.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The descriptor size is variable, thus array indices are not generically
applicable. The larger group descriptors also contain e.g. high parts
of block numbers, which have to be read and written.

Signed-off-by: Stefan Brüns &lt;stefan.bruens@rwth-aachen.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ext4: determine group descriptor size for 64bit feature</title>
<updated>2016-09-23T13:18:56+00:00</updated>
<author>
<name>Stefan Brüns</name>
<email>stefan.bruens@rwth-aachen.de</email>
</author>
<published>2016-09-17T00:10:07+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=fc214ef90910159f33fbe92a6cb77839a27fa8a6'/>
<id>fc214ef90910159f33fbe92a6cb77839a27fa8a6</id>
<content type='text'>
If EXT4_FEATURE_INCOMPAT_64BIT is set, the descriptor can be read from
the superblocks, otherwise it defaults to 32.

Signed-off-by: Stefan Brüns &lt;stefan.bruens@rwth-aachen.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If EXT4_FEATURE_INCOMPAT_64BIT is set, the descriptor can be read from
the superblocks, otherwise it defaults to 32.

Signed-off-by: Stefan Brüns &lt;stefan.bruens@rwth-aachen.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ext4: Avoid corruption of directories with hash tree indexes</title>
<updated>2016-09-23T13:02:37+00:00</updated>
<author>
<name>Stefan Brüns</name>
<email>stefan.bruens@rwth-aachen.de</email>
</author>
<published>2016-09-06T02:36:45+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=10a7a1b8babbdd5684684da31482eab1931316f0'/>
<id>10a7a1b8babbdd5684684da31482eab1931316f0</id>
<content type='text'>
While directories can be read using the old linear scan method, adding a
new file would require updating the index tree (alternatively, the whole
tree could be removed).

Signed-off-by: Stefan Brüns &lt;stefan.bruens@rwth-aachen.de&gt;
Reviewed-by: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While directories can be read using the old linear scan method, adding a
new file would require updating the index tree (alternatively, the whole
tree could be removed).

Signed-off-by: Stefan Brüns &lt;stefan.bruens@rwth-aachen.de&gt;
Reviewed-by: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ext4: fix possible crash on directory traversal, ignore deleted entries</title>
<updated>2016-09-23T13:02:34+00:00</updated>
<author>
<name>Stefan Brüns</name>
<email>stefan.bruens@rwth-aachen.de</email>
</author>
<published>2016-09-06T02:36:41+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=76a29519ff87dd6a014d841a3a6e501d3b2f5153'/>
<id>76a29519ff87dd6a014d841a3a6e501d3b2f5153</id>
<content type='text'>
The following command triggers a segfault in search_dir:
./sandbox/u-boot -c 'host bind 0 ./sandbox/test/fs/3GB.ext4.img ;
    ext4write host 0 0 /./foo 0x10'

The following command triggers a segfault in check_filename:
./sandbox/u-boot -c 'host bind 0 ./sandbox/test/fs/3GB.ext4.img ;
    ext4write host 0 0 /. 0x10'

"." is the first entry in the directory, thus previous_dir is NULL. The
whole previous_dir block in search_dir seems to be a bad copy from
check_filename(...). As the changed data is not written to disk, the
statement is mostly harmless, save the possible NULL-ptr reference.

Typically a file is unlinked by extending the direntlen of the previous
entry. If the entry is the first entry in the directory block, it is
invalidated by setting inode=0.

The inode==0 case is hard to trigger without crafted filesystems. It only
hits if the first entry in a directory block is deleted and later a lookup
for the entry (by name) is done.

Signed-off-by: Stefan Brüns &lt;stefan.bruens@rwth-aachen.de&gt;
Reviewed-by: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The following command triggers a segfault in search_dir:
./sandbox/u-boot -c 'host bind 0 ./sandbox/test/fs/3GB.ext4.img ;
    ext4write host 0 0 /./foo 0x10'

The following command triggers a segfault in check_filename:
./sandbox/u-boot -c 'host bind 0 ./sandbox/test/fs/3GB.ext4.img ;
    ext4write host 0 0 /. 0x10'

"." is the first entry in the directory, thus previous_dir is NULL. The
whole previous_dir block in search_dir seems to be a bad copy from
check_filename(...). As the changed data is not written to disk, the
statement is mostly harmless, save the possible NULL-ptr reference.

Typically a file is unlinked by extending the direntlen of the previous
entry. If the entry is the first entry in the directory block, it is
invalidated by setting inode=0.

The inode==0 case is hard to trigger without crafted filesystems. It only
hits if the first entry in a directory block is deleted and later a lookup
for the entry (by name) is done.

Signed-off-by: Stefan Brüns &lt;stefan.bruens@rwth-aachen.de&gt;
Reviewed-by: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ext4: Refuse to mount filesystems with 64bit feature set</title>
<updated>2016-08-05T11:27:14+00:00</updated>
<author>
<name>Tom Rini</name>
<email>trini@konsulko.com</email>
</author>
<published>2016-07-22T21:59:11+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=6f94ab6656ceffb3f2a972c8de4c554502b6f2b7'/>
<id>6f94ab6656ceffb3f2a972c8de4c554502b6f2b7</id>
<content type='text'>
With e2fsprogs after 1.43 the 64bit and metadata_csum features are
enabled by default.  The metadata_csum feature changes how
ext4_group_desc-&gt;bg_checksum is calculated, which would break write
support.  The 64bit feature however introduces changes such that it
cannot be read by implementations that do not support it.  Since we do
not support this, we must not mount it.

Cc: Stephen Warren &lt;swarren@nvidia.com&gt;
Cc: Simon Glass &lt;sjg@chromium.org&gt;
Cc: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
Cc: Stefan Roese &lt;sr@denx.de&gt;
Reported-by: Andrew Bradford &lt;andrew.bradford@kodakalaris.com&gt;
Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With e2fsprogs after 1.43 the 64bit and metadata_csum features are
enabled by default.  The metadata_csum feature changes how
ext4_group_desc-&gt;bg_checksum is calculated, which would break write
support.  The 64bit feature however introduces changes such that it
cannot be read by implementations that do not support it.  Since we do
not support this, we must not mount it.

Cc: Stephen Warren &lt;swarren@nvidia.com&gt;
Cc: Simon Glass &lt;sjg@chromium.org&gt;
Cc: Lukasz Majewski &lt;l.majewski@samsung.com&gt;
Cc: Stefan Roese &lt;sr@denx.de&gt;
Reported-by: Andrew Bradford &lt;andrew.bradford@kodakalaris.com&gt;
Signed-off-by: Tom Rini &lt;trini@konsulko.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>dm: Drop the block_dev_desc_t typedef</title>
<updated>2016-03-14T21:34:50+00:00</updated>
<author>
<name>Simon Glass</name>
<email>sjg@chromium.org</email>
</author>
<published>2016-02-29T22:25:34+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=4101f6879256720b30df712089a3df18565f9203'/>
<id>4101f6879256720b30df712089a3df18565f9203</id>
<content type='text'>
Use 'struct' instead of a typdef. Also since 'struct block_dev_desc' is long
and causes 80-column violations, rename it to struct blk_desc.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Tested-by: Stephen Warren &lt;swarren@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use 'struct' instead of a typdef. Also since 'struct block_dev_desc' is long
and causes 80-column violations, rename it to struct blk_desc.

Signed-off-by: Simon Glass &lt;sjg@chromium.org&gt;
Reviewed-by: Bin Meng &lt;bmeng.cn@gmail.com&gt;
Tested-by: Stephen Warren &lt;swarren@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fs: API changes enabling extra parameter to return size of type loff_t</title>
<updated>2014-11-23T11:49:04+00:00</updated>
<author>
<name>Suriyan Ramasami</name>
<email>suriyan.r@gmail.com</email>
</author>
<published>2014-11-17T22:39:38+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=d455d8789d5b35a39a0a179b3af4b423db13bfdd'/>
<id>d455d8789d5b35a39a0a179b3af4b423db13bfdd</id>
<content type='text'>
The sandbox/ext4/fat/generic fs commands do not gracefully deal with files
greater than 2GB. Negative values are returned in such cases.

To handle this, the fs functions have been modified to take an additional
parameter of type "* loff_t" which is then populated. The return value
of the fs functions are used only for error conditions.

Signed-off-by: Suriyan Ramasami &lt;suriyan.r@gmail.com&gt;
Acked-by: Simon Glass &lt;sjg@chromium.org&gt;
[trini: Update board/gdsys/p1022/controlcenterd-id.c,
drivers/fpga/zynqpl.c for changes]
Signed-off-by: Tom Rini &lt;trini@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The sandbox/ext4/fat/generic fs commands do not gracefully deal with files
greater than 2GB. Negative values are returned in such cases.

To handle this, the fs functions have been modified to take an additional
parameter of type "* loff_t" which is then populated. The return value
of the fs functions are used only for error conditions.

Signed-off-by: Suriyan Ramasami &lt;suriyan.r@gmail.com&gt;
Acked-by: Simon Glass &lt;sjg@chromium.org&gt;
[trini: Update board/gdsys/p1022/controlcenterd-id.c,
drivers/fpga/zynqpl.c for changes]
Signed-off-by: Tom Rini &lt;trini@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ext4: Prepare API change for files greater than 2GB</title>
<updated>2014-11-23T11:49:04+00:00</updated>
<author>
<name>Suriyan Ramasami</name>
<email>suriyan.r@gmail.com</email>
</author>
<published>2014-11-17T22:39:36+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=9f12cd0e062614e19734b2ab37842d387457c5e5'/>
<id>9f12cd0e062614e19734b2ab37842d387457c5e5</id>
<content type='text'>
Change the internal EXT4 functions to use loff_t for offsets.

Signed-off-by: Suriyan Ramasami &lt;suriyan.r@gmail.com&gt;
Acked-by: Simon Glass &lt;sjg@chromium.org&gt;
[trini: Update common/spl/spl_ext.c]
Signed-off-by: Tom Rini &lt;trini@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change the internal EXT4 functions to use loff_t for offsets.

Signed-off-by: Suriyan Ramasami &lt;suriyan.r@gmail.com&gt;
Acked-by: Simon Glass &lt;sjg@chromium.org&gt;
[trini: Update common/spl/spl_ext.c]
Signed-off-by: Tom Rini &lt;trini@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fs: make it possible to read the filesystem UUID</title>
<updated>2014-11-23T11:49:01+00:00</updated>
<author>
<name>Christian Gmeiner</name>
<email>christian.gmeiner@gmail.com</email>
</author>
<published>2014-11-12T13:35:04+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=59e890ef7bf5b80d96802e115255f969491ef645'/>
<id>59e890ef7bf5b80d96802e115255f969491ef645</id>
<content type='text'>
Some filesystems have a UUID stored in its superblock. To
allow using root=UUID=... for the kernel command line we
need a way to read-out the filesystem UUID.

changes rfc -&gt; v1:
 - make the environment variable an option parameter. If not
   given, the UUID is printed out. If given, it is stored in the env
   variable.
 - corrected typos
 - return error codes

changes v1 -&gt; v2:
 - fix return code of do_fs_uuid(..)
 - document do_fs_uuid(..)
 - implement fs_uuid_unsuported(..) be more consistent with the
   way other optional functionality works

changes v2 -&gt; v3:
 - change ext4fs_uuid(..) to make use of #if .. #else .. #endif
   construct to get rid of unreachable code

Hit any key to stop autoboot:  0
=&gt; fsuuid
fsuuid - Look up a filesystem UUID

Usage:
fsuuid &lt;interface&gt; &lt;dev&gt;:&lt;part&gt;
    - print filesystem UUID
fsuuid &lt;interface&gt; &lt;dev&gt;:&lt;part&gt; &lt;varname&gt;
    - set environment variable to filesystem UUID

=&gt; fsuuid mmc 0:1
d9f9fc05-45ae-4a36-a616-fccce0e4f887
=&gt; fsuuid mmc 0:2
eb3db83c-7b28-499f-95ce-9e0bb21cda81
=&gt; fsuuid mmc 0:1 uuid1
=&gt; fsuuid mmc 0:2 uuid2
=&gt; printenv uuid1
uuid1=d9f9fc05-45ae-4a36-a616-fccce0e4f887
=&gt; printenv uuid2
uuid2=eb3db83c-7b28-499f-95ce-9e0bb21cda81
=&gt;

Signed-off-by: Christian Gmeiner &lt;christian.gmeiner@gmail.com&gt;
Acked-by: Stephen Warren &lt;swarren@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some filesystems have a UUID stored in its superblock. To
allow using root=UUID=... for the kernel command line we
need a way to read-out the filesystem UUID.

changes rfc -&gt; v1:
 - make the environment variable an option parameter. If not
   given, the UUID is printed out. If given, it is stored in the env
   variable.
 - corrected typos
 - return error codes

changes v1 -&gt; v2:
 - fix return code of do_fs_uuid(..)
 - document do_fs_uuid(..)
 - implement fs_uuid_unsuported(..) be more consistent with the
   way other optional functionality works

changes v2 -&gt; v3:
 - change ext4fs_uuid(..) to make use of #if .. #else .. #endif
   construct to get rid of unreachable code

Hit any key to stop autoboot:  0
=&gt; fsuuid
fsuuid - Look up a filesystem UUID

Usage:
fsuuid &lt;interface&gt; &lt;dev&gt;:&lt;part&gt;
    - print filesystem UUID
fsuuid &lt;interface&gt; &lt;dev&gt;:&lt;part&gt; &lt;varname&gt;
    - set environment variable to filesystem UUID

=&gt; fsuuid mmc 0:1
d9f9fc05-45ae-4a36-a616-fccce0e4f887
=&gt; fsuuid mmc 0:2
eb3db83c-7b28-499f-95ce-9e0bb21cda81
=&gt; fsuuid mmc 0:1 uuid1
=&gt; fsuuid mmc 0:2 uuid2
=&gt; printenv uuid1
uuid1=d9f9fc05-45ae-4a36-a616-fccce0e4f887
=&gt; printenv uuid2
uuid2=eb3db83c-7b28-499f-95ce-9e0bb21cda81
=&gt;

Signed-off-by: Christian Gmeiner &lt;christian.gmeiner@gmail.com&gt;
Acked-by: Stephen Warren &lt;swarren@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
