get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 807346,
    "url": "http://patchwork.ozlabs.org/api/patches/807346/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/ubuntu-kernel/patch/20170829231812.18206-3-dann.frazier@canonical.com/",
    "project": {
        "id": 15,
        "url": "http://patchwork.ozlabs.org/api/projects/15/?format=api",
        "name": "Ubuntu Kernel",
        "link_name": "ubuntu-kernel",
        "list_id": "kernel-team.lists.ubuntu.com",
        "list_email": "kernel-team@lists.ubuntu.com",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20170829231812.18206-3-dann.frazier@canonical.com>",
    "list_archive_url": null,
    "date": "2017-08-29T23:18:12",
    "name": "[2/2,Artful] clocksource/drivers/arm_arch_timer: Avoid infinite recursion when ftrace is enabled",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "167a74c4d37c216f196eda8abec942ae04f24753",
    "submitter": {
        "id": 9337,
        "url": "http://patchwork.ozlabs.org/api/people/9337/?format=api",
        "name": "dann frazier",
        "email": "dann.frazier@canonical.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/ubuntu-kernel/patch/20170829231812.18206-3-dann.frazier@canonical.com/mbox/",
    "series": [
        {
            "id": 502,
            "url": "http://patchwork.ozlabs.org/api/series/502/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/ubuntu-kernel/list/?series=502",
            "date": "2017-08-29T23:18:10",
            "name": "[1/2,Artful] clocksource/drivers/arm_arch_timer: Fix mem frame loop initialization",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/502/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/807346/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/807346/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<kernel-team-bounces@lists.ubuntu.com>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com\n\t(client-ip=91.189.94.19; helo=huckleberry.canonical.com;\n\tenvelope-from=kernel-team-bounces@lists.ubuntu.com;\n\treceiver=<UNKNOWN>)",
        "Received": [
            "from huckleberry.canonical.com (huckleberry.canonical.com\n\t[91.189.94.19])\n\tby ozlabs.org (Postfix) with ESMTP id 3xhl1x6jw4z9sMN;\n\tWed, 30 Aug 2017 09:18:45 +1000 (AEST)",
            "from localhost ([127.0.0.1] helo=huckleberry.canonical.com)\n\tby huckleberry.canonical.com with esmtp (Exim 4.76)\n\t(envelope-from <kernel-team-bounces@lists.ubuntu.com>)\n\tid 1dmpmN-0003FN-20; Tue, 29 Aug 2017 23:18:43 +0000",
            "from complete.lackof.org ([198.49.126.79])\n\tby huckleberry.canonical.com with esmtps\n\t(TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.76) (envelope-from <dannf@dannf.org>) id 1dmpmE-0003BL-LE\n\tfor kernel-team@lists.ubuntu.com; Tue, 29 Aug 2017 23:18:34 +0000",
            "from localhost (c-107-2-141-92.hsd1.co.comcast.net [107.2.141.92])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (Client did not present a certificate)\n\tby complete.lackof.org (Postfix) with ESMTPSA id 8F7F033E0064\n\tfor <kernel-team@lists.ubuntu.com>;\n\tTue, 29 Aug 2017 17:18:31 -0600 (MDT)"
        ],
        "From": "dann frazier <dann.frazier@canonical.com>",
        "To": "kernel-team@lists.ubuntu.com",
        "Subject": "[PATCH 2/2][Artful] clocksource/drivers/arm_arch_timer: Avoid\n\tinfinite recursion when ftrace is enabled",
        "Date": "Tue, 29 Aug 2017 17:18:12 -0600",
        "Message-Id": "<20170829231812.18206-3-dann.frazier@canonical.com>",
        "X-Mailer": "git-send-email 2.14.1",
        "In-Reply-To": "<20170829231812.18206-1-dann.frazier@canonical.com>",
        "References": "<20170829231812.18206-1-dann.frazier@canonical.com>",
        "X-Spam-Status": "No, score=0.0 required=5.0 tests=UNPARSEABLE_RELAY\n\tautolearn=unavailable version=3.3.2",
        "X-Spam-Checker-Version": "SpamAssassin 3.3.2 (2011-06-06) on\n\tcomplete.lackof.org",
        "X-BeenThere": "kernel-team@lists.ubuntu.com",
        "X-Mailman-Version": "2.1.14",
        "Precedence": "list",
        "List-Id": "Kernel team discussions <kernel-team.lists.ubuntu.com>",
        "List-Unsubscribe": "<https://lists.ubuntu.com/mailman/options/kernel-team>,\n\t<mailto:kernel-team-request@lists.ubuntu.com?subject=unsubscribe>",
        "List-Archive": "<https://lists.ubuntu.com/archives/kernel-team>",
        "List-Post": "<mailto:kernel-team@lists.ubuntu.com>",
        "List-Help": "<mailto:kernel-team-request@lists.ubuntu.com?subject=help>",
        "List-Subscribe": "<https://lists.ubuntu.com/mailman/listinfo/kernel-team>,\n\t<mailto:kernel-team-request@lists.ubuntu.com?subject=subscribe>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "kernel-team-bounces@lists.ubuntu.com",
        "Sender": "kernel-team-bounces@lists.ubuntu.com"
    },
    "content": "From: Ding Tianhong <dingtianhong@huawei.com>\n\nBugLink: https://bugs.launchpad.net/bugs/1713821\n\nOn platforms with an arch timer erratum workaround, it's possible for\narch_timer_reg_read_stable() to recurse into itself when certain\ntracing options are enabled, leading to stack overflows and related\nproblems.\n\nFor example, when PREEMPT_TRACER and FUNCTION_GRAPH_TRACER are\nselected, it's possible to trigger this with:\n\n$ mount -t debugfs nodev /sys/kernel/debug/\n$ echo function_graph > /sys/kernel/debug/tracing/current_tracer\n\nThe problem is that in such cases, preempt_disable() instrumentation\nattempts to acquire a timestamp via trace_clock(), resulting in a call\nback to arch_timer_reg_read_stable(), and hence recursion.\n\nThis patch changes arch_timer_reg_read_stable() to use\npreempt_{disable,enable}_notrace(), which avoids this.\n\nThis problem is similar to the fixed by upstream commit 96b3d28bf4\n(\"sched/clock: Prevent tracing recursion in sched_clock_cpu()\").\n\nFixes: 6acc71ccac71 (\"arm64: arch_timer: Allows a CPU-specific erratum to only affect a subset of CPUs\")\nSigned-off-by: Ding Tianhong <dingtianhong@huawei.com>\nAcked-by: Mark Rutland <mark.rutland@arm.com>\nAcked-by: Marc Zyngier <marc.zyngier@arm.com>\nSigned-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>\n(cherry picked from commit adb4f11e0a8f4e29900adb2b7af28b6bbd5c1fa4)\nSigned-off-by: dann frazier <dann.frazier@canonical.com>\n---\n arch/arm64/include/asm/arch_timer.h | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/arch/arm64/include/asm/arch_timer.h b/arch/arm64/include/asm/arch_timer.h\nindex 74d08e44a651..a652ce0a5cb2 100644\n--- a/arch/arm64/include/asm/arch_timer.h\n+++ b/arch/arm64/include/asm/arch_timer.h\n@@ -65,13 +65,13 @@ DECLARE_PER_CPU(const struct arch_timer_erratum_workaround *,\n \tu64 _val;\t\t\t\t\t\t\t\\\n \tif (needs_unstable_timer_counter_workaround()) {\t\t\\\n \t\tconst struct arch_timer_erratum_workaround *wa;\t\t\\\n-\t\tpreempt_disable();\t\t\t\t\t\\\n+\t\tpreempt_disable_notrace();\t\t\t\t\\\n \t\twa = __this_cpu_read(timer_unstable_counter_workaround); \\\n \t\tif (wa && wa->read_##reg)\t\t\t\t\\\n \t\t\t_val = wa->read_##reg();\t\t\t\\\n \t\telse\t\t\t\t\t\t\t\\\n \t\t\t_val = read_sysreg(reg);\t\t\t\\\n-\t\tpreempt_enable();\t\t\t\t\t\\\n+\t\tpreempt_enable_notrace();\t\t\t\t\\\n \t} else {\t\t\t\t\t\t\t\\\n \t\t_val = read_sysreg(reg);\t\t\t\t\\\n \t}\t\t\t\t\t\t\t\t\\\n",
    "prefixes": [
        "2/2",
        "Artful"
    ]
}