From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756897AbdCUKdI (ORCPT ); Tue, 21 Mar 2017 06:33:08 -0400 Received: from mail-wm0-f65.google.com ([74.125.82.65]:36750 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756133AbdCUKdG (ORCPT ); Tue, 21 Mar 2017 06:33:06 -0400 Date: Tue, 21 Mar 2017 11:33:02 +0100 From: Daniel Vetter To: Arnd Bergmann Cc: Jani Nikula , Ander Conselvan de Oliveira , David Airlie , Linux Kernel Mailing List , dri-devel , Daniel Vetter , intel-gfx@lists.freedesktop.org Subject: Re: [Intel-gfx] [PATCH] drm/i915: use static const array for PICK macro Message-ID: <20170321103302.fnrt4tnze46grmdi@phenom.ffwll.local> Mail-Followup-To: Arnd Bergmann , Jani Nikula , Ander Conselvan de Oliveira , David Airlie , Linux Kernel Mailing List , dri-devel , Daniel Vetter , intel-gfx@lists.freedesktop.org References: <20170320215713.3086140-1-arnd@arndb.de> <877f3javde.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Operating-System: Linux phenom 4.8.0-1-amd64 User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 21, 2017 at 09:44:07AM +0100, Arnd Bergmann wrote: > On Tue, Mar 21, 2017 at 9:26 AM, Jani Nikula > wrote: > > On Mon, 20 Mar 2017, Arnd Bergmann wrote: > >> The varargs macro trick in _PIPE3/_PHY3/_PORT3 was meant as an optimization > >> to shrink the i915 kernel module by around 1000 bytes. > > > > Really, I didn't care one bit about the size shrink, I only cared about > > making it easier and less error prone to increase the number of args in > > a number of places. Maintainability and correctness were the goals. Just > > for the record. ;) > > Ok. My only interest here is the warning about possible stack overflow, > though the fact that KASAN considers the array code to be fragile is > an indication that it is perhaps actually dangerous: if we ever run into > a bug that causes the array index to overflow, we might in theory > have a security bug that lets users access arbitrary kernel pointers. > > While the risk for that actually happening is very low, the original code > was safer in that regard. My patch on top of yours merely turns a > hypothetical arbitrary stack access into an arbitrary .data access, > and I don't even know which one would be worse. Even without these arrays, if userspace could control the index we feed into these you get arbitrary mmio access. Or semi-arbitrary at least. None of these are bugs we should ever let through, and I think with the current code design (where the driver constructs structs that contain the right indizes, and userspace only ever gets to point at these structs using an idr lookup) none of these are likely to happen. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/i915: use static const array for PICK macro Date: Tue, 21 Mar 2017 11:33:02 +0100 Message-ID: <20170321103302.fnrt4tnze46grmdi@phenom.ffwll.local> References: <20170320215713.3086140-1-arnd@arndb.de> <877f3javde.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Arnd Bergmann Cc: Ander Conselvan de Oliveira , David Airlie , intel-gfx@lists.freedesktop.org, Linux Kernel Mailing List , dri-devel , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBNYXIgMjEsIDIwMTcgYXQgMDk6NDQ6MDdBTSArMDEwMCwgQXJuZCBCZXJnbWFubiB3 cm90ZToKPiBPbiBUdWUsIE1hciAyMSwgMjAxNyBhdCA5OjI2IEFNLCBKYW5pIE5pa3VsYQo+IDxq YW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+IHdyb3RlOgo+ID4gT24gTW9uLCAyMCBNYXIgMjAx NywgQXJuZCBCZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4gd3JvdGU6Cj4gPj4gVGhlIHZhcmFyZ3Mg bWFjcm8gdHJpY2sgaW4gX1BJUEUzL19QSFkzL19QT1JUMyB3YXMgbWVhbnQgYXMgYW4gb3B0aW1p emF0aW9uCj4gPj4gdG8gc2hyaW5rIHRoZSBpOTE1IGtlcm5lbCBtb2R1bGUgYnkgYXJvdW5kIDEw MDAgYnl0ZXMuCj4gPgo+ID4gUmVhbGx5LCBJIGRpZG4ndCBjYXJlIG9uZSBiaXQgYWJvdXQgdGhl IHNpemUgc2hyaW5rLCBJIG9ubHkgY2FyZWQgYWJvdXQKPiA+IG1ha2luZyBpdCBlYXNpZXIgYW5k IGxlc3MgZXJyb3IgcHJvbmUgdG8gaW5jcmVhc2UgdGhlIG51bWJlciBvZiBhcmdzIGluCj4gPiBh IG51bWJlciBvZiBwbGFjZXMuIE1haW50YWluYWJpbGl0eSBhbmQgY29ycmVjdG5lc3Mgd2VyZSB0 aGUgZ29hbHMuIEp1c3QKPiA+IGZvciB0aGUgcmVjb3JkLiA7KQo+IAo+IE9rLiBNeSBvbmx5IGlu dGVyZXN0IGhlcmUgaXMgdGhlIHdhcm5pbmcgYWJvdXQgcG9zc2libGUgc3RhY2sgb3ZlcmZsb3cs Cj4gdGhvdWdoIHRoZSBmYWN0IHRoYXQgS0FTQU4gY29uc2lkZXJzIHRoZSBhcnJheSBjb2RlIHRv IGJlIGZyYWdpbGUgaXMKPiBhbiBpbmRpY2F0aW9uIHRoYXQgaXQgaXMgcGVyaGFwcyBhY3R1YWxs eSBkYW5nZXJvdXM6IGlmIHdlIGV2ZXIgcnVuIGludG8KPiBhIGJ1ZyB0aGF0IGNhdXNlcyB0aGUg YXJyYXkgaW5kZXggdG8gb3ZlcmZsb3csIHdlIG1pZ2h0IGluIHRoZW9yeQo+IGhhdmUgYSBzZWN1 cml0eSBidWcgdGhhdCBsZXRzIHVzZXJzIGFjY2VzcyBhcmJpdHJhcnkga2VybmVsIHBvaW50ZXJz Lgo+IAo+IFdoaWxlIHRoZSByaXNrIGZvciB0aGF0IGFjdHVhbGx5IGhhcHBlbmluZyBpcyB2ZXJ5 IGxvdywgdGhlIG9yaWdpbmFsIGNvZGUKPiB3YXMgc2FmZXIgaW4gdGhhdCByZWdhcmQuIE15IHBh dGNoIG9uIHRvcCBvZiB5b3VycyBtZXJlbHkgdHVybnMgYQo+IGh5cG90aGV0aWNhbCBhcmJpdHJh cnkgc3RhY2sgYWNjZXNzIGludG8gYW4gYXJiaXRyYXJ5IC5kYXRhIGFjY2VzcywKPiBhbmQgSSBk b24ndCBldmVuIGtub3cgd2hpY2ggb25lIHdvdWxkIGJlIHdvcnNlLgoKRXZlbiB3aXRob3V0IHRo ZXNlIGFycmF5cywgaWYgdXNlcnNwYWNlIGNvdWxkIGNvbnRyb2wgdGhlIGluZGV4IHdlIGZlZWQK aW50byB0aGVzZSB5b3UgZ2V0IGFyYml0cmFyeSBtbWlvIGFjY2Vzcy4gT3Igc2VtaS1hcmJpdHJh cnkgYXQgbGVhc3QuCgpOb25lIG9mIHRoZXNlIGFyZSBidWdzIHdlIHNob3VsZCBldmVyIGxldCB0 aHJvdWdoLCBhbmQgSSB0aGluayB3aXRoIHRoZQpjdXJyZW50IGNvZGUgZGVzaWduICh3aGVyZSB0 aGUgZHJpdmVyIGNvbnN0cnVjdHMgc3RydWN0cyB0aGF0IGNvbnRhaW4gdGhlCnJpZ2h0IGluZGl6 ZXMsIGFuZCB1c2Vyc3BhY2Ugb25seSBldmVyIGdldHMgdG8gcG9pbnQgYXQgdGhlc2Ugc3RydWN0 cwp1c2luZyBhbiBpZHIgbG9va3VwKSBub25lIG9mIHRoZXNlIGFyZSBsaWtlbHkgdG8gaGFwcGVu LgotRGFuaWVsCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jw b3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK