diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-09-09 08:36:23 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-09-09 08:36:23 +0200 |
| commit | 895b4fae931a256f6c7c6c68f77a8e337980b5a1 (patch) | |
| tree | 4e01d0293b8caee875fb7938d26ba9e0a572b314 /drivers/nvmem | |
| parent | 72486eb13b254d0bee637a947f9ec46d01c37f04 (diff) | |
| parent | da3ea35007d0af457a0afc87e84fddaebc4e0b63 (diff) | |
| download | linux-895b4fae931a256f6c7c6c68f77a8e337980b5a1.tar.gz linux-895b4fae931a256f6c7c6c68f77a8e337980b5a1.tar.bz2 linux-895b4fae931a256f6c7c6c68f77a8e337980b5a1.zip | |
Merge 6.11-rc7 into char-misc-next
We need the char-misc fixes in here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/nvmem')
| -rw-r--r-- | drivers/nvmem/core.c | 6 | ||||
| -rw-r--r-- | drivers/nvmem/u-boot-env.c | 7 |
2 files changed, 10 insertions, 3 deletions
diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 516dfd861b9f..33ffa2aa4c11 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -1276,13 +1276,13 @@ void nvmem_device_put(struct nvmem_device *nvmem) EXPORT_SYMBOL_GPL(nvmem_device_put); /** - * devm_nvmem_device_get() - Get nvmem cell of device form a given id + * devm_nvmem_device_get() - Get nvmem device of device form a given id * * @dev: Device that requests the nvmem device. * @id: name id for the requested nvmem device. * - * Return: ERR_PTR() on error or a valid pointer to a struct nvmem_cell - * on success. The nvmem_cell will be freed by the automatically once the + * Return: ERR_PTR() on error or a valid pointer to a struct nvmem_device + * on success. The nvmem_device will be freed by the automatically once the * device is freed. */ struct nvmem_device *devm_nvmem_device_get(struct device *dev, const char *id) diff --git a/drivers/nvmem/u-boot-env.c b/drivers/nvmem/u-boot-env.c index 936e39b20b38..593f0bf4a395 100644 --- a/drivers/nvmem/u-boot-env.c +++ b/drivers/nvmem/u-boot-env.c @@ -176,6 +176,13 @@ static int u_boot_env_parse(struct u_boot_env *priv) data_offset = offsetof(struct u_boot_env_image_broadcom, data); break; } + + if (dev_size < data_offset) { + dev_err(dev, "Device too small for u-boot-env\n"); + err = -EIO; + goto err_kfree; + } + crc32_addr = (__le32 *)(buf + crc32_offset); crc32 = le32_to_cpu(*crc32_addr); crc32_data_len = dev_size - crc32_data_offset; |
