From patchwork Tue Oct 9 18:21:01 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Serhey Popovych X-Patchwork-Id: 981459 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="mbbptihg"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 42V5Ks2flYz9s7h for ; Wed, 10 Oct 2018 05:26:57 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726798AbeJJBpK (ORCPT ); Tue, 9 Oct 2018 21:45:10 -0400 Received: from mail-lf1-f66.google.com ([209.85.167.66]:38537 "EHLO mail-lf1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726496AbeJJBpK (ORCPT ); Tue, 9 Oct 2018 21:45:10 -0400 Received: by mail-lf1-f66.google.com with SMTP id g89-v6so2011359lfl.5 for ; Tue, 09 Oct 2018 11:26:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=Bq6likgv/5+MTrtOYUXfJq/aAuSxSmkGsB8DwcMvcIY=; b=mbbptihgWOQTbKT8z/p9JvG4nd/6T3JEcK7o7NPdVTWBk/3n1EGPwVZSFvWZJfFLRu dgirLmT454Rc60db06cQ4pEd6OiWTHD+hP8KH/vzin+Jso3mwJq5HOdyBAT+w5eky1Ln IP/d4uu8OfQ4oJ63muSbVAuPmIegmtvXKLa7KAVxyLIVyl8r3VcSVERlIzJjrOFrMHwt 90lmp4eSw4p/L8PXF+LkFAFou/1ISpW/MJ8kLq2OjGRSP8kTMTyU2Mq0pbe6JlYK5iI4 fcGudCgP+rRL2dS0HyiZbGVF5Oix4E/+vqa537D1GiV7T0aHuYCUlG267RZCFxwoV2um 6jQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=Bq6likgv/5+MTrtOYUXfJq/aAuSxSmkGsB8DwcMvcIY=; b=PGIE3UZLCky/5zyXka11KxDYVLaQgv/GP9H5UCFLY5Dgcq1CFfgh+I/ObQZSihJGW3 LnOCC5Fv8iKCWZfl1aIwlNZQdqwR/teIczBVz1Xy+CA7iw9+Wo16mjy9gCIkhs+TCdZM liwU6V6XHPKHl6cBE/mdyavWKXG1dJY25CspTE+ccugjEDZKdITHO6MPISz00YZ0cI7H aJ84SfPxrg9z3oVdjXxRooAKygNoXVe67JQru5vYYArdibC7z1oF1DfJ3uLZh82sKCgJ c1x/wLs4BpjkU0V+IkUcrU/PEnsLtUvVqY0l5FIkZfMpTDa/PJOqVq4KXnt/ab4Ac9Vm yPgg== X-Gm-Message-State: ABuFfogTDiuMyJSpHyhtZWd4oAB8PT8rfM2ODUAbiRFSylZ6BIZ5wEW/ y4/14ypAlIAnkl40agqs1gUGXIpV X-Google-Smtp-Source: ACcGV60FPENgzx+nE49JOYXrttE9aTWDuotwKZEJ2VweZDRbYK/sDa+cEkJbmC18irqxkMYvGLg7eQ== X-Received: by 2002:a19:1188:: with SMTP id 8-v6mr17068197lfr.32.1539109612464; Tue, 09 Oct 2018 11:26:52 -0700 (PDT) Received: from tuxracer.localdomain ([2a01:6d80::195:20:96:53]) by smtp.gmail.com with ESMTPSA id o19-v6sm4896470ljj.81.2018.10.09.11.26.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 09 Oct 2018 11:26:51 -0700 (PDT) From: Serhey Popovych To: netdev@vger.kernel.org Cc: ebiederm@xmission.com Subject: [PATCH net-next] tun: Consistently configure generic netdev params via rtnetlink Date: Tue, 9 Oct 2018 21:21:01 +0300 Message-Id: <1539109261-8414-1-git-send-email-serhe.popovych@gmail.com> X-Mailer: git-send-email 1.8.3.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Configuring generic network device parameters on tun will fail in presence of IFLA_INFO_KIND attribute in IFLA_LINKINFO nested attribute since tun_validate() always return failure. This can be visualized with following ip-link(8) command sequences: # ip link set dev tun0 group 100 # ip link set dev tun0 group 100 type tun RTNETLINK answers: Invalid argument with contrast to dummy and veth drivers: # ip link set dev dummy0 group 100 # ip link set dev dummy0 type dummy # ip link set dev veth0 group 100 # ip link set dev veth0 group 100 type veth Fix by returning zero in tun_validate() when @data is NULL that is always in case since rtnl_link_ops->maxtype is zero in tun driver. Fixes: f019a7a594d9 ("tun: Implement ip link del tunXXX") Signed-off-by: Serhey Popovych --- drivers/net/tun.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/tun.c b/drivers/net/tun.c index b174342..a3e8a43 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -2298,6 +2298,8 @@ static void tun_setup(struct net_device *dev) static int tun_validate(struct nlattr *tb[], struct nlattr *data[], struct netlink_ext_ack *extack) { + if (!data) + return 0; return -EINVAL; }