From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1031283AbdADPbE (ORCPT ); Wed, 4 Jan 2017 10:31:04 -0500 Received: from mx1.redhat.com ([209.132.183.28]:45996 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1031265AbdADPbD (ORCPT ); Wed, 4 Jan 2017 10:31:03 -0500 Date: Wed, 4 Jan 2017 08:30:41 -0700 From: Alex Williamson To: Kirti Wankhede Cc: Alexey Khoroshilov , Neo Jia , , , , Dan Carpenter Subject: Re: [PATCH] samples/vfio-mdev: don't return zero on failure paths in mtty_dev_init() Message-ID: <20170104083041.312f4b94@t450s.home> In-Reply-To: References: <1483137629-18500-1-git-send-email-khoroshilov@ispras.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Wed, 04 Jan 2017 15:30:44 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 4 Jan 2017 17:52:30 +0530 Kirti Wankhede wrote: > Dan Carpenter had sent similar change earlier. > https://www.spinics.net/lists/kvm/msg141470.html > > Alex, > Did you pull that change in your tree? I had somehow missed Dan's patch. I'll apply Dan's with a Reported-by credit for Alexey as well. Thanks, Alex > On 12/31/2016 4:10 AM, Alexey Khoroshilov wrote: > > If class_create() or mdev_register_device() fail, mtty_dev_init() > > breaks off initialization, deallocates all resources, but returns zero. > > > > The patch adds proper error code return values. > > > > Found by Linux Driver Verification project (linuxtesting.org). > > > > Signed-off-by: Alexey Khoroshilov > > --- > > samples/vfio-mdev/mtty.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/samples/vfio-mdev/mtty.c b/samples/vfio-mdev/mtty.c > > index 6b633a4ea333..e9c52e1f97a6 100644 > > --- a/samples/vfio-mdev/mtty.c > > +++ b/samples/vfio-mdev/mtty.c > > @@ -1446,6 +1446,7 @@ static int __init mtty_dev_init(void) > > mtty_dev.vd_class = class_create(THIS_MODULE, MTTY_CLASS_NAME); > > > > if (IS_ERR(mtty_dev.vd_class)) { > > + ret = PTR_ERR(mtty_dev.vd_class); > > pr_err("Error: failed to register mtty_dev class\n"); > > goto failed1; > > } > > @@ -1458,7 +1459,8 @@ static int __init mtty_dev_init(void) > > if (ret) > > goto failed2; > > > > - if (mdev_register_device(&mtty_dev.dev, &mdev_fops) != 0) > > + ret = mdev_register_device(&mtty_dev.dev, &mdev_fops); > > + if (ret) > > goto failed3; > > > > mutex_init(&mdev_list_lock); > > @@ -1467,11 +1469,9 @@ static int __init mtty_dev_init(void) > > goto all_done; > > > > failed3: > > - > > device_unregister(&mtty_dev.dev); > > failed2: > > class_destroy(mtty_dev.vd_class); > > - > > failed1: > > cdev_del(&mtty_dev.vd_cdev); > > unregister_chrdev_region(mtty_dev.vd_devt, MINORMASK); > >