From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Date: Wed, 13 Jul 2016 10:15:04 +0000 Subject: [patch] drm/rockchip: fix a couple off by one bugs Message-Id: <20160713101504.GJ29468@mwanda> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Mark Yao Cc: linux-rockchip@lists.infradead.org, kernel-janitors@vger.kernel.org, dri-devel@lists.freedesktop.org The priv->crtc_funcs[] array has ROCKCHIP_MAX_CRTC elements so > should be >= here. Fixes: 2048e3286f34 ('drm: rockchip: Add basic drm driver') Signed-off-by: Dan Carpenter diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c index 7fd20c0..37ca427 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c @@ -79,7 +79,7 @@ int rockchip_register_crtc_funcs(struct drm_crtc *crtc, int pipe = drm_crtc_index(crtc); struct rockchip_drm_private *priv = crtc->dev->dev_private; - if (pipe > ROCKCHIP_MAX_CRTC) + if (pipe >= ROCKCHIP_MAX_CRTC) return -EINVAL; priv->crtc_funcs[pipe] = crtc_funcs; @@ -92,7 +92,7 @@ void rockchip_unregister_crtc_funcs(struct drm_crtc *crtc) int pipe = drm_crtc_index(crtc); struct rockchip_drm_private *priv = crtc->dev->dev_private; - if (pipe > ROCKCHIP_MAX_CRTC) + if (pipe >= ROCKCHIP_MAX_CRTC) return; priv->crtc_funcs[pipe] = NULL; From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: [patch] drm/rockchip: fix a couple off by one bugs Date: Wed, 13 Jul 2016 13:15:04 +0300 Message-ID: <20160713101504.GJ29468@mwanda> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Mark Yao Cc: linux-rockchip@lists.infradead.org, kernel-janitors@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: linux-rockchip.vger.kernel.org VGhlIHByaXYtPmNydGNfZnVuY3NbXSBhcnJheSBoYXMgUk9DS0NISVBfTUFYX0NSVEMgZWxlbWVu dHMgc28gPiBzaG91bGQKYmUgPj0gaGVyZS4KCkZpeGVzOiAyMDQ4ZTMyODZmMzQgKCdkcm06IHJv Y2tjaGlwOiBBZGQgYmFzaWMgZHJtIGRyaXZlcicpClNpZ25lZC1vZmYtYnk6IERhbiBDYXJwZW50 ZXIgPGRhbi5jYXJwZW50ZXJAb3JhY2xlLmNvbT4KCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L3JvY2tjaGlwX2RybV9kcnYuYwppbmRleCA3ZmQyMGMwLi4zN2NhNDI3IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZHJ2LmMKQEAgLTc5LDcgKzc5LDcgQEAgaW50 IHJvY2tjaGlwX3JlZ2lzdGVyX2NydGNfZnVuY3Moc3RydWN0IGRybV9jcnRjICpjcnRjLAogCWlu dCBwaXBlID0gZHJtX2NydGNfaW5kZXgoY3J0Yyk7CiAJc3RydWN0IHJvY2tjaGlwX2RybV9wcml2 YXRlICpwcml2ID0gY3J0Yy0+ZGV2LT5kZXZfcHJpdmF0ZTsKIAotCWlmIChwaXBlID4gUk9DS0NI SVBfTUFYX0NSVEMpCisJaWYgKHBpcGUgPj0gUk9DS0NISVBfTUFYX0NSVEMpCiAJCXJldHVybiAt RUlOVkFMOwogCiAJcHJpdi0+Y3J0Y19mdW5jc1twaXBlXSA9IGNydGNfZnVuY3M7CkBAIC05Miw3 ICs5Miw3IEBAIHZvaWQgcm9ja2NoaXBfdW5yZWdpc3Rlcl9jcnRjX2Z1bmNzKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YykKIAlpbnQgcGlwZSA9IGRybV9jcnRjX2luZGV4KGNydGMpOwogCXN0cnVjdCBy b2NrY2hpcF9kcm1fcHJpdmF0ZSAqcHJpdiA9IGNydGMtPmRldi0+ZGV2X3ByaXZhdGU7CiAKLQlp ZiAocGlwZSA+IFJPQ0tDSElQX01BWF9DUlRDKQorCWlmIChwaXBlID49IFJPQ0tDSElQX01BWF9D UlRDKQogCQlyZXR1cm47CiAKIAlwcml2LT5jcnRjX2Z1bmNzW3BpcGVdID0gTlVMTDsKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==