u-boot/tools
Rafał Miłecki 9e3003f79d fw_env: keep calling read() until whole flash block is read
It's totally valid for read() to provide less bytes than requested
maximum. It may happen if there is no more data available yet or source
pushes data in small chunks.

This actually happens when trying to read env data from NVMEM device.
Kernel may provide NVMEM content in page size parts (like 4096 B).

This fixes warnings like:
Warning on /sys/bus/nvmem/devices/u-boot-env0/nvmem: Attempted to read 16384 bytes but got 4096
Warning on /sys/bus/nvmem/devices/u-boot-env0/nvmem: Attempted to read 12288 bytes but got 4096
Warning on /sys/bus/nvmem/devices/u-boot-env0/nvmem: Attempted to read 8192 bytes but got 4096

Since the main loop in flash_read_buf() is used to read blocks this
patch adds a new nested one.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2024-01-05 15:41:47 -05:00
..
binman Merge patch series "ATF and OP-TEE Firewalling for K3 devices." 2024-01-04 16:53:49 -05:00
buildman buildman: type cotaining 2023-12-31 07:21:02 -07:00
docker Merge branch 'next' 2023-10-02 10:55:44 -04:00
dtoc dtoc: Change dst to self in debug message 2024-01-04 16:48:00 -05:00
env fw_env: keep calling read() until whole flash block is read 2024-01-05 15:41:47 -05:00
gdb SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
kermit SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
libfdt libfdt: migrate fdt_ro.c to a wrapper of scripts/dtc/libfdt/fdt_ro.c 2020-04-26 14:23:39 -06:00
logos board: stm32f469-disco: add splash screen with stmicroelectronics logo 2023-12-15 15:41:23 +01:00
omap SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
patman tools: Move python tools to version 0.0.6 2023-12-13 18:39:06 -05:00
scripts tools: fix define2mk.sed to not add quotes around negative integers 2016-06-13 07:46:29 +09:00
u_boot_pylib tools: Move python tools to version 0.0.6 2023-12-13 18:39:06 -05:00
.gitignore tools: gitignore: Fix tools/generated path 2023-11-10 11:01:50 -05:00
aisimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
aisimage.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
asn1_compiler.c WS cleanup: remove trailing white space 2021-09-30 08:08:56 -04:00
atmel_pmecc_params.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
atmelimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
bmp_logo.c bmp_logo: support CONFIG_DM_VIDEO 2019-07-29 00:20:31 +02:00
default_image.c crc32: Drop duplicates crc header includes 2023-08-08 17:41:52 -04:00
dumpimage.c tools: mkimage/dumpimage: Allow to use -l with -T 2022-02-28 10:33:11 -05:00
dumpimage.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
eficapsule.h tools: mkeficapsule: Add support to print capsule headers 2023-10-13 14:01:42 -06:00
efivar.py tools: efivar.py unused variable 2021-01-13 02:38:00 +01:00
endian-swap.py tools: add script for byte endianness swapping 2020-06-29 22:36:35 +02:00
envcrc.c env: Rework ENV_IS_EMBEDDED and related logic slightly 2022-12-22 10:31:47 -05:00
expo.py expo: Tidy up the expo.py tool and usage 2023-08-25 13:54:33 -04:00
fdt_add_pubkey.c tools: avoid implicit fallthrough in fdt_add_pubkey 2023-04-06 19:10:08 -04:00
fdt_host.h tools: Improve comments in signing functions 2022-01-26 08:50:43 -07:00
fdtgrep.c fdtgrep: Allow propagating properties up to supernodes 2023-12-31 07:21:02 -07:00
file2include.c tools/file2include: don't use malloc.h for malloc 2018-11-26 22:52:12 -05:00
fit_check_sign.c fit_check_sign: Update help to mention the key is in a dtb 2022-01-26 08:50:42 -07:00
fit_common.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
fit_common.h tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
fit_image.c tools: ensure zeroed padding in external FIT images 2023-10-11 13:22:32 -04:00
fit_info.c tools: use read-only mmap in fit_check_sign 2019-05-18 12:32:02 -04:00
gen_eth_addr.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gen_ethaddr_crc.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
getline.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
getline.h getline: split out for darwin systems 2010-01-26 00:07:13 +01:00
gpheader.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gpimage-common.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gpimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
ifdtool.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
ifdtool.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ifwitool.c ifwitool: Fix member access 2023-01-27 12:51:26 -05:00
image-host.c tools: image-host: print error messages to stderr 2023-08-30 11:47:43 -04:00
image-sig-host.c rsa: adds rsa3072 algorithm 2022-01-28 17:58:41 -05:00
imagetool.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
imagetool.h tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
img2srec.c treewide: remove unneeded semicolons 2017-06-16 10:11:38 -04:00
imx8image.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
imx8m_image.sh tools: imx8m_image: Support ddr3 firmware 2021-10-21 13:59:26 +02:00
imx8mimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
imx_cntr_image.sh tools: improve portability of imx_cntr_image.sh 2019-01-01 14:12:18 +01:00
imximage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
iot2050-sign-fw.sh tools: iot2050-sign-fw.sh: Make localization of tools dir more robust 2023-10-09 15:24:31 -04:00
jtagconsole Blackfin: jtagconsole: disable output processing 2010-07-25 15:17:23 -04:00
Kconfig tools: Add mkfwumdata tool for FWU metadata image 2023-06-09 13:52:40 -04:00
key2dtsi.py tools: Add script for converting public key into device tree include 2023-03-29 11:58:26 -04:00
kwbimage.c tools: kwbimage: Add support for SATA images with non-512 byte block size 2023-04-13 11:34:47 +02:00
kwbimage.h tools: kwbimage: Add support for dumping extended and binary v0 headers 2022-02-17 14:17:07 +01:00
kwboot.c tools: kwboot: Add support for parsing SATA images with non-512 block size 2023-04-13 11:34:47 +02:00
lpc32xximage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
Makefile tools: mkimage: Add StarFive SPL image support 2023-09-20 21:05:14 +08:00
microcode-tool x86: Add a script to process Intel microcode files 2014-12-18 17:26:08 -07:00
microcode-tool.py microcode_tool: Convert to Python 3 2019-11-04 18:15:32 -07:00
mips-relocs.c linker_lists: Rename sections to remove . prefix 2022-06-23 12:58:18 -04:00
mkeficapsule.c global: Restrict use of '#include <linux/kconfig.h>' 2023-12-21 08:54:05 -05:00
mkenvimage.c tools: mkenvimage: Drop duplicate crc header include 2022-11-23 13:06:12 -05:00
mkexynosspl.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mkfwumdata.c tools: Add mkfwumdata tool for FWU metadata image 2023-06-09 13:52:40 -04:00
mkimage.c Revert "mkimage: update man page and -h output" 2023-10-11 15:32:39 -04:00
mkimage.h mkimage: Use PATH_MAX for path length 2023-06-23 14:38:16 -04:00
mksunxiboot.c tools: mksunxiboot: Use sunxi_image header directly 2021-10-25 14:49:58 +01:00
mtk_image.c tools: mtk_image: use uint32_t for ghf header magic and version 2023-08-03 09:40:50 -04:00
mtk_image.h tools: mtk_image: use uint32_t for ghf header magic and version 2023-08-03 09:40:50 -04:00
mtk_nand_headers.c tools: mtk_image: add support for nand headers used by newer chips 2022-09-23 15:09:16 -04:00
mtk_nand_headers.h tools: mtk_image: add support for nand headers used by newer chips 2022-09-23 15:09:16 -04:00
mxsboot.c tools: mxsboot: pre-fill buffer with 0xff, not 0 2023-12-13 15:33:57 -03:00
mxsimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
mxsimage.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ncb.c ncb: Check return value of write() 2009-04-28 01:16:46 +02:00
netconsole tools/netconsole: Add support for socat 2021-12-02 08:34:01 +02:00
omapimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
omapimage.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
os_support.c tools: Remove the out-of-date MinGW support codes 2020-04-24 10:51:56 -04:00
os_support.h tools: Remove the out-of-date MinGW support codes 2020-04-24 10:51:56 -04:00
pbl_crc32.c crc32: Use the crc.h header for crc functions 2019-12-02 18:23:08 -05:00
pbl_crc32.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pblimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
pblimage.h tools: pblimage: fix image header verification function 2022-02-28 12:01:02 +05:30
prelink-riscv.c tools: prelink-riscv: Unmap the ELF image when done 2023-04-20 20:45:08 +08:00
prelink-riscv.inc tools: prelink-riscv: Cosmetic style fixes 2023-04-20 20:45:08 +08:00
printinitialenv.c u-boot-initial-env: rework make target 2022-12-08 09:29:02 -05:00
proftool.c trace: Fix alignment logic in flyrecord header 2023-09-23 09:00:37 -06:00
qconfig.py qconfig: Rename the database file 2023-10-04 09:25:22 -06:00
relocate-rela.c tools: relocate-rela: Add M68K support 2023-09-06 13:28:29 +02:00
renesas_spkgimage.c mkimage: do not write incorrect error message 2023-11-20 19:06:22 +01:00
renesas_spkgimage.h tools: spkgimage: add Renesas SPKG format 2023-05-13 04:01:30 +02:00
rkcommon.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
rkcommon.h tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
rkimage.c rockchip: mkimage: fix wrong range of rc4 encoding for boot image 2019-12-27 15:17:07 +08:00
rkmux.py rkmux: Convert to Python 3 2019-11-04 18:15:32 -07:00
rksd.c rockchip: mkimage: support packing optional second level boot-loader 2019-12-27 15:17:07 +08:00
rkspi.c rockchip: mkimage: support packing optional second level boot-loader 2019-12-27 15:17:07 +08:00
rmboard.py patman: Move library functions into a library directory 2023-03-08 11:40:49 -08:00
sfspl.c tools: mkimage: fix sfspl_image_extract_subimage() 2023-10-30 15:32:49 -04:00
socfpgaimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
spl_size_limit.c imx: replace CONFIG_SECURE_BOOT with CONFIG_IMX_HAB 2019-10-08 16:36:37 +02:00
stm32image.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
sunxi-spl-image-builder.c tools: sunxi: avoid read after end of string 2017-05-05 16:45:57 -04:00
sunxi_egon.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
sunxi_toc0.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
termios_linux.h tools: termios_linux.h: Fix compilation on non-glibc systems 2022-09-13 06:38:08 +02:00
ublimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
ublimage.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
update_octeon_header.c mips: octeon: tools: Add update_octeon_header tool 2020-11-30 18:32:09 +01:00
vybridimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
zynqimage.c tools: imagetool: Extend print_header() by params argument 2023-04-13 11:34:47 +02:00
zynqmp_pm_cfg_obj_convert.py tools/zynqmp_pm_cfg_obj_convert.py: fix build with Vivado 2021.x 2022-02-15 12:41:00 +01:00
zynqmp_psu_init_minimize.sh arm64: zynqmp: Switch to amd.com emails 2023-07-21 09:00:38 +02:00
zynqmpbif.c tools: zynqmpbif: Use compiler builtin instead of linux-specific __swab32 2019-10-28 13:32:51 -04:00
zynqmpimage.c arm64: zynqmp: Switch to amd.com emails 2023-07-21 09:00:38 +02:00
zynqmpimage.h arm64: zynqmp: Switch to amd.com emails 2023-07-21 09:00:38 +02:00