Message ID | 20231122-feature_firmware_error_code-v3-1-04ec753afb71@bootlin.com (mailing list archive) |
---|---|
State | Accepted |
Commit | a066f906ba396ab00d4af19fc5fad42b2605582a |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next,v3] firmware_loader: Expand Firmware upload error codes with firmware invalid error | expand |
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!
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,