get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.2/patches/811323/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 811323,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/811323/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/netdev/patch/45aab5effc0c424a992646a97cf2ec14-mfwitten@gmail.com/",
    "project": {
        "id": 7,
        "url": "http://patchwork.ozlabs.org/api/1.2/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": "<45aab5effc0c424a992646a97cf2ec14-mfwitten@gmail.com>",
    "list_archive_url": null,
    "date": "2017-09-08T05:05:37",
    "name": "[0/3] net: TCP/IP: A few minor cleanups",
    "commit_ref": null,
    "pull_url": null,
    "state": "deferred",
    "archived": true,
    "hash": "67e6be2ac7d4845fa001fdf6f948f3792360fdc5",
    "submitter": {
        "id": 7859,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/7859/?format=api",
        "name": "Michael Witten",
        "email": "mfwitten@gmail.com"
    },
    "delegate": {
        "id": 34,
        "url": "http://patchwork.ozlabs.org/api/1.2/users/34/?format=api",
        "username": "davem",
        "first_name": "David",
        "last_name": "Miller",
        "email": "davem@davemloft.net"
    },
    "mbox": "http://patchwork.ozlabs.org/project/netdev/patch/45aab5effc0c424a992646a97cf2ec14-mfwitten@gmail.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/811323/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/811323/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=\"lsL5C4Uj\"; dkim-atps=neutral"
        ],
        "Received": [
            "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xpRNp1J04z9t2M\n\tfor <patchwork-incoming@ozlabs.org>;\n\tFri,  8 Sep 2017 15:54:50 +1000 (AEST)",
            "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1754257AbdIHFyf (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tFri, 8 Sep 2017 01:54:35 -0400",
            "from mail-wr0-f194.google.com ([209.85.128.194]:34637 \"EHLO\n\tmail-wr0-f194.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751088AbdIHFye (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Fri, 8 Sep 2017 01:54:34 -0400",
            "by mail-wr0-f194.google.com with SMTP id k20so752267wre.1;\n\tThu, 07 Sep 2017 22:54:33 -0700 (PDT)",
            "from gmail.com ([89.35.178.104]) by smtp.gmail.com with ESMTPSA id\n\tc78sm1392001wmd.7.2017.09.07.22.54.30\n\t(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tThu, 07 Sep 2017 22:54:31 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=subject:date:from:to:cc:message-id;\n\tbh=zfGi0Nf8/13FNpyRZQEI6vvbs5RXp6S+b2BZZzYwgzI=;\n\tb=lsL5C4UjRgOQJDbbAGYaYzvma8pBCcEHbRiqzBWSqigZv18emHqtQ5dwoe/iR+T68d\n\t4kASGkf/Yuz35YIuuTekI4/TOd5ILcKKWCbPg8PilqN/K2Nz6l0FR59nITNw1JnlFF4E\n\tnh3CFtNFajQn3Xyd4dzCSqvFwl8WLG3DHbIQyqAHx7vohCsOESiYi/LFZamZRiIHs4bc\n\tAcHryBZ9HEPckj6B7Mm+DoBSKjGfUaHbWm0iGbgXzrXVgFUGkAIMBHtyq04ng+3sOX3K\n\tklt9VupgWzsQyGEcQ+bxESAypxEHzcCcJwWvGJRjfkXQHLoIICrLqxT9SWeYSxwdisIs\n\tybOw==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:subject:date:from:to:cc:message-id;\n\tbh=zfGi0Nf8/13FNpyRZQEI6vvbs5RXp6S+b2BZZzYwgzI=;\n\tb=q9Rah+yFNHG6rXxl0kxOzeqNbk0FkUdYxVpxv4Fxotbq2USpSq3VFlQ2RcOX4JBXUE\n\tDdlB2dUKOGHb9Bm18FYl/g3dQDQ9c2hjhxq59ViMRXYqDrfQSN79l4/+J5Amka2GsE+e\n\tLVI6zgtLV4GazFvNXXVWAtd8NJVk4vJI98hChjxqagKrtKJiDcMggqhTlbqWxg936FEM\n\t4ScP4tlClWmaLG5gJQ++Aa+2PKU0eFw3bI3tvNjXVrL3nlWidz3qxM0wDtOTaGLaO9j6\n\t+9y3WjA9l9siNJ1oPedHpEJp9dCoZxoUD8zyrfdHGLvHhX+ENuw01f7OVwM24cHX7jw+\n\t9/oA==",
        "X-Gm-Message-State": "AHPjjUhjFmqXx6TbOGSBIEV/+b6rTtGFSiuOyHqnb7ni8y65lwx6+MFZ\n\tuJRqPfBjuH1po+/m",
        "X-Google-Smtp-Source": "ADKCNb76tWbfkuWvBosdtbiNozhgQyYIQlxUET00VDhWhODNcEZKeH6QY5wh/LKByxVzvKQG3QbQQw==",
        "X-Received": "by 10.223.130.77 with SMTP id 71mr1018899wrb.247.1504850072386; \n\tThu, 07 Sep 2017 22:54:32 -0700 (PDT)",
        "Subject": "[PATCH 0/3] net: TCP/IP: A few minor cleanups",
        "Date": "Fri, 08 Sep 2017 05:05:37 -0000",
        "From": "Michael Witten <mfwitten@gmail.com>",
        "To": "\"David S. Miller\" <davem@davemloft.net>,\n\tAlexey Kuznetsov <kuznet@ms2.inr.ac.ru>,\n\tHideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>",
        "Cc": "netdev@vger.kernel.org, linux-kernel@vger.kernel.org",
        "Message-ID": "<45aab5effc0c424a992646a97cf2ec14-mfwitten@gmail.com>",
        "Sender": "netdev-owner@vger.kernel.org",
        "Precedence": "bulk",
        "List-ID": "<netdev.vger.kernel.org>",
        "X-Mailing-List": "netdev@vger.kernel.org"
    },
    "content": "The following patch series is an ad hoc \"cleanup\" that I made\nwhile perusing the code (I'm not well versed in this code, so I\nwould not be surprised if there were objections to the changes):\n\n  [1] net: __sock_cmsg_send(): Remove unused parameter `msg'\n  [2] net: inet_recvmsg(): Remove unnecessary bitwise operation.\n  [3] net: skb_queue_purge(): lock/unlock the list only once\n\nEach patch will be sent as an individiual email; the total diff\nis appended below for your convenience.\n\nYou may also fetch these patches from GitHub:\n\n  git checkout -b test 5969d1bb3082b41eba8fd2c826559abe38ccb6df\n  git pull https://github.com/mfwitten/linux.git net/tcp-ip/01-cleanup/00\n\nOverall:\n\n  include/net/sock.h     | 2 +-\n  net/core/skbuff.c      | 6 +++++-\n  net/core/sock.c        | 4 ++--\n  net/ipv4/af_inet.c     | 2 +-\n  net/ipv4/ip_sockglue.c | 2 +-\n  net/ipv6/datagram.c    | 2 +-\n  6 files changed, 11 insertions(+), 7 deletions(-)\n\nSincerly,\nMichael Witten",
    "diff": "diff --git a/include/net/sock.h b/include/net/sock.h\nindex 03a362568357..83373d7148a9 100644\n--- a/include/net/sock.h\n+++ b/include/net/sock.h\n@@ -1562,7 +1562,7 @@ struct sockcm_cookie {\n \tu16 tsflags;\n };\n \n-int __sock_cmsg_send(struct sock *sk, struct msghdr *msg, struct cmsghdr *cmsg,\n+int __sock_cmsg_send(struct sock *sk, struct cmsghdr *cmsg,\n \t\t     struct sockcm_cookie *sockc);\n int sock_cmsg_send(struct sock *sk, struct msghdr *msg,\n \t\t   struct sockcm_cookie *sockc);\ndiff --git a/net/core/sock.c b/net/core/sock.c\nindex 9b7b6bbb2a23..425e03fe1c56 100644\n--- a/net/core/sock.c\n+++ b/net/core/sock.c\n@@ -2091,7 +2091,7 @@ struct sk_buff *sock_alloc_send_skb(struct sock *sk, unsigned long size,\n }\n EXPORT_SYMBOL(sock_alloc_send_skb);\n \n-int __sock_cmsg_send(struct sock *sk, struct msghdr *msg, struct cmsghdr *cmsg,\n+int __sock_cmsg_send(struct sock *sk, struct cmsghdr *cmsg,\n \t\t     struct sockcm_cookie *sockc)\n {\n \tu32 tsflags;\n@@ -2137,7 +2137,7 @@ int sock_cmsg_send(struct sock *sk, struct msghdr *msg,\n \t\t\treturn -EINVAL;\n \t\tif (cmsg->cmsg_level != SOL_SOCKET)\n \t\t\tcontinue;\n-\t\tret = __sock_cmsg_send(sk, msg, cmsg, sockc);\n+\t\tret = __sock_cmsg_send(sk, cmsg, sockc);\n \t\tif (ret)\n \t\t\treturn ret;\n \t}\ndiff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c\nindex e558e4f9597b..c79b7822b0b9 100644\n--- a/net/ipv4/ip_sockglue.c\n+++ b/net/ipv4/ip_sockglue.c\n@@ -263,7 +263,7 @@ int ip_cmsg_send(struct sock *sk, struct msghdr *msg, struct ipcm_cookie *ipc,\n \t\t}\n #endif\n \t\tif (cmsg->cmsg_level == SOL_SOCKET) {\n-\t\t\terr = __sock_cmsg_send(sk, msg, cmsg, &ipc->sockc);\n+\t\t\terr = __sock_cmsg_send(sk, cmsg, &ipc->sockc);\n \t\t\tif (err)\n \t\t\t\treturn err;\n \t\t\tcontinue;\ndiff --git a/net/ipv6/datagram.c b/net/ipv6/datagram.c\nindex a1f918713006..1d1926a4cbe2 100644\n--- a/net/ipv6/datagram.c\n+++ b/net/ipv6/datagram.c\n@@ -756,7 +756,7 @@ int ip6_datagram_send_ctl(struct net *net, struct sock *sk,\n \t\t}\n \n \t\tif (cmsg->cmsg_level == SOL_SOCKET) {\n-\t\t\terr = __sock_cmsg_send(sk, msg, cmsg, sockc);\n+\t\t\terr = __sock_cmsg_send(sk, cmsg, sockc);\n \t\t\tif (err)\n \t\t\t\treturn err;\n \t\t\tcontinue;\ndiff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c\nindex e31108e5ef79..2dbed042a412 100644\n--- a/net/ipv4/af_inet.c\n+++ b/net/ipv4/af_inet.c\n@@ -791,7 +791,7 @@ int inet_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,\n \tsock_rps_record_flow(sk);\n \n \terr = sk->sk_prot->recvmsg(sk, msg, size, flags & MSG_DONTWAIT,\n-\t\t\t\t   flags & ~MSG_DONTWAIT, &addr_len);\n+\t\t\t\t   flags, &addr_len);\n \tif (err >= 0)\n \t\tmsg->msg_namelen = addr_len;\n \treturn err;\ndiff --git a/net/core/skbuff.c b/net/core/skbuff.c\nindex 68065d7d383f..66c0731a2a5f 100644\n--- a/net/core/skbuff.c\n+++ b/net/core/skbuff.c\n@@ -2834,9 +2834,13 @@ EXPORT_SYMBOL(skb_dequeue_tail);\n  */\n void skb_queue_purge(struct sk_buff_head *list)\n {\n+\tunsigned long flags;\n \tstruct sk_buff *skb;\n-\twhile ((skb = skb_dequeue(list)) != NULL)\n+\n+\tspin_lock_irqsave(&list->lock, flags);\n+\twhile ((skb = __skb_dequeue(list)) != NULL)\n \t\tkfree_skb(skb);\n+\tspin_unlock_irqrestore(&list->lock, flags);\n }\n EXPORT_SYMBOL(skb_queue_purge);\n \n",
    "prefixes": [
        "0/3"
    ]
}