Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp88757pxv; Tue, 13 Jul 2021 22:46:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyGA35GbNyDT1BwTnMtdZKh08JNVtzIgpUneS/AwxkyCOnDCf6eaUxM2d4sXawwxRO3jWmd X-Received: by 2002:a92:d946:: with SMTP id l6mr5471781ilq.162.1626241587242; Tue, 13 Jul 2021 22:46:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626241587; cv=none; d=google.com; s=arc-20160816; b=sl9XveQLcikiUswFu8GYjOLrF02yBj31jRbzVCr3jDjHlHSpwAViFMwuFD1OB8twWS dejniIPvFll8aRRHapWgpU2F2sOCD1Oz0woxfRsKzDYV1T2WMPAr9GuZLb2dnnCcDPt/ 391No9zu/rjtGK1y6b8NnyCxyFB/7oxoGlNfQzGqtV5pRHq+M/EisYqCA7fFFaUAOmy0 euhMr31hXNkvXHDSDZ8d9U/tJbXyVsBcrJWy0S3R7ZPREh0GnoB+HlA/oJFl9T0lYcWK FRB3XXZxV6/69ivPjUw8Qwpetz08noNy9v3KPAcItCN0f2pfPFA3dnUGXKj3o0VyuQfr J+qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=CHZPSlSYGfv/SLrxAM/jOzUDS1kn5mU0G7/MnH+av7w=; b=sSqheHsi5tr6Td1Z3UTTmof0JRT26lRcBITn26Ry+SkzDlrj0s6xa42xujw/giulC/ a9j+07z48BiU510cgDU+K9nRjZjZkV5pOumKoAv4rHrIYUF3OHdIXuDS3dnhp3djP0z1 Xaw2lQzTB1aWMmB3f1DTUSGrhjjsMVaqRgRRyD+2y7CZ9Yfd+v4490/WbS/BwuVrtvVH uIDZlb9JzkSoEMPY1Og2MZZ8QOEre0804Kn9dvmGohVa+WnXx0iNaGI+PnSwB005rgPL uc5BfaaooKFYBd7SQIaR63R4k+qtZMIAukLSjxhe+L2zSpx8ldqKW4rGCpCHp8NxTdwF oGsQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bytedance-com.20150623.gappssmtp.com header.s=20150623 header.b=TFIXYmOj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=bytedance.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h13si1417625iop.97.2021.07.13.22.46.15; Tue, 13 Jul 2021 22:46:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@bytedance-com.20150623.gappssmtp.com header.s=20150623 header.b=TFIXYmOj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=bytedance.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237919AbhGNFsP (ORCPT + 99 others); Wed, 14 Jul 2021 01:48:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53968 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237802AbhGNFsP (ORCPT ); Wed, 14 Jul 2021 01:48:15 -0400 Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 59CCBC0613E9 for ; Tue, 13 Jul 2021 22:45:23 -0700 (PDT) Received: by mail-ed1-x52a.google.com with SMTP id t2so1080810edd.13 for ; Tue, 13 Jul 2021 22:45:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=CHZPSlSYGfv/SLrxAM/jOzUDS1kn5mU0G7/MnH+av7w=; b=TFIXYmOj7xWCYyEiL8IfX/z7XfVUXzphq5lOB8eXolpRNkYjOSMo0nDnxvLCmz0v0P 4eGMqbLigvSrkWD5Ktxv46HxIXTFcGk13cG3kVrsNbQzLREMK2CU0ptM1QqPqXW9BxdS yI4oyRP0mP48+7gXh6dqlj0high4D9cExctbn2AE52uoOqBY9Swobwxv+2it40H4ayu7 w3w1GZTkgOOUrnt/2hwL0W/gWDo4Pi9Ue3FoX1Gqies4/s5dcU7t+zv44Y6s1Srs86AZ 4j0nZgRECcfTY+He18dAroizi7KMqRIvXRIBJ9g/s8NvMcfm0xZ4ZqsIQ2184Hh5NyoU dwow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=CHZPSlSYGfv/SLrxAM/jOzUDS1kn5mU0G7/MnH+av7w=; b=gnOaPDna7CWAcnrPk9o9cs3ZYdd62onCL2cnKnomkJZhgJzhykyYW4r837LfyZTSjh 5kIEphx8JVH6oYzS9FOKE1E3NZ2Lol993cr9+5xUHtc7o0mKJVH4bNFUs/aUmAgSJuPt /wIixYhF7a1ZPHU6hANEj9PLx7D3IF3CllF7O353zCfJ0JsRsKcZco14aJczywfIlHVe hzG5PjjTev/xoQr1DWUOAbisw/q6MKoKA+zMNx6oUTZNmRbu1m66IB56WSeuNUi/cB0v /d8uwzAnrr/M5Xy/j3G/2sdTOF1IcTkSoftyzXe3zAUAefJ5lVA2rBYlRhr4bgSQRHK3 ox7w== X-Gm-Message-State: AOAM531tl8qccYivvo9vD+XIzzHzRu7Qv2mFdkg4jU/9+TevxT4YJv2X +GtvGtm+HL36nqwCQq5K5ASzpf8d83EaOLTdeKxv X-Received: by 2002:a50:ff01:: with SMTP id a1mr10874200edu.253.1626241521339; Tue, 13 Jul 2021 22:45:21 -0700 (PDT) MIME-Version: 1.0 References: <20210713084656.232-1-xieyongji@bytedance.com> <20210713084656.232-17-xieyongji@bytedance.com> <20210713132741.GM1954@kadam> In-Reply-To: From: Yongji Xie Date: Wed, 14 Jul 2021 13:45:10 +0800 Message-ID: Subject: Re: [PATCH v9 16/17] vduse: Introduce VDUSE - vDPA Device in Userspace To: Jason Wang Cc: Dan Carpenter , "Michael S. Tsirkin" , Stefan Hajnoczi , Stefano Garzarella , Parav Pandit , Christoph Hellwig , Christian Brauner , Randy Dunlap , Matthew Wilcox , Al Viro , Jens Axboe , bcrl@kvack.org, Jonathan Corbet , =?UTF-8?Q?Mika_Penttil=C3=A4?= , joro@8bytes.org, Greg KH , He Zhe , Liu Xiaodong , songmuchun@bytedance.com, virtualization , netdev@vger.kernel.org, kvm , linux-fsdevel@vger.kernel.org, iommu@lists.linux-foundation.org, linux-kernel Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jul 14, 2021 at 10:54 AM Jason Wang wrote: > > > =E5=9C=A8 2021/7/13 =E4=B8=8B=E5=8D=889:27, Dan Carpenter =E5=86=99=E9=81= =93: > > On Tue, Jul 13, 2021 at 04:46:55PM +0800, Xie Yongji wrote: > >> +static int vduse_dev_init_vdpa(struct vduse_dev *dev, const char *nam= e) > >> +{ > >> + struct vduse_vdpa *vdev; > >> + int ret; > >> + > >> + if (dev->vdev) > >> + return -EEXIST; > >> + > >> + vdev =3D vdpa_alloc_device(struct vduse_vdpa, vdpa, dev->dev, > >> + &vduse_vdpa_config_ops, name, true); > >> + if (!vdev) > >> + return -ENOMEM; > > This should be an IS_ERR() check instead of a NULL check. > > > Yes. > > > > > > The vdpa_alloc_device() macro is doing something very complicated but > > I'm not sure what. It calls container_of() and that looks buggy until > > you spot the BUILD_BUG_ON_ZERO() compile time assert which ensures that > > the container_of() is a no-op. > > > > Only one of the callers checks for error pointers correctly so maybe > > it's too complicated or maybe there should be better documentation. > > > We need better documentation for this macro and fix all the buggy callers= . > > Yong Ji, want to do that? > Sure, I will send the fix soon. Thanks, Yongji