2023-11-22 13:53:10

by Kory Maincent

[permalink] [raw]
Subject: [PATCH net-next v3] firmware_loader: Expand Firmware upload error codes with firmware invalid error

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 <[email protected]>
Acked-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Kory Maincent <[email protected]>
---

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/[email protected]/

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(+)

diff --git a/drivers/base/firmware_loader/sysfs_upload.c b/drivers/base/firmware_loader/sysfs_upload.c
index a0af8f5f13d8..829270067d16 100644
--- a/drivers/base/firmware_loader/sysfs_upload.c
+++ b/drivers/base/firmware_loader/sysfs_upload.c
@@ -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,
diff --git a/include/linux/firmware.h b/include/linux/firmware.h
index de7fea3bca51..0311858b46ce 100644
--- a/include/linux/firmware.h
+++ b/include/linux/firmware.h
@@ -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
};

diff --git a/lib/test_firmware.c b/lib/test_firmware.c
index add4699fc6cd..9cfdcd6d21db 100644
--- a/lib/test_firmware.c
+++ b/lib/test_firmware.c
@@ -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,

---
base-commit: b85ea95d086471afb4ad062012a4d73cd328fa86
change-id: 20231117-feature_firmware_error_code-b8d7af08a8fe

Best regards,
--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com


2023-11-24 16:48:50

by Simon Horman

[permalink] [raw]
Subject: Re: [PATCH net-next v3] firmware_loader: Expand Firmware upload error codes with firmware invalid error

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 <[email protected]>
> Acked-by: Greg Kroah-Hartman <[email protected]>
> Signed-off-by: Kory Maincent <[email protected]>
> ---
>
> 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/[email protected]/

Reviewed-by: Simon Horman <[email protected]>

...

2023-11-25 03:24:19

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH net-next v3] firmware_loader: Expand Firmware upload error codes with firmware invalid error

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

2023-11-25 03:32:25

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH net-next v3] firmware_loader: Expand Firmware upload error codes with firmware invalid error

Hello:

This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <[email protected]>:

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!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html


2023-11-27 18:40:12

by Kory Maincent

[permalink] [raw]
Subject: Re: [PATCH net-next v3] firmware_loader: Expand Firmware upload error codes with firmware invalid error

On Fri, 24 Nov 2023 19:24:07 -0800
Jakub Kicinski <[email protected]> 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!

--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

2023-12-06 12:04:59

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH net-next v3] firmware_loader: Expand Firmware upload error codes with firmware invalid error

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 <[email protected]>
Date: Fri Nov 24 18:09:19 2023 -0800

Merge branch 'firmware_loader'

commit a066f906ba396ab00d4af19fc5fad42b2605582a
Author: Kory Maincent <[email protected]>
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.


Attachments:
(No filename) (1.33 kB)
signature.asc (235.00 B)
Download all attachments

2023-12-06 15:47:39

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH net-next v3] firmware_loader: Expand Firmware upload error codes with firmware invalid error

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 <[email protected]>
> Date: Fri Nov 24 18:09:19 2023 -0800
>
> Merge branch 'firmware_loader'
>
> commit a066f906ba396ab00d4af19fc5fad42b2605582a
> Author: Kory Maincent <[email protected]>
> 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!