On Fri, Sep 22, 2023 at 8:51 AM Nathan Chancellor <nathan@xxxxxxxxxx> wrote: > > When building with clang: > > drivers/gpu/drm/mediatek/mtk_drm_gem.c:255:10: error: incompatible integer to pointer conversion returning 'int' from a function with result type 'void *' [-Wint-conversion] > 255 | return -ENOMEM; > | ^~~~~~~ > 1 error generated. > > GCC reports the same issue as a warning, rather than an error. > > Prior to commit 7e542ff8b463 ("drm/mediatek: Use struct dma_buf_map in > GEM vmap ops"), this function returned a pointer rather than an integer. > This function is indirectly called in drm_gem_vmap(), which treats NULL > as -ENOMEM through an error pointer. Return NULL in this block to > resolve the warning but keep the same end result. > > Fixes: 43f561e809aa ("drm/mediatek: Fix potential memory leak if vmap() fail") > Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx> (resending as text/plain) Did this get picked up? Our CI has been red for a few days on linux-5.10.y over this. > --- > This is a fix for a 5.10 backport, so it has no upstream relevance but > I've still cc'd the relevant maintainers in case they have any comments > or want to double check my work. > --- > drivers/gpu/drm/mediatek/mtk_drm_gem.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_gem.c b/drivers/gpu/drm/mediatek/mtk_drm_gem.c > index fe64bf2176f3..b20ea58907c2 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_gem.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_gem.c > @@ -252,7 +252,7 @@ void *mtk_drm_gem_prime_vmap(struct drm_gem_object *obj) > if (!mtk_gem->kvaddr) { > kfree(sgt); > kfree(mtk_gem->pages); > - return -ENOMEM; > + return NULL; > } > out: > kfree(sgt); > > --- > base-commit: ff0bfa8f23eb4c5a65ee6b0d0b7dc2e3439f1063 > change-id: 20230922-5-10-fix-drm-mediatek-backport-0ee69329fef0 > > Best regards, > -- > Nathan Chancellor <nathan@xxxxxxxxxx> > > -- Thanks, ~Nick Desaulniers