fbtft_probe_common() allocates a memory chunk for "info" with fbtft_framebuffer_alloc(). When "display->buswidth == 0" is true, the function returns without releasing the "info", which will lead to a memory leak. Fix it by calling fbtft_framebuffer_release() when "display->buswidth == 0" is true. Signed-off-by: Jianglei Nie <niejianglei2021@xxxxxxx> --- drivers/staging/fbtft/fbtft-core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/fbtft/fbtft-core.c b/drivers/staging/fbtft/fbtft-core.c index afaba94d1d1c..ecf595aff786 100644 --- a/drivers/staging/fbtft/fbtft-core.c +++ b/drivers/staging/fbtft/fbtft-core.c @@ -1225,6 +1225,7 @@ int fbtft_probe_common(struct fbtft_display *display, if (display->buswidth == 0) { dev_err(dev, "buswidth is not set\n"); + fbtft_framebuffer_release(info); return -EINVAL; } -- 2.25.1