Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753871AbdHQWUv (ORCPT ); Thu, 17 Aug 2017 18:20:51 -0400 Received: from mail-pg0-f68.google.com ([74.125.83.68]:36632 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753709AbdHQWUs (ORCPT ); Thu, 17 Aug 2017 18:20:48 -0400 Subject: Re: [Nouveau] [PATCH][V2] drm/nouveau: perform null check on msto[i] rathern than msto To: Colin Ian King , Ilia Mirkin Cc: David Airlie , "nouveau@lists.freedesktop.org" , kernel-janitors@vger.kernel.org, "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , Ben Skeggs References: <20170817220323.26717-1-colin.king@canonical.com> <83ec451a-ceaa-5d62-948e-c34bbd670c0e@canonical.com> From: Ben Skeggs Message-ID: <53264562-fddf-8214-859c-0f491b2ca42a@gmail.com> Date: Fri, 18 Aug 2017 08:20:41 +1000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: <83ec451a-ceaa-5d62-948e-c34bbd670c0e@canonical.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="DBVLFdRPwIQc5I3JTrLAjHBg39jIr68E1" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4911 Lines: 130 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --DBVLFdRPwIQc5I3JTrLAjHBg39jIr68E1 Content-Type: multipart/mixed; boundary="VR4rKfLFW8tJJHK0sXxGQJSpeUC0w6B7j"; protected-headers="v1" From: Ben Skeggs To: Colin Ian King , Ilia Mirkin Cc: David Airlie , "nouveau@lists.freedesktop.org" , kernel-janitors@vger.kernel.org, "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , Ben Skeggs Message-ID: <53264562-fddf-8214-859c-0f491b2ca42a@gmail.com> Subject: Re: [Nouveau] [PATCH][V2] drm/nouveau: perform null check on msto[i] rathern than msto References: <20170817220323.26717-1-colin.king@canonical.com> <83ec451a-ceaa-5d62-948e-c34bbd670c0e@canonical.com> In-Reply-To: <83ec451a-ceaa-5d62-948e-c34bbd670c0e@canonical.com> --VR4rKfLFW8tJJHK0sXxGQJSpeUC0w6B7j Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable 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 = wrote: >>> From: Colin Ian King >>> >>> 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 >>> --- >>> 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 dr= m_dp_mst_port *port, >>> mstc->connector.funcs->reset(&mstc->connector); >>> nouveau_conn_attach_properties(&mstc->connector); >>> >>> - for (i =3D 0; i < ARRAY_SIZE(mstm->msto) && mstm->msto; i++) >>> + for (i =3D 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() >=20 > Yes, I suspect that is a better generic solution top cope with potentia= l > "holes". >> >> I haven't the faintest clue whether the msto array can have "holes" or= not. >=20 > Indeed. Let's see what Ben says. No, there can't be holes here. I believe the V2 patch to be correct. Ben. >=20 >=20 >> >>> drm_mode_connector_attach_encoder(&mstc->connector, &= mstm->msto[i]->encoder); >>> >>> drm_object_attach_property(&mstc->connector.base, dev->mode_c= onfig.path_property, 0); >>> -- >>> 2.11.0 >>> >> -- >> To unsubscribe from this list: send the line "unsubscribe kernel-janit= ors" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> >=20 > _______________________________________________ > Nouveau mailing list > Nouveau@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/nouveau >=20 --VR4rKfLFW8tJJHK0sXxGQJSpeUC0w6B7j-- --DBVLFdRPwIQc5I3JTrLAjHBg39jIr68E1 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEETp/uv2nr9kIVth0/dgucYlCSkfsFAlmWFrkACgkQdgucYlCS kfs/fBAAqDOVQyqSspy+dvm4yQNewnFCOtjMw1HKqsEMGAIRmazweKM7Qy6UUA30 /+3C1PhJz5Lw2RpUKtl8QbawaeSxBrnhsV5T4CE5QjjDyylQI/IZXOlO4wdRf9uR mWstYbG9J7lljynsxhC5uFnpQewp00NVgNVyqKPUrNjds6Ga1gtwf11jLHVn3NeL z+FhG1OHdjYIC+nNJO48aZD6zXaaxBGzj+kKBOP1y6C7eC92O5oiaRsrGBmzQaOt nm4QMdgpSlQ4zZpNNPtmZ5+uSSiYA3xdvk6ICidX2e7YfeRpcH9mHMzzlBqRXISQ hoaEOZ9yl1M2EhZqQPVcTj3yr2genjjd77iYRqyoIx2KyD1AwezZEiJa9T9oiFln 6gQ6hWwJkJbbpfVGNwq28nAKOFlwrYjSYPSay/q1FCv74TBjrPlaWjFf8yqCMKRz KvNO9wycURLbozQdZ+mbZ4nxdJ12C/WsknYBhZ9oq3JG/xF1UhnVIxPtnRbBUEat wddYiqV6z8xMFc4VhWbCYSdchNlwr8AA65VmRgcxCVNnO0uale1eVhosw4hZ+dP4 BlsLRj0rM/DOLAmNIVnbvlhQ9g9jk/MU+r9u/MxRocf+8ZtilFJx55AeBVBuylaF VkLif4PG8ksgIc/Vl4KJayn2AsBOl5KxF7K9xRWlPmwIYTszIPU= =zffv -----END PGP SIGNATURE----- --DBVLFdRPwIQc5I3JTrLAjHBg39jIr68E1--