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=-3.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS autolearn=no 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 B9811CA9EA0 for ; Fri, 18 Oct 2019 16:28:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 83D5120640 for ; Fri, 18 Oct 2019 16:28:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="oeZcOscZ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2394099AbfJRQ2l (ORCPT ); Fri, 18 Oct 2019 12:28:41 -0400 Received: from mail-qt1-f194.google.com ([209.85.160.194]:38530 "EHLO mail-qt1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732948AbfJRQ2l (ORCPT ); Fri, 18 Oct 2019 12:28:41 -0400 Received: by mail-qt1-f194.google.com with SMTP id j31so9926087qta.5; Fri, 18 Oct 2019 09:28:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=tN9oYHiUwoH1r7uqZMD+ykxqZWmlQKOgWRW4Qq2HjJY=; b=oeZcOscZtpWxgbAnVrlRee2Jh9eYjtLOUOTbI/yTDxVm+ysmgEuDSmn+3XP40OQ4zW NxLZOD5Pzs4gDDDKRQp52Oi9RuSPGkkSHK5MR+mgGQla7koyzJ5LgbsziogM8LDwKRkF DH77c0o3wUNC63tu9mKQcIrLLSrXUGqMX1h6A3pTHRL0032FzWrcA3JzFgzLEqzoecgB fYAg2kZeYPQdPH37H4LHIdxQOtnw7EhZPerfigUzi6KszDXFWY6gG9H44ssnAEDc5JtD L06aWj7VWuhhm/JBJC7+DW30w1TVJTM4nxMv9oW62GGINJg78DK05WEg6WMhF9cqMbku 4Hog== 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=tN9oYHiUwoH1r7uqZMD+ykxqZWmlQKOgWRW4Qq2HjJY=; b=cKFk+12YGpCadouKKAiUqyExddPy/FUXj8IVAFzvvaSyJ3tEf32X8hdgtquz/PxONv nvaVxr/JYR016dVU51hI6xVEP+0uV6zdTVpZMBDEMqoWJC9FgN5nEcWjDQ8inUmqcq23 tKmnb015lFjoq2kcJWjKea53HaZO6TmhgVBCsCoJfTmdna5lHiAOcpCUDqRXf2j2OqsO 1HMBEGHevC1me7dCR/hjo5/dOIBleh+XzAgwdREhgt4T+HEJO3bILLpNDtjVSVc4r7gw vSwG1P4cJh/ooPIeGQNZ3Fea6O9D9ZzNMPpRp5rZwItyLWlB07uSH7a5IHZjmSv5KVLp gVdg== X-Gm-Message-State: APjAAAUVCaeADGajzb+D4BEM5zZFx/tT/k2ivmpXnpB0KFBqqcfOJFIQ imPpgC2TJo1CF3VZLWUg8tIwQiCVVA2Mmi/OKfFI1Pii X-Google-Smtp-Source: APXvYqzJIBq0VJxAq6m1hqAL8EDuc3igKbSADUc4R5M5t6LhuntyyzpTkN8grkBb8J50b3I9Sfjn/1l3sYizNhICstQ= X-Received: by 2002:aed:35e7:: with SMTP id d36mr3449210qte.59.1571416119718; Fri, 18 Oct 2019 09:28:39 -0700 (PDT) MIME-Version: 1.0 References: <20191016132802.2760149-1-toke@redhat.com> <87mudye45s.fsf@toke.dk> In-Reply-To: <87mudye45s.fsf@toke.dk> From: Andrii Nakryiko Date: Fri, 18 Oct 2019 09:28:28 -0700 Message-ID: Subject: Re: [PATCH bpf] xdp: Handle device unregister for devmap_hash map type To: =?UTF-8?B?VG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2Vu?= Cc: Daniel Borkmann , Alexei Starovoitov , bpf , Networking , Tetsuo Handa Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: bpf-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org On Fri, Oct 18, 2019 at 3:31 AM Toke H=C3=B8iland-J=C3=B8rgensen wrote: > > Andrii Nakryiko writes: > > > On Wed, Oct 16, 2019 at 9:07 AM Toke H=C3=B8iland-J=C3=B8rgensen wrote: > >> > >> It seems I forgot to add handling of devmap_hash type maps to the devi= ce > >> unregister hook for devmaps. This omission causes devices to not be > >> properly released, which causes hangs. > >> > >> Fix this by adding the missing handler. > >> > >> Fixes: 6f9d451ab1a3 ("xdp: Add devmap_hash map type for looking up dev= ices by hashed index") > >> Reported-by: Tetsuo Handa > >> Signed-off-by: Toke H=C3=B8iland-J=C3=B8rgensen > >> --- > >> kernel/bpf/devmap.c | 34 ++++++++++++++++++++++++++++++++++ > >> 1 file changed, 34 insertions(+) > >> > > > > [...] > > > >> + > >> + while (dev) { > >> + odev =3D (netdev =3D=3D dev->dev) ? dev : NULL= ; > >> + dev =3D hlist_entry_safe(rcu_dereference_raw(h= list_next_rcu(&dev->index_hlist)), > > > > Please run scripts/checkpatch.pl, this looks like a rather long line. > > That was a deliberate departure from the usual line length, actually. I > don't think it helps readability to split that into three lines just to > adhere to a strict line length requirement... Wouldn't local variable make it even more readable? > > -Toke >