From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 1/1] drm: avoid exposing kernel stack in compat_drm_getstats Date: Mon, 22 Aug 2016 11:29:07 +0300 Message-ID: <87fupxurzg.fsf@intel.com> References: <1471802179-2886-1-git-send-email-xypron.glpk@gmx.de> <20160822072718.GC6232@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 570F36E3D8 for ; Mon, 22 Aug 2016 08:29:10 +0000 (UTC) In-Reply-To: <20160822072718.GC6232@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter , Heinrich Schuchardt Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCAyMiBBdWcgMjAxNiwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90 ZToKPiBPbiBTdW4sIEF1ZyAyMSwgMjAxNiBhdCAwNzo1NjoxOVBNICswMjAwLCBIZWlucmljaCBT Y2h1Y2hhcmR0IHdyb3RlOgo+PiBUaGUgQyBzdGFuZGFyZCBkb2VzIG5vdCBzcGVjaWZ5IHRoZSBz aXplIG9mIHRoZSBpbnRlZ2VyIHVzZWQKPj4gdG8gc3RvcmUgYW4gZW51bS4gSGVuY2UgaW4gc3Ry dWN0dXJlIGRybV9zdGF0czMyX3QgYWxpZ25tZW50Cj4+IGJ5dGVzIG1heSBleGlzdC4KPj4gCj4+ IFRvIGF2b2lkIGV4cG9zaW5nIGJ5dGVzIGZyb20gdGhlIGtlcm5lbCBzdGFjayBpdCBpcwo+PiBu ZWNlc3NhcnkgdG8gaW5pdGlhbGl6ZSB2YXJpYWJsZSBzMzIgY29tcGxldGVseS4KPj4gCj4+IFNp Z25lZC1vZmYtYnk6IEhlaW5yaWNoIFNjaHVjaGFyZHQgPHh5cHJvbi5nbHBrQGdteC5kZT4KPgo+ IEFwcGxpZWQgdG8gZHJtLW1pc2MsIHRoYW5rcy4KPiAtRGFuaWVsCj4KPj4gLS0tCj4+ICBkcml2 ZXJzL2dwdS9kcm0vZHJtX2lvYzMyLmMgfCAxICsKPj4gIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKQo+PiAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jMzIuYyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jMzIuYwo+PiBpbmRleCA1NzY3NmY4Li4zMmE0ODliIDEw MDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvYzMyLmMKPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9pb2MzMi5jCj4+IEBAIC0zNDYsNiArMzQ2LDcgQEAgc3RhdGljIGludCBj b21wYXRfZHJtX2dldHN0YXRzKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLAo+ PiAgCXN0cnVjdCBkcm1fc3RhdHMgX191c2VyICpzdGF0czsKPj4gIAlpbnQgaSwgZXJyOwo+PiAg Cj4+ICsJbWVtc2V0KCZzMzIsIDAsIHNpemVvZihkcm1fc3RhdHMzMl90KSk7CgpGb3IgZnV0dXJl IHJlZmVyZW5jZSwKCgltZW1zZXQoJnMzMiwgMCwgc2l6ZW9mKHMzMikpOwoKaXMgdGhlIGJldHRl ciBhcHByb2FjaCwgYXZvaWRpbmcgcHJvYmxlbXMgaWYgdGhlIHR5cGUgb2YgczMyIGV2ZXIKY2hh bmdlcy4KCkJSLApKYW5pLgoKCj4+ICAJc3RhdHMgPSBjb21wYXRfYWxsb2NfdXNlcl9zcGFjZShz aXplb2YoKnN0YXRzKSk7Cj4+ICAJaWYgKCFzdGF0cykKPj4gIAkJcmV0dXJuIC1FRkFVTFQ7Cj4+ IC0tIAo+PiAyLjEuNAo+PiAKPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+PiBkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRl Y2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754133AbcHVIir (ORCPT ); Mon, 22 Aug 2016 04:38:47 -0400 Received: from mga05.intel.com ([192.55.52.43]:24868 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750839AbcHVIip (ORCPT ); Mon, 22 Aug 2016 04:38:45 -0400 X-Greylist: delayed 575 seconds by postgrey-1.27 at vger.kernel.org; Mon, 22 Aug 2016 04:38:45 EDT X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,559,1464678000"; d="scan'208";a="1045237044" From: Jani Nikula To: Daniel Vetter , Heinrich Schuchardt Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: Re: [PATCH 1/1] drm: avoid exposing kernel stack in compat_drm_getstats In-Reply-To: <20160822072718.GC6232@phenom.ffwll.local> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <1471802179-2886-1-git-send-email-xypron.glpk@gmx.de> <20160822072718.GC6232@phenom.ffwll.local> User-Agent: Notmuch/0.22.1+63~g648dcc7 (https://notmuchmail.org) Emacs/24.4.1 (x86_64-pc-linux-gnu) Date: Mon, 22 Aug 2016 11:29:07 +0300 Message-ID: <87fupxurzg.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 22 Aug 2016, Daniel Vetter wrote: > On Sun, Aug 21, 2016 at 07:56:19PM +0200, Heinrich Schuchardt wrote: >> The C standard does not specify the size of the integer used >> to store an enum. Hence in structure drm_stats32_t alignment >> bytes may exist. >> >> To avoid exposing bytes from the kernel stack it is >> necessary to initialize variable s32 completely. >> >> Signed-off-by: Heinrich Schuchardt > > Applied to drm-misc, thanks. > -Daniel > >> --- >> drivers/gpu/drm/drm_ioc32.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/drivers/gpu/drm/drm_ioc32.c b/drivers/gpu/drm/drm_ioc32.c >> index 57676f8..32a489b 100644 >> --- a/drivers/gpu/drm/drm_ioc32.c >> +++ b/drivers/gpu/drm/drm_ioc32.c >> @@ -346,6 +346,7 @@ static int compat_drm_getstats(struct file *file, unsigned int cmd, >> struct drm_stats __user *stats; >> int i, err; >> >> + memset(&s32, 0, sizeof(drm_stats32_t)); For future reference, memset(&s32, 0, sizeof(s32)); is the better approach, avoiding problems if the type of s32 ever changes. BR, Jani. >> stats = compat_alloc_user_space(sizeof(*stats)); >> if (!stats) >> return -EFAULT; >> -- >> 2.1.4 >> >> _______________________________________________ >> dri-devel mailing list >> dri-devel@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Jani Nikula, Intel Open Source Technology Center