drm/loongson: Add a check for lsdc_bo_create() errors
authorDan Carpenter <dan.carpenter@linaro.org>
Wed, 19 Jul 2023 08:45:02 +0000 (11:45 +0300)
committerSui Jingfeng <sui.jingfeng@linux.dev>
Fri, 4 Aug 2023 05:31:32 +0000 (13:31 +0800)
This code doesn't check for lsdc_bo_create() failure and it could lead
to a crash.  It can fail for a variety of reasons, but the most common
cause would be low memory.  Add a check.

Fixes: f39db26c5428 ("drm: Add kms driver for loongson display controller")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Sui Jingfeng <suijingfeng@loongson.cn>
Signed-off-by: Sui Jingfeng <sui.jingfeng@linux.dev>
Link: https://patchwork.freedesktop.org/patch/msgid/ZLeijglIMPve2Iio@kadam
drivers/gpu/drm/loongson/lsdc_ttm.c

index bb0c8fd..bf79dc5 100644 (file)
@@ -496,6 +496,8 @@ struct lsdc_bo *lsdc_bo_create_kernel_pinned(struct drm_device *ddev,
        int ret;
 
        lbo = lsdc_bo_create(ddev, domain, size, true, NULL, NULL);
+       if (IS_ERR(lbo))
+               return ERR_CAST(lbo);
 
        ret = lsdc_bo_reserve(lbo);
        if (unlikely(ret)) {