* [bug report] drm/ast: Handle failed I2C initialization gracefully
@ 2022-01-06 10:19 Dan Carpenter
0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2022-01-06 10:19 UTC (permalink / raw)
To: tzimmermann; +Cc: dri-devel
Hello Thomas Zimmermann,
The patch 55dc449a7c60: "drm/ast: Handle failed I2C initialization
gracefully" from Dec 6, 2021, leads to the following Smatch static
checker warning:
drivers/gpu/drm/ast/ast_mode.c:1232 ast_get_modes()
warn: passing freed memory 'edid'
drivers/gpu/drm/ast/ast_mode.c
1209 static int ast_get_modes(struct drm_connector *connector)
1210 {
1211 struct ast_connector *ast_connector = to_ast_connector(connector);
1212 struct ast_private *ast = to_ast_private(connector->dev);
1213 struct edid *edid = NULL;
1214 bool flags = false;
1215 int ret;
1216
1217 if (ast->tx_chip_type == AST_TX_DP501) {
1218 ast->dp501_maxclk = 0xff;
1219 edid = kmalloc(128, GFP_KERNEL);
1220 if (!edid)
1221 return -ENOMEM;
1222
1223 flags = ast_dp501_read_edid(connector->dev, (u8 *)edid);
1224 if (flags)
1225 ast->dp501_maxclk = ast_get_dp501_max_clk(connector->dev);
1226 else
1227 kfree(edid);
kfree
1228 }
1229 if (!flags && ast_connector->i2c)
1230 edid = drm_get_edid(connector, &ast_connector->i2c->adapter);
If "!flags" is true but "ast_connector->i2c" is false
1231 if (edid) {
--> 1232 drm_connector_update_edid_property(&ast_connector->base, edid);
Then perhaps "edid" is free here.
1233 ret = drm_add_edid_modes(connector, edid);
1234 kfree(edid);
1235 return ret;
1236 }
1237 drm_connector_update_edid_property(&ast_connector->base, NULL);
1238 return 0;
1239 }
regards,
dan carpenter
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-01-06 10:20 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-06 10:19 [bug report] drm/ast: Handle failed I2C initialization gracefully Dan Carpenter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).