Re: [PATCH v16 2/2] drm/bridge: anx7625: Add anx7625 MIPI DSI/DPI to DP

Xin Ji
2020-09-18T10:06:31Z

On Fri, Sep 18, 2020 at 11:45:34AM +0300, Dan Carpenter wrote:
> Hi Xin,
>
> url: https://github.com/0day-ci/linux/commits/Xin-Ji/Add-initial-support-for-slimport-anx7625/20200917-163238
> base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 5925fa68fe8244651b3f78a88c4af99190a88f0d
> config: mips-randconfig-m031-20200917 (attached as .config)
> compiler: mips-linux-gcc (GCC) 9.3.0
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Hi Dan, OK, I'll fix it right now.
Thanks,
Xin
>
> smatch warnings:
> drivers/gpu/drm/bridge/analogix/anx7625.c:1289 anx7625_get_edid() warn: possible memory leak of 'edid'
>
> # https://github.com/0day-ci/linux/commit/667ee517c70d2bedafe5bfa0dc5f13fc60d5133d
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Xin-Ji/Add-initial-support-for-slimport-anx7625/20200917-163238
> git checkout 667ee517c70d2bedafe5bfa0dc5f13fc60d5133d
> vim +/edid +1289 drivers/gpu/drm/bridge/analogix/anx7625.c
>
> 667ee517c70d2be Xin Ji 2020-09-17 1264 static struct edid *anx7625_get_edid(struct anx7625_data *ctx)
> 667ee517c70d2be Xin Ji 2020-09-17 1265 {
> 667ee517c70d2be Xin Ji 2020-09-17 1266 struct device *dev = &ctx->client->dev;
> 667ee517c70d2be Xin Ji 2020-09-17 1267 struct s_edid_data *p_edid = &ctx->slimport_edid_p;
> 667ee517c70d2be Xin Ji 2020-09-17 1268 int edid_num;
> 667ee517c70d2be Xin Ji 2020-09-17 1269 u8 *edid;
> 667ee517c70d2be Xin Ji 2020-09-17 1270
> 667ee517c70d2be Xin Ji 2020-09-17 1271 edid = kmalloc(FOUR_BLOCK_SIZE, GFP_KERNEL);
> 667ee517c70d2be Xin Ji 2020-09-17 1272 if (!edid) {
> 667ee517c70d2be Xin Ji 2020-09-17 1273 DRM_DEV_ERROR(dev, "Fail to allocate buffer\n");
> 667ee517c70d2be Xin Ji 2020-09-17 1274 return NULL;
> 667ee517c70d2be Xin Ji 2020-09-17 1275 }
> 667ee517c70d2be Xin Ji 2020-09-17 1276
> 667ee517c70d2be Xin Ji 2020-09-17 1277 if (ctx->slimport_edid_p.edid_block_num > 0) {
> 667ee517c70d2be Xin Ji 2020-09-17 1278 memcpy(edid, ctx->slimport_edid_p.edid_raw_data,
> 667ee517c70d2be Xin Ji 2020-09-17 1279 FOUR_BLOCK_SIZE);
> 667ee517c70d2be Xin Ji 2020-09-17 1280 return (struct edid *)edid;
> 667ee517c70d2be Xin Ji 2020-09-17 1281 }
> 667ee517c70d2be Xin Ji 2020-09-17 1282
> 667ee517c70d2be Xin Ji 2020-09-17 1283 anx7625_low_power_mode_check(ctx, 1);
> 667ee517c70d2be Xin Ji 2020-09-17 1284 edid_num = sp_tx_edid_read(ctx, p_edid->edid_raw_data);
> 667ee517c70d2be Xin Ji 2020-09-17 1285 anx7625_low_power_mode_check(ctx, 0);
> 667ee517c70d2be Xin Ji 2020-09-17 1286
> 667ee517c70d2be Xin Ji 2020-09-17 1287 if (edid_num < 1) {
> 667ee517c70d2be Xin Ji 2020-09-17 1288 DRM_DEV_ERROR(dev, "Fail to read EDID: %d\n", edid_num);
> 667ee517c70d2be Xin Ji 2020-09-17 @1289 return NULL;
>
> kfree(edid); before returning.
>
> 667ee517c70d2be Xin Ji 2020-09-17 1290 }
> 667ee517c70d2be Xin Ji 2020-09-17 1291
> 667ee517c70d2be Xin Ji 2020-09-17 1292 p_edid->edid_block_num = edid_num;
> 667ee517c70d2be Xin Ji 2020-09-17 1293
> 667ee517c70d2be Xin Ji 2020-09-17 1294 memcpy(edid, ctx->slimport_edid_p.edid_raw_data, FOUR_BLOCK_SIZE);
> 667ee517c70d2be Xin Ji 2020-09-17 1295 return (struct edid *)edid;
> 667ee517c70d2be Xin Ji 2020-09-17 1296 }
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org