History log of /rk3399_rockchip-uboot/fs/fat/fat.c (Results 1 – 25 of 157)
Revision Date Author Comments
# 635356e5 30-Sep-2017 Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>

UPSTREAM: fs/fat: Check malloc return values and fix memory leaks

Check malloc() return values and properly unwind on errors so
memory allocated for fat_itr structures get freed properly.

Also fixe

UPSTREAM: fs/fat: Check malloc return values and fix memory leaks

Check malloc() return values and properly unwind on errors so
memory allocated for fat_itr structures get freed properly.

Also fixes a leak of fsdata.fatbuf in fat_size().

Fixes: 2460098cffacd1 ("fs/fat: Reduce stack usage")
Change-Id: If2abd822a136b40375f6b0052c88c0d9deb3a632
Reported-by: Coverity (CID: 167225, 167233, 167234)
Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit af609e3764ea3ed7c0ccad8e57f9d9671c81c3e8)

show more ...


# 86597fe0 30-Sep-2017 Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>

UPSTREAM: fs/fat: Fix 'CACHE: Misaligned operation at range' warnings

The 'block' field of fat_itr needs to be properly aligned for DMA and
while it does have '__aligned(ARCH_DMA_MINALIGN)', the fat

UPSTREAM: fs/fat: Fix 'CACHE: Misaligned operation at range' warnings

The 'block' field of fat_itr needs to be properly aligned for DMA and
while it does have '__aligned(ARCH_DMA_MINALIGN)', the fat_itr structure
itself needs to be properly aligned as well.

While at it use malloc_cache_aligned() for the other aligned allocations
in the file as well.

Fixes: 2460098cffacd1 ("fs/fat: Reduce stack usage")
Change-Id: I0b7bfe73d00435d8ec3dcd7f52a10deca07a704e
Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 09fa964bba80c45432660f0e64362181900a5aef)

show more ...


# 29de6c91 22-Sep-2017 Tom Rini <trini@konsulko.com>

UPSTREAM: fs/fat: Reduce stack usage

We have limited stack in SPL builds. Drop itrblock and move to
malloc/free of itr to move this off of the stack. As part of this fix a
double-free issue in fat

UPSTREAM: fs/fat: Reduce stack usage

We have limited stack in SPL builds. Drop itrblock and move to
malloc/free of itr to move this off of the stack. As part of this fix a
double-free issue in fat_size().

Change-Id: I2d8baa3a0b6ffa0f9591366a095d5e315c41fde8
Signed-off-by: Tom Rini <trini@konsulko.com>
---
Rework to use malloc/free as moving this to a global overflows some SH
targets.
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 2460098cffacd18729262e3ed36656e6943783ed)

show more ...


# 85681a03 12-Sep-2017 Rob Clark <robdclark@gmail.com>

UPSTREAM: fs/fat: fix fatbuf leak

A new fatbuf was allocated by get_fs_info() (called by fat_itr_root()),
but not freed, resulting in eventually running out of memory. Spotted
by running 'ls -r' in

UPSTREAM: fs/fat: fix fatbuf leak

A new fatbuf was allocated by get_fs_info() (called by fat_itr_root()),
but not freed, resulting in eventually running out of memory. Spotted
by running 'ls -r' in a large FAT filesystem from Shell.efi.

fatbuf is mainly used to cache FAT entry lookups (get_fatent())..
possibly once fat_write.c it can move into the iterator to simplify
this.

Change-Id: I194a2de30a177e9b377dc50c61a2af6106dd8820
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Łukasz Majewski <lukma@denx.de>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 725ffdb5cbcc4b8a9726a68cc6ae0713266ba5a9)

show more ...


# 1d8c5dbb 09-Sep-2017 Rob Clark <robdclark@gmail.com>

UPSTREAM: fs/fat: Clean up open-coded sector <-> cluster conversions

Use the clust_to_sect() helper that was introduced earlier, and add an
inverse sect_to_clust(), plus update the various spots tha

UPSTREAM: fs/fat: Clean up open-coded sector <-> cluster conversions

Use the clust_to_sect() helper that was introduced earlier, and add an
inverse sect_to_clust(), plus update the various spots that open-coded
this conversion previously.

Change-Id: Ifb6a59cefda1491639dcd6e8ea32fd2490af13b5
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 265edc03d5a19550d92cbd6e10631d5a15bdd1d5)

show more ...


# 271eb208 09-Sep-2017 Rob Clark <robdclark@gmail.com>

UPSTREAM: fs/fat: fix case for FAT shortnames

Noticed when comparing our output to linux. There are some lcase bits
which control whether filename and/or extension should be downcase'd.

Change-Id:

UPSTREAM: fs/fat: fix case for FAT shortnames

Noticed when comparing our output to linux. There are some lcase bits
which control whether filename and/or extension should be downcase'd.

Change-Id: I55dc1f9ef025dc3174158d06ed78d1f8b54e1335
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Łukasz Majewski <lukma@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 21a24c3bf35bac83d66ce4a48eb0c7dd8a7227cb)

show more ...


# d5fb8aea 09-Sep-2017 Rob Clark <robdclark@gmail.com>

UPSTREAM: fat/fs: move ls to generic implementation

Add a generic implementation of 'ls' using opendir/readdir/closedir, and
replace fat's custom implementation. Other filesystems should move to
th

UPSTREAM: fat/fs: move ls to generic implementation

Add a generic implementation of 'ls' using opendir/readdir/closedir, and
replace fat's custom implementation. Other filesystems should move to
the generic implementation after they add opendir/readdir/closedir
support.

Change-Id: I287d3cd6e97c0c1901518c5ae1bb0653c7299f9b
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Łukasz Majewski <lukma@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 89191d626793490b579e1d36e7d7a4464a20f9f6)

show more ...


# 60352d22 09-Sep-2017 Rob Clark <robdclark@gmail.com>

UPSTREAM: fs/fat: implement opendir/readdir/closedir

Implement the readdir interface using the directory iterators.

Change-Id: I88123b039fa0644033847670027aca9d99bd4d2e
Signed-off-by: Rob Clark <ro

UPSTREAM: fs/fat: implement opendir/readdir/closedir

Implement the readdir interface using the directory iterators.

Change-Id: I88123b039fa0644033847670027aca9d99bd4d2e
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Łukasz Majewski <lukma@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 1f40366b319eac7eb02f8894fff5c94fbdb47d30)

show more ...


# 759bf728 09-Sep-2017 Rob Clark <robdclark@gmail.com>

UPSTREAM: fat/fs: convert to directory iterators

And drop a whole lot of ugly code!

Change-Id: Ie4e132aae98f00738ba7cebae70209bf38cd5802
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by:

UPSTREAM: fat/fs: convert to directory iterators

And drop a whole lot of ugly code!

Change-Id: Ie4e132aae98f00738ba7cebae70209bf38cd5802
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Łukasz Majewski <lukma@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 8eafae209c35932d9a6560809c55ee4641534236)

show more ...


# fed831fc 09-Sep-2017 Rob Clark <robdclark@gmail.com>

UPSTREAM: fs/fat: introduce new director iterators

Untangle directory traversal into a simple iterator, to replace the
existing multi-purpose do_fat_read_at() + get_dentfromdir().

Change-Id: Iacf40

UPSTREAM: fs/fat: introduce new director iterators

Untangle directory traversal into a simple iterator, to replace the
existing multi-purpose do_fat_read_at() + get_dentfromdir().

Change-Id: Iacf404e2ac7796adfa489d6e098c4d310635975a
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Łukasz Majewski <lukma@denx.de>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit c6e3baa565bc3b5828cf0d67ca6429dbe5f8687c)

show more ...


# f3068e75 09-Sep-2017 Rob Clark <robdclark@gmail.com>

UPSTREAM: fs/fat: split out helper to init fsdata

Want to re-use this in fat dirent iterator in next patch.

Change-Id: I61d7586e50d13106c516235d46c47410b22496bb
Signed-off-by: Rob Clark <robdclark@

UPSTREAM: fs/fat: split out helper to init fsdata

Want to re-use this in fat dirent iterator in next patch.

Change-Id: I61d7586e50d13106c516235d46c47410b22496bb
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Łukasz Majewski <lukma@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
(cherry picked from commit 45449980f80169214633f2649a27c791d0104e9d)

show more ...


# 42a9f147 15-Aug-2017 Tom Rini <trini@konsulko.com>

fs/fat: Correct blk_dread() return value check

The function blk_dread will return -ENOSYS on failure or on success the
number of blocks read, which must be the number asked to read (otherwise
it fai

fs/fat: Correct blk_dread() return value check

The function blk_dread will return -ENOSYS on failure or on success the
number of blocks read, which must be the number asked to read (otherwise
it failed somewhere). Correct this check.

Signed-off-by: Tom Rini <trini@konsulko.com>

show more ...


# 8d3a2568 12-Jul-2017 Tom Rini <trini@konsulko.com>

Merge git://git.denx.de/u-boot-dm


# 10e40d54 15-Jun-2017 Simon Glass <sjg@chromium.org>

Kconfig: Add CONFIG_SATA to enable SATA

At present CONFIG_CMD_SATA enables the 'sata' command which also brings
in SATA support. Some boards may wish to enable SATA without the command.
Add a separa

Kconfig: Add CONFIG_SATA to enable SATA

At present CONFIG_CMD_SATA enables the 'sata' command which also brings
in SATA support. Some boards may wish to enable SATA without the command.
Add a separate CONFIG to permit this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

show more ...


# fc843a02 17-May-2017 Simon Glass <sjg@chromium.org>

Kconfig: Add a CONFIG_IDE option

At present IDE support is controlled by CONFIG_CMD_IDE. Add a separate
CONFIG_IDE option so that IDE support can be enabled without requiring
the 'ide' command.

Upd

Kconfig: Add a CONFIG_IDE option

At present IDE support is controlled by CONFIG_CMD_IDE. Add a separate
CONFIG_IDE option so that IDE support can be enabled without requiring
the 'ide' command.

Update existing users and move the ide driver into drivers/block since
it should not be in common/.

Signed-off-by: Simon Glass <sjg@chromium.org>

show more ...


# b352caea 26-Jan-2017 Stefan Brüns <stefan.bruens@rwth-aachen.de>

fs/fat: Fix unaligned __u16 reads for FAT12 access

Doing unaligned reads is not supported on all architectures, use
byte sized reads of the little endian buffer.
Rename off16 to off8, as it reflects

fs/fat: Fix unaligned __u16 reads for FAT12 access

Doing unaligned reads is not supported on all architectures, use
byte sized reads of the little endian buffer.
Rename off16 to off8, as it reflects the buffer offset in byte
granularity (offset is in entry, i.e. 12 bit, granularity).
Fix a regression introduced in 8d48c92b45aea91e2a2be90f2ed93677e85526f1

Reported-by: Oleksandr Tymoshenko <gonzo@bluezbox.com>
Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Tested-by: Oleksandr Tymoshenko <gonzo@bluezbox.com>

show more ...


# b331cd62 27-Jan-2017 Patrick Delaunay <patrick.delaunay@st.com>

cmd, disk: convert CONFIG_PARTITION_UUIDS, CMD_PART and CMD_GPT

We convert CONFIG_PARTITION_UUIDS to Kconfig first. But in order to cleanly
update all of the config files we must also update CMD_PA

cmd, disk: convert CONFIG_PARTITION_UUIDS, CMD_PART and CMD_GPT

We convert CONFIG_PARTITION_UUIDS to Kconfig first. But in order to cleanly
update all of the config files we must also update CMD_PART and CMD_GPT to also
be in Kconfig in order to avoid complex logic elsewhere to update all of the
config files.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay73@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>

show more ...


# 8d48c92b 17-Dec-2016 Stefan Brüns <stefan.bruens@rwth-aachen.de>

fs/fat: simplify get_fatent for FAT12

Instead of shuffling bits from two adjacent 16 bit words, use one 16 bit
word with the appropriate byte offset in the buffer.

Signed-off-by: Stefan Brüns <stef

fs/fat: simplify get_fatent for FAT12

Instead of shuffling bits from two adjacent 16 bit words, use one 16 bit
word with the appropriate byte offset in the buffer.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>

show more ...


# b8948d2a 16-Dec-2016 Stefan Brüns <stefan.bruens@rwth-aachen.de>

fs/fat: merge readwrite get_fatent_value() with readonly get_fatent()

get_fatent_value(...) flushes changed FAT entries to disk when fetching
the next FAT blocks, in every other aspect it is identic

fs/fat: merge readwrite get_fatent_value() with readonly get_fatent()

get_fatent_value(...) flushes changed FAT entries to disk when fetching
the next FAT blocks, in every other aspect it is identical to
get_fatent(...).

Provide a stub implementation for flush_dirty_fat_buffer if
CONFIG_FAT_WRITE is not set. Calling flush_dirty_fat_buffer during read
only operation is fine as it checks if any buffers needs flushing.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Reviewed-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>

show more ...


# 6c1a8080 16-Dec-2016 Stefan Brüns <stefan.bruens@rwth-aachen.de>

fs/fat: Avoid corruption of sectors following the FAT

The FAT is read/flushed in segments of 6 (FATBUFBLOCKS) disk sectors. The
last segment may be less than 6 sectors, cap the length.

Signed-off-b

fs/fat: Avoid corruption of sectors following the FAT

The FAT is read/flushed in segments of 6 (FATBUFBLOCKS) disk sectors. The
last segment may be less than 6 sectors, cap the length.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Reviewed-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>

show more ...


# 3c0ed9c3 11-Sep-2016 Stefan Brüns <stefan.bruens@rwth-aachen.de>

fs/fat: Do not write unmodified fat entries to disk

The code caches 6 sectors of the FAT. On FAT traversal, the old contents
needs to be flushed to disk, but only if any FAT entries had been modifie

fs/fat: Do not write unmodified fat entries to disk

The code caches 6 sectors of the FAT. On FAT traversal, the old contents
needs to be flushed to disk, but only if any FAT entries had been modified.
Explicitly flag the buffer on modification.

Currently, creating a new file traverses the whole FAT up to the first
free cluster and rewrites the on-disk blocks.

Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>

show more ...


# 08ca213a 24-May-2016 Stefano Babic <sbabic@denx.de>

Merge branch 'master' of git://git.denx.de/u-boot


# 4b6e1fda 17-May-2016 Tom Rini <trini@konsulko.com>

Merge git://git.denx.de/u-boot-dm


# c649e3c9 01-May-2016 Simon Glass <sjg@chromium.org>

dm: scsi: Rename CONFIG_CMD_SCSI to CONFIG_SCSI

This option currently enables both the command and the SCSI functionality.
Rename the existing option to CONFIG_SCSI since most of the code relates
to

dm: scsi: Rename CONFIG_CMD_SCSI to CONFIG_SCSI

This option currently enables both the command and the SCSI functionality.
Rename the existing option to CONFIG_SCSI since most of the code relates
to the feature.

Signed-off-by: Simon Glass <sjg@chromium.org>

show more ...


# 88033d73 14-Mar-2016 Tom Rini <trini@konsulko.com>

Merge git://git.denx.de/u-boot-dm


1234567