get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 503957,
    "url": "http://patchwork.ozlabs.org/api/patches/503957/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1438769770-8887-1-git-send-email-baijiaju1990@163.com/",
    "project": {
        "id": 46,
        "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api",
        "name": "Intel Wired Ethernet development",
        "link_name": "intel-wired-lan",
        "list_id": "intel-wired-lan.osuosl.org",
        "list_email": "intel-wired-lan@osuosl.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1438769770-8887-1-git-send-email-baijiaju1990@163.com>",
    "list_archive_url": null,
    "date": "2015-08-05T10:16:10",
    "name": "[v2] e1000e: Modify tx/rx configurations to avoid null pointer dereferences in e1000_open",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "a5785b80bf1527304ca8942d905171c749463df5",
    "submitter": {
        "id": 65398,
        "url": "http://patchwork.ozlabs.org/api/people/65398/?format=api",
        "name": "Jia-Ju Bai",
        "email": "baijiaju1990@163.com"
    },
    "delegate": {
        "id": 68,
        "url": "http://patchwork.ozlabs.org/api/users/68/?format=api",
        "username": "jtkirshe",
        "first_name": "Jeff",
        "last_name": "Kirsher",
        "email": "jeffrey.t.kirsher@intel.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1438769770-8887-1-git-send-email-baijiaju1990@163.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/503957/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/503957/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<intel-wired-lan-bounces@lists.osuosl.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Received": [
            "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\tby ozlabs.org (Postfix) with ESMTP id 8017F1402C7\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed,  5 Aug 2015 20:16:47 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 86542954EF;\n\tWed,  5 Aug 2015 10:16:46 +0000 (UTC)",
            "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id lvP9j2UpudaG; Wed,  5 Aug 2015 10:16:44 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 7E9D8938FA;\n\tWed,  5 Aug 2015 10:16:44 +0000 (UTC)",
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id 618641C2265\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed,  5 Aug 2015 10:16:43 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id E97FF25D62\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed,  5 Aug 2015 10:16:42 +0000 (UTC)",
            "from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id IA-HjQx-SF1n for <intel-wired-lan@lists.osuosl.org>;\n\tWed,  5 Aug 2015 10:16:40 +0000 (UTC)",
            "from m50-135.163.com (m50-135.163.com [123.125.50.135])\n\tby silver.osuosl.org (Postfix) with ESMTP id 52B28259A3\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed,  5 Aug 2015 10:16:40 +0000 (UTC)",
            "from bai-oslab.tsinghua.edu.cn (unknown [173.252.200.40])\n\tby smtp5 (Coremail) with SMTP id D9GowAAXhzdu4sFVx5r2AQ--.5008S2;\n\tWed, 05 Aug 2015 18:16:34 +0800 (CST)"
        ],
        "Authentication-Results": "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=163.com header.i=@163.com header.b=EyXrCoJ1;\n\tdkim-atps=neutral",
        "X-Virus-Scanned": [
            "amavisd-new at osuosl.org",
            "amavisd-new at osuosl.org"
        ],
        "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com;\n\ts=s110527; h=From:Subject:Date:Message-Id; bh=bRB4nrMwaEhQHoObCi\n\tR7vTyzXsDtvznG+lobRCFs9ME=; b=EyXrCoJ1LycQhXuL1Ad03NOZ5Hwm5Igb7U\n\tQ9h40hI0Pmk3qOzees+ZDvKfjk4PTt0eci6BZ9OAoezi/qsD0iSdDUzV9L9sFWZ/\n\t9avZjHUTiMRskcHZCKMsC9sRX0MF/ZPoDT+h0TnD8mNeUSMHmU+DzvROG75hVSdQ\n\tAYqTLr6tI=",
        "From": "Jia-Ju Bai <baijiaju1990@163.com>",
        "To": "jeffrey.t.kirsher@intel.com,\n\tjesse.brandeburg@intel.com",
        "Date": "Wed,  5 Aug 2015 18:16:10 +0800",
        "Message-Id": "<1438769770-8887-1-git-send-email-baijiaju1990@163.com>",
        "X-Mailer": "git-send-email 1.7.9.5",
        "X-CM-TRANSID": "D9GowAAXhzdu4sFVx5r2AQ--.5008S2",
        "X-Coremail-Antispam": "1Uf129KBjvJXoWxJw43AF45ZF1rtF13tr17Awb_yoW5WrWkpF\n\tW7Ka1DKr1FvanFgFsrCFy8JFs5J3y8t3sakr47CwnY9FW7AF10yF90qFWSqrZrW397XFy5\n\ttrs5Zry3Gr1DX3JanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2\n\t9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jx3kZUUUUU=",
        "X-Originating-IP": "[173.252.200.40]",
        "X-CM-SenderInfo": "xedlyx5dmximizq6il2tof0z/xtbBRQNNelO-wXW2TAAAsT",
        "Cc": "netdev@vger.kernel.org, Jia-Ju Bai <baijiaju1990@163.com>,\n\tintel-wired-lan@lists.osuosl.org, linux-kernel@vger.kernel.org",
        "Subject": "[Intel-wired-lan] [PATCH v2] e1000e: Modify tx/rx configurations to\n\tavoid null pointer dereferences in e1000_open",
        "X-BeenThere": "intel-wired-lan@lists.osuosl.org",
        "X-Mailman-Version": "2.1.18-1",
        "Precedence": "list",
        "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.lists.osuosl.org>",
        "List-Unsubscribe": "<http://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>",
        "List-Post": "<mailto:intel-wired-lan@lists.osuosl.org>",
        "List-Help": "<mailto:intel-wired-lan-request@lists.osuosl.org?subject=help>",
        "List-Subscribe": "<http://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=subscribe>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "intel-wired-lan-bounces@lists.osuosl.org",
        "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@lists.osuosl.org>"
    },
    "content": "When e1000e_setup_rx_resources is failed in e1000_open,\ne1000e_free_tx_resources in \"err_setup_rx\" segment is executed.\n\"writel(0, tx_ring->head)\" statement in e1000_clean_tx_ring\nin e1000e_free_tx_resources will cause a null poonter dereference(crash),\nbecause \"tx_ring->head\" is only assigned in e1000_configure_tx\nin e1000_configure, but it is after e1000e_setup_rx_resources.\n\nThis patch moves head/tail register writing to e1000_configure_tx/rx, \nwhich can fix this problem. It is inspired by igb_configure_tx_ring \nin the igb driver.\n\nSpecially, thank Alexander Duyck for his valuable suggestion.\n\nSigned-off-by: Jia-Ju Bai <baijiaju1990@163.com>\n---\n drivers/net/ethernet/intel/e1000e/netdev.c |   24 ++++++++++++------------\n 1 file changed, 12 insertions(+), 12 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c\nindex 89d788d..3aee51b 100644\n--- a/drivers/net/ethernet/intel/e1000e/netdev.c\n+++ b/drivers/net/ethernet/intel/e1000e/netdev.c\n@@ -1737,12 +1737,6 @@ static void e1000_clean_rx_ring(struct e1000_ring *rx_ring)\n \trx_ring->next_to_clean = 0;\n \trx_ring->next_to_use = 0;\n \tadapter->flags2 &= ~FLAG2_IS_DISCARDING;\n-\n-\twritel(0, rx_ring->head);\n-\tif (adapter->flags2 & FLAG2_PCIM2PCI_ARBITER_WA)\n-\t\te1000e_update_rdt_wa(rx_ring, 0);\n-\telse\n-\t\twritel(0, rx_ring->tail);\n }\n \n static void e1000e_downshift_workaround(struct work_struct *work)\n@@ -2447,12 +2441,6 @@ static void e1000_clean_tx_ring(struct e1000_ring *tx_ring)\n \n \ttx_ring->next_to_use = 0;\n \ttx_ring->next_to_clean = 0;\n-\n-\twritel(0, tx_ring->head);\n-\tif (adapter->flags2 & FLAG2_PCIM2PCI_ARBITER_WA)\n-\t\te1000e_update_tdt_wa(tx_ring, 0);\n-\telse\n-\t\twritel(0, tx_ring->tail);\n }\n \n /**\n@@ -2954,6 +2942,12 @@ static void e1000_configure_tx(struct e1000_adapter *adapter)\n \ttx_ring->head = adapter->hw.hw_addr + E1000_TDH(0);\n \ttx_ring->tail = adapter->hw.hw_addr + E1000_TDT(0);\n \n+\twritel(0, tx_ring->head);\n+\tif (adapter->flags2 & FLAG2_PCIM2PCI_ARBITER_WA)\n+\t\te1000e_update_tdt_wa(tx_ring, 0);\n+\telse\n+\t\twritel(0, tx_ring->tail);\n+\n \t/* Set the Tx Interrupt Delay register */\n \tew32(TIDV, adapter->tx_int_delay);\n \t/* Tx irq moderation */\n@@ -3275,6 +3269,12 @@ static void e1000_configure_rx(struct e1000_adapter *adapter)\n \trx_ring->head = adapter->hw.hw_addr + E1000_RDH(0);\n \trx_ring->tail = adapter->hw.hw_addr + E1000_RDT(0);\n \n+\twritel(0, rx_ring->head);\n+\tif (adapter->flags2 & FLAG2_PCIM2PCI_ARBITER_WA)\n+\t\te1000e_update_rdt_wa(rx_ring, 0);\n+\telse\n+\t\twritel(0, rx_ring->tail);\n+\n \t/* Enable Receive Checksum Offload for TCP and UDP */\n \trxcsum = er32(RXCSUM);\n \tif (adapter->netdev->features & NETIF_F_RXCSUM)\n",
    "prefixes": [
        "v2"
    ]
}