From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rasmus Villemoes Date: Mon, 20 Jul 2015 20:46:47 +0000 Subject: likely signedness bug in drm and nvidia drivers Message-Id: <87fv4io8ug.fsf@rasmusvillemoes.dk> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Ben Skeggs , David Airlie , Antonino Daplas , Tomi Valkeinen Cc: linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org Hi, The files drivers/gpu/drm/nouveau/nv50_fbcon.c drivers/gpu/drm/nouveau/nvc0_fbcon.c drivers/video/fbdev/nvidia/nv_accel.c all contain a right-shift of ~0 (aka -1) - just grep for '~0 >>'. gcc always does arithmetic right shift of signed types, which means that the result is always -1 again [type promotion/conversion doesn't kick in until after the shift subexpression has been evaluated], independent of the second operand. I can hardly believe that is intended (the result is used as a mask, which thus consists of all 1s). If these are indeed bugs, the patch is obvious (just make the literal an unsigned 0). Rasmus From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rasmus Villemoes Subject: likely signedness bug in drm and nvidia drivers Date: Mon, 20 Jul 2015 22:46:47 +0200 Message-ID: <87fv4io8ug.fsf@rasmusvillemoes.dk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-la0-f43.google.com (mail-la0-f43.google.com [209.85.215.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4D43D6E17D for ; Mon, 20 Jul 2015 13:46:51 -0700 (PDT) Received: by lagw2 with SMTP id w2so104456025lag.3 for ; Mon, 20 Jul 2015 13:46:49 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ben Skeggs , David Airlie , Antonino Daplas , Tomi Valkeinen Cc: linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGksCgpUaGUgZmlsZXMKCiAgZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1MF9mYmNvbi5jCiAg ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZjMF9mYmNvbi5jCiAgZHJpdmVycy92aWRlby9mYmRl di9udmlkaWEvbnZfYWNjZWwuYwoKYWxsIGNvbnRhaW4gYSByaWdodC1zaGlmdCBvZiB+MCAoYWth IC0xKSAtIGp1c3QgZ3JlcCBmb3IgJ34wID4+Jy4gZ2NjCmFsd2F5cyBkb2VzIGFyaXRobWV0aWMg cmlnaHQgc2hpZnQgb2Ygc2lnbmVkIHR5cGVzLCB3aGljaCBtZWFucyB0aGF0IHRoZQpyZXN1bHQg aXMgYWx3YXlzIC0xIGFnYWluIFt0eXBlIHByb21vdGlvbi9jb252ZXJzaW9uIGRvZXNuJ3Qga2lj ayBpbgp1bnRpbCBhZnRlciB0aGUgc2hpZnQgc3ViZXhwcmVzc2lvbiBoYXMgYmVlbiBldmFsdWF0 ZWRdLCBpbmRlcGVuZGVudCBvZgp0aGUgc2Vjb25kIG9wZXJhbmQuIEkgY2FuIGhhcmRseSBiZWxp ZXZlIHRoYXQgaXMgaW50ZW5kZWQgKHRoZSByZXN1bHQgaXMKdXNlZCBhcyBhIG1hc2ssIHdoaWNo IHRodXMgY29uc2lzdHMgb2YgYWxsIDFzKS4gSWYgdGhlc2UgYXJlIGluZGVlZApidWdzLCB0aGUg cGF0Y2ggaXMgb2J2aW91cyAoanVzdCBtYWtlIHRoZSBsaXRlcmFsIGFuIHVuc2lnbmVkIDApLgoK UmFzbXVzCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==