* More smatch fixes @ 2017-11-06 23:54 Ernst Sjöstrand [not found] ` <20171106235442.20636-1-ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 0 siblings, 1 reply; 9+ messages in thread From: Ernst Sjöstrand @ 2017-11-06 23:54 UTC (permalink / raw) To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW I saw the previous smatch fixes and thought I would try to fix a few. Since the other patches were applied to agd5f/amd-staging-drm-next I continued there. _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <20171106235442.20636-1-ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* [PATCH 1/3] amdgpu/dc: fix more indentation warnings [not found] ` <20171106235442.20636-1-ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2017-11-06 23:54 ` Ernst Sjöstrand 2017-11-06 23:54 ` [PATCH 2/3] amdgpu/dc: Fix potential null dereference in amdgpu_dm.c Ernst Sjöstrand 2017-11-06 23:54 ` [PATCH 3/3] amdgpu/dc: Fix missing null checks " Ernst Sjöstrand 2 siblings, 0 replies; 9+ messages in thread From: Ernst Sjöstrand @ 2017-11-06 23:54 UTC (permalink / raw) To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Ernst Sjöstrand More "warn: inconsistent indenting" fixes from smatch. Signed-off-by: Ernst Sjöstrand <ernstp@gmail.com> --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 10 +++++----- .../gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 67cad46f9f15..e6bfa9f30900 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -517,7 +517,7 @@ static int detect_mst_link_for_all_connectors(struct drm_device *dev) drm_modeset_lock(&dev->mode_config.connection_mutex, NULL); list_for_each_entry(connector, &dev->mode_config.connector_list, head) { - aconnector = to_amdgpu_dm_connector(connector); + aconnector = to_amdgpu_dm_connector(connector); if (aconnector->dc_link->type == dc_connection_mst_branch) { DRM_DEBUG_DRIVER("DM_MST: starting TM on aconnector: %p [id: %d]\n", aconnector, aconnector->base.base.id); @@ -4754,10 +4754,10 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev, goto fail; } - /* Run this here since we want to validate the streams we created */ - ret = drm_atomic_helper_check_planes(dev, state); - if (ret) - goto fail; + /* Run this here since we want to validate the streams we created */ + ret = drm_atomic_helper_check_planes(dev, state); + if (ret) + goto fail; /* Check scaling and underscan changes*/ /*TODO Removed scaling changes validation due to inability to commit diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c index 0c4bbc10510d..81f9f3e34c10 100644 --- a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c +++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/aux_engine_dce110.c @@ -318,7 +318,7 @@ static void process_channel_reply( REG_GET(AUX_SW_DATA, AUX_SW_DATA, &aux_sw_data_val); - reply->data[i] = aux_sw_data_val; + reply->data[i] = aux_sw_data_val; ++i; } -- 2.14.1 _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/3] amdgpu/dc: Fix potential null dereference in amdgpu_dm.c [not found] ` <20171106235442.20636-1-ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-11-06 23:54 ` [PATCH 1/3] amdgpu/dc: fix more indentation warnings Ernst Sjöstrand @ 2017-11-06 23:54 ` Ernst Sjöstrand [not found] ` <20171106235442.20636-3-ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-11-06 23:54 ` [PATCH 3/3] amdgpu/dc: Fix missing null checks " Ernst Sjöstrand 2 siblings, 1 reply; 9+ messages in thread From: Ernst Sjöstrand @ 2017-11-06 23:54 UTC (permalink / raw) To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Ernst Sjöstrand Signed-off-by: Ernst Sjöstrand <ernstp@gmail.com> --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index e6bfa9f30900..2301589e4cc3 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -2413,6 +2413,8 @@ dm_crtc_duplicate_state(struct drm_crtc *crtc) return NULL; state = kzalloc(sizeof(*state), GFP_KERNEL); + if (!state) + return NULL; __drm_atomic_helper_crtc_duplicate_state(crtc, &state->base); @@ -3443,6 +3445,8 @@ create_i2c(struct ddc_service *ddc_service, struct amdgpu_i2c_adapter *i2c; i2c = kzalloc(sizeof(struct amdgpu_i2c_adapter), GFP_KERNEL); + if (!i2c) + return NULL; i2c->base.owner = THIS_MODULE; i2c->base.class = I2C_CLASS_DDC; i2c->base.dev.parent = &adev->pdev->dev; @@ -3473,6 +3477,11 @@ static int amdgpu_dm_connector_init(struct amdgpu_display_manager *dm, DRM_DEBUG_DRIVER("%s()\n", __func__); i2c = create_i2c(link->ddc, link->link_index, &res); + if (!i2c) { + DRM_ERROR("Failed to create i2c adapter data\n"); + return -1; + } + aconnector->i2c = i2c; res = i2c_add_adapter(&i2c->base); -- 2.14.1 _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply related [flat|nested] 9+ messages in thread
[parent not found: <20171106235442.20636-3-ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* RE: [PATCH 2/3] amdgpu/dc: Fix potential null dereference in amdgpu_dm.c [not found] ` <20171106235442.20636-3-ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2017-11-07 14:15 ` Deucher, Alexander 0 siblings, 0 replies; 9+ messages in thread From: Deucher, Alexander @ 2017-11-07 14:15 UTC (permalink / raw) To: 'Ernst Sjöstrand', amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW > -----Original Message----- > From: amd-gfx [mailto:amd-gfx-bounces@lists.freedesktop.org] On Behalf > Of Ernst Sjöstrand > Sent: Monday, November 06, 2017 6:55 PM > To: amd-gfx@lists.freedesktop.org > Cc: Ernst Sjöstrand > Subject: [PATCH 2/3] amdgpu/dc: Fix potential null dereference in > amdgpu_dm.c > > Signed-off-by: Ernst Sjöstrand <ernstp@gmail.com> > --- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > index e6bfa9f30900..2301589e4cc3 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > @@ -2413,6 +2413,8 @@ dm_crtc_duplicate_state(struct drm_crtc *crtc) > return NULL; > > state = kzalloc(sizeof(*state), GFP_KERNEL); > + if (!state) > + return NULL; > > __drm_atomic_helper_crtc_duplicate_state(crtc, &state->base); > > @@ -3443,6 +3445,8 @@ create_i2c(struct ddc_service *ddc_service, > struct amdgpu_i2c_adapter *i2c; > > i2c = kzalloc(sizeof(struct amdgpu_i2c_adapter), GFP_KERNEL); > + if (!i2c) > + return NULL; > i2c->base.owner = THIS_MODULE; > i2c->base.class = I2C_CLASS_DDC; > i2c->base.dev.parent = &adev->pdev->dev; > @@ -3473,6 +3477,11 @@ static int amdgpu_dm_connector_init(struct > amdgpu_display_manager *dm, > DRM_DEBUG_DRIVER("%s()\n", __func__); > > i2c = create_i2c(link->ddc, link->link_index, &res); > + if (!i2c) { > + DRM_ERROR("Failed to create i2c adapter data\n"); > + return -1; Please return -ENOMEM here. Alex > + } > + > aconnector->i2c = i2c; > res = i2c_add_adapter(&i2c->base); > > -- > 2.14.1 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 3/3] amdgpu/dc: Fix missing null checks in amdgpu_dm.c [not found] ` <20171106235442.20636-1-ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-11-06 23:54 ` [PATCH 1/3] amdgpu/dc: fix more indentation warnings Ernst Sjöstrand 2017-11-06 23:54 ` [PATCH 2/3] amdgpu/dc: Fix potential null dereference in amdgpu_dm.c Ernst Sjöstrand @ 2017-11-06 23:54 ` Ernst Sjöstrand [not found] ` <20171106235442.20636-4-ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2 siblings, 1 reply; 9+ messages in thread From: Ernst Sjöstrand @ 2017-11-06 23:54 UTC (permalink / raw) To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Ernst Sjöstrand From smatch: error: we previously assumed X could be null Signed-off-by: Ernst Sjöstrand <ernstp@gmail.com> --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 2301589e4cc3..d036178c2241 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -432,8 +432,10 @@ static int amdgpu_dm_init(struct amdgpu_device *adev) if (adev->dm.dc) DRM_INFO("Display Core initialized!\n"); - else + else { DRM_INFO("Display Core failed to initialize!\n"); + goto error; + } INIT_WORK(&adev->dm.mst_hotplug_work, hotplug_notify_work_func); @@ -2263,7 +2265,7 @@ decide_crtc_timing_for_drm_display_mode(struct drm_display_mode *drm_mode, } } -static void create_fake_sink(struct amdgpu_dm_connector *aconnector) +static int create_fake_sink(struct amdgpu_dm_connector *aconnector) { struct dc_sink *sink = NULL; struct dc_sink_init_data sink_init_data = { 0 }; @@ -2272,14 +2274,18 @@ static void create_fake_sink(struct amdgpu_dm_connector *aconnector) sink_init_data.sink_signal = aconnector->dc_link->connector_signal; sink = dc_sink_create(&sink_init_data); - if (!sink) + if (!sink) { DRM_ERROR("Failed to create sink!\n"); + return -1; + } sink->sink_signal = SIGNAL_TYPE_VIRTUAL; aconnector->fake_enable = true; aconnector->dc_sink = sink; aconnector->dc_link->local_sink = sink; + + return 0; } static struct dc_stream_state * @@ -2313,7 +2319,8 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector, if (aconnector->mst_port) goto stream_create_fail; - create_fake_sink(aconnector); + if (create_fake_sink(aconnector)) + goto stream_create_fail; } stream = dc_create_stream_for_sink(aconnector->dc_sink); -- 2.14.1 _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply related [flat|nested] 9+ messages in thread
[parent not found: <20171106235442.20636-4-ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH 3/3] amdgpu/dc: Fix missing null checks in amdgpu_dm.c [not found] ` <20171106235442.20636-4-ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2017-11-07 10:33 ` Christian König 2017-11-07 14:18 ` Deucher, Alexander 1 sibling, 0 replies; 9+ messages in thread From: Christian König @ 2017-11-07 10:33 UTC (permalink / raw) To: Ernst Sjöstrand, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW Am 07.11.2017 um 00:54 schrieb Ernst Sjöstrand: > From smatch: > error: we previously assumed X could be null > > Signed-off-by: Ernst Sjöstrand <ernstp@gmail.com> > --- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > index 2301589e4cc3..d036178c2241 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > @@ -432,8 +432,10 @@ static int amdgpu_dm_init(struct amdgpu_device *adev) > > if (adev->dm.dc) > DRM_INFO("Display Core initialized!\n"); > - else > + else { > DRM_INFO("Display Core failed to initialize!\n"); > + goto error; > + } One minor coding style nit pick here: When one part of an if/else has {} the other one should have that as well. E.g. if { ... } else { ... }. Apart from that thanks a lot for the help, the whole series is Acked-by: Christian König <christian.koenig@amd.com>. Regards, Christian. > > INIT_WORK(&adev->dm.mst_hotplug_work, hotplug_notify_work_func); > > @@ -2263,7 +2265,7 @@ decide_crtc_timing_for_drm_display_mode(struct drm_display_mode *drm_mode, > } > } > > -static void create_fake_sink(struct amdgpu_dm_connector *aconnector) > +static int create_fake_sink(struct amdgpu_dm_connector *aconnector) > { > struct dc_sink *sink = NULL; > struct dc_sink_init_data sink_init_data = { 0 }; > @@ -2272,14 +2274,18 @@ static void create_fake_sink(struct amdgpu_dm_connector *aconnector) > sink_init_data.sink_signal = aconnector->dc_link->connector_signal; > > sink = dc_sink_create(&sink_init_data); > - if (!sink) > + if (!sink) { > DRM_ERROR("Failed to create sink!\n"); > + return -1; > + } > > sink->sink_signal = SIGNAL_TYPE_VIRTUAL; > aconnector->fake_enable = true; > > aconnector->dc_sink = sink; > aconnector->dc_link->local_sink = sink; > + > + return 0; > } > > static struct dc_stream_state * > @@ -2313,7 +2319,8 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector, > if (aconnector->mst_port) > goto stream_create_fail; > > - create_fake_sink(aconnector); > + if (create_fake_sink(aconnector)) > + goto stream_create_fail; > } > > stream = dc_create_stream_for_sink(aconnector->dc_sink); _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH 3/3] amdgpu/dc: Fix missing null checks in amdgpu_dm.c [not found] ` <20171106235442.20636-4-ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-11-07 10:33 ` Christian König @ 2017-11-07 14:18 ` Deucher, Alexander [not found] ` <BN6PR12MB16521997C895FAC6062A77FAF7510-/b2+HYfkarQqUD6E6FAiowdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org> 1 sibling, 1 reply; 9+ messages in thread From: Deucher, Alexander @ 2017-11-07 14:18 UTC (permalink / raw) To: 'Ernst Sjöstrand', amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW > -----Original Message----- > From: amd-gfx [mailto:amd-gfx-bounces@lists.freedesktop.org] On Behalf > Of Ernst Sjöstrand > Sent: Monday, November 06, 2017 6:55 PM > To: amd-gfx@lists.freedesktop.org > Cc: Ernst Sjöstrand > Subject: [PATCH 3/3] amdgpu/dc: Fix missing null checks in amdgpu_dm.c > > From smatch: > error: we previously assumed X could be null > > Signed-off-by: Ernst Sjöstrand <ernstp@gmail.com> > --- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 15 > +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > index 2301589e4cc3..d036178c2241 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > @@ -432,8 +432,10 @@ static int amdgpu_dm_init(struct amdgpu_device > *adev) > > if (adev->dm.dc) > DRM_INFO("Display Core initialized!\n"); > - else > + else { > DRM_INFO("Display Core failed to initialize!\n"); > + goto error; > + } Coding style nit, please add {} around the top clause as well. > > INIT_WORK(&adev->dm.mst_hotplug_work, > hotplug_notify_work_func); > > @@ -2263,7 +2265,7 @@ decide_crtc_timing_for_drm_display_mode(struct > drm_display_mode *drm_mode, > } > } > > -static void create_fake_sink(struct amdgpu_dm_connector *aconnector) > +static int create_fake_sink(struct amdgpu_dm_connector *aconnector) > { > struct dc_sink *sink = NULL; > struct dc_sink_init_data sink_init_data = { 0 }; > @@ -2272,14 +2274,18 @@ static void create_fake_sink(struct > amdgpu_dm_connector *aconnector) > sink_init_data.sink_signal = aconnector->dc_link->connector_signal; > > sink = dc_sink_create(&sink_init_data); > - if (!sink) > + if (!sink) { > DRM_ERROR("Failed to create sink!\n"); > + return -1; Please return a proper error code here. Alex > + } > > sink->sink_signal = SIGNAL_TYPE_VIRTUAL; > aconnector->fake_enable = true; > > aconnector->dc_sink = sink; > aconnector->dc_link->local_sink = sink; > + > + return 0; > } > > static struct dc_stream_state * > @@ -2313,7 +2319,8 @@ create_stream_for_sink(struct > amdgpu_dm_connector *aconnector, > if (aconnector->mst_port) > goto stream_create_fail; > > - create_fake_sink(aconnector); > + if (create_fake_sink(aconnector)) > + goto stream_create_fail; > } > > stream = dc_create_stream_for_sink(aconnector->dc_sink); > -- > 2.14.1 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <BN6PR12MB16521997C895FAC6062A77FAF7510-/b2+HYfkarQqUD6E6FAiowdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>]
* Re: [PATCH 3/3] amdgpu/dc: Fix missing null checks in amdgpu_dm.c [not found] ` <BN6PR12MB16521997C895FAC6062A77FAF7510-/b2+HYfkarQqUD6E6FAiowdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org> @ 2017-11-07 19:52 ` Ernst Sjöstrand [not found] ` <CAD=4a=XB89VfDF2Vjk-7diHjuNFT14f3+-Am79mnUMqa5-bPiw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 9+ messages in thread From: Ernst Sjöstrand @ 2017-11-07 19:52 UTC (permalink / raw) To: Deucher, Alexander; +Cc: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW 2017-11-07 15:18 GMT+01:00 Deucher, Alexander <Alexander.Deucher@amd.com>: >> -----Original Message----- >> From: amd-gfx [mailto:amd-gfx-bounces@lists.freedesktop.org] On Behalf >> Of Ernst Sjöstrand >> Sent: Monday, November 06, 2017 6:55 PM >> To: amd-gfx@lists.freedesktop.org >> Cc: Ernst Sjöstrand >> Subject: [PATCH 3/3] amdgpu/dc: Fix missing null checks in amdgpu_dm.c >> >> From smatch: >> error: we previously assumed X could be null >> >> Signed-off-by: Ernst Sjöstrand <ernstp@gmail.com> >> --- >> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 15 >> +++++++++++---- >> 1 file changed, 11 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c >> b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c >> index 2301589e4cc3..d036178c2241 100644 >> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c >> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c >> @@ -432,8 +432,10 @@ static int amdgpu_dm_init(struct amdgpu_device >> *adev) >> >> if (adev->dm.dc) >> DRM_INFO("Display Core initialized!\n"); >> - else >> + else { >> DRM_INFO("Display Core failed to initialize!\n"); >> + goto error; >> + } > > Coding style nit, please add {} around the top clause as well. > >> >> INIT_WORK(&adev->dm.mst_hotplug_work, >> hotplug_notify_work_func); >> >> @@ -2263,7 +2265,7 @@ decide_crtc_timing_for_drm_display_mode(struct >> drm_display_mode *drm_mode, >> } >> } >> >> -static void create_fake_sink(struct amdgpu_dm_connector *aconnector) >> +static int create_fake_sink(struct amdgpu_dm_connector *aconnector) >> { >> struct dc_sink *sink = NULL; >> struct dc_sink_init_data sink_init_data = { 0 }; >> @@ -2272,14 +2274,18 @@ static void create_fake_sink(struct >> amdgpu_dm_connector *aconnector) >> sink_init_data.sink_signal = aconnector->dc_link->connector_signal; >> >> sink = dc_sink_create(&sink_init_data); >> - if (!sink) >> + if (!sink) { >> DRM_ERROR("Failed to create sink!\n"); >> + return -1; > > Please return a proper error code here. > > Alex I would have to refactor it a bit, it could be both a construct fail and an alloc fail, we just get null. //Ernst >> + } >> >> sink->sink_signal = SIGNAL_TYPE_VIRTUAL; >> aconnector->fake_enable = true; >> >> aconnector->dc_sink = sink; >> aconnector->dc_link->local_sink = sink; >> + >> + return 0; >> } >> >> static struct dc_stream_state * >> @@ -2313,7 +2319,8 @@ create_stream_for_sink(struct >> amdgpu_dm_connector *aconnector, >> if (aconnector->mst_port) >> goto stream_create_fail; >> >> - create_fake_sink(aconnector); >> + if (create_fake_sink(aconnector)) >> + goto stream_create_fail; >> } >> >> stream = dc_create_stream_for_sink(aconnector->dc_sink); >> -- >> 2.14.1 >> >> _______________________________________________ >> amd-gfx mailing list >> amd-gfx@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <CAD=4a=XB89VfDF2Vjk-7diHjuNFT14f3+-Am79mnUMqa5-bPiw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH 3/3] amdgpu/dc: Fix missing null checks in amdgpu_dm.c [not found] ` <CAD=4a=XB89VfDF2Vjk-7diHjuNFT14f3+-Am79mnUMqa5-bPiw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2017-11-07 19:57 ` Alex Deucher 0 siblings, 0 replies; 9+ messages in thread From: Alex Deucher @ 2017-11-07 19:57 UTC (permalink / raw) To: Ernst Sjöstrand Cc: Deucher, Alexander, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW On Tue, Nov 7, 2017 at 2:52 PM, Ernst Sjöstrand <ernstp@gmail.com> wrote: > 2017-11-07 15:18 GMT+01:00 Deucher, Alexander <Alexander.Deucher@amd.com>: >>> -----Original Message----- >>> From: amd-gfx [mailto:amd-gfx-bounces@lists.freedesktop.org] On Behalf >>> Of Ernst Sjöstrand >>> Sent: Monday, November 06, 2017 6:55 PM >>> To: amd-gfx@lists.freedesktop.org >>> Cc: Ernst Sjöstrand >>> Subject: [PATCH 3/3] amdgpu/dc: Fix missing null checks in amdgpu_dm.c >>> >>> From smatch: >>> error: we previously assumed X could be null >>> >>> Signed-off-by: Ernst Sjöstrand <ernstp@gmail.com> >>> --- >>> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 15 >>> +++++++++++---- >>> 1 file changed, 11 insertions(+), 4 deletions(-) >>> >>> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c >>> b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c >>> index 2301589e4cc3..d036178c2241 100644 >>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c >>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c >>> @@ -432,8 +432,10 @@ static int amdgpu_dm_init(struct amdgpu_device >>> *adev) >>> >>> if (adev->dm.dc) >>> DRM_INFO("Display Core initialized!\n"); >>> - else >>> + else { >>> DRM_INFO("Display Core failed to initialize!\n"); >>> + goto error; >>> + } >> >> Coding style nit, please add {} around the top clause as well. >> >>> >>> INIT_WORK(&adev->dm.mst_hotplug_work, >>> hotplug_notify_work_func); >>> >>> @@ -2263,7 +2265,7 @@ decide_crtc_timing_for_drm_display_mode(struct >>> drm_display_mode *drm_mode, >>> } >>> } >>> >>> -static void create_fake_sink(struct amdgpu_dm_connector *aconnector) >>> +static int create_fake_sink(struct amdgpu_dm_connector *aconnector) >>> { >>> struct dc_sink *sink = NULL; >>> struct dc_sink_init_data sink_init_data = { 0 }; >>> @@ -2272,14 +2274,18 @@ static void create_fake_sink(struct >>> amdgpu_dm_connector *aconnector) >>> sink_init_data.sink_signal = aconnector->dc_link->connector_signal; >>> >>> sink = dc_sink_create(&sink_init_data); >>> - if (!sink) >>> + if (!sink) { >>> DRM_ERROR("Failed to create sink!\n"); >>> + return -1; >> >> Please return a proper error code here. >> >> Alex > > I would have to refactor it a bit, it could be both a construct fail > and an alloc fail, we just get null. -ENOMEM is fine Alex > > //Ernst > >>> + } >>> >>> sink->sink_signal = SIGNAL_TYPE_VIRTUAL; >>> aconnector->fake_enable = true; >>> >>> aconnector->dc_sink = sink; >>> aconnector->dc_link->local_sink = sink; >>> + >>> + return 0; >>> } >>> >>> static struct dc_stream_state * >>> @@ -2313,7 +2319,8 @@ create_stream_for_sink(struct >>> amdgpu_dm_connector *aconnector, >>> if (aconnector->mst_port) >>> goto stream_create_fail; >>> >>> - create_fake_sink(aconnector); >>> + if (create_fake_sink(aconnector)) >>> + goto stream_create_fail; >>> } >>> >>> stream = dc_create_stream_for_sink(aconnector->dc_sink); >>> -- >>> 2.14.1 >>> >>> _______________________________________________ >>> amd-gfx mailing list >>> amd-gfx@lists.freedesktop.org >>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2017-11-07 19:57 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-11-06 23:54 More smatch fixes Ernst Sjöstrand [not found] ` <20171106235442.20636-1-ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-11-06 23:54 ` [PATCH 1/3] amdgpu/dc: fix more indentation warnings Ernst Sjöstrand 2017-11-06 23:54 ` [PATCH 2/3] amdgpu/dc: Fix potential null dereference in amdgpu_dm.c Ernst Sjöstrand [not found] ` <20171106235442.20636-3-ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-11-07 14:15 ` Deucher, Alexander 2017-11-06 23:54 ` [PATCH 3/3] amdgpu/dc: Fix missing null checks " Ernst Sjöstrand [not found] ` <20171106235442.20636-4-ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-11-07 10:33 ` Christian König 2017-11-07 14:18 ` Deucher, Alexander [not found] ` <BN6PR12MB16521997C895FAC6062A77FAF7510-/b2+HYfkarQqUD6E6FAiowdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org> 2017-11-07 19:52 ` Ernst Sjöstrand [not found] ` <CAD=4a=XB89VfDF2Vjk-7diHjuNFT14f3+-Am79mnUMqa5-bPiw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2017-11-07 19:57 ` Alex Deucher
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.