Message ID | 20210312170311.17464-1-krzysztof.kozlowski@canonical.com |
---|---|
State | Superseded |
Headers | show |
Series | [v4.4] iio: imu: adis16400: fix memory leak | expand |
On Fri, Mar 12, 2021 at 06:03:11PM +0100, Krzysztof Kozlowski wrote: > From: Navid Emamdoost <navid.emamdoost@gmail.com> > > commit 9c0530e898f384c5d279bfcebd8bb17af1105873 upstream. > > In adis_update_scan_mode_burst, if adis->buffer allocation fails release > the adis->xfer. > > Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> > Reviewed-by: Alexandru Ardelean <alexandru.ardelean@analog.com> > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > (cherry picked from commit 9c0530e898f384c5d279bfcebd8bb17af1105873) > [krzk: backport applied to adis16400_buffer.c instead of adis_buffer.c] > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> > --- > drivers/iio/imu/adis16400_buffer.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) What about 4.9.y? Will this backport also work there too? thanks, greg k-h
On 13/03/2021 14:37, Greg KH wrote: > On Fri, Mar 12, 2021 at 06:03:11PM +0100, Krzysztof Kozlowski wrote: >> From: Navid Emamdoost <navid.emamdoost@gmail.com> >> >> commit 9c0530e898f384c5d279bfcebd8bb17af1105873 upstream. >> >> In adis_update_scan_mode_burst, if adis->buffer allocation fails release >> the adis->xfer. >> >> Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> >> Reviewed-by: Alexandru Ardelean <alexandru.ardelean@analog.com> >> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> >> (cherry picked from commit 9c0530e898f384c5d279bfcebd8bb17af1105873) >> [krzk: backport applied to adis16400_buffer.c instead of adis_buffer.c] >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> >> --- >> drivers/iio/imu/adis16400_buffer.c | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) > > What about 4.9.y? Will this backport also work there too? Yes, v4.4 and v4.9. However I noticed that second patch similar patch was not backported, so let me send v2 of this backport. Best regards, Krzysztof
diff --git a/drivers/iio/imu/adis16400_buffer.c b/drivers/iio/imu/adis16400_buffer.c index 90c24a23c679..c0eb9dfd1c45 100644 --- a/drivers/iio/imu/adis16400_buffer.c +++ b/drivers/iio/imu/adis16400_buffer.c @@ -37,8 +37,11 @@ int adis16400_update_scan_mode(struct iio_dev *indio_dev, return -ENOMEM; adis->buffer = kzalloc(burst_length + sizeof(u16), GFP_KERNEL); - if (!adis->buffer) + if (!adis->buffer) { + kfree(adis->xfer); + adis->xfer = NULL; return -ENOMEM; + } tx = adis->buffer + burst_length; tx[0] = ADIS_READ_REG(ADIS16400_GLOB_CMD);