* [PATCH AUTOSEL 5.5 05/28] staging: wfx: fix warning about freeing in-use mutex during device unregister [not found] <20200326232357.7516-1-sashal@kernel.org> @ 2020-03-26 23:23 ` Sasha Levin 2020-03-26 23:23 ` [PATCH AUTOSEL 5.5 12/28] staging: greybus: loopback_test: fix potential path truncation Sasha Levin 2020-03-26 23:23 ` [PATCH AUTOSEL 5.5 13/28] staging: greybus: loopback_test: fix potential path truncations Sasha Levin 2 siblings, 0 replies; 5+ messages in thread From: Sasha Levin @ 2020-03-26 23:23 UTC (permalink / raw) To: linux-kernel, stable; +Cc: Sasha Levin, Greg Kroah-Hartman, devel From: Jérôme Pouiller <jerome.pouiller@silabs.com> [ Upstream commit bab0a0b03442a62fe3abefcb2169e0b9ff95990c ] After hif_shutdown(), communication with the chip is no more possible. It the only request that never reply. Therefore, hif_cmd.lock is never unlocked. hif_shutdown() unlock itself hif_cmd.lock to avoid a potential warning during disposal of device. hif_cmd.key_renew_lock should also been unlocked for the same reason. Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Link: https://lore.kernel.org/r/20200310101356.182818-2-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org> --- drivers/staging/wfx/hif_tx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/wfx/hif_tx.c b/drivers/staging/wfx/hif_tx.c index cb7cddcb98159..16e7d190430f3 100644 --- a/drivers/staging/wfx/hif_tx.c +++ b/drivers/staging/wfx/hif_tx.c @@ -141,6 +141,7 @@ int hif_shutdown(struct wfx_dev *wdev) else control_reg_write(wdev, 0); mutex_unlock(&wdev->hif_cmd.lock); + mutex_unlock(&wdev->hif_cmd.key_renew_lock); kfree(hif); return ret; } -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH AUTOSEL 5.5 12/28] staging: greybus: loopback_test: fix potential path truncation [not found] <20200326232357.7516-1-sashal@kernel.org> 2020-03-26 23:23 ` [PATCH AUTOSEL 5.5 05/28] staging: wfx: fix warning about freeing in-use mutex during device unregister Sasha Levin @ 2020-03-26 23:23 ` Sasha Levin 2020-03-27 6:28 ` Greg KH 2020-03-26 23:23 ` [PATCH AUTOSEL 5.5 13/28] staging: greybus: loopback_test: fix potential path truncations Sasha Levin 2 siblings, 1 reply; 5+ messages in thread From: Sasha Levin @ 2020-03-26 23:23 UTC (permalink / raw) To: linux-kernel, stable Cc: Sasha Levin, Greg Kroah-Hartman, devel, Johan Hovold, greybus-dev From: Johan Hovold <johan@kernel.org> [ Upstream commit f16023834863932f95dfad13fac3fc47f77d2f29 ] Newer GCC warns about a possible truncation of a generated sysfs path name as we're concatenating a directory path with a file name and placing the result in a buffer that is half the size of the maximum length of the directory path (which is user controlled). loopback_test.c: In function 'open_poll_files': loopback_test.c:651:31: warning: '%s' directive output may be truncated writing up to 511 bytes into a region of size 255 [-Wformat-truncation=] 651 | snprintf(buf, sizeof(buf), "%s%s", dev->sysfs_entry, "iteration_count"); | ^~ loopback_test.c:651:3: note: 'snprintf' output between 16 and 527 bytes into a destination of size 255 651 | snprintf(buf, sizeof(buf), "%s%s", dev->sysfs_entry, "iteration_count"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Fix this by making sure the buffer is large enough the concatenated strings. Fixes: 6b0658f68786 ("greybus: tools: Add tools directory to greybus repo and add loopback") Fixes: 9250c0ee2626 ("greybus: Loopback_test: use poll instead of inotify") Signed-off-by: Johan Hovold <johan@kernel.org> Link: https://lore.kernel.org/r/20200312110151.22028-3-johan@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org> --- drivers/staging/greybus/tools/loopback_test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/greybus/tools/loopback_test.c b/drivers/staging/greybus/tools/loopback_test.c index ba6f905f26fad..5ce7d6fa086cc 100644 --- a/drivers/staging/greybus/tools/loopback_test.c +++ b/drivers/staging/greybus/tools/loopback_test.c @@ -637,7 +637,7 @@ int find_loopback_devices(struct loopback_test *t) static int open_poll_files(struct loopback_test *t) { struct loopback_device *dev; - char buf[MAX_STR_LEN]; + char buf[MAX_SYSFS_PATH + MAX_STR_LEN]; char dummy; int fds_idx = 0; int i; -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH AUTOSEL 5.5 12/28] staging: greybus: loopback_test: fix potential path truncation 2020-03-26 23:23 ` [PATCH AUTOSEL 5.5 12/28] staging: greybus: loopback_test: fix potential path truncation Sasha Levin @ 2020-03-27 6:28 ` Greg KH 0 siblings, 0 replies; 5+ messages in thread From: Greg KH @ 2020-03-27 6:28 UTC (permalink / raw) To: Sasha Levin; +Cc: devel, greybus-dev, linux-kernel, stable, Johan Hovold On Thu, Mar 26, 2020 at 07:23:41PM -0400, Sasha Levin wrote: > From: Johan Hovold <johan@kernel.org> > > [ Upstream commit f16023834863932f95dfad13fac3fc47f77d2f29 ] > > Newer GCC warns about a possible truncation of a generated sysfs path > name as we're concatenating a directory path with a file name and > placing the result in a buffer that is half the size of the maximum > length of the directory path (which is user controlled). > > loopback_test.c: In function 'open_poll_files': > loopback_test.c:651:31: warning: '%s' directive output may be truncated writing up to 511 bytes into a region of size 255 [-Wformat-truncation=] > 651 | snprintf(buf, sizeof(buf), "%s%s", dev->sysfs_entry, "iteration_count"); > | ^~ > loopback_test.c:651:3: note: 'snprintf' output between 16 and 527 bytes into a destination of size 255 > 651 | snprintf(buf, sizeof(buf), "%s%s", dev->sysfs_entry, "iteration_count"); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Fix this by making sure the buffer is large enough the concatenated > strings. > > Fixes: 6b0658f68786 ("greybus: tools: Add tools directory to greybus repo and add loopback") > Fixes: 9250c0ee2626 ("greybus: Loopback_test: use poll instead of inotify") > Signed-off-by: Johan Hovold <johan@kernel.org> > Link: https://lore.kernel.org/r/20200312110151.22028-3-johan@kernel.org > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Signed-off-by: Sasha Levin <sashal@kernel.org> > --- > drivers/staging/greybus/tools/loopback_test.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/staging/greybus/tools/loopback_test.c b/drivers/staging/greybus/tools/loopback_test.c > index ba6f905f26fad..5ce7d6fa086cc 100644 > --- a/drivers/staging/greybus/tools/loopback_test.c > +++ b/drivers/staging/greybus/tools/loopback_test.c > @@ -637,7 +637,7 @@ int find_loopback_devices(struct loopback_test *t) > static int open_poll_files(struct loopback_test *t) > { > struct loopback_device *dev; > - char buf[MAX_STR_LEN]; > + char buf[MAX_SYSFS_PATH + MAX_STR_LEN]; > char dummy; > int fds_idx = 0; > int i; > -- > 2.20.1 > Already in all stable releases, so no need to add it again. _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH AUTOSEL 5.5 13/28] staging: greybus: loopback_test: fix potential path truncations [not found] <20200326232357.7516-1-sashal@kernel.org> 2020-03-26 23:23 ` [PATCH AUTOSEL 5.5 05/28] staging: wfx: fix warning about freeing in-use mutex during device unregister Sasha Levin 2020-03-26 23:23 ` [PATCH AUTOSEL 5.5 12/28] staging: greybus: loopback_test: fix potential path truncation Sasha Levin @ 2020-03-26 23:23 ` Sasha Levin 2020-03-27 6:28 ` Greg Kroah-Hartman 2 siblings, 1 reply; 5+ messages in thread From: Sasha Levin @ 2020-03-26 23:23 UTC (permalink / raw) To: linux-kernel, stable Cc: Sasha Levin, Greg Kroah-Hartman, devel, Johan Hovold, greybus-dev From: Johan Hovold <johan@kernel.org> [ Upstream commit ae62cf5eb2792d9a818c2d93728ed92119357017 ] Newer GCC warns about possible truncations of two generated path names as we're concatenating the configurable sysfs and debugfs path prefixes with a filename and placing the results in buffers of the same size as the maximum length of the prefixes. snprintf(d->name, MAX_STR_LEN, "gb_loopback%u", dev_id); snprintf(d->sysfs_entry, MAX_SYSFS_PATH, "%s%s/", t->sysfs_prefix, d->name); snprintf(d->debugfs_entry, MAX_SYSFS_PATH, "%sraw_latency_%s", t->debugfs_prefix, d->name); Fix this by separating the maximum path length from the maximum prefix length and reducing the latter enough to fit the generated strings. Note that we also need to reduce the device-name buffer size as GCC isn't smart enough to figure out that we ever only used MAX_STR_LEN bytes of it. Fixes: 6b0658f68786 ("greybus: tools: Add tools directory to greybus repo and add loopback") Signed-off-by: Johan Hovold <johan@kernel.org> Link: https://lore.kernel.org/r/20200312110151.22028-4-johan@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org> --- drivers/staging/greybus/tools/loopback_test.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/staging/greybus/tools/loopback_test.c b/drivers/staging/greybus/tools/loopback_test.c index 5ce7d6fa086cc..3ee9109c38f60 100644 --- a/drivers/staging/greybus/tools/loopback_test.c +++ b/drivers/staging/greybus/tools/loopback_test.c @@ -19,6 +19,7 @@ #include <signal.h> #define MAX_NUM_DEVICES 10 +#define MAX_SYSFS_PREFIX 0x80 #define MAX_SYSFS_PATH 0x200 #define CSV_MAX_LINE 0x1000 #define SYSFS_MAX_INT 0x20 @@ -67,7 +68,7 @@ struct loopback_results { }; struct loopback_device { - char name[MAX_SYSFS_PATH]; + char name[MAX_STR_LEN]; char sysfs_entry[MAX_SYSFS_PATH]; char debugfs_entry[MAX_SYSFS_PATH]; struct loopback_results results; @@ -93,8 +94,8 @@ struct loopback_test { int stop_all; int poll_count; char test_name[MAX_STR_LEN]; - char sysfs_prefix[MAX_SYSFS_PATH]; - char debugfs_prefix[MAX_SYSFS_PATH]; + char sysfs_prefix[MAX_SYSFS_PREFIX]; + char debugfs_prefix[MAX_SYSFS_PREFIX]; struct timespec poll_timeout; struct loopback_device devices[MAX_NUM_DEVICES]; struct loopback_results aggregate_results; @@ -907,10 +908,10 @@ int main(int argc, char *argv[]) t.iteration_max = atoi(optarg); break; case 'S': - snprintf(t.sysfs_prefix, MAX_SYSFS_PATH, "%s", optarg); + snprintf(t.sysfs_prefix, MAX_SYSFS_PREFIX, "%s", optarg); break; case 'D': - snprintf(t.debugfs_prefix, MAX_SYSFS_PATH, "%s", optarg); + snprintf(t.debugfs_prefix, MAX_SYSFS_PREFIX, "%s", optarg); break; case 'm': t.mask = atol(optarg); @@ -961,10 +962,10 @@ int main(int argc, char *argv[]) } if (!strcmp(t.sysfs_prefix, "")) - snprintf(t.sysfs_prefix, MAX_SYSFS_PATH, "%s", sysfs_prefix); + snprintf(t.sysfs_prefix, MAX_SYSFS_PREFIX, "%s", sysfs_prefix); if (!strcmp(t.debugfs_prefix, "")) - snprintf(t.debugfs_prefix, MAX_SYSFS_PATH, "%s", debugfs_prefix); + snprintf(t.debugfs_prefix, MAX_SYSFS_PREFIX, "%s", debugfs_prefix); ret = find_loopback_devices(&t); if (ret) -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH AUTOSEL 5.5 13/28] staging: greybus: loopback_test: fix potential path truncations 2020-03-26 23:23 ` [PATCH AUTOSEL 5.5 13/28] staging: greybus: loopback_test: fix potential path truncations Sasha Levin @ 2020-03-27 6:28 ` Greg Kroah-Hartman 0 siblings, 0 replies; 5+ messages in thread From: Greg Kroah-Hartman @ 2020-03-27 6:28 UTC (permalink / raw) To: Sasha Levin; +Cc: devel, greybus-dev, linux-kernel, stable, Johan Hovold On Thu, Mar 26, 2020 at 07:23:42PM -0400, Sasha Levin wrote: > From: Johan Hovold <johan@kernel.org> > > [ Upstream commit ae62cf5eb2792d9a818c2d93728ed92119357017 ] > > Newer GCC warns about possible truncations of two generated path names as > we're concatenating the configurable sysfs and debugfs path prefixes > with a filename and placing the results in buffers of the same size as > the maximum length of the prefixes. > > snprintf(d->name, MAX_STR_LEN, "gb_loopback%u", dev_id); > > snprintf(d->sysfs_entry, MAX_SYSFS_PATH, "%s%s/", > t->sysfs_prefix, d->name); > > snprintf(d->debugfs_entry, MAX_SYSFS_PATH, "%sraw_latency_%s", > t->debugfs_prefix, d->name); > > Fix this by separating the maximum path length from the maximum prefix > length and reducing the latter enough to fit the generated strings. > > Note that we also need to reduce the device-name buffer size as GCC > isn't smart enough to figure out that we ever only used MAX_STR_LEN > bytes of it. > > Fixes: 6b0658f68786 ("greybus: tools: Add tools directory to greybus repo and add loopback") > Signed-off-by: Johan Hovold <johan@kernel.org> > Link: https://lore.kernel.org/r/20200312110151.22028-4-johan@kernel.org > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Signed-off-by: Sasha Levin <sashal@kernel.org> > --- > drivers/staging/greybus/tools/loopback_test.c | 15 ++++++++------- > 1 file changed, 8 insertions(+), 7 deletions(-) > > diff --git a/drivers/staging/greybus/tools/loopback_test.c b/drivers/staging/greybus/tools/loopback_test.c > index 5ce7d6fa086cc..3ee9109c38f60 100644 > --- a/drivers/staging/greybus/tools/loopback_test.c > +++ b/drivers/staging/greybus/tools/loopback_test.c > @@ -19,6 +19,7 @@ > #include <signal.h> > > #define MAX_NUM_DEVICES 10 > +#define MAX_SYSFS_PREFIX 0x80 > #define MAX_SYSFS_PATH 0x200 > #define CSV_MAX_LINE 0x1000 > #define SYSFS_MAX_INT 0x20 > @@ -67,7 +68,7 @@ struct loopback_results { > }; > > struct loopback_device { > - char name[MAX_SYSFS_PATH]; > + char name[MAX_STR_LEN]; > char sysfs_entry[MAX_SYSFS_PATH]; > char debugfs_entry[MAX_SYSFS_PATH]; > struct loopback_results results; > @@ -93,8 +94,8 @@ struct loopback_test { > int stop_all; > int poll_count; > char test_name[MAX_STR_LEN]; > - char sysfs_prefix[MAX_SYSFS_PATH]; > - char debugfs_prefix[MAX_SYSFS_PATH]; > + char sysfs_prefix[MAX_SYSFS_PREFIX]; > + char debugfs_prefix[MAX_SYSFS_PREFIX]; > struct timespec poll_timeout; > struct loopback_device devices[MAX_NUM_DEVICES]; > struct loopback_results aggregate_results; > @@ -907,10 +908,10 @@ int main(int argc, char *argv[]) > t.iteration_max = atoi(optarg); > break; > case 'S': > - snprintf(t.sysfs_prefix, MAX_SYSFS_PATH, "%s", optarg); > + snprintf(t.sysfs_prefix, MAX_SYSFS_PREFIX, "%s", optarg); > break; > case 'D': > - snprintf(t.debugfs_prefix, MAX_SYSFS_PATH, "%s", optarg); > + snprintf(t.debugfs_prefix, MAX_SYSFS_PREFIX, "%s", optarg); > break; > case 'm': > t.mask = atol(optarg); > @@ -961,10 +962,10 @@ int main(int argc, char *argv[]) > } > > if (!strcmp(t.sysfs_prefix, "")) > - snprintf(t.sysfs_prefix, MAX_SYSFS_PATH, "%s", sysfs_prefix); > + snprintf(t.sysfs_prefix, MAX_SYSFS_PREFIX, "%s", sysfs_prefix); > > if (!strcmp(t.debugfs_prefix, "")) > - snprintf(t.debugfs_prefix, MAX_SYSFS_PATH, "%s", debugfs_prefix); > + snprintf(t.debugfs_prefix, MAX_SYSFS_PREFIX, "%s", debugfs_prefix); > > ret = find_loopback_devices(&t); > if (ret) > -- > 2.20.1 ALso already in all trees, please don't try to add it again. _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-03-27 6:28 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20200326232357.7516-1-sashal@kernel.org> 2020-03-26 23:23 ` [PATCH AUTOSEL 5.5 05/28] staging: wfx: fix warning about freeing in-use mutex during device unregister Sasha Levin 2020-03-26 23:23 ` [PATCH AUTOSEL 5.5 12/28] staging: greybus: loopback_test: fix potential path truncation Sasha Levin 2020-03-27 6:28 ` Greg KH 2020-03-26 23:23 ` [PATCH AUTOSEL 5.5 13/28] staging: greybus: loopback_test: fix potential path truncations Sasha Levin 2020-03-27 6:28 ` Greg Kroah-Hartman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).