[{"id":1765239,"web_url":"http://patchwork.ozlabs.org/comment/1765239/","msgid":"<20170908110652.GU2399@orbyte.nwl.cc>","list_archive_url":null,"date":"2017-09-08T11:06:52","subject":"Re: [PATCH iproute2 2/2] lib/libnetlink: update rtnl_talk to support\n\tmalloc buff at run time","submitter":{"id":4285,"url":"http://patchwork.ozlabs.org/api/people/4285/","name":"Phil Sutter","email":"phil@nwl.cc"},"content":"Hi Hangbin,\n\nOn Fri, Sep 08, 2017 at 06:14:57PM +0800, Hangbin Liu wrote:\n[...]\n> diff --git a/genl/ctrl.c b/genl/ctrl.c\n> index 448988e..699657b 100644\n> --- a/genl/ctrl.c\n> +++ b/genl/ctrl.c\n> @@ -55,6 +55,7 @@ int genl_ctrl_resolve_family(const char *family)\n>  \t};\n>  \tstruct nlmsghdr *nlh = &req.n;\n>  \tstruct genlmsghdr *ghdr = &req.g;\n> +\tstruct nlmsghdr *answer = NULL;\n\nI don't think it's necessary to assign NULL here or in any of the other\ncases.\n\n>  \tif (rtnl_open_byproto(&rth, 0, NETLINK_GENERIC) < 0) {\n>  \t\tfprintf(stderr, \"Cannot open generic netlink socket\\n\");\n> @@ -63,19 +64,19 @@ int genl_ctrl_resolve_family(const char *family)\n>  \n>  \taddattr_l(nlh, 128, CTRL_ATTR_FAMILY_NAME, family, strlen(family) + 1);\n>  \n> -\tif (rtnl_talk(&rth, nlh, nlh, sizeof(req)) < 0) {\n> +\tif (rtnl_talk(&rth, nlh, &answer) < 0) {\n\nI didn't check, but it's likely that at least in some cases 'nlh'\ncontains some buffer space to hold the answer (if it will be larger than\nthe input). If so, this could be dropped since the buffer is no longer\nreused.\n\nApart from that, looks good to me!\n\nThanks, Phil","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xpZJx1j7Gz9sCZ\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri,  8 Sep 2017 21:06:57 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1754673AbdIHLGy (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tFri, 8 Sep 2017 07:06:54 -0400","from orbyte.nwl.cc ([151.80.46.58]:36908 \"EHLO orbyte.nwl.cc\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1751577AbdIHLGx (ORCPT <rfc822;netdev@vger.kernel.org>);\n\tFri, 8 Sep 2017 07:06:53 -0400","from n0-1 by orbyte.nwl.cc with local (Exim 4.89)\n\t(envelope-from <n0-1@orbyte.nwl.cc>)\n\tid 1dqH7c-0007z6-LY; Fri, 08 Sep 2017 13:06:52 +0200"],"Date":"Fri, 8 Sep 2017 13:06:52 +0200","From":"Phil Sutter <phil@nwl.cc>","To":"Hangbin Liu <liuhangbin@gmail.com>","Cc":"netdev@vger.kernel.org, Stephen Hemminger <stephen@networkplumber.org>,\n\tMichal Kubecek <mkubecek@suse.cz>","Subject":"Re: [PATCH iproute2 2/2] lib/libnetlink: update rtnl_talk to support\n\tmalloc buff at run time","Message-ID":"<20170908110652.GU2399@orbyte.nwl.cc>","Mail-Followup-To":"Phil Sutter <phil@nwl.cc>,\n\tHangbin Liu <liuhangbin@gmail.com>, netdev@vger.kernel.org,\n\tStephen Hemminger <stephen@networkplumber.org>,\n\tMichal Kubecek <mkubecek@suse.cz>","References":"<1504865697-27274-1-git-send-email-liuhangbin@gmail.com>\n\t<1504865697-27274-3-git-send-email-liuhangbin@gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<1504865697-27274-3-git-send-email-liuhangbin@gmail.com>","User-Agent":"Mutt/1.7.2 (2016-11-26)","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1765349,"web_url":"http://patchwork.ozlabs.org/comment/1765349/","msgid":"<20170908132616.GT5465@leo.usersys.redhat.com>","list_archive_url":null,"date":"2017-09-08T13:26:16","subject":"Re: [PATCH iproute2 2/2] lib/libnetlink: update rtnl_talk to support\n\tmalloc buff at run time","submitter":{"id":15639,"url":"http://patchwork.ozlabs.org/api/people/15639/","name":"Hangbin Liu","email":"liuhangbin@gmail.com"},"content":"On Fri, Sep 08, 2017 at 01:06:52PM +0200, Phil Sutter wrote:\n> Hi Hangbin,\n> \n> On Fri, Sep 08, 2017 at 06:14:57PM +0800, Hangbin Liu wrote:\n> [...]\n> > diff --git a/genl/ctrl.c b/genl/ctrl.c\n> > index 448988e..699657b 100644\n> > --- a/genl/ctrl.c\n> > +++ b/genl/ctrl.c\n> > @@ -55,6 +55,7 @@ int genl_ctrl_resolve_family(const char *family)\n> >  \t};\n> >  \tstruct nlmsghdr *nlh = &req.n;\n> >  \tstruct genlmsghdr *ghdr = &req.g;\n> > +\tstruct nlmsghdr *answer = NULL;\n> \n> I don't think it's necessary to assign NULL here or in any of the other\n> cases.\n\nOK\n> \n> >  \tif (rtnl_open_byproto(&rth, 0, NETLINK_GENERIC) < 0) {\n> >  \t\tfprintf(stderr, \"Cannot open generic netlink socket\\n\");\n> > @@ -63,19 +64,19 @@ int genl_ctrl_resolve_family(const char *family)\n> >  \n> >  \taddattr_l(nlh, 128, CTRL_ATTR_FAMILY_NAME, family, strlen(family) + 1);\n> >  \n> > -\tif (rtnl_talk(&rth, nlh, nlh, sizeof(req)) < 0) {\n> > +\tif (rtnl_talk(&rth, nlh, &answer) < 0) {\n> \n> I didn't check, but it's likely that at least in some cases 'nlh'\n> contains some buffer space to hold the answer (if it will be larger than\n> the input). If so, this could be dropped since the buffer is no longer\n> reused.\n\nYes, I will remove the buffer.\n\nThanks\nHangbin","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"jCSJcRjW\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xpdPz3jdCz9s4s\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri,  8 Sep 2017 23:26:31 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1756455AbdIHN0a (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tFri, 8 Sep 2017 09:26:30 -0400","from mail-pg0-f67.google.com ([74.125.83.67]:35384 \"EHLO\n\tmail-pg0-f67.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1755884AbdIHN02 (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Fri, 8 Sep 2017 09:26:28 -0400","by mail-pg0-f67.google.com with SMTP id q68so1312343pgq.2\n\tfor <netdev@vger.kernel.org>; Fri, 08 Sep 2017 06:26:28 -0700 (PDT)","from leo.usersys.redhat.com ([209.132.188.80])\n\tby smtp.gmail.com with ESMTPSA id\n\t6sm3340089pgf.13.2017.09.08.06.26.25\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tFri, 08 Sep 2017 06:26:27 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=date:from:to:subject:message-id:references:mime-version\n\t:content-disposition:in-reply-to:user-agent;\n\tbh=8CLujtwbQ2JYQGh9vlfjPA6GpM+e7fUECx4hwQhi1EI=;\n\tb=jCSJcRjWW3Xgi45ahupcKzdErTpG+QHNQO/D9ElSIk61hkm7xGaMKVF/0QdALSoY2k\n\tkanxolDQTS+rUKxLro20FUJQB8hozHNH1rIwyByK6W3ceXk1oPQTnmU4QGtWhr1G9xOe\n\t6gRMN2aJb93asHUUsN9x3I0LkdrMqYp9thgTvMXjJfX/yhRoTX2Ea2zmzi7KEE2loo/7\n\tf9+FCrVyUbi9wcBdvjVYHfmXPYnqzGcvTFQoS3582MCvrBocD8A6H5OMtixMcTfdKv8z\n\tb+rTrNQRiPzNbp+77f06jqvv5Nrq30WCbbteriGvi+kKWh8nUA286R3Yjis764/iMJ+U\n\tCuiQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:subject:message-id:references\n\t:mime-version:content-disposition:in-reply-to:user-agent;\n\tbh=8CLujtwbQ2JYQGh9vlfjPA6GpM+e7fUECx4hwQhi1EI=;\n\tb=JbUc/tnd8re0DbExFw/FMndiOprQ25bhV+Y+6tM4IYc7j766mouoEDKtxK4LO/k1/A\n\tnqmKIMhe37Nk//jO6X3uuUqU33IrwSJRzshn0U+G1monCK444hbpZHbQ0EOqrkRN+gnj\n\tkkey6CnM95njJ54LZvqzZBdvhICUWQvIQsvnsyYfMeu7tXq8zkACEf1fL5fD2KHVTrY6\n\tgiHSD6FSMLo+IU9KWsC/LavyKswPR7N9bg/b7S08CUhEnp1R9hCqhA46+LnqWciEC0A8\n\tWY20GhOzmzLode7rBHMDOqIFnIjqH9e2UQetjC7Culxk7ElQ5G6EYmrm44gWeJIK+lED\n\t6tAA==","X-Gm-Message-State":"AHPjjUjRolwNTgrLmEP0eINltLi9HfQQf+CugFxRSjphDGk6tVttPNjf\n\tqOpmhQYMFXjZb45N","X-Google-Smtp-Source":"ADKCNb6o2n+84ZX93aEXtT+e46I1ufGjymx0z6R+5PBpGvk5GkBcHn5P4qQGgLbufLWCVB47Qw6/5A==","X-Received":"by 10.84.194.195 with SMTP id h61mr3451084pld.449.1504877187751; \n\tFri, 08 Sep 2017 06:26:27 -0700 (PDT)","Date":"Fri, 8 Sep 2017 21:26:16 +0800","From":"Hangbin Liu <liuhangbin@gmail.com>","To":"Phil Sutter <phil@nwl.cc>, netdev@vger.kernel.org,\n\tStephen Hemminger <stephen@networkplumber.org>,\n\tMichal Kubecek <mkubecek@suse.cz>","Subject":"Re: [PATCH iproute2 2/2] lib/libnetlink: update rtnl_talk to support\n\tmalloc buff at run time","Message-ID":"<20170908132616.GT5465@leo.usersys.redhat.com>","References":"<1504865697-27274-1-git-send-email-liuhangbin@gmail.com>\n\t<1504865697-27274-3-git-send-email-liuhangbin@gmail.com>\n\t<20170908110652.GU2399@orbyte.nwl.cc>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20170908110652.GU2399@orbyte.nwl.cc>","User-Agent":"Mutt/1.7.0 (2016-08-17)","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}}]