Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp926823imm; Fri, 29 Jun 2018 08:34:06 -0700 (PDT) X-Google-Smtp-Source: ADUXVKIX454wjAjtFUK6KH7TA2hAemAZ3Dptya1GwMSrWxHrV1885pNK4unu3qOmn8EwZ7F5MRqJ X-Received: by 2002:a17:902:9a01:: with SMTP id v1-v6mr15685256plp.20.1530286446101; Fri, 29 Jun 2018 08:34:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530286446; cv=none; d=google.com; s=arc-20160816; b=L8d7ZJ6d69N7nUUbER5w22QXvwwWYOPYWsVopejFHGxR5z0WKfG48i7JPnryuM3Iv5 gJt/Rj1GLzBNWNAA426qVCW2sQX/oZNJws45KirYgdLbhf6gkgkWcNT9Zhdds7ZOahpO dV6EH2U2Bs+pwCDpwHL+dMKC/Nq89u1BAJsTwwLfR4qqpETNlzKyYJ2+pT7J1qc8a2fP vx3XqNdV5c2F+UNvudPA4DMdcDr0Qv+ksRSk3OLUg1u1Ld0Kdr5+/IXMBqM/1AkKnsvy KxoYPq2BHHOHLAeeNOdoYCf+/Urdv1VmmGQllpCnBvJOxk6MzXKHl33e/25kLbahoGXC ezeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:arc-authentication-results; bh=MEayZEVkNQo6GzG1OeCcvBFru+UnAJzjBK1vrjJOb1o=; b=Keygg7aeAQcJKlJ6O8a/qQZYMkxHyKwTsWYqJVbe71xP4vA8lV+3v8+m88R/Xzj6UM MNTiSsvVoxMjGqULC8H19HsxOAqxPnyS5DIad3sSZKGIBvWksOIRe+iAtcGFVKu/GCWY ZJoEvDPnTUCAKmR5fkavKVpnfNHee6xWUItlRp+P86DptIfw1++Q1EU2vRvDabRxFtqH pvTBfeju86JCMYJPjez8YZKRV4IN/ptcnLMQm9+68iw28KKYiOCFGtInXGypQi0uT6sX iccuX/O2J71Z1Hyi6oucCK2/WGEX8I9sx/3eCBd05wa4aoi8RhM9HK/1+qWJae2mSpex lRWQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p18-v6si9342652pfe.150.2018.06.29.08.33.51; Fri, 29 Jun 2018 08:34:06 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754677AbeF2O1Q (ORCPT + 99 others); Fri, 29 Jun 2018 10:27:16 -0400 Received: from mail.netline.ch ([148.251.143.178]:44677 "EHLO netline-mail3.netline.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752225AbeF2O1P (ORCPT ); Fri, 29 Jun 2018 10:27:15 -0400 Received: from localhost (localhost [127.0.0.1]) by netline-mail3.netline.ch (Postfix) with ESMTP id 53CA32A6051; Fri, 29 Jun 2018 16:27:13 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at netline-mail3.netline.ch Received: from netline-mail3.netline.ch ([127.0.0.1]) by localhost (netline-mail3.netline.ch [127.0.0.1]) (amavisd-new, port 10024) with LMTP id Vs6wdnUK9dzf; Fri, 29 Jun 2018 16:27:12 +0200 (CEST) Received: from kaveri (252.228.127.176.dynamic.wline.res.cust.swisscom.ch [176.127.228.252]) by netline-mail3.netline.ch (Postfix) with ESMTPSA id 6F9AD2A6046; Fri, 29 Jun 2018 16:27:11 +0200 (CEST) Received: from daenzer by kaveri with local (Exim 4.91) (envelope-from ) id 1fYuMg-0000Y7-R2; Fri, 29 Jun 2018 16:27:10 +0200 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= To: Gustavo Padovan , Maarten Lankhorst , Sean Paul , David Airlie Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH] drm: Use kvzalloc for allocating blob property memory Date: Fri, 29 Jun 2018 16:27:10 +0200 Message-Id: <20180629142710.2069-1-michel@daenzer.net> X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Michel Dänzer The property size may be controlled by userspace, can be large (I've seen failure with order 4, i.e. 16 pages / 64 KB) and doesn't need to be physically contiguous. Signed-off-by: Michel Dänzer --- drivers/gpu/drm/drm_property.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/drm_property.c b/drivers/gpu/drm/drm_property.c index 1f8031e30f53..cdb10f885a4f 100644 --- a/drivers/gpu/drm/drm_property.c +++ b/drivers/gpu/drm/drm_property.c @@ -532,7 +532,7 @@ static void drm_property_free_blob(struct kref *kref) drm_mode_object_unregister(blob->dev, &blob->base); - kfree(blob); + kvfree(blob); } /** @@ -559,7 +559,7 @@ drm_property_create_blob(struct drm_device *dev, size_t length, if (!length || length > ULONG_MAX - sizeof(struct drm_property_blob)) return ERR_PTR(-EINVAL); - blob = kzalloc(sizeof(struct drm_property_blob)+length, GFP_KERNEL); + blob = kvzalloc(sizeof(struct drm_property_blob)+length, GFP_KERNEL); if (!blob) return ERR_PTR(-ENOMEM); @@ -576,7 +576,7 @@ drm_property_create_blob(struct drm_device *dev, size_t length, ret = __drm_mode_object_add(dev, &blob->base, DRM_MODE_OBJECT_BLOB, true, drm_property_free_blob); if (ret) { - kfree(blob); + kvfree(blob); return ERR_PTR(-EINVAL); } -- 2.18.0