Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/808995/?format=api
{ "id": 808995, "url": "http://patchwork.ozlabs.org/api/patches/808995/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/1504299812.15310.26.camel@edumazet-glaptop3.roam.corp.google.com/", "project": { "id": 7, "url": "http://patchwork.ozlabs.org/api/projects/7/?format=api", "name": "Linux network development", "link_name": "netdev", "list_id": "netdev.vger.kernel.org", "list_email": "netdev@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<1504299812.15310.26.camel@edumazet-glaptop3.roam.corp.google.com>", "list_archive_url": null, "date": "2017-09-01T21:03:32", "name": "[net-next] inetpeer: fix RCU lookup()", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "1b7bed742935d48aa1d61e0c120ce139e5b3739c", "submitter": { "id": 2404, "url": "http://patchwork.ozlabs.org/api/people/2404/?format=api", "name": "Eric Dumazet", "email": "eric.dumazet@gmail.com" }, "delegate": { "id": 34, "url": "http://patchwork.ozlabs.org/api/users/34/?format=api", "username": "davem", "first_name": "David", "last_name": "Miller", "email": "davem@davemloft.net" }, "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/1504299812.15310.26.camel@edumazet-glaptop3.roam.corp.google.com/mbox/", "series": [ { "id": 1114, "url": "http://patchwork.ozlabs.org/api/series/1114/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netdev/list/?series=1114", "date": "2017-09-01T21:03:32", "name": "[net-next] inetpeer: fix RCU lookup()", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/1114/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/808995/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/808995/checks/", "tags": {}, "related": [], "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=\"QWOuq2At\"; dkim-atps=neutral" ], "Received": [ "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xkWtd5X3Qz9sNr\n\tfor <patchwork-incoming@ozlabs.org>;\n\tSat, 2 Sep 2017 07:03:37 +1000 (AEST)", "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1752554AbdIAVDf (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tFri, 1 Sep 2017 17:03:35 -0400", "from mail-pg0-f67.google.com ([74.125.83.67]:37822 \"EHLO\n\tmail-pg0-f67.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1752436AbdIAVDe (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Fri, 1 Sep 2017 17:03:34 -0400", "by mail-pg0-f67.google.com with SMTP id t193so773159pgc.4\n\tfor <netdev@vger.kernel.org>; Fri, 01 Sep 2017 14:03:34 -0700 (PDT)", "from [192.168.86.171] (c-67-180-167-114.hsd1.ca.comcast.net.\n\t[67.180.167.114]) by smtp.googlemail.com with ESMTPSA id\n\td6sm1224984pfh.113.2017.09.01.14.03.33\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tFri, 01 Sep 2017 14:03:33 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=message-id:subject:from:to:cc:date:mime-version\n\t:content-transfer-encoding;\n\tbh=VGDVHJy3bKb/6XEtxxvKrUI3kfWfu01yBdAupCKu7Mc=;\n\tb=QWOuq2AtpI/Eb+8sfK2+Dnl1FrTUEKwvCpPFQbnK4wGRmA9Wr124vbr8+/nIF/DmkG\n\tKnJmXsuw95P1awIx4YEhVc3Bn/ItqhKI6YA5zlKhp9Lu0yvfLH8q92UmzZE56X4taVEB\n\tfaLRK4PYuAiLhbGv1f8AqVM4oeiygTcqcku06hXxfMBTWr1qGy9mhbt03/bXA220SAgb\n\t5ic/OkKuqM5ogf0+/QxcG1uUQfgDquCMs2Au3z53GaslxPhKbcWhOrx1b2WI8xIvsH+w\n\tF7k8329Cwonf/2gsit3vcpN+70GSqoIwIq+Z7hQQ8ryzQWDCqwMMqGksxPrZ1QVIM93J\n\t5s0A==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:message-id:subject:from:to:cc:date:mime-version\n\t:content-transfer-encoding;\n\tbh=VGDVHJy3bKb/6XEtxxvKrUI3kfWfu01yBdAupCKu7Mc=;\n\tb=H1WClNEqmZsYlhPmj4PHj5CK3ppOVG0yf3fu76yRWn5/HXuKTxFW36rBnyKAUsPp6+\n\tMFfsJmlzcSL0RMn6xl5zFEwZww+4Sr0kgQ66+/Y35mJlTrP5Q/SEYz4o7cBawO2/BTNi\n\tND+o5hGpaWhWijAnbsNOaXSiZhXAAa5vlLlPq1FCHA9PNA0EvmtxH6gUqEmvCpPpzvRT\n\tCWA/mIo8nZCW/9D/5VCkyTfM+Gu6f0yKDB2SVhSIOEK3UDt80bC+7jfo88xbxtRTHkfV\n\tioSMYXo3/+bWaRG6MCQkkr4o+lsCRgGBpNec4mNLhwMJ1j0Q4reVKrN5544j+lq0Ovjo\n\tjgkg==", "X-Gm-Message-State": "AHPjjUgQ3scXLIrz+aNYIfUj9SsrWB61YdtqB7h4K7AGkeyHYO6bkP0s\n\toJC0GFzSbzDjSB8C", "X-Google-Smtp-Source": "ADKCNb7bUdf0miLUSi5AtQ22NJtY/S6jba4wGiKmDDozBvCTV5pgZ8fIWqYC9ZWLNBKJ1Zl4DrUA5A==", "X-Received": "by 10.84.237.15 with SMTP id s15mr3861834plk.69.1504299813861;\n\tFri, 01 Sep 2017 14:03:33 -0700 (PDT)", "Message-ID": "<1504299812.15310.26.camel@edumazet-glaptop3.roam.corp.google.com>", "Subject": "[PATCH net-next] inetpeer: fix RCU lookup()", "From": "Eric Dumazet <eric.dumazet@gmail.com>", "To": "David Miller <davem@davemloft.net>", "Cc": "netdev <netdev@vger.kernel.org>", "Date": "Fri, 01 Sep 2017 14:03:32 -0700", "Content-Type": "text/plain; charset=\"UTF-8\"", "X-Mailer": "Evolution 3.10.4-0ubuntu2 ", "Mime-Version": "1.0", "Content-Transfer-Encoding": "7bit", "Sender": "netdev-owner@vger.kernel.org", "Precedence": "bulk", "List-ID": "<netdev.vger.kernel.org>", "X-Mailing-List": "netdev@vger.kernel.org" }, "content": "From: Eric Dumazet <edumazet@google.com>\n\nExcess of seafood or something happened while I cooked the commit\nadding RB tree to inetpeer.\n\nOf course, RCU rules need to be respected or bad things can happen.\n\nIn this particular loop, we need to read *pp once per iteration, not\ntwice.\n\nFixes: b145425f269a (\"inetpeer: remove AVL implementation in favor of RB tree\")\nReported-by: John Sperbeck <jsperbeck@google.com>\nSigned-off-by: Eric Dumazet <edumazet@google.com>\n---\n net/ipv4/inetpeer.c | 9 ++++++---\n 1 file changed, 6 insertions(+), 3 deletions(-)", "diff": "diff --git a/net/ipv4/inetpeer.c b/net/ipv4/inetpeer.c\nindex 337ad41bb80a5fcd3db7ac674292c5b5d462982e..e7eb590c86ce2b33654c17c61619de74ff07bfd1 100644\n--- a/net/ipv4/inetpeer.c\n+++ b/net/ipv4/inetpeer.c\n@@ -102,15 +102,18 @@ static struct inet_peer *lookup(const struct inetpeer_addr *daddr,\n \t\t\t\tstruct rb_node **parent_p,\n \t\t\t\tstruct rb_node ***pp_p)\n {\n-\tstruct rb_node **pp, *parent;\n+\tstruct rb_node **pp, *parent, *next;\n \tstruct inet_peer *p;\n \n \tpp = &base->rb_root.rb_node;\n \tparent = NULL;\n-\twhile (*pp) {\n+\twhile (1) {\n \t\tint cmp;\n \n-\t\tparent = rcu_dereference_raw(*pp);\n+\t\tnext = rcu_dereference_raw(*pp);\n+\t\tif (!next)\n+\t\t\tbreak;\n+\t\tparent = next;\n \t\tp = rb_entry(parent, struct inet_peer, rb_node);\n \t\tcmp = inetpeer_addr_cmp(daddr, &p->daddr);\n \t\tif (cmp == 0) {\n", "prefixes": [ "net-next" ] }