[bug report] drm/amd/display: If one stream full updates, full update all planes
Dan Carpenter
dan.carpenter at oracle.com
Tue Apr 23 14:10:56 UTC 2019
Hello David Francis,
This is a semi-automatic email about new static checker warnings.
The patch c238bfe0be9e: "drm/amd/display: If one stream full updates,
full update all planes" from Mar 29, 2019, leads to the following
Smatch complaint:
drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:1492 det_surface_update()
warn: variable dereferenced before check 'u->surface' (see line 1467)
drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c
1466
1467 if (u->surface->force_full_update) {
^^^^^^^^^^^^
The patch adds a new dereference
1468 update_flags->bits.full_update = 1;
1469 return UPDATE_TYPE_FULL;
1470 }
1471
1472 type = get_plane_info_update_type(u);
1473 elevate_update_type(&overall_type, type);
1474
1475 type = get_scaling_info_update_type(u);
1476 elevate_update_type(&overall_type, type);
1477
1478 if (u->in_transfer_func)
1479 update_flags->bits.in_transfer_func_change = 1;
1480
1481 if (u->input_csc_color_matrix)
1482 update_flags->bits.input_csc_change = 1;
1483
1484 if (u->coeff_reduction_factor)
1485 update_flags->bits.coeff_reduction_change = 1;
1486
1487 if (u->gamma) {
1488 enum surface_pixel_format format = SURFACE_PIXEL_FORMAT_GRPH_BEGIN;
1489
1490 if (u->plane_info)
1491 format = u->plane_info->format;
1492 else if (u->surface)
^^^^^^^^^^
But the old code assumed it could be NULL
1493 format = u->surface->format;
1494
regards,
dan carpenter
More information about the amd-gfx
mailing list