From patchwork Sat May 7 08:17:26 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Heinrich Schuchardt X-Patchwork-Id: 9038641 Return-Path: X-Original-To: patchwork-xen-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id B9F5B9F372 for ; Sun, 8 May 2016 06:14:59 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id CB08320122 for ; Sun, 8 May 2016 06:14:58 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E012420120 for ; Sun, 8 May 2016 06:14:57 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1azHvx-00007S-1x; Sun, 08 May 2016 06:11:17 +0000 Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ayxQp-0001n6-9h for xen-devel@lists.xenproject.org; Sat, 07 May 2016 08:17:47 +0000 Received: from [193.109.254.147] by server-9.bemta-14.messagelabs.com id ED/C3-02960-AA4AD275; Sat, 07 May 2016 08:17:46 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprAIsWRWlGSWpSXmKPExsVy5TG/kO7KJbr hBg0XbCy+b5nM5MDocfjDFZYAxijWzLyk/IoE1owvx7cwFyzjr1j+9SFrA+MTni5GTg4hgdmM Etee1YHYbAJ6EhO3HGIGsUUEqiU2XVrEAmIzC+RIHLlykQ3EFhZwkbj1ZwkjiM0ioCqxa8tPs HpeASeJT+dfg9VLCMhJnD8OExeUODnzCVCcA2iOusT6eUIQI+UlmrfOBirhAir/zChxdtpDVg inj13i0IV7LBMYeWch6Z+F0D8LSf8CRuZVjOrFqUVlqUW6JnpJRZnpGSW5iZk5uoaGJnq5qcX FiempOYlJxXrJ+bmbGIEhxQAEOxhXLHQ+xCjJwaQkysvdrxsuxJeUn1KZkVicEV9UmpNafIhR hoNDSYJ3+0KgnGBRanpqRVpmDjC4YdISHDxKIryX5gOleYsLEnOLM9MhUqcYFaXEeZUXASUEQ BIZpXlwbbCIusQoKyXMywh0iBBPQWpRbmYJqvwrRnEORiVhXuEFQFN4MvNK4Ka/AlrMBLT4/V xNkMUliQgpqQZG+WaNV5V7jc/tv3nyzfX9X8t2S7/QS/csujTrRNwUTSu/wPXx2p9YTwtYiz2 tnqKyj3mL0e39a3W45fzeT7CTnWXivuSaz8wPLTpLxI/v9em9qzXzTv7OF5JiS+Z8E63vts8z U5/4K9NfbKP3BY2E1B8LDSR59vsvT4xO5JdKYzS65BV+fMcDJZbijERDLeai4kQAPDhAzqMCA AA= X-Env-Sender: xypron.glpk@gmx.de X-Msg-Ref: server-10.tower-27.messagelabs.com!1462609065!40102639!1 X-Originating-IP: [212.227.15.18] X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: QmFkIElQOiAyMTIuMjI3LjE1LjE4ID0+IDI1NzMw\n,sa_preprocessor: QmFkIElQOiAyMTIuMjI3LjE1LjE4ID0+IDI1NzMw\n X-StarScan-Received: X-StarScan-Version: 8.34; banners=-,-,- X-VirusChecked: Checked Received: (qmail 24639 invoked from network); 7 May 2016 08:17:45 -0000 Received: from mout.gmx.net (HELO mout.gmx.net) (212.227.15.18) by server-10.tower-27.messagelabs.com with DHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 7 May 2016 08:17:45 -0000 Received: from LT001.lan ([88.152.144.64]) by mail.gmx.com (mrgmx003) with ESMTPSA (Nemesis) id 0LkgAG-1bWufe3OoW-00aSQD; Sat, 07 May 2016 10:17:38 +0200 From: Heinrich Schuchardt To: Boris Ostrovsky , David Vrabel , Juergen Gross Date: Sat, 7 May 2016 10:17:26 +0200 Message-Id: <1462609046-10559-1-git-send-email-xypron.glpk@gmx.de> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 X-Provags-ID: V03:K0:qazXUPZG/iT6fDXU8aoHMSzzoMsQOTkU4/0WJO22/DOTZr4sHmp MinfM7lyJLOcQIsFN1S2BNr57tHxTPJ8eMV8PsME9jaPoGA1FxHSOZLmxrj5Z9c4mRxVMc8 q8ZKnolUEQXLHNJWSEgyuzs5fsRS5dS6wMH7urUaeInbkwVFgP4d7Zo4pw9ORr5PBAGEZGL zPabhOCdgCRHbD+EKZT0Q== X-UI-Out-Filterresults: notjunk:1; V01:K0:N17JMNOlJsE=:LWiZ9WCWs8BxI2wQ9YYhNC 01Oz9lqN6LRBc3U+RLyVa5FiUxb+3aFwflhWNLrgA9aqKjPcrjtzgw21+mKexnBoFxhBuBkvJ 82Q+Lv7yIjLCAnaRVGmQ5+3FUZ67kYkUCDOGriFM4ZpLBnW4hcwvoN/6n/VXD01nMdcvVFUlx kp4bgrGzAKme2K94yAquesWxPiNjOK2F/J50EYH3GkD4+BlR3QLokzCUGlRT67cXZtlkXa/Er 04aEXtziW9xn5CBGwpvODYKBZN90gTkCXhkG1UU/afUC+0v0POD+INPaD8eZekFcQsq4CsOM6 T5cwAC0KTP7cmvq/kYPgqU11rgN+WwuKvSU5STIe1fN2Wpi//ACNWjOUZ9SsepIJY+wVZ0cEK BqyPFl2VSaxvwdYKFU2UofykhyM7ynnMqMwddvPLNOka00922ha6eJGKGN3jOY0GpZSaoVi5z gpqnSaQxXZukw043IypFyAu0ruy/+RJB8u+P+Sme3raCF4mCRvkjDNLURAF/WEe4ohp7ZvB3j 2B4n9nNaUPymtywHNb1I32IL08zpgIgHRLyMzoDXGWBQO1MzZcgQ0qNrCTivf1JNaDqKudJyq 8quJK3CH11TvEg+jF0b+Yk2CYGRW722nztZ0cEREMFhDkehfY8aXZvCQlVJOfPH47vkeavlIE gnIharj1F44zy6zMw2FeQiq3kZAobu++kSH3VBCf8DB0bf+vKLFtgRXvuNVXZehOrQZSlZR9F g/CoPir2ooV5iIRTrCVPyDN9EHXVMYM/SP72kjyO3TQAc+uT7M/8I0jkhqIoxDdZWAoITIjDe lzjiY84 X-Mailman-Approved-At: Sun, 08 May 2016 06:11:15 +0000 Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, Heinrich Schuchardt Subject: [Xen-devel] [PATCH 1/1] xen/gntdev: kmalloc structure gntdev_copy_batch X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_MED, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Commit a4cdb556cae0 ("xen/gntdev: add ioctl for grant copy") leads to a warning xen/gntdev.c: In function ‘gntdev_ioctl_grant_copy’: xen/gntdev.c:949:1: warning: the frame size of 1248 bytes is larger than 1024 bytes [-Wframe-larger-than=] This can be avoided by using kmalloc instead of the stack. Testing requires CONFIG_XEN_GNTDEV. Fixes: a4cdb556cae0 ("xen/gntdev: add ioctl for grant copy") Signed-off-by: Heinrich Schuchardt Acked-by: Juergen Gross --- drivers/xen/gntdev.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c index dc49538..e8aec48 100644 --- a/drivers/xen/gntdev.c +++ b/drivers/xen/gntdev.c @@ -915,36 +915,43 @@ static int gntdev_grant_copy_seg(struct gntdev_copy_batch *batch, static long gntdev_ioctl_grant_copy(struct gntdev_priv *priv, void __user *u) { struct ioctl_gntdev_grant_copy copy; - struct gntdev_copy_batch batch; + struct gntdev_copy_batch *batch; unsigned int i; int ret = 0; + batch = kmalloc(sizeof(struct gntdev_copy_batch), GFP_KERNEL); + if (!batch) + return -ENOMEM; + if (copy_from_user(©, u, sizeof(copy))) return -EFAULT; - batch.nr_ops = 0; - batch.nr_pages = 0; + batch->nr_ops = 0; + batch->nr_pages = 0; for (i = 0; i < copy.count; i++) { struct gntdev_grant_copy_segment seg; if (copy_from_user(&seg, ©.segments[i], sizeof(seg))) { ret = -EFAULT; - goto out; + goto failed; } - ret = gntdev_grant_copy_seg(&batch, &seg, ©.segments[i].status); + ret = gntdev_grant_copy_seg(batch, &seg, + ©.segments[i].status); if (ret < 0) - goto out; + goto failed; cond_resched(); } - if (batch.nr_ops) - ret = gntdev_copy(&batch); - return ret; + if (batch->nr_ops) + ret = gntdev_copy(batch); + goto out; - out: - gntdev_put_pages(&batch); +failed: + gntdev_put_pages(batch); +out: + kfree(batch); return ret; }