Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp3023795imm; Sun, 7 Oct 2018 18:06:54 -0700 (PDT) X-Google-Smtp-Source: ACcGV62JODdheoazUoNu2eC7h8CNlikfWlY++YHhz5blw0i2MzdQxMUl7CGjthaQB15wPuSs/QCx X-Received: by 2002:a17:902:7c12:: with SMTP id x18-v6mr16512279pll.206.1538960814207; Sun, 07 Oct 2018 18:06:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538960814; cv=none; d=google.com; s=arc-20160816; b=NqCxGHLthKKJbmGV+xqQrT4JzHJ8RX5dD+5nz3JmNd8KE4qSkgyl45IHxBBVDv7d38 kTlMotpy7vzj+IqRrftdtLXsTHZm7JHLay2S7MV8+j6xWSY69hwTVQy9cU/8Yh5/D/vu olO7CgkgqNPhsJyjojXQdDTKrVgycE6QDeSoZpSAA4PEz7DbbeIvCVQ3EHZ62IMZuhNy v/dM8k1uGx5+WaNdre0dInWq4j6vjW69X7z+0pS5xp9+BlRiXfWRMhfVoYCF5kovXDtZ vkaodIuwXxJ8Udmpf2xN7zb/4x5dcRcRhvi3vjfbx8hBdMm4H1OxUwMBWUWIsaMK6uVT vXag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=XwjJGlpsOrHCraiEh488bt6gsOYiRnk923c4UgfC4vU=; b=o//+/EPN1Lui0DQSlYXxRhoJtQWXzNzgdTlI13WC2Zy8AJU7hpZJhbqpwhupSfZ8B5 DfTw9DIq61R1cWzgxnckkelp+5tHp4qKQESq6HPZczJlwqpPolvw+uQJmjPY3/CF+YFB tPTHXUb0Y6f8WlbyGrwqi/2mxaAomhqnSBMVC7ULXqpCIqNIwD1XuTvdjfwnMnYtr3Ip Fhg07SPIAW9RWcsxF9H/0srntksU/t9tmcx5StPSXK8Xo+AluM0ORs71vTT2zFn+E21c SNnwG1N70tu32jcHeJ6sVcDwPw7LT+pcymHF28RdI+HK9169bw2Yp3E36iOOJ7TMcPC0 N69g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@zx2c4.com header.s=mail header.b=vwNOVFnv; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=zx2c4.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 24-v6si14171704pgn.428.2018.10.07.18.06.38; Sun, 07 Oct 2018 18:06:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@zx2c4.com header.s=mail header.b=vwNOVFnv; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=zx2c4.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726439AbeJHIPl (ORCPT + 99 others); Mon, 8 Oct 2018 04:15:41 -0400 Received: from frisell.zx2c4.com ([192.95.5.64]:41115 "EHLO frisell.zx2c4.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725760AbeJHIPk (ORCPT ); Mon, 8 Oct 2018 04:15:40 -0400 Received: by frisell.zx2c4.com (ZX2C4 Mail Server) with ESMTP id 16f4f068; Mon, 8 Oct 2018 01:05:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=zx2c4.com; h=mime-version :references:in-reply-to:from:date:message-id:subject:to:cc :content-type; s=mail; bh=IVybW6zc5ONKjaKJWA6coY4mbbE=; b=vwNOVF nvs7fW8HFgwZaGPLOfbqE2YBaz2VEs4DtHdJY9YjakD5SApFJPuNqWwwxPMGa7FT NdyvbOT8QCr5pAykW6+rj6VTYCjZbiaw5TBZNkQzJ1mntwUujOvgYu1A4T8CXLz4 2gHnBQYzGf6WooGL2T/FC67M3CcyhIWBgiZ40ikzRHh9NE0qLMcvV2pEIo/L4EpD 7PHz+d7Q6Jivh914OzA4lRCOMsHUqSiJMmA3z4VUQAZa9htI6IaTzYbqM7SIJ1EY ++EDViZlh5Yfwv2hg0uGyn6U3EASUDINFfjVAsoyrl1IYeHwDXjynrvGYlXrTL48 TBKjGzjKBIdlSdvw== Received: by frisell.zx2c4.com (ZX2C4 Mail Server) with ESMTPSA id a54f42b2 (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128:NO); Mon, 8 Oct 2018 01:05:47 +0000 (UTC) Received: by mail-ot1-f45.google.com with SMTP id o21so17730777otb.13; Sun, 07 Oct 2018 18:06:30 -0700 (PDT) X-Gm-Message-State: ABuFfoi2CteFYbHLwxpE4SR9a7xp9QokYRsbyBAxVLzV3oLeOUm9dn8j GjAAwdjEtpDLgRh1Cv6MQ6E3bz9R0e1wLICVs3Y= X-Received: by 2002:a9d:2992:: with SMTP id n18mr6238060otb.54.1538960789008; Sun, 07 Oct 2018 18:06:29 -0700 (PDT) MIME-Version: 1.0 References: <20181006025709.4019-1-Jason@zx2c4.com> <20181006025709.4019-29-Jason@zx2c4.com> <20181006194348.GK32759@asgard.redhat.com> In-Reply-To: <20181006194348.GK32759@asgard.redhat.com> From: "Jason A. Donenfeld" Date: Mon, 8 Oct 2018 03:06:17 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH net-next v7 28/28] net: WireGuard secure network tunnel To: esyr@redhat.com Cc: LKML , Netdev , David Miller , Greg Kroah-Hartman Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hey Eugene, On Sat, Oct 6, 2018 at 9:43 PM Eugene Syromiatnikov wrote: > > On Sat, Oct 06, 2018 at 04:57:09AM +0200, Jason A. Donenfeld wrote: > > +static int get_allowedips(void *ctx, const u8 *ip, u8 cidr, int family) > > +{ > > + struct allowedips_ctx *actx = ctx; > > + struct nlattr *allowedip_nest; > > + > > + allowedip_nest = nla_nest_start(actx->skb, actx->i++); > > Second parameter of nl_nest_start is an attribute type; (ab)using it as > array index leads to special handling of such structures in parsers. > It's better to have some type like WGDEVICE_A_PEER_ITEM and provide an > additional attribute inside it for index (WGPEER_A_INDEX?). > See, for example, commit v4.12-rc1~119^2~131 ("nbd: add a status netlink > command"). > > > +static int get_peer(struct wireguard_peer *peer, unsigned int index, > > + struct allowedips_cursor *rt_cursor, struct sk_buff *skb) > > +{ > > + struct nlattr *allowedips_nest, *peer_nest = nla_nest_start(skb, index); > > Same here. Good point. Actually the index aspect is totally arbitrary and not useful at all, and so that part can just be entirely excised. Jason