get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 556248,
    "url": "http://patchwork.ozlabs.org/api/patches/556248/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-mtd/patch/566DF679.5040309@simon.arlott.org.uk/",
    "project": {
        "id": 3,
        "url": "http://patchwork.ozlabs.org/api/projects/3/?format=api",
        "name": "Linux MTD development",
        "link_name": "linux-mtd",
        "list_id": "linux-mtd.lists.infradead.org",
        "list_email": "linux-mtd@lists.infradead.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<566DF679.5040309@simon.arlott.org.uk>",
    "list_archive_url": null,
    "date": "2015-12-13T22:51:37",
    "name": "[linux-next,v4,09/11] mtd: bcm63xxpart: Null terminate and validate conversion of flash strings",
    "commit_ref": "2c4fd433fb934c7d5ed02113a5eaa3edb42ea10b",
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "b18f5cd6bd8183f7a9e7ce00d4d6fbdf361f6d67",
    "submitter": {
        "id": 1123,
        "url": "http://patchwork.ozlabs.org/api/people/1123/?format=api",
        "name": "Simon Arlott",
        "email": "simon@fire.lp0.eu"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-mtd/patch/566DF679.5040309@simon.arlott.org.uk/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/556248/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/556248/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Received": [
            "from bombadil.infradead.org (bombadil.infradead.org\n\t[IPv6:2001:1868:205::9])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 6BA82140271\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 14 Dec 2015 09:53:09 +1100 (AEDT)",
            "from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux))\n\tid 1a8FUp-0008OH-Ci; Sun, 13 Dec 2015 22:52:03 +0000",
            "from proxima.lp0.eu ([2001:8b0:ffea:0:205:b4ff:fe12:530])\n\tby bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux))\n\tid 1a8FUm-0008F2-89\n\tfor linux-mtd@lists.infradead.org; Sun, 13 Dec 2015 22:52:01 +0000",
            "from redrum.lp0.eu ([2001:8b0:ffea:0:2e0:81ff:fe4d:2bec]:44506\n\tident=simon)\n\tby proxima.lp0.eu ([2001:8b0:ffea:0:205:b4ff:fe12:530]:465)\n\twith esmtpsav (UNKNOWN:DHE-RSA-AES256-SHA:256/CN=Simon Arlott)\n\tid 1a8FUQ-00046j-BX (Exim); Sun, 13 Dec 2015 22:51:38 +0000"
        ],
        "Authentication-Results": "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tsecure) header.d=fire.lp0.eu header.i=@fire.lp0.eu header.b=HOyXB25I;\n\tdkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=fire.lp0.eu; s=exim; \n\th=Content-Transfer-Encoding:Content-Type:In-Reply-To:MIME-Version:Date:Message-ID:From:Cc:References:To:Subject;\n\tbh=ymMl2NVuu6BOqDif52k51Zqo7WOE2AYRBEcJXLhpu2k=; \n\tb=HOyXB25I+oiSuylWhngCGRl1mcZtyGq+vof8AQOqK3W0J1004FbK+EsnM2IH6coJSiqBvUwG38EesTe1Iayf7Ev1BC7rIfxvHbBkBn6MNAzeFCurUrMHSd6VpBGso6fYWmQHVNqo147f0bvsvq6JHb6CEnWhhqvHQdgfSfOr0IXcO0YRvZaYfIVPitr/0e1NoA+XQ140GnABAYFS4mnYgVmR0qHAtXgj2WQpC4QluyEbx8YCUFPgacykP5weW5g4h4fIzPHPbs2f5EH5RxjbLvDUzQ597P+hHunxIZmIX2YZeNynxsw2RQqcHEU99/gbprtzuAkJ1Wg9nliu7qBAgg==;",
        "Subject": "[PATCH linux-next v4 09/11] mtd: bcm63xxpart: Null terminate and\n\tvalidate conversion of flash strings",
        "To": "Ralf Baechle <ralf@linux-mips.org>, David Woodhouse\n\t<dwmw2@infradead.org>, Brian Norris <computersforpeace@gmail.com>,\n\tKevin Cernekee <cernekee@gmail.com>, Florian Fainelli\n\t<f.fainelli@gmail.com>, Jonas Gorski <jogo@openwrt.org>",
        "References": "<566DF43B.5010400@simon.arlott.org.uk>",
        "From": "Simon Arlott <simon@fire.lp0.eu>",
        "Message-ID": "<566DF679.5040309@simon.arlott.org.uk>",
        "Date": "Sun, 13 Dec 2015 22:51:37 +0000",
        "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101\n\tThunderbird/38.4.0",
        "MIME-Version": "1.0",
        "In-Reply-To": "<566DF43B.5010400@simon.arlott.org.uk>",
        "X-CRM114-Version": "20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ",
        "X-CRM114-CacheID": "sfid-20151213_145200_715030_DC04F853 ",
        "X-CRM114-Status": "GOOD (  11.05  )",
        "X-Spam-Score": "-4.3 (----)",
        "X-Spam-Report": "SpamAssassin version 3.4.0 on bombadil.infradead.org summary:\n\tContent analysis details:   (-4.3 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\n\tmedium trust [2001:8b0:ffea:0:205:b4ff:fe12:530 listed in]\n\t[list.dnswl.org]\n\t-0.0 SPF_HELO_PASS          SPF: HELO matches SPF record\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n\tnot necessarily valid\n\t-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from\n\tauthor's domain\n\t-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature",
        "X-BeenThere": "linux-mtd@lists.infradead.org",
        "X-Mailman-Version": "2.1.20",
        "Precedence": "list",
        "List-Id": "Linux MTD discussion mailing list <linux-mtd.lists.infradead.org>",
        "List-Unsubscribe": "<http://lists.infradead.org/mailman/options/linux-mtd>,\n\t<mailto:linux-mtd-request@lists.infradead.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.infradead.org/pipermail/linux-mtd/>",
        "List-Post": "<mailto:linux-mtd@lists.infradead.org>",
        "List-Help": "<mailto:linux-mtd-request@lists.infradead.org?subject=help>",
        "List-Subscribe": "<http://lists.infradead.org/mailman/listinfo/linux-mtd>,\n\t<mailto:linux-mtd-request@lists.infradead.org?subject=subscribe>",
        "Cc": "MIPS Mailing List <linux-mips@linux-mips.org>,\n\tMTD Maling List <linux-mtd@lists.infradead.org>,\n\tLinux Kernel Mailing List <linux-kernel@vger.kernel.org>",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Sender": "\"linux-mtd\" <linux-mtd-bounces@lists.infradead.org>",
        "Errors-To": "linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"
    },
    "content": "Strings read from flash could be missing null termination characters, or\nnot contain valid integers.\n\nNull terminate the strings and check for errors when converting them to\nintegers.\n\nAlso validate that the addresses are at least BCM963XX_EXTENDED_SIZE\nbecause this will be subtracted from them.\n\nSigned-off-by: Simon Arlott <simon@fire.lp0.eu>\n---\nv4: New patch.\n\n drivers/mtd/bcm63xxpart.c | 38 ++++++++++++++++++++++++++++++++++----\n 1 file changed, 34 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/drivers/mtd/bcm63xxpart.c b/drivers/mtd/bcm63xxpart.c\nindex eafbf52..41aa202 100644\n--- a/drivers/mtd/bcm63xxpart.c\n+++ b/drivers/mtd/bcm63xxpart.c\n@@ -169,10 +169,39 @@ static int bcm63xx_parse_cfe_partitions(struct mtd_info *master,\n \t/* Get the tag */\n \tret = bcm63xx_read_image_tag(master, \"rootfs\", cfelen, buf);\n \tif (!ret) {\n-\t\tsscanf(buf->flash_image_start, \"%u\", &rootfsaddr);\n-\t\tsscanf(buf->kernel_address, \"%u\", &kerneladdr);\n-\t\tsscanf(buf->kernel_length, \"%u\", &kernellen);\n-\t\tsscanf(buf->total_length, \"%u\", &totallen);\n+\t\tSTR_NULL_TERMINATE(buf->flash_image_start);\n+\t\tif (kstrtouint(buf->flash_image_start, 10, &rootfsaddr) ||\n+\t\t\t\trootfsaddr < BCM963XX_EXTENDED_SIZE) {\n+\t\t\tpr_err(\"invalid rootfs address: %*ph\\n\",\n+\t\t\t\tsizeof(buf->flash_image_start),\n+\t\t\t\tbuf->flash_image_start);\n+\t\t\tgoto invalid_tag;\n+\t\t}\n+\n+\t\tSTR_NULL_TERMINATE(buf->kernel_address);\n+\t\tif (kstrtouint(buf->kernel_address, 10, &kerneladdr) ||\n+\t\t\t\tkerneladdr < BCM963XX_EXTENDED_SIZE) {\n+\t\t\tpr_err(\"invalid kernel address: %*ph\\n\",\n+\t\t\t\tsizeof(buf->kernel_address),\n+\t\t\t\tbuf->kernel_address);\n+\t\t\tgoto invalid_tag;\n+\t\t}\n+\n+\t\tSTR_NULL_TERMINATE(buf->kernel_length);\n+\t\tif (kstrtouint(buf->kernel_length, 10, &kernellen)) {\n+\t\t\tpr_err(\"invalid kernel length: %*ph\\n\",\n+\t\t\t\tsizeof(buf->kernel_length),\n+\t\t\t\tbuf->kernel_length);\n+\t\t\tgoto invalid_tag;\n+\t\t}\n+\n+\t\tSTR_NULL_TERMINATE(buf->total_length);\n+\t\tif (kstrtouint(buf->total_length, 10, &totallen)) {\n+\t\t\tpr_err(\"invalid total length: %*ph\\n\",\n+\t\t\t\tsizeof(buf->total_length),\n+\t\t\t\tbuf->total_length);\n+\t\t\tgoto invalid_tag;\n+\t\t}\n \n \t\tkerneladdr = kerneladdr - BCM963XX_EXTENDED_SIZE;\n \t\trootfsaddr = rootfsaddr - BCM963XX_EXTENDED_SIZE;\n@@ -188,6 +217,7 @@ static int bcm63xx_parse_cfe_partitions(struct mtd_info *master,\n \t\t\trootfslen = spareaddr - rootfsaddr;\n \t\t}\n \t} else if (ret > 0) {\n+invalid_tag:\n \t\tkernellen = 0;\n \t\trootfslen = 0;\n \t\trootfsaddr = 0;\n",
    "prefixes": [
        "linux-next",
        "v4",
        "09/11"
    ]
}