* [PATCH][V2] drm/nouveau: perform null check on msto[i] rathern than msto
@ 2017-08-17 22:03 Colin King
2017-08-17 22:07 ` Ilia Mirkin
0 siblings, 1 reply; 5+ messages in thread
From: Colin King @ 2017-08-17 22:03 UTC (permalink / raw)
To: Ben Skeggs, David Airlie, dri-devel, nouveau
Cc: kernel-janitors, linux-kernel
From: Colin Ian King <colin.king@canonical.com>
The null check on the array msto is incorrect since msto is never
null. The null check should be instead on msto[i] since this is
being dereferenced in the call to drm_mode_connector_attach_encoder.
Thanks to Emil Velikov for pointing out the mistake in my original
fix and for suggesting the correct fix.
Detected by CoverityScan, CID#1375915 ("Array compared against 0")
Fixes: f479c0ba4a17 ("drm/nouveau/kms/nv50: initial support for DP 1.2 multi-stream")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
drivers/gpu/drm/nouveau/nv50_display.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
index f7b4326a4641..ed444ecd9e85 100644
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@ -3141,7 +3141,7 @@ nv50_mstc_new(struct nv50_mstm *mstm, struct drm_dp_mst_port *port,
mstc->connector.funcs->reset(&mstc->connector);
nouveau_conn_attach_properties(&mstc->connector);
- for (i = 0; i < ARRAY_SIZE(mstm->msto) && mstm->msto; i++)
+ for (i = 0; i < ARRAY_SIZE(mstm->msto) && mstm->msto[i]; i++)
drm_mode_connector_attach_encoder(&mstc->connector, &mstm->msto[i]->encoder);
drm_object_attach_property(&mstc->connector.base, dev->mode_config.path_property, 0);
--
2.11.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH][V2] drm/nouveau: perform null check on msto[i] rathern than msto
2017-08-17 22:03 [PATCH][V2] drm/nouveau: perform null check on msto[i] rathern than msto Colin King
@ 2017-08-17 22:07 ` Ilia Mirkin
2017-08-17 22:16 ` Colin Ian King
0 siblings, 1 reply; 5+ messages in thread
From: Ilia Mirkin @ 2017-08-17 22:07 UTC (permalink / raw)
To: Colin King
Cc: Ben Skeggs, David Airlie, dri-devel, nouveau, kernel-janitors,
linux-kernel
On Thu, Aug 17, 2017 at 6:03 PM, Colin King <colin.king@canonical.com> wrote:
> From: Colin Ian King <colin.king@canonical.com>
>
> The null check on the array msto is incorrect since msto is never
> null. The null check should be instead on msto[i] since this is
> being dereferenced in the call to drm_mode_connector_attach_encoder.
>
> Thanks to Emil Velikov for pointing out the mistake in my original
> fix and for suggesting the correct fix.
>
> Detected by CoverityScan, CID#1375915 ("Array compared against 0")
>
> Fixes: f479c0ba4a17 ("drm/nouveau/kms/nv50: initial support for DP 1.2 multi-stream")
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> ---
> drivers/gpu/drm/nouveau/nv50_display.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
> index f7b4326a4641..ed444ecd9e85 100644
> --- a/drivers/gpu/drm/nouveau/nv50_display.c
> +++ b/drivers/gpu/drm/nouveau/nv50_display.c
> @@ -3141,7 +3141,7 @@ nv50_mstc_new(struct nv50_mstm *mstm, struct drm_dp_mst_port *port,
> mstc->connector.funcs->reset(&mstc->connector);
> nouveau_conn_attach_properties(&mstc->connector);
>
> - for (i = 0; i < ARRAY_SIZE(mstm->msto) && mstm->msto; i++)
> + for (i = 0; i < ARRAY_SIZE(mstm->msto) && mstm->msto[i]; i++)
Ben will have to rule on which way is correct, but another
interpretation is that it should be
for (...; i < ARRAY_SIZE; i++)
if (mstm->msto[i])
do_stuff()
I haven't the faintest clue whether the msto array can have "holes" or not.
> drm_mode_connector_attach_encoder(&mstc->connector, &mstm->msto[i]->encoder);
>
> drm_object_attach_property(&mstc->connector.base, dev->mode_config.path_property, 0);
> --
> 2.11.0
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH][V2] drm/nouveau: perform null check on msto[i] rathern than msto
2017-08-17 22:07 ` Ilia Mirkin
@ 2017-08-17 22:16 ` Colin Ian King
2017-08-17 22:20 ` [Nouveau] " Ben Skeggs
0 siblings, 1 reply; 5+ messages in thread
From: Colin Ian King @ 2017-08-17 22:16 UTC (permalink / raw)
To: Ilia Mirkin
Cc: Ben Skeggs, David Airlie, dri-devel, nouveau, kernel-janitors,
linux-kernel
On 17/08/17 23:07, Ilia Mirkin wrote:
> On Thu, Aug 17, 2017 at 6:03 PM, Colin King <colin.king@canonical.com> wrote:
>> From: Colin Ian King <colin.king@canonical.com>
>>
>> The null check on the array msto is incorrect since msto is never
>> null. The null check should be instead on msto[i] since this is
>> being dereferenced in the call to drm_mode_connector_attach_encoder.
>>
>> Thanks to Emil Velikov for pointing out the mistake in my original
>> fix and for suggesting the correct fix.
>>
>> Detected by CoverityScan, CID#1375915 ("Array compared against 0")
>>
>> Fixes: f479c0ba4a17 ("drm/nouveau/kms/nv50: initial support for DP 1.2 multi-stream")
>> Signed-off-by: Colin Ian King <colin.king@canonical.com>
>> ---
>> drivers/gpu/drm/nouveau/nv50_display.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
>> index f7b4326a4641..ed444ecd9e85 100644
>> --- a/drivers/gpu/drm/nouveau/nv50_display.c
>> +++ b/drivers/gpu/drm/nouveau/nv50_display.c
>> @@ -3141,7 +3141,7 @@ nv50_mstc_new(struct nv50_mstm *mstm, struct drm_dp_mst_port *port,
>> mstc->connector.funcs->reset(&mstc->connector);
>> nouveau_conn_attach_properties(&mstc->connector);
>>
>> - for (i = 0; i < ARRAY_SIZE(mstm->msto) && mstm->msto; i++)
>> + for (i = 0; i < ARRAY_SIZE(mstm->msto) && mstm->msto[i]; i++)
>
> Ben will have to rule on which way is correct, but another
> interpretation is that it should be
>
> for (...; i < ARRAY_SIZE; i++)
> if (mstm->msto[i])
> do_stuff()
Yes, I suspect that is a better generic solution top cope with potential
"holes".
>
> I haven't the faintest clue whether the msto array can have "holes" or not.
Indeed. Let's see what Ben says.
>
>> drm_mode_connector_attach_encoder(&mstc->connector, &mstm->msto[i]->encoder);
>>
>> drm_object_attach_property(&mstc->connector.base, dev->mode_config.path_property, 0);
>> --
>> 2.11.0
>>
> --
> To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Nouveau] [PATCH][V2] drm/nouveau: perform null check on msto[i] rathern than msto
2017-08-17 22:16 ` Colin Ian King
@ 2017-08-17 22:20 ` Ben Skeggs
2017-08-17 22:23 ` Ben Skeggs
0 siblings, 1 reply; 5+ messages in thread
From: Ben Skeggs @ 2017-08-17 22:20 UTC (permalink / raw)
To: Colin Ian King, Ilia Mirkin
Cc: David Airlie, nouveau, kernel-janitors, linux-kernel, dri-devel,
Ben Skeggs
[-- Attachment #1.1: Type: text/plain, Size: 2651 bytes --]
On 08/18/2017 08:16 AM, Colin Ian King wrote:
> On 17/08/17 23:07, Ilia Mirkin wrote:
>> On Thu, Aug 17, 2017 at 6:03 PM, Colin King <colin.king@canonical.com> wrote:
>>> From: Colin Ian King <colin.king@canonical.com>
>>>
>>> The null check on the array msto is incorrect since msto is never
>>> null. The null check should be instead on msto[i] since this is
>>> being dereferenced in the call to drm_mode_connector_attach_encoder.
>>>
>>> Thanks to Emil Velikov for pointing out the mistake in my original
>>> fix and for suggesting the correct fix.
>>>
>>> Detected by CoverityScan, CID#1375915 ("Array compared against 0")
>>>
>>> Fixes: f479c0ba4a17 ("drm/nouveau/kms/nv50: initial support for DP 1.2 multi-stream")
>>> Signed-off-by: Colin Ian King <colin.king@canonical.com>
>>> ---
>>> drivers/gpu/drm/nouveau/nv50_display.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
>>> index f7b4326a4641..ed444ecd9e85 100644
>>> --- a/drivers/gpu/drm/nouveau/nv50_display.c
>>> +++ b/drivers/gpu/drm/nouveau/nv50_display.c
>>> @@ -3141,7 +3141,7 @@ nv50_mstc_new(struct nv50_mstm *mstm, struct drm_dp_mst_port *port,
>>> mstc->connector.funcs->reset(&mstc->connector);
>>> nouveau_conn_attach_properties(&mstc->connector);
>>>
>>> - for (i = 0; i < ARRAY_SIZE(mstm->msto) && mstm->msto; i++)
>>> + for (i = 0; i < ARRAY_SIZE(mstm->msto) && mstm->msto[i]; i++)
>>
>> Ben will have to rule on which way is correct, but another
>> interpretation is that it should be
>>
>> for (...; i < ARRAY_SIZE; i++)
>> if (mstm->msto[i])
>> do_stuff()
>
> Yes, I suspect that is a better generic solution top cope with potential
> "holes".
>>
>> I haven't the faintest clue whether the msto array can have "holes" or not.
>
> Indeed. Let's see what Ben says.
No, there can't be holes here. I believe the V2 patch to be correct.
Ben.
>
>
>>
>>> drm_mode_connector_attach_encoder(&mstc->connector, &mstm->msto[i]->encoder);
>>>
>>> drm_object_attach_property(&mstc->connector.base, dev->mode_config.path_property, 0);
>>> --
>>> 2.11.0
>>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
> _______________________________________________
> Nouveau mailing list
> Nouveau@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/nouveau
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Nouveau] [PATCH][V2] drm/nouveau: perform null check on msto[i] rathern than msto
2017-08-17 22:20 ` [Nouveau] " Ben Skeggs
@ 2017-08-17 22:23 ` Ben Skeggs
0 siblings, 0 replies; 5+ messages in thread
From: Ben Skeggs @ 2017-08-17 22:23 UTC (permalink / raw)
To: Ben Skeggs, Colin Ian King, Ilia Mirkin
Cc: David Airlie, nouveau, kernel-janitors, linux-kernel, dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 2865 bytes --]
On 08/18/2017 08:20 AM, Ben Skeggs wrote:
> On 08/18/2017 08:16 AM, Colin Ian King wrote:
>> On 17/08/17 23:07, Ilia Mirkin wrote:
>>> On Thu, Aug 17, 2017 at 6:03 PM, Colin King <colin.king@canonical.com> wrote:
>>>> From: Colin Ian King <colin.king@canonical.com>
>>>>
>>>> The null check on the array msto is incorrect since msto is never
>>>> null. The null check should be instead on msto[i] since this is
>>>> being dereferenced in the call to drm_mode_connector_attach_encoder.
>>>>
>>>> Thanks to Emil Velikov for pointing out the mistake in my original
>>>> fix and for suggesting the correct fix.
>>>>
>>>> Detected by CoverityScan, CID#1375915 ("Array compared against 0")
>>>>
>>>> Fixes: f479c0ba4a17 ("drm/nouveau/kms/nv50: initial support for DP 1.2 multi-stream")
>>>> Signed-off-by: Colin Ian King <colin.king@canonical.com>
>>>> ---
>>>> drivers/gpu/drm/nouveau/nv50_display.c | 2 +-
>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
>>>> index f7b4326a4641..ed444ecd9e85 100644
>>>> --- a/drivers/gpu/drm/nouveau/nv50_display.c
>>>> +++ b/drivers/gpu/drm/nouveau/nv50_display.c
>>>> @@ -3141,7 +3141,7 @@ nv50_mstc_new(struct nv50_mstm *mstm, struct drm_dp_mst_port *port,
>>>> mstc->connector.funcs->reset(&mstc->connector);
>>>> nouveau_conn_attach_properties(&mstc->connector);
>>>>
>>>> - for (i = 0; i < ARRAY_SIZE(mstm->msto) && mstm->msto; i++)
>>>> + for (i = 0; i < ARRAY_SIZE(mstm->msto) && mstm->msto[i]; i++)
>>>
>>> Ben will have to rule on which way is correct, but another
>>> interpretation is that it should be
>>>
>>> for (...; i < ARRAY_SIZE; i++)
>>> if (mstm->msto[i])
>>> do_stuff()
>>
>> Yes, I suspect that is a better generic solution top cope with potential
>> "holes".
>>>
>>> I haven't the faintest clue whether the msto array can have "holes" or not.
>>
>> Indeed. Let's see what Ben says.
> No, there can't be holes here. I believe the V2 patch to be correct.
Also, I've taken the patch in my tree, and will get it to Dave at some
point.
Thank you!
Ben.
>
> Ben.
>>
>>
>>>
>>>> drm_mode_connector_attach_encoder(&mstc->connector, &mstm->msto[i]->encoder);
>>>>
>>>> drm_object_attach_property(&mstc->connector.base, dev->mode_config.path_property, 0);
>>>> --
>>>> 2.11.0
>>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>
>>
>> _______________________________________________
>> Nouveau mailing list
>> Nouveau@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/nouveau
>>
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-08-17 22:23 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-17 22:03 [PATCH][V2] drm/nouveau: perform null check on msto[i] rathern than msto Colin King
2017-08-17 22:07 ` Ilia Mirkin
2017-08-17 22:16 ` Colin Ian King
2017-08-17 22:20 ` [Nouveau] " Ben Skeggs
2017-08-17 22:23 ` Ben Skeggs
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).