[net-next,v3] firmware_loader: Expand Firmware upload error codes with firmware invalid error
Commit Message
No error code are available to signal an invalid firmware content.
Drivers that can check the firmware content validity can not return this
specific failure to the user-space
Expand the firmware error code with an additional code:
- "firmware invalid" code which can be used when the provided firmware
is invalid
Sync lib/test_firmware.c file accordingly.
Acked-by: Luis Chamberlain <mcgrof@kernel.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
---
Changes in v3:
- Add the newly introduced error code to test_firmware.c
This patch was initially submitted as part of a net patch series.
Conor expressed interest in using it in a different subsystem.
https://lore.kernel.org/netdev/20231116-feature_poe-v1-7-be48044bf249@bootlin.com/
Consequently, I extracted it from the series and submitted it separately.
I first tried to send it to driver-core but it seems also not the best
choice:
https://lore.kernel.org/lkml/2023111720-slicer-exes-7d9f@gregkh/
Jakub could you create a stable branch for this patch and share the branch
information? This way other Maintainers can then pull the patch.
---
drivers/base/firmware_loader/sysfs_upload.c | 1 +
include/linux/firmware.h | 2 ++
lib/test_firmware.c | 1 +
3 files changed, 4 insertions(+)
---
base-commit: b85ea95d086471afb4ad062012a4d73cd328fa86
change-id: 20231117-feature_firmware_error_code-b8d7af08a8fe
Best regards,
Comments
On Wed, Nov 22, 2023 at 02:52:43PM +0100, Kory Maincent wrote:
> No error code are available to signal an invalid firmware content.
> Drivers that can check the firmware content validity can not return this
> specific failure to the user-space
>
> Expand the firmware error code with an additional code:
> - "firmware invalid" code which can be used when the provided firmware
> is invalid
>
> Sync lib/test_firmware.c file accordingly.
>
> Acked-by: Luis Chamberlain <mcgrof@kernel.org>
> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
> ---
>
> Changes in v3:
> - Add the newly introduced error code to test_firmware.c
I verified that the error obvserved in v2 when compiling the above
file with clang-16 has been resolved.
Link: https://lore.kernel.org/all/20231121173022.3cb2fcad@kernel.org/
Reviewed-by: Simon Horman <horms@kernel.org>
...
On Wed, 22 Nov 2023 14:52:43 +0100 Kory Maincent wrote:
> Jakub could you create a stable branch for this patch and share the branch
> information? This way other Maintainers can then pull the patch.
Tagged at:
git://git.kernel.org/pub/scm/linux/kernel/git/kuba/linux.git firmware_loader-add-upload-error
Hello:
This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Wed, 22 Nov 2023 14:52:43 +0100 you wrote:
> No error code are available to signal an invalid firmware content.
> Drivers that can check the firmware content validity can not return this
> specific failure to the user-space
>
> Expand the firmware error code with an additional code:
> - "firmware invalid" code which can be used when the provided firmware
> is invalid
>
> [...]
Here is the summary with links:
- [net-next,v3] firmware_loader: Expand Firmware upload error codes with firmware invalid error
https://git.kernel.org/netdev/net-next/c/a066f906ba39
You are awesome, thank you!
On Fri, 24 Nov 2023 19:24:07 -0800
Jakub Kicinski <kuba@kernel.org> wrote:
> On Wed, 22 Nov 2023 14:52:43 +0100 Kory Maincent wrote:
> > Jakub could you create a stable branch for this patch and share the branch
> > information? This way other Maintainers can then pull the patch.
>
> Tagged at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/kuba/linux.git
> firmware_loader-add-upload-error
Thank Jakub!
On Fri, Nov 24, 2023 at 07:24:07PM -0800, Jakub Kicinski wrote:
> On Wed, 22 Nov 2023 14:52:43 +0100 Kory Maincent wrote:
> > Jakub could you create a stable branch for this patch and share the branch
> > information? This way other Maintainers can then pull the patch.
>
> Tagged at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/kuba/linux.git firmware_loader-add-upload-error
It's taken me longer than I would like to get back to this, sorry.
I tried pulling the tag today and I think there's been a mistake - the
tagged commit is the merge commit into net, not the commit adding the
firmware loader change:
commit 53775da0b4768cd7e603d7ac1ad706c383c6f61e (tag: firmware_loader-add-upload-error, korg-kuba/firmware_loader)
Merge: 3a767b482cac a066f906ba39
Author: Jakub Kicinski <kuba@kernel.org>
Date: Fri Nov 24 18:09:19 2023 -0800
Merge branch 'firmware_loader'
commit a066f906ba396ab00d4af19fc5fad42b2605582a
Author: Kory Maincent <kory.maincent@bootlin.com>
Date: Wed Nov 22 14:52:43 2023 +0100
firmware_loader: Expand Firmware upload error codes with firmware invalid error
I'm going to merge in a066f906ba39 ("firmware_loader: Expand Firmware
upload error codes with firmware invalid error") so that I don't end
up with a bunch of netdev stuff in my tree.
Have I missed something?
Thanks,
Conor.
On Wed, 6 Dec 2023 12:04:33 +0000 Conor Dooley wrote:
> It's taken me longer than I would like to get back to this, sorry.
> I tried pulling the tag today and I think there's been a mistake - the
> tagged commit is the merge commit into net, not the commit adding the
> firmware loader change:
>
> commit 53775da0b4768cd7e603d7ac1ad706c383c6f61e (tag: firmware_loader-add-upload-error, korg-kuba/firmware_loader)
> Merge: 3a767b482cac a066f906ba39
> Author: Jakub Kicinski <kuba@kernel.org>
> Date: Fri Nov 24 18:09:19 2023 -0800
>
> Merge branch 'firmware_loader'
>
> commit a066f906ba396ab00d4af19fc5fad42b2605582a
> Author: Kory Maincent <kory.maincent@bootlin.com>
> Date: Wed Nov 22 14:52:43 2023 +0100
>
> firmware_loader: Expand Firmware upload error codes with firmware invalid error
>
> I'm going to merge in a066f906ba39 ("firmware_loader: Expand Firmware
> upload error codes with firmware invalid error") so that I don't end
> up with a bunch of netdev stuff in my tree.
>
> Have I missed something?
You're right, looks like I tagged the wrong thing.
Merging a066f906ba39 will work, sorry!
@@ -27,6 +27,7 @@ static const char * const fw_upload_err_str[] = {
[FW_UPLOAD_ERR_INVALID_SIZE] = "invalid-file-size",
[FW_UPLOAD_ERR_RW_ERROR] = "read-write-error",
[FW_UPLOAD_ERR_WEAROUT] = "flash-wearout",
+ [FW_UPLOAD_ERR_FW_INVALID] = "firmware-invalid",
};
static const char *fw_upload_progress(struct device *dev,
@@ -27,6 +27,7 @@ struct firmware {
* @FW_UPLOAD_ERR_INVALID_SIZE: invalid firmware image size
* @FW_UPLOAD_ERR_RW_ERROR: read or write to HW failed, see kernel log
* @FW_UPLOAD_ERR_WEAROUT: FLASH device is approaching wear-out, wait & retry
+ * @FW_UPLOAD_ERR_FW_INVALID: invalid firmware file
* @FW_UPLOAD_ERR_MAX: Maximum error code marker
*/
enum fw_upload_err {
@@ -38,6 +39,7 @@ enum fw_upload_err {
FW_UPLOAD_ERR_INVALID_SIZE,
FW_UPLOAD_ERR_RW_ERROR,
FW_UPLOAD_ERR_WEAROUT,
+ FW_UPLOAD_ERR_FW_INVALID,
FW_UPLOAD_ERR_MAX
};
@@ -1132,6 +1132,7 @@ static const char * const fw_upload_err_str[] = {
[FW_UPLOAD_ERR_INVALID_SIZE] = "invalid-file-size",
[FW_UPLOAD_ERR_RW_ERROR] = "read-write-error",
[FW_UPLOAD_ERR_WEAROUT] = "flash-wearout",
+ [FW_UPLOAD_ERR_FW_INVALID] = "firmware-invalid",
};
static void upload_err_inject_error(struct test_firmware_upload *tst,