Re: [PATCH 2/3] firmware: add offset to request_firmware_into_buf

From: Scott Branden
Date: Thu Aug 01 2019 - 14:15:27 EST


Hi Luis,

On 2019-08-01 10:42 a.m., Luis Chamberlain wrote:
On Thu, Aug 01, 2019 at 08:18:01AM +0200, Greg Kroah-Hartman wrote:
On Wed, Jul 31, 2019 at 05:18:32PM -0700, Scott Branden wrote:
Hi Greg,

I am now back from leave to continue this patch. Comment below.

On 2019-05-23 10:22 p.m., Greg Kroah-Hartman wrote:
On Thu, May 23, 2019 at 10:01:38PM -0700, Scott Branden wrote:
On 2019-05-23 9:54 a.m., Greg Kroah-Hartman wrote:
On Thu, May 23, 2019 at 09:36:02AM -0700, Scott Branden wrote:
Hi Greg,

On 2019-05-22 10:52 p.m., Greg Kroah-Hartman wrote:
On Wed, May 22, 2019 at 07:51:12PM -0700, Scott Branden wrote:
Add offset to request_firmware_into_buf to allow for portions
of firmware file to be read into a buffer. Necessary where firmware
needs to be loaded in portions from file in memory constrained systems.

Signed-off-by: Scott Branden <scott.branden@xxxxxxxxxxxx>
---
drivers/base/firmware_loader/firmware.h | 5 +++
drivers/base/firmware_loader/main.c | 49 +++++++++++++++++--------
include/linux/firmware.h | 8 +++-
3 files changed, 45 insertions(+), 17 deletions(-)
No new firmware test for this new option? How do we know it even works?
I was unaware there are existing firmware tests. Please let me know where
these tests exists and I can add a test for this new option.
tools/testing/selftests/firmware/
Unfortunately, there doesn't seem to be a test for the existing
request_firmware_into_buf api.
Are you sure? The test is for userspace functionality, there isn't
kernel unit tests here. You need to verify that you didn't break
existing functionality as well as verify that your new functionality
works.
I managed to figure out how to build and run
tools/testing/selftest/firmware/fw_run_tests.sh

and my changes don't break existing functionality.
I'm soon going to release something that is going to let you do this
faster and easier, let me know if you had troubles in trying to figure
out how to not regress the kernel using this.

Yes, I had troubles in trying to figure it out. The kernel build should

create an entire initrd with all the necessary components in it for testing purposes.

And the firmware test will now take me some time to figure out how it all works.

Could you please explain what you are going to release soon? I don't want to waste

my time getting something working if everything is going to change on me right away?


But, I find no use of request_firmware_into_buf in lib/test_firmware.c
(triggered by fw_run_tests.sh).

Is there another test for request_firmware_into_buf?
I have no idea, sorry.
The folks who implemented request_firmware_into_buf() didn't add a
respective test, because, well, this API went upstream IMO without much
ACKs / review, and even no damn users. Now we have a user so we're stuck
with it.

The request_firmware_into_buf is a necessity for me as well

(along with the need for a partial request of the file which I'm adding).


So new testing calls for it would be appreciated. If you have questions
I am happy to help.

If you're an expert on the firmware test and can quickly add a simple test of request_firmware_into_buf

it would be appreciated. If not, I'm going to have to dig further into this and send early versions of

a test out which would be great for you to comment on.


Luis

Thanks,

Scott