Messages in this thread | | | Subject | Re: [PATCH v2 3/7] test_firmware: add partial read support for request_firmware_into_buf | From | Scott Branden <> | Date | Fri, 21 Feb 2020 10:30:25 -0800 |
| |
Hi Dan,
Thanks for your review and valuable comments. Will have to investigate fully and correct anything wrong.
On 2020-02-20 12:42 a.m., Dan Carpenter wrote: > On Wed, Feb 19, 2020 at 04:48:21PM -0800, Scott Branden wrote: >> +static int test_dev_config_update_size_t(const char *buf, >> + size_t size, >> + size_t *cfg) >> +{ >> + int ret; >> + long new; >> + >> + ret = kstrtol(buf, 10, &new); >> + if (ret) >> + return ret; >> + >> + if (new > SIZE_MAX) > This "new" variable is long and SIZE_MAX is ULONG_MAX so the condition > can't be true. > >> + return -EINVAL; >> + >> + mutex_lock(&test_fw_mutex); >> + *(size_t *)cfg = new; >> + mutex_unlock(&test_fw_mutex); >> + >> + /* Always return full write size even if we didn't consume all */ >> + return size; >> +} >> + >> +static ssize_t test_dev_config_show_size_t(char *buf, int cfg) >> +{ >> + size_t val; >> + >> + mutex_lock(&test_fw_mutex); >> + val = cfg; >> + mutex_unlock(&test_fw_mutex); > Both val and cfg are stack variables so there is no need for locking. > Probably you meant to pass a pointer to cfg? > >> + >> + return snprintf(buf, PAGE_SIZE, "%zu\n", val); >> +} >> + >> static ssize_t test_dev_config_show_int(char *buf, int cfg) >> { >> int val; > regards, > dan carpenter > >
| |