From patchwork Wed Feb 24 10:44:34 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Maximets X-Patchwork-Id: 587285 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id AE8B7140BFD for ; Wed, 24 Feb 2016 21:45:23 +1100 (AEDT) Received: from localhost ([::1]:35028 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aYWwb-0007gi-JA for incoming@patchwork.ozlabs.org; Wed, 24 Feb 2016 05:45:21 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54978) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aYWwK-0007Ka-H4 for qemu-devel@nongnu.org; Wed, 24 Feb 2016 05:45:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aYWwE-00029A-1D for qemu-devel@nongnu.org; Wed, 24 Feb 2016 05:45:04 -0500 Received: from mailout3.w1.samsung.com ([210.118.77.13]:24142) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aYWwD-00027s-RF for qemu-devel@nongnu.org; Wed, 24 Feb 2016 05:44:57 -0500 Received: from eucpsbgm2.samsung.com (unknown [203.254.199.245]) by mailout3.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0O3100H38SITXN90@mailout3.w1.samsung.com> for qemu-devel@nongnu.org; Wed, 24 Feb 2016 10:44:53 +0000 (GMT) X-AuditID: cbfec7f5-f79b16d000005389-94-56cd89a51037 Received: from eusync4.samsung.com ( [203.254.199.214]) by eucpsbgm2.samsung.com (EUCPMTA) with SMTP id C2.3E.21385.5A98DC65; Wed, 24 Feb 2016 10:44:53 +0000 (GMT) Received: from imaximets.rnd.samsung.ru ([106.109.129.180]) by eusync4.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0O3100IQ4SILOO60@eusync4.samsung.com>; Wed, 24 Feb 2016 10:44:53 +0000 (GMT) From: Ilya Maximets To: qemu-devel@nongnu.org Date: Wed, 24 Feb 2016 13:44:34 +0300 Message-id: <1456310674-3237-1-git-send-email-i.maximets@samsung.com> X-Mailer: git-send-email 2.5.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrBJMWRmVeSWpSXmKPExsVy+t/xa7pLO8+GGTx/wmRxpf0nu8WyS5+Z LP7/esVqcbx3B4vF5NlSDqweT65tZvJ4v+8qm0ffllWMAcxRXDYpqTmZZalF+nYJXBnzVjxh K2hhr1jQtYexgXE6axcjJ4eEgInE18M7mSBsMYkL99azdTFycQgJLGWUuPx5NwuE08okcbjp ByNIFZuAjsSp1UfAbBEBSYnfXaeZQYqYBeYySpy/MocNJCEsECbRNLkXbCyLgKrEigu/wBp4 BVwlXt2bCbSaA2idnMSCC+kTGLkXMDKsYhRNLU0uKE5KzzXSK07MLS7NS9dLzs/dxAjx/9cd jEuPWR1iFOBgVOLhfbDhTJgQa2JZcWXuIUYJDmYlEV7G0rNhQrwpiZVVqUX58UWlOanFhxil OViUxHln7nofIiSQnliSmp2aWpBaBJNl4uCUamB0fra9acH1y7nWVSd+PGzRYr3I1e9cfbF2 7R5TN+07X9Pq5jvVc1fL7zz4L5xB+aaFuXlI1ZOFVhcO1Hf9/XV6t9BHJ9XTJ17KqTd/2nzr 9fH3OmosIUnMC5jSExb6Hsi6peH/LtZHQC4mN4pb+e1C/WX1K/d1KtyWym4+0fQoevMO58O/ j+5UYinOSDTUYi4qTgQAOlUVf/sBAAA= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 210.118.77.13 Cc: Ilya Maximets , Jason Wang , Dyasly Sergey , "Michael S. Tsirkin" Subject: [Qemu-devel] [PATCH] vhost-user: verify that number of queues is less than MAX_QUEUE_NUM X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Fix QEMU crash when -netdev vhost-user,queues=n is passed with number of queues greater than MAX_QUEUE_NUM. Signed-off-by: Ilya Maximets Acked-by: Jason Wang --- net/vhost-user.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/net/vhost-user.c b/net/vhost-user.c index 451dbbf..b753b3d 100644 --- a/net/vhost-user.c +++ b/net/vhost-user.c @@ -317,9 +317,10 @@ int net_init_vhost_user(const NetClientOptions *opts, const char *name, } queues = vhost_user_opts->has_queues ? vhost_user_opts->queues : 1; - if (queues < 1) { + if (queues < 1 || queues > MAX_QUEUE_NUM) { error_setg(errp, - "vhost-user number of queues must be bigger than zero"); + "vhost-user number of queues must be in range [1, %d]", + MAX_QUEUE_NUM); return -1; }