Message ID | 20220630005148.2166473-1-niejianglei2021@163.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | usb: cdnsp: Fix potential memory leak in cdnsp_alloc_stream_info() | expand |
On Thu, Jun 30, 2022 at 08:51:48AM +0800, Jianglei Nie wrote: > cdnsp_alloc_stream_info() allocates stream context array for stream_info > ->stream_ctx_array with cdnsp_alloc_stream_ctx(). When some error occurs, > stream_info->stream_ctx_array is not released, which will lead to a > memory leak. > > We can fix it by releasing the stream_info->stream_ctx_array with > cdnsp_free_stream_ctx() on the error path to avoid the potential memory > leak. > > Signed-off-by: Jianglei Nie <niejianglei2021@163.com> > --- > drivers/usb/cdns3/cdnsp-mem.c | 1 + > 1 file changed, 1 insertion(+) What commit id does this fix? thanks, greg k-h
On Thu, Jun 30, 2022 at 08:54:30AM +0200, Greg KH wrote: > On Thu, Jun 30, 2022 at 08:51:48AM +0800, Jianglei Nie wrote: > > cdnsp_alloc_stream_info() allocates stream context array for stream_info > > ->stream_ctx_array with cdnsp_alloc_stream_ctx(). When some error occurs, > > stream_info->stream_ctx_array is not released, which will lead to a > > memory leak. > > > > We can fix it by releasing the stream_info->stream_ctx_array with > > cdnsp_free_stream_ctx() on the error path to avoid the potential memory > > leak. > > > > Signed-off-by: Jianglei Nie <niejianglei2021@163.com> > > --- > > drivers/usb/cdns3/cdnsp-mem.c | 1 + > > 1 file changed, 1 insertion(+) > > What commit id does this fix? Dropped due to lack of response. greg k-h
diff --git a/drivers/usb/cdns3/cdnsp-mem.c b/drivers/usb/cdns3/cdnsp-mem.c index 97866bfb2da9..319037848151 100644 --- a/drivers/usb/cdns3/cdnsp-mem.c +++ b/drivers/usb/cdns3/cdnsp-mem.c @@ -631,6 +631,7 @@ int cdnsp_alloc_stream_info(struct cdnsp_device *pdev, stream_info->stream_rings[cur_stream] = NULL; } } + cdnsp_free_stream_ctx(pdev, pep); cleanup_stream_rings: kfree(pep->stream_info.stream_rings);
cdnsp_alloc_stream_info() allocates stream context array for stream_info ->stream_ctx_array with cdnsp_alloc_stream_ctx(). When some error occurs, stream_info->stream_ctx_array is not released, which will lead to a memory leak. We can fix it by releasing the stream_info->stream_ctx_array with cdnsp_free_stream_ctx() on the error path to avoid the potential memory leak. Signed-off-by: Jianglei Nie <niejianglei2021@163.com> --- drivers/usb/cdns3/cdnsp-mem.c | 1 + 1 file changed, 1 insertion(+)