Messages in this thread | | | Subject | Re: [PATCH v2] drm/ttm: check the return value of kzalloc | From | Christian König <> | Date | Tue, 2 Jan 2018 13:36:51 +0100 |
| |
Am 02.01.2018 um 13:35 schrieb Xiongwei Song: > In the function ttm_page_alloc_init, kzalloc call is made for variable > _manager, we need to check its return value, it may return NULL. > > Signed-off-by: Xiongwei Song <sxwjean@gmail.com> > --- > v1->v2: delete kfree _manager > --- > drivers/gpu/drm/ttm/ttm_page_alloc.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/ttm/ttm_page_alloc.c b/drivers/gpu/drm/ttm/ttm_page_alloc.c > index b5ba6441489f..583d73edb7df 100644 > --- a/drivers/gpu/drm/ttm/ttm_page_alloc.c > +++ b/drivers/gpu/drm/ttm/ttm_page_alloc.c > @@ -1007,6 +1007,10 @@ int ttm_page_alloc_init(struct ttm_mem_global *glob, unsigned max_pages) > pr_info("Initializing pool allocator\n"); > > _manager = kzalloc(sizeof(*_manager), GFP_KERNEL); > + if (!_manager) { > + ret = -ENOMEM; > + goto out; > + }
A simpler "return -ENOMEM" should do here as well.
Regards, Christian.
> > ttm_page_pool_init_locked(&_manager->wc_pool, GFP_HIGHUSER, "wc", 0); > > @@ -1041,6 +1045,8 @@ int ttm_page_alloc_init(struct ttm_mem_global *glob, unsigned max_pages) > ttm_pool_mm_shrink_init(_manager); > > return 0; > +out: > + return ret; > } > > void ttm_page_alloc_fini(void)
| |