From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 12F4FFA372C for ; Fri, 8 Nov 2019 16:28:08 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DD30321D6C for ; Fri, 8 Nov 2019 16:28:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="kVwQhDRd" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727402AbfKHQ2H (ORCPT ); Fri, 8 Nov 2019 11:28:07 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:52620 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727210AbfKHQ2H (ORCPT ); Fri, 8 Nov 2019 11:28:07 -0500 Received: by mail-wm1-f67.google.com with SMTP id c17so6797028wmk.2 for ; Fri, 08 Nov 2019 08:28:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=Qfw5+H5+VmRkk4Ngvgedyo88XB4FJADrjMcpnGrVOlM=; b=kVwQhDRdB+PtDsgGYBN4ieYVRQFhPWUmmm7I4+MwKbUE/w96AHS5jaQE2ALn+NLQjx nRwiQs7KBIh1oEeFNQgpf1ahq0vO8GaXH8rECuB81idG2G9jH6wH70nazQsOmmAQZeuL BHos7sM45dMUzR3EL40enqoTeMS+XPJcmz17sSEG8ljs2BBPstC+7PABDJ6MXKtEDizH bFFfPnwFl266yn7sLDEuU32lWobBJYI1lFxg3cRs9eU8ybUCqsDnCReT9DA1uuUUX6GH r4gll9sloNUprhxU7igSGkoFy1lkWOeZLRse9CV7AP2QetKhopbTqNrH/RjGaSjgLuQH pceg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=Qfw5+H5+VmRkk4Ngvgedyo88XB4FJADrjMcpnGrVOlM=; b=OhGHb1YKbNKiq12mA4I0b4HOWlQzFf0KbYuAod/sdDi+WT87RdiYllVQ9qXqdYnJw4 CWS+iCjCdFwPmU3Rowq4SQvCyW5Az4wuGr8aVRWOXtwilhsYZblZS4dz29+IqMvhpHOB U2dU0D7xbZuKjuORmtSexe6exoSniYvzw2In0dCl0AnkoDmIsULhVFzzORmBhea9fstY Yc4bGA/3877WBRZtF7bFbNxXJC1xX6p3QwGRRdoW/fdgfd1zmmowf8JIo/9mnPzuMnqv 1+PDS6M6osakel3QBtDtp5KifBQ6jnAwbt+KJ4Yyb8yPUzskbFz/cZ1f9YxD32ujDunD T7HQ== X-Gm-Message-State: APjAAAXCe5uPN6rRHzjg247fdpn0VOh7LRJ4vJKbfSi9gkaFj1f/2lTO JSPmRI8OvG41amDKRPADvE5v0Q== X-Google-Smtp-Source: APXvYqzpb9EnZi/4lRhF2ee6bghRGriqVMLc9rb5ubvCJ+9fxX3LCe/M6BbPWImctFMPwDj9ntURng== X-Received: by 2002:a1c:4089:: with SMTP id n131mr9410705wma.86.1573230484274; Fri, 08 Nov 2019 08:28:04 -0800 (PST) Received: from localhost (ip-94-113-220-175.net.upcbroadband.cz. [94.113.220.175]) by smtp.gmail.com with ESMTPSA id 16sm9805181wmf.0.2019.11.08.08.28.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 08 Nov 2019 08:28:03 -0800 (PST) Date: Fri, 8 Nov 2019 17:28:03 +0100 From: Jiri Pirko To: Parav Pandit Cc: "alex.williamson@redhat.com" , "davem@davemloft.net" , "kvm@vger.kernel.org" , "netdev@vger.kernel.org" , Saeed Mahameed , "kwankhede@nvidia.com" , "leon@kernel.org" , "cohuck@redhat.com" , Jiri Pirko , "linux-rdma@vger.kernel.org" Subject: Re: [PATCH net-next 07/19] vfio/mdev: Introduce sha1 based mdev alias Message-ID: <20191108162803.GO6990@nanopsycho> References: <20191107160448.20962-1-parav@mellanox.com> <20191107160834.21087-1-parav@mellanox.com> <20191107160834.21087-7-parav@mellanox.com> <20191108110456.GH6990@nanopsycho> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.12.1 (2019-06-15) Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org Fri, Nov 08, 2019 at 04:59:53PM CET, parav@mellanox.com wrote: [...] >> >+ if (parent->ops->get_alias_length) { >> >+ unsigned int alias_len; >> >+ >> >+ alias_len = parent->ops->get_alias_length(); >> >+ if (alias_len) { >> >> I think this should be with WARN_ON. Driver should not never return such >> 0 and if it does, it's a bug. >> >Ok. will add it. > >> Also I think this check should be extended by checking value is multiple of 2. >Do you mean driver must set alias length as always multiple of 2? Why? Why not? Why would driver want to have even len? If say 11 is too long, it should return 10. The last byte for even is set by your code to '0' anyway... > >> Then you can avoid the roundup() above. No need to allow even len. >Did you mean "no need to allow odd"? or? Yes, odd. > >> >> [...] >> >> >diff --git a/drivers/vfio/mdev/mdev_sysfs.c >> >b/drivers/vfio/mdev/mdev_sysfs.c index 7570c7602ab4..43afe0e80b76 >> >100644 >> >--- a/drivers/vfio/mdev/mdev_sysfs.c >> >+++ b/drivers/vfio/mdev/mdev_sysfs.c >> >@@ -63,15 +63,18 @@ static ssize_t create_store(struct kobject *kobj, >> struct device *dev, >> > return -ENOMEM; >> > >> > ret = guid_parse(str, &uuid); >> >- kfree(str); >> > if (ret) >> >- return ret; >> >+ goto err; >> > >> >- ret = mdev_device_create(kobj, dev, &uuid); >> >+ ret = mdev_device_create(kobj, dev, str, &uuid); >> >> Why to pass the same thing twice? Move the guid_parse() call to the >> beginning of mdev_device_create() function. >> >Because alias should be unique and need to hold the lock while searching for duplicate. >So it is not done twice, and moving guid_parse() won't help due to need of lock. I'm not saying anything about a lock. Not sure why do you think so. I'm saying that you pass the same value in 2 args. That's it. Better to pass it as char* only and process it inside. If by guid_parse() or otherwise, does not matter. That is my point. > >> >> > if (ret) >> >- return ret; >> >+ goto err; >> > >> >- return count; >> >+ ret = count; >> >+ >> >+err: >> >+ kfree(str); >> >+ return ret; >> > } >> > >> > MDEV_TYPE_ATTR_WO(create); >> >> [...]