)]}'
{
  "log": [
    {
      "commit": "fda73056f62d84376a3d29926708b4a08155da31",
      "tree": "0080c4eec02c23179f59a50d269f48f7662b61ce",
      "parents": [
        "cf8f2e58d0893f9785b8056b29d9bbcb4758765f",
        "94f578e6aba14bb2aeb00db2e7f6e5f704fee937"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Jan 14 21:50:44 2014 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Tue Jan 14 21:50:44 2014 -0800"
      },
      "message": "Merge tag \u0027v3.4.76\u0027 into cm-11.0\n\nThis is the 3.4.76 stable release\n\nConflicts:\n\tdrivers/gpio/gpio-msm-v2.c\n\nChange-Id: Ic80b29098bdf656b5e5c9b95d98d2ec64bba1f28\n"
    },
    {
      "commit": "09951c9b33f8cfdc0e8c4e03fe83bc66c9d908dc",
      "tree": "4b5081c15d8231b7cb2adbb0d06a6e9f0d531150",
      "parents": [
        "58c2314ac41e8f24a2a594bd866915e38de9648e"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Mon Dec 16 15:20:01 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Jan 08 09:42:10 2014 -0800"
      },
      "message": "ftrace: Initialize the ftrace profiler for each possible cpu\n\ncommit c4602c1c818bd6626178d6d3fcc152d9f2f48ac0 upstream.\n\nFtrace currently initializes only the online CPUs. This implementation has\ntwo problems:\n- If we online a CPU after we enable the function profile, and then run the\n  test, we will lose the trace information on that CPU.\n  Steps to reproduce:\n  # echo 0 \u003e /sys/devices/system/cpu/cpu1/online\n  # cd \u003cdebugfs\u003e/tracing/\n  # echo \u003csome function name\u003e \u003e\u003e set_ftrace_filter\n  # echo 1 \u003e function_profile_enabled\n  # echo 1 \u003e /sys/devices/system/cpu/cpu1/online\n  # run test\n- If we offline a CPU before we enable the function profile, we will not clear\n  the trace information when we enable the function profile. It will trouble\n  the users.\n  Steps to reproduce:\n  # cd \u003cdebugfs\u003e/tracing/\n  # echo \u003csome function name\u003e \u003e\u003e set_ftrace_filter\n  # echo 1 \u003e function_profile_enabled\n  # run test\n  # cat trace_stat/function*\n  # echo 0 \u003e /sys/devices/system/cpu/cpu1/online\n  # echo 0 \u003e function_profile_enabled\n  # echo 1 \u003e function_profile_enabled\n  # cat trace_stat/function*\n  # run test\n  # cat trace_stat/function*\n\nSo it is better that we initialize the ftrace profiler for each possible cpu\nevery time we enable the function profile instead of just the online ones.\n\nLink: http://lkml.kernel.org/r/1387178401-10619-1-git-send-email-miaox@cn.fujitsu.com\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "2a38ada0f1ab9f894eea4428731ebc811b51c3f3",
      "tree": "759c765808a23a3a35e4ba10d8306c847c0205b7",
      "parents": [
        "19218e895cefdd389c96af12c93c89e7276bbaad",
        "44d19f5a04ae4e433548ba2f25e4d2ccfcac765e"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sun Dec 08 12:50:38 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Sun Dec 08 12:50:38 2013 -0800"
      },
      "message": "Merge tag \u0027v3.4.72\u0027 into tmp\n\nThis is the 3.4.72 stable release\n\nConflicts:\n\tarch/arm/Kconfig\n\tarch/arm/include/asm/mutex.h\n\tarch/arm/kernel/perf_event.c\n\tarch/arm/kernel/traps.c\n\tarch/arm/mm/dma-mapping.c\n\tdrivers/base/power/main.c\n\tdrivers/bluetooth/ath3k.c\n\tdrivers/bluetooth/btusb.c\n\tdrivers/gpu/drm/radeon/radeon_mode.h\n\tdrivers/mmc/card/block.c\n\tdrivers/mmc/host/sdhci.c\n\tdrivers/usb/core/message.c\n\tdrivers/usb/host/xhci-plat.c\n\tdrivers/usb/host/xhci.h\n\tdrivers/virtio/virtio_ring.c\n\tfs/ubifs/dir.c\n\tinclude/linux/freezer.h\n\tinclude/linux/virtio.h\n\tinclude/media/v4l2-ctrls.h\n\tinclude/net/bluetooth/hci_core.h\n\tinclude/net/bluetooth/mgmt.h\n\tkernel/cgroup.c\n\tkernel/futex.c\n\tkernel/signal.c\n\tnet/bluetooth/hci_conn.c\n\tnet/bluetooth/hci_core.c\n\tnet/bluetooth/hci_event.c\n\tnet/bluetooth/l2cap_core.c\n\tnet/bluetooth/mgmt.c\n\tnet/bluetooth/rfcomm/sock.c\n\tnet/bluetooth/smp.c\n\nChange-Id: I4fb0d5de74ca76f933d95d98e1a9c2c859402f34\n"
    },
    {
      "commit": "51d351d5b949ae7204696ada7ef502ed34d34fb0",
      "tree": "f5b337191f35ac1a8b64aebad36479ed52d8beee",
      "parents": [
        "5833570f8e15cd7a40dd6c14ec73cb53736048cf"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Nov 25 20:59:46 2013 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Dec 04 10:50:34 2013 -0800"
      },
      "message": "ftrace: Fix function graph with loading of modules\n\ncommit 8a56d7761d2d041ae5e8215d20b4167d8aa93f51 upstream.\n\nCommit 8c4f3c3fa9681 \"ftrace: Check module functions being traced on reload\"\nfixed module loading and unloading with respect to function tracing, but\nit missed the function graph tracer. If you perform the following\n\n # cd /sys/kernel/debug/tracing\n # echo function_graph \u003e current_tracer\n # modprobe nfsd\n # echo nop \u003e current_tracer\n\nYou\u0027ll get the following oops message:\n\n ------------[ cut here ]------------\n WARNING: CPU: 2 PID: 2910 at /linux.git/kernel/trace/ftrace.c:1640 __ftrace_hash_rec_update.part.35+0x168/0x1b9()\n Modules linked in: nfsd exportfs nfs_acl lockd ipt_MASQUERADE sunrpc ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables uinput snd_hda_codec_idt\n CPU: 2 PID: 2910 Comm: bash Not tainted 3.13.0-rc1-test #7\n Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./To be filled by O.E.M., BIOS SDBLI944.86P 05/08/2007\n  0000000000000668 ffff8800787efcf8 ffffffff814fe193 ffff88007d500000\n  0000000000000000 ffff8800787efd38 ffffffff8103b80a 0000000000000668\n  ffffffff810b2b9a ffffffff81a48370 0000000000000001 ffff880037aea000\n Call Trace:\n  [\u003cffffffff814fe193\u003e] dump_stack+0x4f/0x7c\n  [\u003cffffffff8103b80a\u003e] warn_slowpath_common+0x81/0x9b\n  [\u003cffffffff810b2b9a\u003e] ? __ftrace_hash_rec_update.part.35+0x168/0x1b9\n  [\u003cffffffff8103b83e\u003e] warn_slowpath_null+0x1a/0x1c\n  [\u003cffffffff810b2b9a\u003e] __ftrace_hash_rec_update.part.35+0x168/0x1b9\n  [\u003cffffffff81502f89\u003e] ? __mutex_lock_slowpath+0x364/0x364\n  [\u003cffffffff810b2cc2\u003e] ftrace_shutdown+0xd7/0x12b\n  [\u003cffffffff810b47f0\u003e] unregister_ftrace_graph+0x49/0x78\n  [\u003cffffffff810c4b30\u003e] graph_trace_reset+0xe/0x10\n  [\u003cffffffff810bf393\u003e] tracing_set_tracer+0xa7/0x26a\n  [\u003cffffffff810bf5e1\u003e] tracing_set_trace_write+0x8b/0xbd\n  [\u003cffffffff810c501c\u003e] ? ftrace_return_to_handler+0xb2/0xde\n  [\u003cffffffff811240a8\u003e] ? __sb_end_write+0x5e/0x5e\n  [\u003cffffffff81122aed\u003e] vfs_write+0xab/0xf6\n  [\u003cffffffff8150a185\u003e] ftrace_graph_caller+0x85/0x85\n  [\u003cffffffff81122dbd\u003e] SyS_write+0x59/0x82\n  [\u003cffffffff8150a185\u003e] ftrace_graph_caller+0x85/0x85\n  [\u003cffffffff8150a2d2\u003e] system_call_fastpath+0x16/0x1b\n ---[ end trace 940358030751eafb ]---\n\nThe above mentioned commit didn\u0027t go far enough. Well, it covered the\nfunction tracer by adding checks in __register_ftrace_function(). The\nproblem is that the function graph tracer circumvents that (for a slight\nefficiency gain when function graph trace is running with a function\ntracer. The gain was not worth this).\n\nThe problem came with ftrace_startup() which should always be called after\n__register_ftrace_function(), if you want this bug to be completely fixed.\n\nAnyway, this solution moves __register_ftrace_function() inside of\nftrace_startup() and removes the need to call them both.\n\nReported-by: Dave Wysochanski \u003cdwysocha@redhat.com\u003e\nFixes: ed926f9b35cd (\"ftrace: Use counters to enable functions to trace\")\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n\n"
    },
    {
      "commit": "d134082b7a9bb0e09158a2cc2e551841a84ddfa7",
      "tree": "867255fbc644ae386cb93323401437f9167cce7e",
      "parents": [
        "f22ff9d05def87a049c5c8c7b86539bd4f8e3172"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 05 12:51:11 2013 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Nov 29 10:50:33 2013 -0800"
      },
      "message": "perf/ftrace: Fix paranoid level for enabling function tracer\n\ncommit 12ae030d54ef250706da5642fc7697cc60ad0df7 upstream.\n\nThe current default perf paranoid level is \"1\" which has\n\"perf_paranoid_kernel()\" return false, and giving any operations that\nuse it, access to normal users. Unfortunately, this includes function\ntracing and normal users should not be allowed to enable function\ntracing by default.\n\nThe proper level is defined at \"-1\" (full perf access), which\n\"perf_paranoid_tracepoint_raw()\" will only give access to. Use that\ncheck instead for enabling function tracing.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nReported-by: Vince Weaver \u003cvincent.weaver@maine.edu\u003e\nTested-by: Vince Weaver \u003cvincent.weaver@maine.edu\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCVE: CVE-2013-2930\nFixes: ced39002f5ea (\"ftrace, perf: Add support to use function tracepoint in perf\")\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "af15b7691766d99f0f84bae9b3444ab06e9beb29",
      "tree": "5d22a78374519c3feeabeaddad7e4f0fb58360a6",
      "parents": [
        "9736cb3f9aa9c620965d937f4ff0261f6ac32ee1"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 09 22:23:23 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Nov 20 10:43:19 2013 -0800"
      },
      "message": "tracing: Fix potential out-of-bounds in trace_get_user()\n\ncommit 057db8488b53d5e4faa0cedb2f39d4ae75dfbdbb upstream.\n\nAndrey reported the following report:\n\nERROR: AddressSanitizer: heap-buffer-overflow on address ffff8800359c99f3\nffff8800359c99f3 is located 0 bytes to the right of 243-byte region [ffff8800359c9900, ffff8800359c99f3)\nAccessed by thread T13003:\n  #0 ffffffff810dd2da (asan_report_error+0x32a/0x440)\n  #1 ffffffff810dc6b0 (asan_check_region+0x30/0x40)\n  #2 ffffffff810dd4d3 (__tsan_write1+0x13/0x20)\n  #3 ffffffff811cd19e (ftrace_regex_release+0x1be/0x260)\n  #4 ffffffff812a1065 (__fput+0x155/0x360)\n  #5 ffffffff812a12de (____fput+0x1e/0x30)\n  #6 ffffffff8111708d (task_work_run+0x10d/0x140)\n  #7 ffffffff810ea043 (do_exit+0x433/0x11f0)\n  #8 ffffffff810eaee4 (do_group_exit+0x84/0x130)\n  #9 ffffffff810eafb1 (SyS_exit_group+0x21/0x30)\n  #10 ffffffff81928782 (system_call_fastpath+0x16/0x1b)\n\nAllocated by thread T5167:\n  #0 ffffffff810dc778 (asan_slab_alloc+0x48/0xc0)\n  #1 ffffffff8128337c (__kmalloc+0xbc/0x500)\n  #2 ffffffff811d9d54 (trace_parser_get_init+0x34/0x90)\n  #3 ffffffff811cd7b3 (ftrace_regex_open+0x83/0x2e0)\n  #4 ffffffff811cda7d (ftrace_filter_open+0x2d/0x40)\n  #5 ffffffff8129b4ff (do_dentry_open+0x32f/0x430)\n  #6 ffffffff8129b668 (finish_open+0x68/0xa0)\n  #7 ffffffff812b66ac (do_last+0xb8c/0x1710)\n  #8 ffffffff812b7350 (path_openat+0x120/0xb50)\n  #9 ffffffff812b8884 (do_filp_open+0x54/0xb0)\n  #10 ffffffff8129d36c (do_sys_open+0x1ac/0x2c0)\n  #11 ffffffff8129d4b7 (SyS_open+0x37/0x50)\n  #12 ffffffff81928782 (system_call_fastpath+0x16/0x1b)\n\nShadow bytes around the buggy address:\n  ffff8800359c9700: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd\n  ffff8800359c9780: fd fd fd fd fd fd fd fd fa fa fa fa fa fa fa fa\n  ffff8800359c9800: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  ffff8800359c9880: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  ffff8800359c9900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n\u003d\u003effff8800359c9980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00[03]fb\n  ffff8800359c9a00: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  ffff8800359c9a80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa\n  ffff8800359c9b00: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00\n  ffff8800359c9b80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00\n  ffff8800359c9c00: 00 00 00 00 00 00 00 00 fa fa fa fa fa fa fa fa\nShadow byte legend (one shadow byte represents 8 application bytes):\n  Addressable:           00\n  Partially addressable: 01 02 03 04 05 06 07\n  Heap redzone:          fa\n  Heap kmalloc redzone:  fb\n  Freed heap region:     fd\n  Shadow gap:            fe\n\nThe out-of-bounds access happens on \u0027parser-\u003ebuffer[parser-\u003eidx] \u003d 0;\u0027\n\nAlthough the crash happened in ftrace_regex_open() the real bug\noccurred in trace_get_user() where there\u0027s an incrementation to\nparser-\u003eidx without a check against the size. The way it is triggered\nis if userspace sends in 128 characters (EVENT_BUF_SIZE + 1), the loop\nthat reads the last character stores it and then breaks out because\nthere is no more characters. Then the last character is read to determine\nwhat to do next, and the index is incremented without checking size.\n\nThen the caller of trace_get_user() usually nulls out the last character\nwith a zero, but since the index is equal to the size, it writes a nul\ncharacter after the allocated space, which can corrupt memory.\n\nLuckily, only root user has write access to this file.\n\nLink: http://lkml.kernel.org/r/20131009222323.04fd1a0d@gandalf.local.home\n\nReported-by: Andrey Konovalov \u003candreyknvl@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "99593eb7ca1dd9bfaa431d96e009eda23f001ace",
      "tree": "b1412f07fda67143bc2454bbb6f81e124cae3617",
      "parents": [
        "65280b8ed1cca78ff7fe63ecfdb0fff87fe184a3"
      ],
      "author": {
        "name": "Andrew Vagin",
        "email": "avagin@openvz.org",
        "time": "Fri Aug 02 21:16:43 2013 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Aug 14 22:57:08 2013 -0700"
      },
      "message": "tracing: Fix fields of struct trace_iterator that are zeroed by mistake\n\ncommit ed5467da0e369e65b247b99eb6403cb79172bcda upstream.\n\ntracing_read_pipe zeros all fields bellow \"seq\". The declaration contains\na comment about that, but it doesn\u0027t help.\n\nThe first field is \"snapshot\", it\u0027s true when current open file is\nsnapshot. Looks obvious, that it should not be zeroed.\n\nThe second field is \"started\". It was converted from cpumask_t to\ncpumask_var_t (v2.6.28-4983-g4462344), in other words it was\nconverted from cpumask to pointer on cpumask.\n\nCurrently the reference on \"started\" memory is lost after the first read\nfrom tracing_read_pipe and a proper object will never be freed.\n\nThe \"started\" is never dereferenced for trace_pipe, because trace_pipe\ncan\u0027t have the TRACE_FILE_ANNOTATE options.\n\nLink: http://lkml.kernel.org/r/1375463803-3085183-1-git-send-email-avagin@openvz.org\n\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "352b6418a2d14c754b41f23e0698f0006c914b95",
      "tree": "381768caaaa7dcaa97e24c51ca84830ecd9cca6e",
      "parents": [
        "e5f8b2d71c3b617d2d5ce9568067b1458b47a517"
      ],
      "author": {
        "name": "zhangwei(Jovi)",
        "email": "jovi.zhangwei@huawei.com",
        "time": "Mon Jul 29 09:33:58 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Aug 04 16:25:45 2013 +0800"
      },
      "message": "tracing: Fix irqs-off tag display in syscall tracing\n\ncommit 11034ae9c20f4057a6127fc965906417978e69b2 upstream\n\nInitialization of variable irq_flags and pc was missed when backport\n11034ae9c to linux-3.0.y and linux-3.4.y, my fault.\n\nSigned-off-by: zhangwei(Jovi) \u003cjovi.zhangwei@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "f36a0d6764dcb33a280dce206f1be4bcaff5714e",
      "tree": "39e30c2832c12b3ad897df6fbf4e97a252887d44",
      "parents": [
        "e2f918414ca99c5321ad352fa6dfa3147e3e31d8"
      ],
      "author": {
        "name": "zhangwei(Jovi)",
        "email": "jovi.zhangwei@huawei.com",
        "time": "Wed Apr 10 11:26:23 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jul 28 16:26:46 2013 -0700"
      },
      "message": "tracing: Fix irqs-off tag display in syscall tracing\n\ncommit 11034ae9c20f4057a6127fc965906417978e69b2 upstream.\n\nAll syscall tracing irqs-off tags are wrong, the syscall enter entry doesn\u0027t\ndisable irqs.\n\n [root@jovi tracing]#echo \"syscalls:sys_enter_open\" \u003e set_event\n [root@jovi tracing]# cat trace\n # tracer: nop\n #\n # entries-in-buffer/entries-written: 13/13   #P:2\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n       irqbalance-513   [000] d... 56115.496766: sys_open(filename: 804e1a6, flags: 0, mode: 1b6)\n       irqbalance-513   [000] d... 56115.497008: sys_open(filename: 804e1bb, flags: 0, mode: 1b6)\n         sendmail-771   [000] d... 56115.827982: sys_open(filename: b770e6d1, flags: 0, mode: 1b6)\n\nThe reason is syscall tracing doesn\u0027t record irq_flags into buffer.\nThe proper display is:\n\n [root@jovi tracing]#echo \"syscalls:sys_enter_open\" \u003e set_event\n [root@jovi tracing]# cat trace\n # tracer: nop\n #\n # entries-in-buffer/entries-written: 14/14   #P:2\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n       irqbalance-514   [001] ....    46.213921: sys_open(filename: 804e1a6, flags: 0, mode: 1b6)\n       irqbalance-514   [001] ....    46.214160: sys_open(filename: 804e1bb, flags: 0, mode: 1b6)\n            \u003c...\u003e-920   [001] ....    47.307260: sys_open(filename: 4e82a0c5, flags: 80000, mode: 0)\n\nLink: http://lkml.kernel.org/r/1365564393-10972-3-git-send-email-jovi.zhangwei@huawei.com\n\nCc: stable@vger.kernel.org # 2.6.35\nSigned-off-by: zhangwei(Jovi) \u003cjovi.zhangwei@huawei.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "d018274f859ae2cfbe86646948b65a4edd0d335f",
      "tree": "fe9f668b148a0981ffccee200c9c6da59f86d288",
      "parents": [
        "39d2dd53da0ef0be782387f79fe6bfefc0808629"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 30 21:10:37 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jul 28 16:25:47 2013 -0700"
      },
      "message": "tracing: Use current_uid() for critical time tracing\n\ncommit f17a5194859a82afe4164e938b92035b86c55794 upstream.\n\nThe irqsoff tracer records the max time that interrupts are disabled.\nThere are hooks in the assembly code that calls back into the tracer when\ninterrupts are disabled or enabled.\n\nWhen they are enabled, the tracer checks if the amount of time they\nwere disabled is larger than the previous recorded max interrupts off\ntime. If it is, it creates a snapshot of the currently running trace\nto store where the last largest interrupts off time was held and how\nit happened.\n\nDuring testing, this RCU lockdep dump appeared:\n\n[ 1257.829021] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ 1257.829021] [ INFO: suspicious RCU usage. ]\n[ 1257.829021] 3.10.0-rc1-test+ #171 Tainted: G        W\n[ 1257.829021] -------------------------------\n[ 1257.829021] /home/rostedt/work/git/linux-trace.git/include/linux/rcupdate.h:780 rcu_read_lock() used illegally while idle!\n[ 1257.829021]\n[ 1257.829021] other info that might help us debug this:\n[ 1257.829021]\n[ 1257.829021]\n[ 1257.829021] RCU used illegally from idle CPU!\n[ 1257.829021] rcu_scheduler_active \u003d 1, debug_locks \u003d 0\n[ 1257.829021] RCU used illegally from extended quiescent state!\n[ 1257.829021] 2 locks held by trace-cmd/4831:\n[ 1257.829021]  #0:  (max_trace_lock){......}, at: [\u003cffffffff810e2b77\u003e] stop_critical_timing+0x1a3/0x209\n[ 1257.829021]  #1:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff810dae5a\u003e] __update_max_tr+0x88/0x1ee\n[ 1257.829021]\n[ 1257.829021] stack backtrace:\n[ 1257.829021] CPU: 3 PID: 4831 Comm: trace-cmd Tainted: G        W    3.10.0-rc1-test+ #171\n[ 1257.829021] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./To be filled by O.E.M., BIOS SDBLI944.86P 05/08/2007\n[ 1257.829021]  0000000000000001 ffff880065f49da8 ffffffff8153dd2b ffff880065f49dd8\n[ 1257.829021]  ffffffff81092a00 ffff88006bd78680 ffff88007add7500 0000000000000003\n[ 1257.829021]  ffff88006bd78680 ffff880065f49e18 ffffffff810daebf ffffffff810dae5a\n[ 1257.829021] Call Trace:\n[ 1257.829021]  [\u003cffffffff8153dd2b\u003e] dump_stack+0x19/0x1b\n[ 1257.829021]  [\u003cffffffff81092a00\u003e] lockdep_rcu_suspicious+0x109/0x112\n[ 1257.829021]  [\u003cffffffff810daebf\u003e] __update_max_tr+0xed/0x1ee\n[ 1257.829021]  [\u003cffffffff810dae5a\u003e] ? __update_max_tr+0x88/0x1ee\n[ 1257.829021]  [\u003cffffffff811002b9\u003e] ? user_enter+0xfd/0x107\n[ 1257.829021]  [\u003cffffffff810dbf85\u003e] update_max_tr_single+0x11d/0x12d\n[ 1257.829021]  [\u003cffffffff811002b9\u003e] ? user_enter+0xfd/0x107\n[ 1257.829021]  [\u003cffffffff810e2b15\u003e] stop_critical_timing+0x141/0x209\n[ 1257.829021]  [\u003cffffffff8109569a\u003e] ? trace_hardirqs_on+0xd/0xf\n[ 1257.829021]  [\u003cffffffff811002b9\u003e] ? user_enter+0xfd/0x107\n[ 1257.829021]  [\u003cffffffff810e3057\u003e] time_hardirqs_on+0x2a/0x2f\n[ 1257.829021]  [\u003cffffffff811002b9\u003e] ? user_enter+0xfd/0x107\n[ 1257.829021]  [\u003cffffffff8109550c\u003e] trace_hardirqs_on_caller+0x16/0x197\n[ 1257.829021]  [\u003cffffffff8109569a\u003e] trace_hardirqs_on+0xd/0xf\n[ 1257.829021]  [\u003cffffffff811002b9\u003e] user_enter+0xfd/0x107\n[ 1257.829021]  [\u003cffffffff810029b4\u003e] do_notify_resume+0x92/0x97\n[ 1257.829021]  [\u003cffffffff8154bdca\u003e] int_signal+0x12/0x17\n\nWhat happened was entering into the user code, the interrupts were enabled\nand a max interrupts off was recorded. The trace buffer was saved along with\nvarious information about the task: comm, pid, uid, priority, etc.\n\nThe uid is recorded with task_uid(tsk). But this is a macro that uses rcu_read_lock()\nto retrieve the data, and this happened to happen where RCU is blind (user_enter).\n\nAs only the preempt and irqs off tracers can have this happen, and they both\nonly have the tsk \u003d\u003d current, if tsk \u003d\u003d current, use current_uid() instead of\ntask_uid(), as current_uid() does not use RCU as only current can change its uid.\n\nThis fixes the RCU suspicious splat.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "dde448d95d8698ee4c8373bb48fe08a22f41052f",
      "tree": "7fe87fa93bfa5b81e6f87b147e32512d2e8198e3",
      "parents": [
        "ac4f6190fae02a3dc30133f90488b996f726bf7a",
        "f95b978981a7d154ba40d14c18e8ed5c694e6124"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Thu Jun 20 11:32:42 2013 -0700"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Thu Jun 20 11:32:42 2013 -0700"
      },
      "message": "Merge tag \u0027v3.4.10\u0027 into cm-10.1\n\nThis is the 3.4.10 stable release\n\nConflicts:\n\tarch/arm/mm/tlb-v7.S\n\tarch/arm/vfp/entry.S\n\tdrivers/base/power/main.c\n\tdrivers/mmc/host/sdhci.c\n\tdrivers/net/tun.c\n\tdrivers/usb/core/hub.c\n\tdrivers/usb/host/xhci.h\n\tinclude/linux/sched.h\n\tkernel/power/suspend.c\n\nChange-Id: Ia2477ec93ceb64b13dd1a2d8aa646cb233387d14\n"
    },
    {
      "commit": "bc4d36c41f16a66c320fd0282110ddc82aa1eb09",
      "tree": "4d15ef32790902916c0b92b33b299dfeb2834b5d",
      "parents": [
        "3a22cc7f184b77731816e55662cd12f0c3d24d56"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jun 07 17:02:08 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jun 13 09:45:03 2013 -0700"
      },
      "message": "ftrace: Move ftrace_filter_lseek out of CONFIG_DYNAMIC_FTRACE section\n\ncommit 7f49ef69db6bbf756c0abca7e9b65b32e999eec8 upstream.\n\nAs ftrace_filter_lseek is now used with ftrace_pid_fops, it needs to\nbe moved out of the #ifdef CONFIG_DYNAMIC_FTRACE section as the\nftrace_pid_fops is defined when DYNAMIC_FTRACE is not.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\n[ lizf: adjust context ]\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "3a22cc7f184b77731816e55662cd12f0c3d24d56",
      "tree": "ce3612a4ea2ec1ed53d5c98a24b88aa80067129c",
      "parents": [
        "ce840e2f7825bfd240782dc209c2f2b8db514287"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Fri Jun 07 17:01:16 2013 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jun 13 09:45:03 2013 -0700"
      },
      "message": "tracing: Fix possible NULL pointer dereferences\n\ncommit 6a76f8c0ab19f215af2a3442870eeb5f0e81998d upstream.\n\nCurrently set_ftrace_pid and set_graph_function files use seq_lseek\nfor their fops.  However seq_open() is called only for FMODE_READ in\nthe fops-\u003eopen() so that if an user tries to seek one of those file\nwhen she open it for writing, it sees NULL seq_file and then panic.\n\nIt can be easily reproduced with following command:\n\n  $ cd /sys/kernel/debug/tracing\n  $ echo 1234 | sudo tee -a set_ftrace_pid\n\nIn this example, GNU coreutils\u0027 tee opens the file with fopen(, \"a\")\nand then the fopen() internally calls lseek().\n\nLink:\nhttp://lkml.kernel.org/r/1365663302-2170-1-git-send-email-namhyung@kernel.org\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n[ lizf: adjust context ]\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "cba998b9b3799a5d6861a969d7b7d9b4f4f181f6",
      "tree": "2fe75a00c6475f4e284dae7a737d0ab5f0f0e84d",
      "parents": [
        "33b7cfcb34b4ae37cde7a8a1c97c9be27677e931"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 14 15:40:48 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun May 19 10:54:40 2013 -0700"
      },
      "message": "tracing: Fix leaks of filter preds\n\ncommit 60705c89460fdc7227f2d153b68b3f34814738a4 upstream.\n\nSpecial preds are created when folding a series of preds that\ncan be done in serial. These are allocated in an ops field of\nthe pred structure. But they were never freed, causing memory\nleaks.\n\nThis was discovered using the kmemleak checker:\n\nunreferenced object 0xffff8800797fd5e0 (size 32):\n  comm \"swapper/0\", pid 1, jiffies 4294690605 (age 104.608s)\n  hex dump (first 32 bytes):\n    00 00 01 00 03 00 05 00 07 00 09 00 0b 00 0d 00  ................\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n  backtrace:\n    [\u003cffffffff814b52af\u003e] kmemleak_alloc+0x73/0x98\n    [\u003cffffffff8111ff84\u003e] kmemleak_alloc_recursive.constprop.42+0x16/0x18\n    [\u003cffffffff81120e68\u003e] __kmalloc+0xd7/0x125\n    [\u003cffffffff810d47eb\u003e] kcalloc.constprop.24+0x2d/0x2f\n    [\u003cffffffff810d4896\u003e] fold_pred_tree_cb+0xa9/0xf4\n    [\u003cffffffff810d3781\u003e] walk_pred_tree+0x47/0xcc\n    [\u003cffffffff810d5030\u003e] replace_preds.isra.20+0x6f8/0x72f\n    [\u003cffffffff810d50b5\u003e] create_filter+0x4e/0x8b\n    [\u003cffffffff81b1c30d\u003e] ftrace_test_event_filter+0x5a/0x155\n    [\u003cffffffff8100028d\u003e] do_one_initcall+0xa0/0x137\n    [\u003cffffffff81afbedf\u003e] kernel_init_freeable+0x14d/0x1dc\n    [\u003cffffffff814b24b7\u003e] kernel_init+0xe/0xdb\n    [\u003cffffffff814d539c\u003e] ret_from_fork+0x7c/0xb0\n    [\u003cffffffffffffffff\u003e] 0xffffffffffffffff\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "dcf3dfc3242fffb483a84dede9b3759a9b488c94",
      "tree": "abfbf8826932b6459c7932c61452d5967a1183fc",
      "parents": [
        "22d9af8fbdb154769a9802127d81f61077bf649b"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 15 13:10:35 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sat May 11 13:48:14 2013 -0700"
      },
      "message": "tracing: Fix ftrace_dump()\n\ncommit 7fe70b579c9e3daba71635e31b6189394e7b79d3 upstream.\n\nftrace_dump() had a lot of issues. What ftrace_dump() does, is when\nftrace_dump_on_oops is set (via a kernel parameter or sysctl), it\nwill dump out the ftrace buffers to the console when either a oops,\npanic, or a sysrq-z occurs.\n\nThis was written a long time ago when ftrace was fragile to recursion.\nBut it wasn\u0027t written well even for that.\n\nThere\u0027s a possible deadlock that can occur if a ftrace_dump() is happening\nand an NMI triggers another dump. This is because it grabs a lock\nbefore checking if the dump ran.\n\nIt also totally disables ftrace, and tracing for no good reasons.\n\nAs the ring_buffer now checks if it is read via a oops or NMI, where\nthere\u0027s a chance that the buffer gets corrupted, it will disable\nitself. No need to have ftrace_dump() do the same.\n\nftrace_dump() is now cleaned up where it uses an atomic counter to\nmake sure only one dump happens at a time. A simple atomic_inc_return()\nis enough that is needed for both other CPUs and NMIs. No need for\na spinlock, as if one CPU is running the dump, no other CPU needs\nto do it too.\n\nThe tracing_on variable is turned off and not turned on. The original\ncode did this, but it wasn\u0027t pretty. By just disabling this variable\nwe get the result of not seeing traces that happen between crashes.\n\nFor sysrq-z, it doesn\u0027t get turned on, but the user can always write\na \u00271\u0027 to the tracing_on file. If they are using sysrq-z, then they should\nknow about tracing_on.\n\nThe new code is much easier to read and less error prone. No more\ndeadlock possibility when an NMI triggers here.\n\nReported-by: zhangwei(Jovi) \u003cjovi.zhangwei@huawei.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "761694a0bdc01817d1212b1127234dcaf828fde7",
      "tree": "cb2c7b2d912bbe675c86f854d86fa137bbdfbf87",
      "parents": [
        "e1672f4e2c9fb1231a6242ca1596806f123da3c5"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Thu Apr 11 16:01:38 2013 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue May 07 19:51:54 2013 -0700"
      },
      "message": "tracing: Reset ftrace_graph_filter_enabled if count is zero\n\ncommit 9f50afccfdc15d95d7331acddcb0f7703df089ae upstream.\n\nThe ftrace_graph_count can be decreased with a \"!\" pattern, so that\nthe enabled flag should be updated too.\n\nLink: http://lkml.kernel.org/r/1365663698-2413-1-git-send-email-namhyung@kernel.org\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "e1672f4e2c9fb1231a6242ca1596806f123da3c5",
      "tree": "b36e7f377900905a74acc59a60b3b80035a328a6",
      "parents": [
        "226c8ea60cfc71732ff2212fae71077789718e51"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Wed Apr 10 09:18:12 2013 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue May 07 19:51:54 2013 -0700"
      },
      "message": "tracing: Check return value of tracing_init_dentry()\n\ncommit ed6f1c996bfe4b6e520cf7a74b51cd6988d84420 upstream.\n\nCheck return value and bail out if it\u0027s NULL.\n\nLink: http://lkml.kernel.org/r/1365553093-10180-2-git-send-email-namhyung@kernel.org\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "226c8ea60cfc71732ff2212fae71077789718e51",
      "tree": "2b732acfa2d9c2011645cec8ce97732748fc28fb",
      "parents": [
        "d4ca6ccafc266cefbd004e515695cbeb1e8b8411"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Mon Apr 01 21:46:24 2013 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue May 07 19:51:54 2013 -0700"
      },
      "message": "tracing: Fix off-by-one on allocating stat-\u003epages\n\ncommit 39e30cd1537937d3c00ef87e865324e981434e5b upstream.\n\nThe first page was allocated separately, so no need to start from 0.\n\nLink: http://lkml.kernel.org/r/1364820385-32027-2-git-send-email-namhyung@kernel.org\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "d4ca6ccafc266cefbd004e515695cbeb1e8b8411",
      "tree": "ee4323abe88e7c646ccda4f23255cdfa5fe95eb3",
      "parents": [
        "af1860122000cf090868fb7f7fbba7417e4575bd"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Mar 13 23:34:22 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue May 07 19:51:54 2013 -0700"
      },
      "message": "tracing: Remove most or all of stack tracer stack size from stack_max_size\n\ncommit 4df297129f622bdc18935c856f42b9ddd18f9f28 upstream.\n\nCurrently, the depth reported in the stack tracer stack_trace file\ndoes not match the stack_max_size file. This is because the stack_max_size\nincludes the overhead of stack tracer itself while the depth does not.\n\nThe first time a max is triggered, a calculation is not performed that\nfigures out the overhead of the stack tracer and subtracts it from\nthe stack_max_size variable. The overhead is stored and is subtracted\nfrom the reported stack size for comparing for a new max.\n\nNow the stack_max_size corresponds to the reported depth:\n\n # cat stack_max_size\n4640\n\n # cat stack_trace\n        Depth    Size   Location    (48 entries)\n        -----    ----   --------\n  0)     4640      32   _raw_spin_lock+0x18/0x24\n  1)     4608     112   ____cache_alloc+0xb7/0x22d\n  2)     4496      80   kmem_cache_alloc+0x63/0x12f\n  3)     4416      16   mempool_alloc_slab+0x15/0x17\n[...]\n\nWhile testing against and older gcc on x86 that uses mcount instead\nof fentry, I found that pasing in ip + MCOUNT_INSN_SIZE let the\nstack trace show one more function deep which was missing before.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "af1860122000cf090868fb7f7fbba7417e4575bd",
      "tree": "7b4b78cfbb68a81cb1463aaac0faa1b46e4052ec",
      "parents": [
        "893238186e35bdd59efde4572bcb6d0653c0ec65"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Mar 13 21:25:35 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue May 07 19:51:54 2013 -0700"
      },
      "message": "tracing: Fix stack tracer with fentry use\n\ncommit d4ecbfc49b4b1d4b597fb5ba9e4fa25d62f105c5 upstream.\n\nWhen gcc 4.6 on x86 is used, the function tracer will use the new\noption -mfentry which does a call to \"fentry\" at every function\ninstead of \"mcount\". The significance of this is that fentry is\ncalled as the first operation of the function instead of the mcount\nusage of being called after the stack.\n\nThis causes the stack tracer to show some bogus results for the size\nof the last function traced, as well as showing \"ftrace_call\" instead\nof the function. This is due to the stack frame not being set up\nby the function that is about to be traced.\n\n # cat stack_trace\n        Depth    Size   Location    (48 entries)\n        -----    ----   --------\n  0)     4824     216   ftrace_call+0x5/0x2f\n  1)     4608     112   ____cache_alloc+0xb7/0x22d\n  2)     4496      80   kmem_cache_alloc+0x63/0x12f\n\nThe 216 size for ftrace_call includes both the ftrace_call stack\n(which includes the saving of registers it does), as well as the\nstack size of the parent.\n\nTo fix this, if CC_USING_FENTRY is defined, then the stack_tracer\nwill reserve the first item in stack_dump_trace[] array when\ncalling save_stack_trace(), and it will fill it in with the parent ip.\nThen the code will look for the parent pointer on the stack and\ngive the real size of the parent\u0027s stack pointer:\n\n # cat stack_trace\n        Depth    Size   Location    (14 entries)\n        -----    ----   --------\n  0)     2640      48   update_group_power+0x26/0x187\n  1)     2592     224   update_sd_lb_stats+0x2a5/0x4ac\n  2)     2368     160   find_busiest_group+0x31/0x1f1\n  3)     2208     256   load_balance+0xd9/0x662\n\nI\u0027m Cc\u0027ing stable, although it\u0027s not urgent, as it only shows bogus\nsize for item #0, the rest of the trace is legit. It should still be\ncorrected in previous stable releases.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "893238186e35bdd59efde4572bcb6d0653c0ec65",
      "tree": "4da26b69bc9c3432a7a77c653f882ccd2ced8424",
      "parents": [
        "a393520aa653a5e1133e14a1984b5e5815e01cf6"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Mar 13 20:43:57 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue May 07 19:51:54 2013 -0700"
      },
      "message": "tracing: Use stack of calling function for stack tracer\n\ncommit 87889501d0adfae10e3b0f0e6f2d7536eed9ae84 upstream.\n\nUse the stack of stack_trace_call() instead of check_stack() as\nthe test pointer for max stack size. It makes it a bit cleaner\nand a little more accurate.\n\nAdding stable, as a later fix depends on this patch.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "e264d3cf890eb1ead5200731b9e3dbd1d1b71fa8",
      "tree": "f0ac71897029ad2ec81178e32aec9eddb24e769e",
      "parents": [
        "b43105dee8480ca5784de5c858d1cccee74ebfb1"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung.kim@lge.com",
        "time": "Mon Apr 01 21:46:23 2013 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Apr 16 21:27:26 2013 -0700"
      },
      "message": "tracing: Fix double free when function profile init failed\n\ncommit 83e03b3fe4daffdebbb42151d5410d730ae50bd1 upstream.\n\nOn the failure path, stat-\u003estart and stat-\u003epages will refer same page.\nSo it\u0027ll attempt to free the same page again and get kernel panic.\n\nLink: http://lkml.kernel.org/r/1364820385-32027-1-git-send-email-namhyung@kernel.org\n\nSigned-off-by: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Namhyung Kim \u003cnamhyung.kim@lge.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "b81d3241838167667fc1ec9bb5670d5f661a3628",
      "tree": "625e62463a9e8bc060ea8a5b036d5c107bae16c2",
      "parents": [
        "b26bcbe0a7bba3321cefa4c9936e05cb58df03cb"
      ],
      "author": {
        "name": "Jan Kiszka",
        "email": "jan.kiszka@siemens.com",
        "time": "Tue Mar 26 17:53:03 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Apr 12 09:38:45 2013 -0700"
      },
      "message": "ftrace: Consistently restore trace function on sysctl enabling\n\ncommit 5000c418840b309251c5887f0b56503aae30f84c upstream.\n\nIf we reenable ftrace via syctl, we currently set ftrace_trace_function\nbased on the previous simplistic algorithm. This is inconsistent with\nwhat update_ftrace_function does. So better call that helper instead.\n\nLink: http://lkml.kernel.org/r/5151D26F.1070702@siemens.com\n\nSigned-off-by: Jan Kiszka \u003cjan.kiszka@siemens.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "7b7cf9fa6d3406c1c7410afa861d524f732e4a7c",
      "tree": "0695fbf0df793cbc91d723893f77eafd60e31d10",
      "parents": [
        "2f6b6e28ca9af9c1f745efa9277e3e7c9ad64883"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 14 15:03:53 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Apr 05 10:04:37 2013 -0700"
      },
      "message": "tracing: Prevent buffer overwrite disabled for latency tracers\n\ncommit 613f04a0f51e6e68ac6fe571ab79da3c0a5eb4da upstream.\n\nThe latency tracers require the buffers to be in overwrite mode,\notherwise they get screwed up. Force the buffers to stay in overwrite\nmode when latency tracers are enabled.\n\nAdded a flag_changed() method to the tracer structure to allow\nthe tracers to see what flags are being changed, and also be able\nto prevent the change from happing.\n\n[Backported for 3.4-stable. Re-added current_trace NULL checks; removed\nallocated_snapshot field; adapted to tracing_trace_options_write without\ntrace_set_options.]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Lingzhu Xiang \u003clxiang@redhat.com\u003e\nReviewed-by: CAI Qian \u003ccaiqian@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "2f6b6e28ca9af9c1f745efa9277e3e7c9ad64883",
      "tree": "2e66c696fe47845e4d2f3ed4cd12d02441ddf9b5",
      "parents": [
        "2457a4005a53bd8d9a266ab8f9f6388b57ca133a"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 14 13:50:56 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Apr 05 10:04:37 2013 -0700"
      },
      "message": "tracing: Protect tracer flags with trace_types_lock\n\ncommit 69d34da2984c95b33ea21518227e1f9470f11d95 upstream.\n\nSeems that the tracer flags have never been protected from\nsynchronous writes. Luckily, admins don\u0027t usually modify the\ntracing flags via two different tasks. But if scripts were to\nbe used to modify them, then they could get corrupted.\n\nMove the trace_types_lock that protects against tracers changing\nto also protect the flags being set.\n\n[Backported for 3.4, 3.0-stable. Moved return to after unlock.]\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Lingzhu Xiang \u003clxiang@redhat.com\u003e\nReviewed-by: CAI Qian \u003ccaiqian@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "52cecaa20589203f08a965af4604acec8a946825",
      "tree": "0e48ffe412192e158f736d6a7ae3b1d896901b52",
      "parents": [
        "1e3b58b64c6574c9c8e299c68c8c4716f8dd3c21"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Mar 13 11:15:19 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Mar 28 12:12:06 2013 -0700"
      },
      "message": "tracing: Fix free of probe entry by calling call_rcu_sched()\n\ncommit 740466bc89ad8bd5afcc8de220f715f62b21e365 upstream.\n\nBecause function tracing is very invasive, and can even trace\ncalls to rcu_read_lock(), RCU access in function tracing is done\nwith preempt_disable_notrace(). This requires a synchronize_sched()\nfor updates and not a synchronize_rcu().\n\nFunction probes (traceon, traceoff, etc) must be freed after\na synchronize_sched() after its entry has been removed from the\nhash. But call_rcu() is used. Fix this by using call_rcu_sched().\n\nAlso fix the usage to use hlist_del_rcu() instead of hlist_del().\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Paul McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "1e3b58b64c6574c9c8e299c68c8c4716f8dd3c21",
      "tree": "84e8d63958b4c88068b5f0011160d39f5e305d8e",
      "parents": [
        "74a523fb1759bd3afabf586740041e6d09d731c2"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 12 11:32:32 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Mar 28 12:12:06 2013 -0700"
      },
      "message": "tracing: Fix race in snapshot swapping\n\ncommit 2721e72dd10f71a3ba90f59781becf02638aa0d9 upstream.\n\nAlthough the swap is wrapped with a spin_lock, the assignment\nof the temp buffer used to swap is not within that lock.\nIt needs to be moved into that lock, otherwise two swaps\nhappening on two different CPUs, can end up using the wrong\ntemp buffer to assign in the swap.\n\nLuckily, all current callers of the swap function appear to have\ntheir own locks. But in case something is added that allows two\ndifferent callers to call the swap, then there\u0027s a chance that\nthis race can trigger and corrupt the buffers.\n\nNew code is coming soon that will allow for this race to trigger.\n\nI\u0027ve Cc\u0027d stable, so this bug will not show up if someone backports\none of the changes that can trigger this bug.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "abf73cb191a83045c3cc6f46ea78b94439957585",
      "tree": "cb88f3a2335ab2db1e92601774312115f230d274",
      "parents": [
        "f39e4f133d52fad48f5c823b6c8a867caf101677"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 27 21:48:09 2013 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Mar 14 11:29:51 2013 -0700"
      },
      "message": "ftrace: Update the kconfig for DYNAMIC_FTRACE\n\ncommit db05021d49a994ee40a9735d9c3cb0060c9babb8 upstream.\n\nThe prompt to enable DYNAMIC_FTRACE (the ability to nop and\nenable function tracing at run time) had a confusing statement:\n\n \"enable/disable ftrace tracepoints dynamically\"\n\nThis was written before tracepoints were added to the kernel,\nbut now that tracepoints have been added, this is very confusing\nand has confused people enough to give wrong information during\npresentations.\n\nNot only that, I looked at the help text, and it still references\nthat dreaded daemon that use to wake up once a second to update\nthe nop locations and brick NICs, that hasn\u0027t been around for over\nfive years.\n\nTime to bring the text up to the current decade.\n\nReported-by: Ezequiel Garcia \u003celezegarcia@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "e6842472eb7f8091c27eb43ad934097ce04d3fbb",
      "tree": "1955782375cc0a83a91aa2e849381efa3a161a63",
      "parents": [
        "db3d76a623b8ce429318cc2491881c02b790dab4"
      ],
      "author": {
        "name": "Steven Rostedt (Red Hat)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Feb 13 15:18:38 2013 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Mar 04 06:06:38 2013 +0800"
      },
      "message": "ftrace: Call ftrace cleanup module notifier after all other notifiers\n\ncommit 8c189ea64eea01ca20d102ddb74d6936dd16c579 upstream.\n\nCommit: c1bf08ac \"ftrace: Be first to run code modification on modules\"\n\nchanged ftrace module notifier\u0027s priority to INT_MAX in order to\nprocess the ftrace nops before anything else could touch them\n(namely kprobes). This was the correct thing to do.\n\nUnfortunately, the ftrace module notifier also contains the ftrace\nclean up code. As opposed to the set up code, this code should be\nrun *after* all the module notifiers have run in case a module is doing\ncorrect clean-up and unregisters its ftrace hooks. Basically, ftrace\nneeds to do clean up on module removal, as it needs to know about code\nbeing removed so that it doesn\u0027t try to modify that code. But after it\nremoves the module from its records, if a ftrace user tries to remove\na probe, that removal will fail due as the record of that code segment\nno longer exists.\n\nNothing really bad happens if the probe removal is called after ftrace\ndid the clean up, but the ftrace removal function will return an error.\nCorrect code (such as kprobes) will produce a WARN_ON() if it fails\nto remove the probe. As people get annoyed by frivolous warnings, it\u0027s\nbest to do the ftrace clean up after everything else.\n\nBy splitting the ftrace_module_notifier into two notifiers, one that\ndoes the module load setup that is run at high priority, and the other\nthat is called for module clean up that is run at low priority, the\nproblem is solved.\n\nReported-by: Frank Ch. Eigler \u003cfche@redhat.com\u003e\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "502f0d8c3c56812b05ce55d3209a1ae2f5cb737c",
      "tree": "ef54a6a76e55bfccf7026bfcd322d9f402dcdb09",
      "parents": [
        "ddec663b64a01d5e9bfe827652f62ad1688e8b01"
      ],
      "author": {
        "name": "Pushkar Joshi",
        "email": "pushkarj@codeaurora.org",
        "time": "Wed Oct 31 13:21:28 2012 -0700"
      },
      "committer": {
        "name": "Pratik Patel",
        "email": "pratikp@codeaurora.org",
        "time": "Wed Jan 30 16:09:34 2013 -0800"
      },
      "message": "coresight: have trace_printk only log the actual data to STM\n\nThe trace_printk, when configured to process printk strings before\nstoring them in the internal ring buffer, currently also logs the\ncomplete internal buffer data structure to the STM. Instead it\nshould only log the string output obtained after processing the\nprintk format and arguments. Changing the stm_log call to only\nlog this relevant data.\n\nChange-Id: Ia33109f95fb84fa1606247a861deeaedd2f95d3f\nSigned-off-by: Pushkar Joshi \u003cpushkarj@codeaurora.org\u003e\n"
    },
    {
      "commit": "ddec663b64a01d5e9bfe827652f62ad1688e8b01",
      "tree": "ebedc5b97a7cf6c358d33cc07554009db7d0bb30",
      "parents": [
        "12c143c25739632e8dd921ca5afaaadd6477f28a"
      ],
      "author": {
        "name": "Pushkar Joshi",
        "email": "pushkarj@codeaurora.org",
        "time": "Fri Oct 26 15:31:23 2012 -0700"
      },
      "committer": {
        "name": "Pratik Patel",
        "email": "pratikp@codeaurora.org",
        "time": "Wed Jan 30 16:09:34 2013 -0800"
      },
      "message": "coresight: Have trace_marker only log the actual data\n\nThe stm_log call in tracing_mark_write was logging the complete\ninternal buffer data structure instead of only the data part.\nChanging the call to only log the data.\n\nChange-Id: I33e800cd9b1dc1d27d519c74db0cf5bb6ef6e3f5\nSigned-off-by: Pushkar Joshi \u003cpushkarj@codeaurora.org\u003e\n"
    },
    {
      "commit": "f2a010040e2c368a76f7ea0ed6533f5779cb6b4b",
      "tree": "1a8969b4b669d973d2f968b47e8aa3323038c750",
      "parents": [
        "d027bb39240aa55b86738508fb5612b9125a886f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Dec 14 09:48:15 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Sun Jan 27 20:47:42 2013 -0800"
      },
      "message": "ftrace: Be first to run code modification on modules\n\ncommit c1bf08ac26e92122faab9f6c32ea8aba94612dae upstream.\n\nIf some other kernel subsystem has a module notifier, and adds a kprobe\nto a ftrace mcount point (now that kprobes work on ftrace points),\nwhen the ftrace notifier runs it will fail and disable ftrace, as well\nas kprobes that are attached to ftrace points.\n\nHere\u0027s the error:\n\n WARNING: at kernel/trace/ftrace.c:1618 ftrace_bug+0x239/0x280()\n Hardware name: Bochs\n Modules linked in: fat(+) stap_56d28a51b3fe546293ca0700b10bcb29__8059(F) nfsv4 auth_rpcgss nfs dns_resolver fscache xt_nat iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack lockd sunrpc ppdev parport_pc parport microcode virtio_net i2c_piix4 drm_kms_helper ttm drm i2c_core [last unloaded: bid_shared]\n Pid: 8068, comm: modprobe Tainted: GF            3.7.0-0.rc8.git0.1.fc19.x86_64 #1\n Call Trace:\n  [\u003cffffffff8105e70f\u003e] warn_slowpath_common+0x7f/0xc0\n  [\u003cffffffff81134106\u003e] ? __probe_kernel_read+0x46/0x70\n  [\u003cffffffffa0180000\u003e] ? 0xffffffffa017ffff\n  [\u003cffffffffa0180000\u003e] ? 0xffffffffa017ffff\n  [\u003cffffffff8105e76a\u003e] warn_slowpath_null+0x1a/0x20\n  [\u003cffffffff810fd189\u003e] ftrace_bug+0x239/0x280\n  [\u003cffffffff810fd626\u003e] ftrace_process_locs+0x376/0x520\n  [\u003cffffffff810fefb7\u003e] ftrace_module_notify+0x47/0x50\n  [\u003cffffffff8163912d\u003e] notifier_call_chain+0x4d/0x70\n  [\u003cffffffff810882f8\u003e] __blocking_notifier_call_chain+0x58/0x80\n  [\u003cffffffff81088336\u003e] blocking_notifier_call_chain+0x16/0x20\n  [\u003cffffffff810c2a23\u003e] sys_init_module+0x73/0x220\n  [\u003cffffffff8163d719\u003e] system_call_fastpath+0x16/0x1b\n ---[ end trace 9ef46351e53bbf80 ]---\n ftrace failed to modify [\u003cffffffffa0180000\u003e] init_once+0x0/0x20 [fat]\n  actual: cc:bb:d2:4b:e1\n\nA kprobe was added to the init_once() function in the fat module on load.\nBut this happened before ftrace could have touched the code. As ftrace\ndidn\u0027t run yet, the kprobe system had no idea it was a ftrace point and\nsimply added a breakpoint to the code (0xcc in the cc:bb:d2:4b:e1).\n\nThen when ftrace went to modify the location from a call to mcount/fentry\ninto a nop, it didn\u0027t see a call op, but instead it saw the breakpoint op\nand not knowing what to do with it, ftrace shut itself down.\n\nThe solution is to simply give the ftrace module notifier the max priority.\nThis should have been done regardless, as the core code ftrace modification\nalso happens very early on in boot up. This makes the module modification\ncloser to core modification.\n\nLink: http://lkml.kernel.org/r/20130107140333.593683061@goodmis.org\n\nAcked-by: Masami Hiramatsu \u003cmasami.hiramatsu.pt@hitachi.com\u003e\nReported-by: Frank Ch. Eigler \u003cfche@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n\n"
    },
    {
      "commit": "43c81deec87e8d223c713e9f016a45fd18ec29c3",
      "tree": "5af4f80e9699fd442b81165d5645c754efbea899",
      "parents": [
        "b5075e02c2ff1d959c589552c62329c4797b0535"
      ],
      "author": {
        "name": "Matt Wagantall",
        "email": "mattw@codeaurora.org",
        "time": "Wed Aug 01 19:10:10 2012 -0700"
      },
      "committer": {
        "name": "Sudhir Sharma",
        "email": "sudsha@codeaurora.org",
        "time": "Thu Jan 24 15:23:44 2013 -0800"
      },
      "message": "trace: cpu_freq_switch: Add profiler for CPU frequency switch times\n\nIt is sometimes useful to profile how long CPU frequency switches\ntake, and traces have already been added for this purpose. Make\nuse of these and the trace_stat framework to generate statistical\nhistograms of frequency switch times in the following format:\n\n # cat /sys/kernel/debug/tracing/trace_stat/cpu_freq_switch\n  CPU START_KHZ  END_KHZ COUNT AVG_US MIN_US MAX_US\n    |         |        |     |      |      |      |\n    0    384000  1512000     3   2787   1648   3418\n    0    486000   384000     1   1129   1129   1129\n    0   1458000   384000     1   3174   3174   3174\n    0   1512000   384000     1   3265   3265   3265\n    0   1512000   486000     1   3235   3235   3235\n    0   1512000  1458000     1    213    213    213\n    0   1512000  1512000     1      0      0      0\n\nProfiling is disabled by default (since it does incur some\noverhead). It can be enabled or re-disabled echoing 1 or 0\nto /sys/kernel/debug/tracing/cpu_freq_switch_profile_enabled\n\nChange-Id: I3ef7f9d681b7bd13bcaa031003b10312afe1aefe\nSigned-off-by: Matt Wagantall \u003cmattw@codeaurora.org\u003e\n(cherry picked from commit a629fb0b67b57cc6759da51b9c12750758736c80)\n"
    },
    {
      "commit": "4d7981bfc21f7b6ef48f9a819d2c9969ad6eea71",
      "tree": "bcfce7dceeba920d49de2f696b1f12380818bafc",
      "parents": [
        "0d38a8789caf511e5b997caf76eb32fddbff051c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Nov 29 22:31:16 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 17 08:50:51 2013 -0800"
      },
      "message": "ring-buffer: Fix race between integrity check and readers\n\ncommit 9366c1ba13fbc41bdb57702e75ca4382f209c82f upstream.\n\nThe function rb_check_pages() was added to make sure the ring buffer\u0027s\npages were sane. This check is done when the ring buffer size is modified\nas well as when the iterator is released (closing the \"trace\" file),\nas that was considered a non fast path and a good place to do a sanity\ncheck.\n\nThe problem is that the check does not have any locks around it.\nIf one process were to read the trace file, and another were to read\nthe raw binary file, the check could happen while the reader is reading\nthe file.\n\nThe issues with this is that the check requires to clear the HEAD page\nbefore doing the full check and it restores it afterward. But readers\nrequire the HEAD page to exist before it can read the buffer, otherwise\nit gives a nasty warning and disables the buffer.\n\nBy adding the reader lock around the check, this keeps the race from\nhappening.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "455d8953951baf0d38673b010100241e508b765c",
      "tree": "094cf118760740e10acdef2f4edffd425e5a86f4",
      "parents": [
        "31fdb19eb968995b3c5f4337918bd51442f992ec"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Sat Jun 09 19:10:27 2012 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Dec 17 10:37:46 2012 -0800"
      },
      "message": "ftrace: Clear bits properly in reset_iter_read()\n\ncommit 70f77b3f7ec010ff9624c1f2e39a81babc9e2429 upstream.\n\nThere is a typo here where \u0027\u0026\u0027 is used instead of \u0027|\u0027 and it turns the\nstatement into a noop.  The original code is equivalent to:\n\n\titer-\u003eflags \u0026\u003d ~((1 \u003c\u003c 2) \u0026 (1 \u003c\u003c 4));\n\nLink: http://lkml.kernel.org/r/20120609161027.GD6488@elgon.mountain\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "8e1e6b65fe92a0fa7bdb787fc7d9c5c0eae3d654",
      "tree": "6c33e4563cfedb58255520fe5b0142c861638a17",
      "parents": [
        "cf7d045799f928ac338dbc9fea42538567a513e9"
      ],
      "author": {
        "name": "Pratik Patel",
        "email": "pratikp@codeaurora.org",
        "time": "Fri Jun 29 12:24:49 2012 -0700"
      },
      "committer": {
        "name": "Pratik Patel",
        "email": "pratikp@codeaurora.org",
        "time": "Sat Aug 11 16:40:46 2012 -0700"
      },
      "message": "coresight: enable stm logging for ftrace events and printk\n\nDup ftrace event traffic (including writes to trace_marker file from\nuserspace) to STM. Also dup printk traffic to STM. This allows Linux\ntracing and log data to be correlated with other data transported over\nSTM.\n\nChange-Id: Ieb0b856447f7667eb0005a6a884211dc46f50217\nSigned-off-by: Pratik Patel \u003cpratikp@codeaurora.org\u003e\n"
    },
    {
      "commit": "2c07f25ea7800adb36cd8da9b58c4ecd3fc3d064",
      "tree": "b312e3b679b544de20569f8e31dd1469e8a72be1",
      "parents": [
        "5318edefb61eddf91d4c4a089644fcee3ccfda62"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Jun 12 15:24:40 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 16 09:04:42 2012 -0700"
      },
      "message": "splice: fix racy pipe-\u003ebuffers uses\n\ncommit 047fe3605235888f3ebcda0c728cb31937eadfe6 upstream.\n\nDave Jones reported a kernel BUG at mm/slub.c:3474! triggered\nby splice_shrink_spd() called from vmsplice_to_pipe()\n\ncommit 35f3d14dbbc5 (pipe: add support for shrinking and growing pipes)\nadded capability to adjust pipe-\u003ebuffers.\n\nProblem is some paths don\u0027t hold pipe mutex and assume pipe-\u003ebuffers\ndoesn\u0027t change for their duration.\n\nFix this by adding nr_pages_max field in struct splice_pipe_desc, and\nuse it in place of pipe-\u003ebuffers where appropriate.\n\nsplice_shrink_spd() loses its struct pipe_inode_info argument.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nTested-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n[bwh: Backported to 3.2:\n - Adjust context in vmsplice_to_pipe()\n - Update one more call to splice_shrink_spd(), from skb_splice_bits()]\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4943d9cb7d82218d196ccc034ecaf933298e7e95",
      "tree": "9ded95e170894ee15f798fa118ed2ebced2ec9ab",
      "parents": [
        "dbb3e108234bf8e4bf43d2fed8bc57792e3dbd2f"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Thu May 03 18:59:52 2012 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 16 09:04:40 2012 -0700"
      },
      "message": "tracing: change CPU ring buffer state from tracing_cpumask\n\ncommit 71babb2705e2203a64c27ede13ae3508a0d2c16c upstream.\n\nAccording to Documentation/trace/ftrace.txt:\n\ntracing_cpumask:\n\n        This is a mask that lets the user only trace\n        on specified CPUS. The format is a hex string\n        representing the CPUS.\n\nThe tracing_cpumask currently doesn\u0027t affect the tracing state of\nper-CPU ring buffers.\n\nThis patch enables/disables CPU recording as its corresponding bit in\ntracing_cpumask is set/unset.\n\nLink: http://lkml.kernel.org/r/1336096792-25373-3-git-send-email-vnagarnaik@google.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Laurent Chavey \u003cchavey@google.com\u003e\nCc: Justin Teravest \u003cteravest@google.com\u003e\nCc: David Sharp \u003cdhsharp@google.com\u003e\nSigned-off-by: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "3993b24649773080897fde524ea2d9f311eba2aa",
      "tree": "22cbe6a20e2d52c2886c309a6307cce4364734f0",
      "parents": [
        "d946d96cd89b13fc354b6f7ed2c4de3e72c87d8e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jun 06 19:50:40 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jun 22 11:36:55 2012 -0700"
      },
      "message": "tracing: Have tracing_off() actually turn tracing off\n\ncommit f2bf1f6f5f89d031245067512449fc889b2f4bb2 upstream.\n\nA recent update to have tracing_on/off() only affect the ftrace ring\nbuffers instead of all ring buffers had a cut and paste error.\nThe tracing_off() did the exact same thing as tracing_on() and\nwould not actually turn off tracing. Unfortunately, tracing_off()\nis more important to be working than tracing_on() as this is a key\ndevelopment tool, as it lets the developer turn off tracing as soon\nas a problem is discovered. It is also used by panic and oops code.\n\nThis bug also breaks the \u0027echo func:traceoff \u003e set_ftrace_filter\u0027\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "f132c6cf77251e011e1dad0ec88c0b1fda16d5aa",
      "tree": "f04b469a3547a19b7bdbe110adc571eb71c93328",
      "parents": [
        "23016defd7db701a01dc49f972ad6b1bae9651c2",
        "3f6240f3e4e2608caf1a70d614ada658cbcbe7be"
      ],
      "author": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Wed Jun 06 18:30:57 2012 -0700"
      },
      "committer": {
        "name": "Steve Muckle",
        "email": "smuckle@codeaurora.org",
        "time": "Wed Jun 06 18:45:28 2012 -0700"
      },
      "message": "Merge commit \u0027AU_LINUX_ANDROID_ICS.04.00.04.00.126\u0027 into msm-3.4\n\nAU_LINUX_ANDROID_ICS.04.00.04.00.126 from msm-3.0.\nFirst parent is from google/android-3.4.\n\n* commit \u0027AU_LINUX_ANDROID_ICS.04.00.04.00.126\u0027: (8712 commits)\n  PRNG: Device tree entry for qrng device.\n  vidc:1080p: Set video core timeout value for Thumbnail mode\n  msm: sps: improve the debugging support in SPS driver\n  board-8064 msm: Overlap secure and non secure video firmware heaps.\n  msm: clock: Add handoff ops for 7x30 and copper XO clocks\n  msm_fb: display: Wait for external vsync before DTV IOMMU unmap\n  msm: Fix ciruclar dependency in debug UART settings\n  msm: gdsc: Add GDSC regulator driver for msm-copper\n  defconfig: Enable Mobicore Driver.\n  mobicore: Add mobicore driver.\n  mobicore: rename variable to lower case.\n  mobicore: rename folder.\n  mobicore: add makefiles\n  mobicore: initial import of kernel driver\n  ASoC: msm: Add SLIMBUS_2_RX CPU DAI\n  board-8064-gpio: Update FUNC for EPM SPI CS\n  msm_fb: display: Remove chicken bit config during video playback\n  mmc: msm_sdcc: enable the sanitize capability\n  msm-fb: display: lm2 writeback support on mpq platfroms\n  msm_fb: display: Disable LVDS phy \u0026 pll during panel off\n  ...\n\nSigned-off-by: Steve Muckle \u003csmuckle@codeaurora.org\u003e\n"
    },
    {
      "commit": "73937f5face75e05ec2a72966d04f4e20aa18379",
      "tree": "f3c12b4daec9f72dbecc33001f33ee210c046fec",
      "parents": [
        "3063b5a519b392dd13afd2ffe820eba312db2759"
      ],
      "author": {
        "name": "Maya Erez",
        "email": "merez@codeaurora.org",
        "time": "Thu May 24 23:33:05 2012 +0300"
      },
      "committer": {
        "name": "Maya Erez",
        "email": "merez@codeaurora.org",
        "time": "Thu May 24 23:33:05 2012 +0300"
      },
      "message": "block: ioctl support for sanitize in eMMC 4.5\n\nAdding a new ioctl to support sanitize operation in eMMC\ncards version 4.5.\nThe sanitize ioctl support helps performing this operation\nvia user application.\n\nChange-Id: I79aa4163e7753a75bed5a26a9a92de902b4b9c21\nSigned-off-by: Yaniv Gardi \u003cygardi@codeaurora.org\u003e\nSigned-off-by: Maya Erez \u003cmerez@codeaurora.org\u003e\n"
    },
    {
      "commit": "9b63776fa3ca96c4ecda76f6fa947b7b0add66ac",
      "tree": "ac90f2faceecab78d7d547c33daef31d4a9e2943",
      "parents": [
        "20d23aaa31da295378abff4272716e3dfc72baf0"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu May 10 15:55:43 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu May 10 15:55:43 2012 -0400"
      },
      "message": "tracing: Do not enable function event with enable\n\nWith the adding of function tracing event to perf, it caused a\nside effect that produces the following warning when enabling all\nevents in ftrace:\n\n # echo 1 \u003e /sys/kernel/debug/tracing/events/enable\n\n[console]\nevent trace: Could not enable event function\n\nThis is because when enabling all events via the debugfs system\nit ignores events that do not have a -\u003ereg() function assigned.\nThis was to skip over the ftrace internal events (as they are\nnot TRACE_EVENTs). But as the ftrace function event now has\na -\u003ereg() function attached to it for use with perf, it is no\nlonger ignored.\n\nWorse yet, this -\u003ereg() function is being called when it should\nnot be. It returns an error and causes the above warning to\nbe printed.\n\nBy adding a new event_call flag (TRACE_EVENT_FL_IGNORE_ENABLE)\nand have all ftrace internel event structures have it set,\nsetting the events/enable will no longe try to incorrectly enable\nthe function event and does not warn.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "db4c75cbebd7e5910cd3bcb6790272fcc3042857",
      "tree": "068514135f1bfd68c6add551ec94545010ca5a73",
      "parents": [
        "348f0fc238efb441a28e7644c51f9fd3001b228a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Apr 19 10:31:47 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Apr 19 17:00:13 2012 -0400"
      },
      "message": "tracing: Fix stacktrace of latency tracers (irqsoff and friends)\n\nWhile debugging a latency with someone on IRC (mirage335) on #linux-rt (OFTC),\nwe discovered that the stacktrace output of the latency tracers\n(preemptirqsoff) was empty.\n\nThis bug was caused by the creation of the dynamic length stack trace\nagain (like commit 12b5da3 \"tracing: Fix ent_size in trace output\" was).\n\nThis bug is caused by the latency tracers requiring the next event\nto determine the time between the current event and the next. But by\ngrabbing the next event, the iter-\u003eent_size is set to the next event\ninstead of the current one. As the stacktrace event is the last event,\nthis makes the ent_size zero and causes nothing to be printed for\nthe stack trace. The dynamic stacktrace uses the ent_size to determine\nhow much of the stack can be printed. The ent_size of zero means\nno stack.\n\nThe simple fix is to save the iter-\u003eent_size before finding the next event.\n\nNote, mirage335 asked to remain anonymous from LKML and git, so I will\nnot add the Reported-by and Tested-by tags, even though he did report\nthe issue and tested the fix.\n\nCc: stable@vger.kernel.org # 3.1+\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "348f0fc238efb441a28e7644c51f9fd3001b228a",
      "tree": "780fa93c72777045a986f0ce648efc2bf8e35999",
      "parents": [
        "6e48b550d1f5f1919e6500547ae14a73fbf66c7b"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 16 15:41:28 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 16 15:41:28 2012 -0400"
      },
      "message": "tracing: Fix regression with tracing_on\n\nThe change to make tracing_on affect only the ftrace ring buffer, caused\na bug where it wont affect any ring buffer. The problem was that the buffer\nof the trace_array was passed to the write function and not the trace array\nitself.\n\nThe trace_array can change the buffer when running a latency tracer. If this\nhappens, then the buffer being disabled may not be the buffer currently used\nby ftrace. This will cause the tracing_on file to become useless.\n\nThe simple fix is to pass the trace_array to the write function instead of\nthe buffer. Then the actual buffer may be changed.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6e48b550d1f5f1919e6500547ae14a73fbf66c7b",
      "tree": "983a2a06bc7aaddfc05f2d8c33309c3c21d30dea",
      "parents": [
        "a7ca08038b990e2cbed324948664b2d8940fd782"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Apr 13 09:52:59 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 13 21:37:04 2012 -0400"
      },
      "message": "tracing: Fix build breakage without CONFIG_PERF_EVENTS (again)\n\nToday\u0027s -next fails to link for me:\n\nkernel/built-in.o:(.data+0x178e50): undefined reference to `perf_ftrace_event_register\u0027\n\nIt looks like multiple fixes have been merged for the issue fixed by\ncommit fa73dc9 (tracing: Fix build breakage without CONFIG_PERF_EVENTS)\nthough I can\u0027t identify the other changes that have gone in at the\nminute, it\u0027s possible that the changes which caused the breakage fixed\nby the previous commit got dropped but the fix made it in.\n\nLink: http://lkml.kernel.org/r/1334307179-21255-1-git-send-email-broonie@opensource.wolfsonmicro.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5d32c88f0b94061b3af2e3ade92422407282eb12",
      "tree": "2e1f81aa47b2cf59625c8fba17199617e33802e6",
      "parents": [
        "43f63c8711ce02226b7bbdafeba7b8031faf3fb4",
        "dac23b0d0513916498d40412818bd2c581b365f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:30:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:30:34 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge batch of fixes from Andrew Morton:\n \"The simple_open() cleanup was held back while I wanted for laggards to\n  merge things.\n\n  I still need to send a few checkpoint/restore patches.  I\u0027ve been\n  wobbly about merging them because I\u0027m wobbly about the overall\n  prospects for success of the project.  But after speaking with Pavel\n  at the LSF conference, it sounds like they\u0027re further toward\n  completion than I feared - apparently davem is at the \"has stopped\n  complaining\" stage regarding the net changes.  So I need to go back\n  and re-review those patchs and their (lengthy) discussion.\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (16 patches)\n  memcg swap: use mem_cgroup_uncharge_swap fix\n  backlight: add driver for DA9052/53 PMIC v1\n  C6X: use set_current_blocked() and block_sigmask()\n  MAINTAINERS: add entry for sparse checker\n  MAINTAINERS: fix REMOTEPROC F: typo\n  alpha: use set_current_blocked() and block_sigmask()\n  simple_open: automatically convert to simple_open()\n  scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open()\n  libfs: add simple_open()\n  hugetlbfs: remove unregister_filesystem() when initializing module\n  drivers/rtc/rtc-88pm860x.c: fix rtc irq enable callback\n  fs/xattr.c:setxattr(): improve handling of allocation failures\n  fs/xattr.c:listxattr(): fall back to vmalloc() if kmalloc() failed\n  fs/xattr.c: suppress page allocation failure warnings from sys_listxattr()\n  sysrq: use SEND_SIG_FORCED instead of force_sig()\n  proc: fix mount -t proc -o AAA\n"
    },
    {
      "commit": "234e340582901211f40d8c732afc49f0630ecf05",
      "tree": "753076500dfd883b3db56d4f5410af31d8945623",
      "parents": [
        "9b3ae64be658a573b33d05a8dc73b08d3345fa44"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Thu Apr 05 14:25:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:25:50 2012 -0700"
      },
      "message": "simple_open: automatically convert to simple_open()\n\nMany users of debugfs copy the implementation of default_open() when\nthey want to support a custom read/write function op.  This leads to a\nproliferation of the default_open() implementation across the entire\ntree.\n\nNow that the common implementation has been consolidated into libfs we\ncan replace all the users of this function with simple_open().\n\nThis replacement was done with the following semantic patch:\n\n\u003csmpl\u003e\n@ open @\nidentifier open_f !\u003d simple_open;\nidentifier i, f;\n@@\n-int open_f(struct inode *i, struct file *f)\n-{\n(\n-if (i-\u003ei_private)\n-f-\u003eprivate_data \u003d i-\u003ei_private;\n|\n-f-\u003eprivate_data \u003d i-\u003ei_private;\n)\n-return 0;\n-}\n\n@ has_open depends on open @\nidentifier fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...\n-.open \u003d open_f,\n+.open \u003d simple_open,\n...\n};\n\u003c/smpl\u003e\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Julia Lawall \u003cJulia.Lawall@lip6.fr\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a76e99abc558aed633ba28ff61c5328116292bf3",
      "tree": "60f7677f0baafa00825accc1214839246b3e78dd",
      "parents": [
        "a54734678ff9cb97938b9f7648547174f3b118e4",
        "1d05f993784973189395051cc711fdd6dd5eb389"
      ],
      "author": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Fri Mar 30 00:09:34 2012 -0700"
      },
      "committer": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Fri Mar 30 00:09:34 2012 -0700"
      },
      "message": "Merge branch \u0027Linux 3.0.21\u0027 into msm-3.0\n\nMerge Upstream\u0027s stable 3.0.21 branch into msm-3.0\nThis consists 814 commits and some merge conflicts.\n\nThe merge conflicts are because of some local changes to\nmsm-3.0 as well as some conflicts between google\u0027s tree and\nthe upstream tree.\n\nConflicts:\n\tarch/arm/kernel/head.S\n\tdrivers/bluetooth/ath3k.c\n\tdrivers/bluetooth/btusb.c\n\tdrivers/mmc/core/core.c\n\tdrivers/tty/serial/serial_core.c\n\tdrivers/usb/host/ehci-hub.c\n\tdrivers/usb/serial/qcserial.c\n\tfs/namespace.c\n\tfs/proc/base.c\n\nChange-Id: I62e2edbe213f84915e27f8cd6e4f6ce23db22a21\nSigned-off-by: Rohit Vaswani \u003crvaswani@codeaurora.org\u003e\n"
    },
    {
      "commit": "12b5da349a8b94c9dbc3430a6bc42eabd9eaf50b",
      "tree": "a785d2b0757cacc15cd02e9eb6da3210c79a8aea",
      "parents": [
        "2c86bf172e550b4bf089ac7f0de3f6370e243842"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Mar 27 10:43:28 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 27 12:05:44 2012 -0400"
      },
      "message": "tracing: Fix ent_size in trace output\n\nWhen reading the trace file, the records of each of the per_cpu buffers\nare examined to find the next event to print out. At the point of looking\nat the event, the size of the event is recorded. But if the first event is\nchosen, the other events in the other CPU buffers will reset the event size\nthat is stored in the iterator descriptor, causing the event size passed to\nthe output functions to be incorrect.\n\nIn most cases this is not a problem, but for the case of stack traces, it\nis. With the change to the stack tracing to record a dynamic number of\nback traces, the output depends on the size of the entry instead of the\nfixed 8 back traces. When the entry size is not correct, the back traces\nwould not be fully printed.\n\nNote, reading from the per-cpu trace files were not affected.\n\nReported-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7fd52392c56361a40f0c630a82b36b95ca31eac6",
      "tree": "14091de24c6b28ea4cae9826f98aeedb7be091f5",
      "parents": [
        "b01c3a0010aabadf745f3e7fdb9cab682e0a28a2",
        "e22057c8599373e5caef0bc42bdb95d2a361ab0d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 26 17:18:44 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon Mar 26 17:19:03 2012 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into perf/urgent\n\nMerge reason: we need to fix a non-trivial merge conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "04a54d27ce9698d108d29c8a6a50c28f7446336b",
      "tree": "95041020d6fd5e283e81f7c12c2fd4433b6af8e5",
      "parents": [
        "c7206205d00ab375839bd6c7ddb247d600693c09",
        "01de982abf8c9e10fc3089e10585cd2cc914bdab"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 24 08:19:09 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Sat Mar 24 08:19:09 2012 +0100"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent\n"
    },
    {
      "commit": "01de982abf8c9e10fc3089e10585cd2cc914bdab",
      "tree": "09819515fa130cf8fad5b17367bbd6f9e787e4a5",
      "parents": [
        "89c5bd08df5841326abbf167d136bcf14cf759ed"
      ],
      "author": {
        "name": "Wolfgang Mauerer",
        "email": "wolfgang.mauerer@siemens.com",
        "time": "Thu Mar 22 11:18:20 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 22 12:19:23 2012 -0400"
      },
      "message": "tracing: Fix ftrace stack trace entries\n\n8 hex characters tell only half the tale for 64 bit CPUs,\nso use the appropriate length.\n\nLink: http://lkml.kernel.org/r/1332411501-8059-2-git-send-email-wolfgang.mauerer@siemens.com\n\nCc: stable@vger.kernel.org\nSigned-off-by: Wolfgang Mauerer \u003cwolfgang.mauerer@siemens.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e2a0883e4071237d09b604a342c28b96b44a04b3",
      "tree": "aa56f4d376b5eb1c32358c19c2669c2a94e0e1fd",
      "parents": [
        "3a990a52f9f25f45469e272017a31e7a3fda60ed",
        "07c0c5d8b8c122b2f2df9ee574ac3083daefc981"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs pile 1 from Al Viro:\n \"This is _not_ all; in particular, Miklos\u0027 and Jan\u0027s stuff is not there\n  yet.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (64 commits)\n  ext4: initialization of ext4_li_mtx needs to be done earlier\n  debugfs-related mode_t whack-a-mole\n  hfsplus: add an ioctl to bless files\n  hfsplus: change finder_info to u32\n  hfsplus: initialise userflags\n  qnx4: new helper - try_extent()\n  qnx4: get rid of qnx4_bread/qnx4_getblk\n  take removal of PF_FORKNOEXEC to flush_old_exec()\n  trim includes in inode.c\n  um: uml_dup_mmap() relies on -\u003emmap_sem being held, but activate_mm() doesn\u0027t hold it\n  um: embed -\u003estub_pages[] into mmu_context\n  gadgetfs: list_for_each_safe() misuse\n  ocfs2: fix leaks on failure exits in module_init\n  ecryptfs: make register_filesystem() the last potential failure exit\n  ntfs: forgets to unregister sysctls on register_filesystem() failure\n  logfs: missing cleanup on register_filesystem() failure\n  jfs: mising cleanup on register_filesystem() failure\n  make configfs_pin_fs() return root dentry on success\n  configfs: configfs_create_dir() has parent dentry in dentry-\u003ed_parent\n  configfs: sanitize configfs_create()\n  ...\n"
    },
    {
      "commit": "38eff2892628fa5c4fc8962a17b7296f42833ebe",
      "tree": "6a138b3a4bd712b65797bae334bd7bd3ec12c038",
      "parents": [
        "66b3fad3f4c535c92b6a1184d535a97d6aa5d82a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 14 21:51:10 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:40 2012 -0400"
      },
      "message": "constify path argument of trace_seq_path()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fa73dc9400516945bcbae8d98c23393bcefe1440",
      "tree": "f63deadc3b24a2534646dc7dff626fc7102fabe5",
      "parents": [
        "db6544e0075d192e5ad16eda8689c55fa9c6f8f4"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Feb 28 11:02:46 2012 +0000"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 13 18:34:59 2012 -0400"
      },
      "message": "tracing: Fix build breakage without CONFIG_PERF_EVENTS\n\nToday\u0027s -next fails to build for me:\n\n  CC      kernel/trace/trace_export.o\nIn file included from kernel/trace/trace_export.c:197: kernel/trace/trace_entries.h:58: error: \u0027perf_ftrace_event_register\u0027 undeclared here (not in a function)\nmake[2]: *** [kernel/trace/trace_export.o] Error 1\nmake[1]: *** [kernel/trace] Error 2\nmake: *** [kernel] Error 2\n\nbecause as of ced390 (ftrace, perf: Add support to use function\ntracepoint in perf) perf_trace_event_register() is declared in trace.h\nonly if CONFIG_PERF_EVENTS is enabled but I don\u0027t have that set.\n\nEnsure that we always have a definition of perf_trace_event_register()\nby making the definition unconditional.\n\nLink: http://lkml.kernel.org/r/1330426967-17067-1-git-send-email-broonie@opensource.wolfsonmicro.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "db6544e0075d192e5ad16eda8689c55fa9c6f8f4",
      "tree": "5c48606c4769afc28bc8382d8ff3c6f2d14b0b03",
      "parents": [
        "b892e5c89787716b95a8e55d77d25a1c0748df10"
      ],
      "author": {
        "name": "Rajesh Bhagat",
        "email": "rajesh.lnx@gmail.com",
        "time": "Fri Feb 17 13:59:15 2012 +0530"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Mar 13 15:07:37 2012 -0400"
      },
      "message": "ftrace: Fix function_graph for archs that test ftrace_trace_function\n\nWhen CONFIG_DYNAMIC_FTRACE is not set, some archs (ARM) test\nthe variable function_trace_function to determine if it should\ncall the function tracer. If it is not set to ftrace_stub, then\nit will call the function and return, and not call the function\ngraph tracer.\n\nBut some of these archs (ARM) do not have the assembly code\nto test if function tracing is enabled or not (quick stop of tracing)\nand it calls the helper routine ftrace_test_stop_func() instead.\n\nIf function tracer is enabled and then disabled, the variable\nftrace_trace_function is still set to the helper routine\nftrace_test_stop_func(), and not to ftrace_stub. This will\nprevent the function graph tracer from ever running.\n\nOutput before patch\n/debug/tracing # echo function \u003e current_tracer\n/debug/tracing # echo function_graph \u003e current_tracer\n/debug/tracing # cat trace\n\nOutput after patch\n/debug/tracing # echo function \u003e current_tracer\n/debug/tracing # echo function_graph \u003e current_tracer\n/debug/tracing # cat trace\n0) ! 253.375 us | } /* irq_enter */\n0) | generic_handle_irq() {\n0) | handle_fasteoi_irq() {\n0) 9.208 us | _raw_spin_lock();\n0) | handle_irq_event() {\n0) | handle_irq_event_percpu() {\n\nSigned-off-by: Rajesh Bhagat \u003crajesh.lnx@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b892e5c89787716b95a8e55d77d25a1c0748df10",
      "tree": "ed77ec8ab4db28fb900653cee4b719cf02a3a911",
      "parents": [
        "8c9cf542b8a66c231747a550573d910daf17f0e9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Mar 01 22:06:48 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Mar 01 22:06:48 2012 -0500"
      },
      "message": "tracing: Keep NMI watchdog from triggering when dumping trace\n\nAs ftrace_dump() (called by ftrace_dump_on_oops) disables interrupts\nas it dumps its output to the console, it can keep interrupts disabled\nfor long periods of time. This is likely to trigger the NMI watchdog,\nand it can disrupt the output of critical data.\n\nAdd a touch_nmi_watchdog() to each event that is written to the screen\nto keep the NMI watchdog from affecting the output.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8c9cf542b8a66c231747a550573d910daf17f0e9",
      "tree": "7d6fbd5b30d4409522d1258ce7f8eee6a9aefd76",
      "parents": [
        "499e547057f5bba5cd6f87ebe59b05d0c59da905"
      ],
      "author": {
        "name": "Gerlando Falauto",
        "email": "gerlando.falauto@keymile.com",
        "time": "Mon Feb 27 09:08:21 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 27 08:45:11 2012 -0500"
      },
      "message": "tracing: Do not select FRAME_POINTER on PPC\n\nOn PowerPC, FUNCTION_TRACER selects FRAME_POINTER, even\nthough the architecture does not support it.\n\nThis causes the following warning:\nwarning: (LOCKDEP \u0026\u0026 FAULT_INJECTION_STACKTRACE_FILTER \u0026\u0026 LATENCYTOP \u0026\u0026 FUNCTION_TRACER \u0026\u0026 KMEMCHECK) selects FRAME_POINTER which has unmet direct dependencies (DEBUG_KERNEL \u0026\u0026 (CRIS || M68K || FRV || UML || AVR32 || SUPERH || BLACKFIN || MN10300) || ARCH_WANT_FRAME_POINTERS)\n\nSo remove the warning by adding the extra condition\n\"if !PPC\" to FUNCTION_TRACER for FRAME_POINTER selection\n\nLink: http://lkml.kernel.org/r/1330330101-8618-1-git-send-email-gerlando.falauto@keymile.com\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nSigned-off-by: Gerlando Falauto \u003cgerlando.falauto@keymile.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "499e547057f5bba5cd6f87ebe59b05d0c59da905",
      "tree": "9bc64c1a76446153b72a66ad25fe892012d9d120",
      "parents": [
        "5500fa51199aee770ce53718853732600543619e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 22 15:50:28 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Feb 22 15:50:28 2012 -0500"
      },
      "message": "tracing/ring-buffer: Only have tracing_on disable tracing buffers\n\nAs the ring-buffer code is being used by other facilities in the\nkernel, having tracing_on file disable *all* buffers is not a desired\naffect. It should only disable the ftrace buffers that are being used.\n\nMove the code into the trace.c file and use the buffer disabling\nfor tracing_on() and tracing_off(). This way only the ftrace buffers\nwill be affected by them and other kernel utilities will not be\nconfused to why their output suddenly stopped.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5500fa51199aee770ce53718853732600543619e",
      "tree": "1c2ad241de8177670234cfed07acb30dba802b01",
      "parents": [
        "02aa3162edaa166a01d193f80ccde890be8b55da"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:54 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:30 2012 -0500"
      },
      "message": "ftrace, perf: Add filter support for function trace event\n\nAdding support to filter function trace event via perf\ninterface. It is now possible to use filter interface\nin the perf tool like:\n\n  perf record -e ftrace:function --filter\u003d\"(ip \u003d\u003d mm_*)\" ls\n\nThe filter syntax is restricted to the the \u0027ip\u0027 field only,\nand following operators are accepted \u0027\u003d\u003d\u0027 \u0027!\u003d\u0027 \u0027||\u0027, ending\nup with the filter strings like:\n\n  ip \u003d\u003d f1[, ]f2 ... || ip !\u003d f3[, ]f4 ...\n\nwith comma \u0027,\u0027 or space \u0027 \u0027 as a function separator. If the\nspace \u0027 \u0027 is used as a separator, the right side of the\nassignment needs to be enclosed in double quotes \u0027\"\u0027, e.g.:\n\n  perf record -e ftrace:function --filter \u0027(ip \u003d\u003d do_execve,sys_*,ext*)\u0027 ls\n  perf record -e ftrace:function --filter \u0027(ip \u003d\u003d \"do_execve,sys_*,ext*\")\u0027 ls\n  perf record -e ftrace:function --filter \u0027(ip \u003d\u003d \"do_execve sys_* ext*\")\u0027 ls\n\nThe \u0027\u003d\u003d\u0027 operator adds trace filter with same effect as would\nbe added via set_ftrace_filter file.\n\nThe \u0027!\u003d\u0027 operator adds trace filter with same effect as would\nbe added via set_ftrace_notrace file.\n\nThe right side of the \u0027!\u003d\u0027, \u0027\u003d\u003d\u0027 operators is list of functions\nor regexp. to be added to filter separated by space.\n\nThe \u0027||\u0027 operator is used for connecting multiple filter definitions\ntogether. It is possible to have more than one \u0027\u003d\u003d\u0027 and \u0027!\u003d\u0027\noperators within one filter string.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-8-git-send-email-jolsa@redhat.com\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "02aa3162edaa166a01d193f80ccde890be8b55da",
      "tree": "50f111c12472e5573b966d7fb076ba4b22c86669",
      "parents": [
        "ced39002f5ea736b716ae233fb68b26d59783912"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:53 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:29 2012 -0500"
      },
      "message": "ftrace: Allow to specify filter field type for ftrace events\n\nAdding FILTER_TRACE_FN event field type for function tracepoint\nevent, so it can be properly recognized within filtering code.\n\nCurrently all fields of ftrace subsystem events share the common\nfield type FILTER_OTHER. Since the function trace fields need\nspecial care within the filtering code we need to recognize it\nproperly, hence adding the FILTER_TRACE_FN event type.\n\nAdding filter parameter to the FTRACE_ENTRY macro, to specify the\nfilter field type for the event.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-7-git-send-email-jolsa@redhat.com\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ced39002f5ea736b716ae233fb68b26d59783912",
      "tree": "4942ffe3b9e26d5122a5febb885d0b541e3aea33",
      "parents": [
        "e59a0bff3ecf389951e3c9378ddfd00f6448bfaa"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:52 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:27 2012 -0500"
      },
      "message": "ftrace, perf: Add support to use function tracepoint in perf\n\nAdding perf registration support for the ftrace function event,\nso it is now possible to register it via perf interface.\n\nThe perf_event struct statically contains ftrace_ops as a handle\nfor function tracer. The function tracer is registered/unregistered\nin open/close actions.\n\nTo be efficient, we enable/disable ftrace_ops each time the traced\nprocess is scheduled in/out (via TRACE_REG_PERF_(ADD|DELL) handlers).\nThis way tracing is enabled only when the process is running.\nIntentionally using this way instead of the event\u0027s hw state\nPERF_HES_STOPPED, which would not disable the ftrace_ops.\n\nIt is now possible to use function trace within perf commands\nlike:\n\n  perf record -e ftrace:function ls\n  perf stat -e ftrace:function ls\n\nAllowed only for root.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-6-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e59a0bff3ecf389951e3c9378ddfd00f6448bfaa",
      "tree": "315214953499b428a6a26d08fe3b5038e4ec5e1e",
      "parents": [
        "489c75c3b333dfda4c8d2b7ad1b00e5da024bfa7"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:51 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:26 2012 -0500"
      },
      "message": "ftrace: Add FTRACE_ENTRY_REG macro to allow event registration\n\nAdding FTRACE_ENTRY_REG macro so particular ftrace entries\ncould specify registration function and thus become accesible\nvia perf.\n\nThis will be used in upcomming patch for function trace.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-5-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "489c75c3b333dfda4c8d2b7ad1b00e5da024bfa7",
      "tree": "beb0b36b48dfbbe389ea14e36be75b4837ad0cf1",
      "parents": [
        "ceec0b6fc7cd43b38a40c2d40223f9cd0616f0cd"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:50 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:25 2012 -0500"
      },
      "message": "ftrace, perf: Add add/del tracepoint perf registration actions\n\nAdding TRACE_REG_PERF_ADD and TRACE_REG_PERF_DEL to handle\nperf event schedule in/out actions.\n\nThe add action is invoked for when the perf event is scheduled in,\nwhile the del action is invoked when the event is scheduled out.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-4-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ceec0b6fc7cd43b38a40c2d40223f9cd0616f0cd",
      "tree": "31e7deb76a5827883251dc578300bdc35ef62538",
      "parents": [
        "e248491ac283b516958ca9ab62c8e74b6718bca8"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:49 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:24 2012 -0500"
      },
      "message": "ftrace, perf: Add open/close tracepoint perf registration actions\n\nAdding TRACE_REG_PERF_OPEN and TRACE_REG_PERF_CLOSE to differentiate\nregister/unregister from open/close actions.\n\nThe register/unregister actions are invoked for the first/last\ntracepoint user when opening/closing the event.\n\nThe open/close actions are invoked for each tracepoint user when\nopening/closing the event.\n\nLink: http://lkml.kernel.org/r/1329317514-8131-3-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e248491ac283b516958ca9ab62c8e74b6718bca8",
      "tree": "77e5a6589cf55ebeabe01a321d792e216162efe6",
      "parents": [
        "5b34926114e39e12005031269613d2b13194aeba"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed Feb 15 15:51:48 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:23 2012 -0500"
      },
      "message": "ftrace: Add enable/disable ftrace_ops control interface\n\nAdding a way to temporarily enable/disable ftrace_ops. The change\nfollows the same way as \u0027global\u0027 ftrace_ops are done.\n\nIntroducing 2 global ftrace_ops - control_ops and ftrace_control_list\nwhich take over all ftrace_ops registered with FTRACE_OPS_FL_CONTROL\nflag. In addition new per cpu flag called \u0027disabled\u0027 is also added to\nftrace_ops to provide the control information for each cpu.\n\nWhen ftrace_ops with FTRACE_OPS_FL_CONTROL is registered, it is\nset as disabled for all cpus.\n\nThe ftrace_control_list contains all the registered \u0027control\u0027 ftrace_ops.\nThe control_ops provides function which iterates ftrace_control_list\nand does the check for \u0027disabled\u0027 flag on current cpu.\n\nAdding 3 inline functions:\n  ftrace_function_local_disable/ftrace_function_local_enable\n  - enable/disable the ftrace_ops on current cpu\n  ftrace_function_local_disabled\n  - get disabled ftrace_ops::disabled value for current cpu\n\nLink: http://lkml.kernel.org/r/1329317514-8131-2-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5b34926114e39e12005031269613d2b13194aeba",
      "tree": "40c0fd479d6e048ceec060d05e141de0a941b7b5",
      "parents": [
        "e404b321dbb2d6e438522b7dce9c1d0c6a8c5275"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Feb 20 20:37:32 2012 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 21 11:08:13 2012 -0500"
      },
      "message": "tracing: Don\u0027t use p-\u003elen field to determine output in __print_*() functions\n\nIf more than one __print_*() function is used in a tracepoint\n(__print_flags(), __print_symbols(), etc), then the temp seq buffer will\nnot be zero on entry. Using the temp seq buffer\u0027s length to know if\ndata has been printed or not in the current function is incorrect and\nmay produce incorrect results.\n\nCurrently, no in-tree tracepoint causes this bug, but new ones may\nbe created.\n\nCc: Andrew Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e404b321dbb2d6e438522b7dce9c1d0c6a8c5275",
      "tree": "1eff30273eb7089686e762ea2e1f025493c44c32",
      "parents": [
        "09bda4432a8a4d4db2b2b94697abc8d732a9ff73"
      ],
      "author": {
        "name": "Andrey Vagin",
        "email": "avagin@openvz.org",
        "time": "Sun Feb 19 14:16:07 2012 +0300"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 20 20:33:31 2012 -0500"
      },
      "message": "tracing: Don\u0027t print an extra separator of flags\n\nIf __print_flags() is used after another __print_*() function, the\ntemp seq_file buffer will not be empty on entry, and the delimiter will\nbe printed even though there\u0027s just one field. We get something like:\n\n\t|S\n\ninstead of just:\n\n\tS\n\nThis is because the length of the temp seq buffer is used to determine\nif the delimiter is printed or not. But this algorithm fails when\nthe seq buffer is not empty on entry, and the delimiter will be printed\nbecause it thinks that a previous field was already printed.\n\nLink: http://lkml.kernel.org/r/1329650167-480655-1-git-send-email-avagin@openvz.org\n\nSigned-off-by: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "47b0edcb599ea6eb9ef16d3a08932a0e01485293",
      "tree": "c72965c718a4e50a845c1e0ec898fc2d86825104",
      "parents": [
        "95100358491abaa2e9a5483811370059bbca4645"
      ],
      "author": {
        "name": "Thomas Meyer",
        "email": "thomas@m3y3r.de",
        "time": "Tue Nov 29 22:08:00 2011 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 13 13:48:11 2012 -0500"
      },
      "message": "tracing/trivial: Use kcalloc instead of kzalloc to allocate array\n\nThe advantage of kcalloc is, that will prevent integer overflows which could\nresult from the multiplication of number of elements and size and it is also\na bit nicer to read.\n\nThe semantic patch that makes this change is available\nin https://lkml.org/lkml/2011/11/25/107\n\nLink: http://lkml.kernel.org/r/1322600880.1534.347.camel@localhost.localdomain\n\nSigned-off-by: Thomas Meyer \u003cthomas@m3y3r.de\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1e42e83fde5537266c1d1e7fd8c010b3028d50fc",
      "tree": "6ca9af6a41021c2b1fb423bf85b1b99aa79e2e81",
      "parents": [
        "76027ea863fc02698da536b4970784eed3caa635"
      ],
      "author": {
        "name": "Geunsik Lim",
        "email": "geunsik.lim@samsung.com",
        "time": "Wed Feb 08 19:05:36 2012 +0900"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Feb 13 09:14:47 2012 -0500"
      },
      "message": "ftrace: sched_switch plugin is deprecated\n\nActually, sched_switch function tracer is merged into wakeup/wakeup_rt\nUpdate \u0027mini-HOWTO\u0027 for ftrace(Kernel function tracer).\nIf we want to trace \"sched:sched_switch\" to trace sched_switch func,\nWe may utilize event option.(e.g: trace-cmd list -e | grep sched)\nThis patch is based on Linux-3.3.rc2-SMP-PREEMPT\n\nLink: http://lkml.kernel.org/r/1328695537-15081-1-git-send-email-geunsik.lim@gmail.com\n\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Geunsik Lim \u003cgeunsik.lim@samsung.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "da8ae089a79cdc37589cab581a2ca9cf48f98904",
      "tree": "aa95891ffdec00d331c6e0c97e83c848957e35c0",
      "parents": [
        "2ffe3ccf80eba0ac9ca71c41e7357d92f1c08fc3"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Mon Dec 05 18:22:48 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 03 09:18:54 2012 -0800"
      },
      "message": "ftrace: Fix unregister ftrace_ops accounting\n\ncommit 30fb6aa74011dcf595f306ca2727254d708b786e upstream.\n\nMultiple users of the function tracer can register their functions\nwith the ftrace_ops structure. The accounting within ftrace will\nupdate the counter on each function record that is being traced.\nWhen the ftrace_ops filtering adds or removes functions, the\nfunction records will be updated accordingly if the ftrace_ops is\nstill registered.\n\nWhen a ftrace_ops is removed, the counter of the function records,\nthat the ftrace_ops traces, are decremented. When they reach zero\nthe functions that they represent are modified to stop calling the\nmcount code.\n\nWhen changes are made, the code is updated via stop_machine() with\na command passed to the function to tell it what to do. There is an\nENABLE and DISABLE command that tells the called function to enable\nor disable the functions. But the ENABLE is really a misnomer as it\nshould just update the records, as records that have been enabled\nand now have a count of zero should be disabled.\n\nThe DISABLE command is used to disable all functions regardless of\ntheir counter values. This is the big off switch and is not the\ncomplement of the ENABLE command.\n\nTo make matters worse, when a ftrace_ops is unregistered and there\nis another ftrace_ops registered, neither the DISABLE nor the\nENABLE command are set when calling into the stop_machine() function\nand the records will not be updated to match their counter. A command\nis passed to that function that will update the mcount code to call\nthe registered callback directly if it is the only one left. This\nmeans that the ftrace_ops that is still registered will have its callback\ncalled by all functions that have been set for it as well as the ftrace_ops\nthat was just unregistered.\n\nHere\u0027s a way to trigger this bug. Compile the kernel with\nCONFIG_FUNCTION_PROFILER set and with CONFIG_FUNCTION_GRAPH not set:\n\n CONFIG_FUNCTION_PROFILER\u003dy\n # CONFIG_FUNCTION_GRAPH is not set\n\nThis will force the function profiler to use the function tracer instead\nof the function graph tracer.\n\n  # cd /sys/kernel/debug/tracing\n  # echo schedule \u003e set_ftrace_filter\n  # echo function \u003e current_tracer\n  # cat set_ftrace_filter\n schedule\n  # cat trace\n # tracer: nop\n #\n # entries-in-buffer/entries-written: 692/68108025   #P:4\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n      kworker/0:2-909   [000] ....   531.235574: schedule \u003c-worker_thread\n           \u003cidle\u003e-0     [001] .N..   531.235575: schedule \u003c-cpu_idle\n      kworker/0:2-909   [000] ....   531.235597: schedule \u003c-worker_thread\n             sshd-2563  [001] ....   531.235647: schedule \u003c-schedule_hrtimeout_range_clock\n\n  # echo 1 \u003e function_profile_enabled\n  # echo 0 \u003e function_porfile_enabled\n  # cat set_ftrace_filter\n schedule\n  # cat trace\n # tracer: function\n #\n # entries-in-buffer/entries-written: 159701/118821262   #P:4\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n           \u003cidle\u003e-0     [002] ...1   604.870655: local_touch_nmi \u003c-cpu_idle\n           \u003cidle\u003e-0     [002] d..1   604.870655: enter_idle \u003c-cpu_idle\n           \u003cidle\u003e-0     [002] d..1   604.870656: atomic_notifier_call_chain \u003c-enter_idle\n           \u003cidle\u003e-0     [002] d..1   604.870656: __atomic_notifier_call_chain \u003c-atomic_notifier_call_chain\n\nThe same problem could have happened with the trace_probe_ops,\nbut they are modified with the set_frace_filter file which does the\nupdate at closure of the file.\n\nThe simple solution is to change ENABLE to UPDATE and call it every\ntime an ftrace_ops is unregistered.\n\nLink: http://lkml.kernel.org/r/1323105776-26961-3-git-send-email-jolsa@redhat.com\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "2ffe3ccf80eba0ac9ca71c41e7357d92f1c08fc3",
      "tree": "b25759efa685d002b043e657fa3d05624c85eaaa",
      "parents": [
        "f935e6192f9e068da8f8395f032ff4b721fe8510"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jul 13 15:08:31 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 03 09:18:54 2012 -0800"
      },
      "message": "ftrace: Update filter when tracing enabled in set_ftrace_filter()\n\ncommit 072126f4529196f71a97960248bca54fd4554c2d upstream.\n\nCurrently, if set_ftrace_filter() is called when the ftrace_ops is\nactive, the function filters will not be updated. They will only be updated\nwhen tracing is disabled and re-enabled.\n\nUpdate the functions immediately during set_ftrace_filter().\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "f935e6192f9e068da8f8395f032ff4b721fe8510",
      "tree": "d98c511790df01d7e362a50b72a169ae11008b61",
      "parents": [
        "3ce5564096c4444197e6f7dc83a9dbc63392b084"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jul 13 15:03:44 2011 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Feb 03 09:18:53 2012 -0800"
      },
      "message": "ftrace: Balance records when updating the hash\n\ncommit 41fb61c2d08107ce96a5dcb3a6289b2afd3e135c upstream.\n\nWhenever the hash of the ftrace_ops is updated, the record counts\nmust be balance. This requires disabling the records that are set\nin the original hash, and then enabling the records that are set\nin the updated hash.\n\nMoving the update into ftrace_hash_move() removes the bug where the\nhash was updated but the records were not, which results in ftrace\ntriggering a warning and disabling itself because the ftrace_ops filter\nis updated while the ftrace_ops was registered, and then the failure\nhappens when the ftrace_ops is unregistered.\n\nThe current code will not trigger this bug, but new code will.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n"
    },
    {
      "commit": "ac483c446b67870444c9eeaf8325d3d2af9b91bc",
      "tree": "e2765af4acf86ce986856b2963036138ae077d58",
      "parents": [
        "623ec991ce0e8cd5791bad656c162fa837635907"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Mon Jan 02 10:04:14 2012 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Feb 03 09:48:18 2012 -0500"
      },
      "message": "ftrace: Change filter/notrace set functions to return exit code\n\nCurrently the ftrace_set_filter and ftrace_set_notrace functions\ndo not return any return code. So there\u0027s no way for ftrace_ops\nuser to tell wether the filter was correctly applied.\n\nThe set_ftrace_filter interface returns error in case the filter\ndid not match:\n\n  # echo krava \u003e set_ftrace_filter\n  bash: echo: write error: Invalid argument\n\nChanging both ftrace_set_filter and ftrace_set_notrace functions\nto return zero if the filter was applied correctly or -E* values\nin case of error.\n\nLink: http://lkml.kernel.org/r/1325495060-6402-2-git-send-email-jolsa@redhat.com\n\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "72153812cf48340558f6436dabd3390b987ed5f5",
      "tree": "01d05853512e0512b15bda3de26e542383fd0025",
      "parents": [
        "56b42db68ddf6aac9bc33130535e2a52d309ceea"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Sat Jan 14 22:53:54 2012 -0800"
      },
      "committer": {
        "name": "Rohit Vaswani",
        "email": "rvaswani@codeaurora.org",
        "time": "Mon Jan 16 13:20:27 2012 -0800"
      },
      "message": "tracing: Clean up tb_fmt to not give faulty compile warning\n\ngcc incorrectly states that the variable \"fmt\" is uninitialized when\nCC_OPITMIZE_FOR_SIZE is set.\n\nInstead of just blindly setting fmt to NULL, the code is cleaned up\na little to be a bit easier for humans to follow, as well as gcc\nto know the variables are initialized.\n\nChange-Id: Ia5fb9cc6be8eadae9af3a5636a2459ed7cd48662\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Rohit Vaswani \u003crvaswani@codeaurora.org\u003e\n"
    },
    {
      "commit": "83c2f912b43c3a7babbb6cb7ae2a5276c1ed2a3e",
      "tree": "eaa7f50dea154d9f19721db69c7adde64d48848f",
      "parents": [
        "f0ed5b9a28536b8be2f578a9450cfa42ab31ccf8",
        "172d1b0b73256551f100fc00c69e356d047103f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 15 11:26:35 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 15 11:26:35 2012 -0800"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (39 commits)\n  perf tools: Fix compile error on x86_64 Ubuntu\n  perf report: Fix --stdio output alignment when --showcpuutilization used\n  perf annotate: Get rid of field_sep check\n  perf annotate: Fix usage string\n  perf kmem: Fix a memory leak\n  perf kmem: Add missing closedir() calls\n  perf top: Add error message for EMFILE\n  perf test: Change type of \u0027-v\u0027 option to INCR\n  perf script: Add missing closedir() calls\n  tracing: Fix compile error when static ftrace is enabled\n  recordmcount: Fix handling of elf64 big-endian objects.\n  perf tools: Add const.h to MANIFEST to make perf-tar-src-pkg work again\n  perf tools: Add support for guest/host-only profiling\n  perf kvm: Do guest-only counting by default\n  perf top: Don\u0027t update total_period on process_sample\n  perf hists: Stop using \u0027self\u0027 for struct hist_entry\n  perf hists: Rename total_session to total_period\n  x86: Add counter when debug stack is used with interrupts enabled\n  x86: Allow NMIs to hit breakpoints in i386\n  x86: Keep current stack in NMI breakpoints\n  ...\n"
    },
    {
      "commit": "972b2c719990f91eb3b2310d44ef8a2d38955a14",
      "tree": "b25a250ec5bec4b7b6355d214642d8b57c5cab32",
      "parents": [
        "02550d61f49266930e674286379d3601006b2893",
        "c3aa077648e147783a7a53b409578234647db853"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)\n  reiserfs: Properly display mount options in /proc/mounts\n  vfs: prevent remount read-only if pending removes\n  vfs: count unlinked inodes\n  vfs: protect remounting superblock read-only\n  vfs: keep list of mounts for each superblock\n  vfs: switch -\u003eshow_options() to struct dentry *\n  vfs: switch -\u003eshow_path() to struct dentry *\n  vfs: switch -\u003eshow_devname() to struct dentry *\n  vfs: switch -\u003eshow_stats to struct dentry *\n  switch security_path_chmod() to struct path *\n  vfs: prefer -\u003edentry-\u003ed_sb to -\u003emnt-\u003emnt_sb\n  vfs: trim includes a bit\n  switch mnt_namespace -\u003eroot to struct mount\n  vfs: take /proc/*/mounts and friends to fs/proc_namespace.c\n  vfs: opencode mntget() mnt_set_mountpoint()\n  vfs: spread struct mount - remaining argument of next_mnt()\n  vfs: move fsnotify junk to struct mount\n  vfs: move mnt_devname\n  vfs: move mnt_list to struct mount\n  vfs: switch pnode.h macros to struct mount *\n  ...\n"
    },
    {
      "commit": "35b740e4662ef386f0c60e1b60aaf5b44db9914c",
      "tree": "502a8f9499bc1b4cb3300d666dab2d01a1921224",
      "parents": [
        "423d091dfe58d3109d84c408810a7cfa82f6f184",
        "9e183426bfb52bb44bf3c443d6587e4d02478603"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:58 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:02:58 2012 -0800"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (106 commits)\n  perf kvm: Fix copy \u0026 paste error in description\n  perf script: Kill script_spec__delete\n  perf top: Fix a memory leak\n  perf stat: Introduce get_ratio_color() helper\n  perf session: Remove impossible condition check\n  perf tools: Fix feature-bits rework fallout, remove unused variable\n  perf script: Add generic perl handler to process events\n  perf tools: Use for_each_set_bit() to iterate over feature flags\n  perf tools: Unify handling of features when writing feature section\n  perf report: Accept fifos as input file\n  perf tools: Moving code in some files\n  perf tools: Fix out-of-bound access to struct perf_session\n  perf tools: Continue processing header on unknown features\n  perf tools: Improve macros for struct feature_ops\n  perf: builtin-record: Document and check that mmap_pages must be a power of two.\n  perf: builtin-record: Provide advice if mmap\u0027ing fails with EPERM.\n  perf tools: Fix truncated annotation\n  perf script: look up thread using tid instead of pid\n  perf tools: Look up thread names for system wide profiling\n  perf tools: Fix comm for processes with named threads\n  ...\n"
    },
    {
      "commit": "f4ae40a6a50a98ac23d4b285f739455e926a473e",
      "tree": "c84d7393700bd85e5285a194f8c22d4d00e36b28",
      "parents": [
        "48176a973d65572e61d0ce95495e5072887e6fb6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 04:33:43 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:56 2012 -0500"
      },
      "message": "switch debugfs to umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "38b78eb855409a05f9d370228bec1955e6878e08",
      "tree": "4f07483d49aaa53f7b6905a482f05ddcde4834de",
      "parents": [
        "762e1207889b3451c50d365b741af6f9ce958886"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Dec 15 14:31:35 2011 -0800"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:27:02 2011 -0500"
      },
      "message": "tracing: Factorize filter creation\n\nThere are four places where new filter for a given filter string is\ncreated, which involves several different steps.  This patch factors\nthose steps into create_[system_]filter() functions which in turn make\nuse of create_filter_{start|finish}() for common parts.\n\nThe only functional change is that if replace_filter_string() is\nrequested and fails, creation fails without any side effect instead of\nbeing ignored.\n\nNote that system filter is now installed after the processing is\ncomplete which makes freeing before and then restoring filter string\non error unncessary.\n\n-v2: Rebased to resolve conflict with 49aa29513e and updated both\n     create_filter() functions to always set *filterp instead of\n     requiring the caller to clear it to %NULL on entry.\n\nLink: http://lkml.kernel.org/r/1323988305-1469-2-git-send-email-tj@kernel.org\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "762e1207889b3451c50d365b741af6f9ce958886",
      "tree": "dcb1f4eacbddfa342181a29a97eb9b994922b009",
      "parents": [
        "2a85a37f168d2b4d74d493b578af4dc9032be92e"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 22:01:00 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:26:49 2011 -0500"
      },
      "message": "tracing: Have stack tracing set filtered functions at boot\n\nAdd stacktrace_filter\u003d to the kernel command line that lets\nthe user pick specific functions to check the stack on.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2a85a37f168d2b4d74d493b578af4dc9032be92e",
      "tree": "26ed7136e9092e61ae693e117a540045ec5d54a0",
      "parents": [
        "d2d45c7a03a2b1a14159cbb665e9dd60991a7d4f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 21:57:44 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:26:35 2011 -0500"
      },
      "message": "ftrace: Allow access to the boot time function enabling\n\nChange set_ftrace_early_filter() to ftrace_set_early_filter()\nand make it a global function. This will allow other subsystems\nin the kernel to be able to enable function tracing at start\nup and reuse the ftrace function parsing code.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d2d45c7a03a2b1a14159cbb665e9dd60991a7d4f",
      "tree": "3a4e1d9b928bc213b05eb3d4a93d46d2205a11a9",
      "parents": [
        "69a3083c4a7df0322d97bb2b43a33cb12af8131a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 14:44:09 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:25:57 2011 -0500"
      },
      "message": "tracing: Have stack_tracer use a separate list of functions\n\nThe stack_tracer is used to look at every function and check\nif the current stack is bigger than the last recorded max stack size.\nWhen a new max is found, then it saves that stack off.\n\nCurrently the stack tracer is limited by the global_ops of\nthe function tracer. As the stack tracer has nothing to do with\nthe ftrace function tracer, except that it uses it as its internal\nengine, the stack tracer should have its own list.\n\nA new file is added to the tracing debugfs directory called:\n\n  stack_trace_filter\n\nthat can be used to select which functions you want to check the stack\non.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "69a3083c4a7df0322d97bb2b43a33cb12af8131a",
      "tree": "96b0c48178e812819a2f8d8ccf4600997be41fbb",
      "parents": [
        "fc13cb0ce45296f331263a6034aa1814203e1ac3"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 15:21:16 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:25:24 2011 -0500"
      },
      "message": "ftrace: Decouple hash items from showing filtered functions\n\nThe set_ftrace_filter shows \"hashed\" functions, which are functions\nthat are added with operations to them (like traceon and traceoff).\n\nAs other subsystems may be able to show what functions they are\nusing for function tracing, the hash items should no longer\nbe shown just because the FILTER flag is set. As they have nothing\nto do with other subsystems filters.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "fc13cb0ce45296f331263a6034aa1814203e1ac3",
      "tree": "2c66d6296ee01bcbd27cb9df4b72885339300ba6",
      "parents": [
        "06a51d9307380c78bb5c92e68fc80ad2c7d7f890"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 14:41:25 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:25:06 2011 -0500"
      },
      "message": "ftrace: Allow other users of function tracing to use the output listing\n\nThe function tracer is set up to allow any other subsystem (like perf)\nto use it. Ftrace already has a way to list what functions are enabled\nby the global_ops. It would be very helpful to let other users of\nthe function tracer to be able to use the same code.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "06a51d9307380c78bb5c92e68fc80ad2c7d7f890",
      "tree": "e0f38e8780f92937e8f19f17b8bf9eff6bcc3137",
      "parents": [
        "c842e975520f8ab09e293cc92f51a1f396251fd5"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 19:07:36 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:23:11 2011 -0500"
      },
      "message": "ftrace: Create ftrace_hash_empty() helper routine\n\nThere are two types of hashes in the ftrace_ops; one type\nis the filter_hash and the other is the notrace_hash. Either\none may be null, meaning it has no elements. But when elements\nare added, the hash is allocated.\n\nThroughout the code, a check needs to be made to see if a hash\nexists or the hash has elements, but the check if the hash exists\nis usually missing causing the possible \"NULL pointer dereference bug\".\n\nAdd a helper routine called \"ftrace_hash_empty()\" that returns\ntrue if the hash doesn\u0027t exist or its count is zero. As they mean\nthe same thing.\n\nLast-bug-reported-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c842e975520f8ab09e293cc92f51a1f396251fd5",
      "tree": "87102ee6a89cb30415927f43b7694e3ec5b127aa",
      "parents": [
        "5855fead9cc358adebd6bdeec202d040c623ae38"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Dec 19 18:44:44 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:21:43 2011 -0500"
      },
      "message": "ftrace: Fix ftrace hash record update with notrace\n\nWhen disabling the \"notrace\" records, that means we want to trace them.\nIf the notrace_hash is zero, it means that we want to trace all\nrecords. But to disable a zero notrace_hash means nothing.\n\nThe check for the notrace_hash count was incorrect with:\n\n\tif (hash \u0026\u0026 !hash-\u003ecount)\n\t\treturn\n\nWith the correct comment above it that states that we do nothing\nif the notrace_hash has zero count. But !hash also means that\nthe notrace hash has zero count. I think this was done to\nprotect against dereferencing NULL. But if !hash is true, then\nwe go through the following loop without doing a single thing.\n\nFix it to:\n\n\tif (!hash || !hash-\u003ecount)\n\t\treturn;\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5855fead9cc358adebd6bdeec202d040c623ae38",
      "tree": "c95d272ff41b7873cc33feef3686ede3f020d4cd",
      "parents": [
        "68950619f8c82e468d8976130462617abea605a8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Dec 16 19:27:42 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:20:50 2011 -0500"
      },
      "message": "ftrace: Use bsearch to find record ip\n\nNow that each set of pages in the function list are sorted by\nip, we can use bsearch to find a record within each set of pages.\nThis speeds up the ftrace_location() function by magnitudes.\n\nFor archs (like x86) that need to add a breakpoint at every function\nthat will be converted from a nop to a callback and vice versa,\nthe breakpoint callback needs to know if the breakpoint was for\nftrace or not. It requires finding the breakpoint ip within the\nrecords. Doing a linear search is extremely inefficient. It is\na must to be able to do a fast binary search to find these locations.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "68950619f8c82e468d8976130462617abea605a8",
      "tree": "88a2a4ae266b0bad4335c9bb803b7feb76d71c90",
      "parents": [
        "85ae32ae019bc1c2cc22e5f51fe0c9f2812ef68c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Dec 16 17:06:45 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:19:58 2011 -0500"
      },
      "message": "ftrace: Sort the mcount records on each page\n\nSort records by ip locations of the ftrace mcount calls on each of the\nset of pages in the function list. This helps in localizing cache\nusuage when updating the function locations, as well as gives us\nthe ability to quickly find an ip location in the list.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "85ae32ae019bc1c2cc22e5f51fe0c9f2812ef68c",
      "tree": "38ce2528dd0af0190e61cbf1dcc9f6d0c4ac3cf6",
      "parents": [
        "a79008755497daff157f5294c02e3b940641cc11"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Dec 16 16:30:31 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:19:03 2011 -0500"
      },
      "message": "ftrace: Replace record newlist with record page list\n\nAs new functions come in to be initalized from mcount to nop,\nthey are done by groups of pages. Whether it is the core kernel\nor a module. There\u0027s no need to keep track of these on a per record\nbasis.\n\nAt startup, and as any module is loaded, the functions to be\ntraced are stored in a group of pages and added to the function\nlist at the end. We just need to keep a pointer to the first\npage of the list that was added, and use that to know where to\nstart on the list for initializing functions.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a79008755497daff157f5294c02e3b940641cc11",
      "tree": "941e16ae559cbe82f371d07c09b03642bb6e83dd",
      "parents": [
        "3208230983a0ee3d95be22d463257e530c684956"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Dec 16 16:23:44 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:18:30 2011 -0500"
      },
      "message": "ftrace: Allocate the mcount record pages as groups\n\nAllocate the mcount record pages as a group of pages as big\nas can be allocated and waste no more than a single page.\n\nGrouping the mcount pages as much as possible helps with cache\nlocality, as we do not need to redirect with descriptors as we\ncross from page to page. It also allows us to do more with the\nrecords later on (sort them with bigger benefits).\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "3208230983a0ee3d95be22d463257e530c684956",
      "tree": "fdba765e348c53a4fd65094ac17e66061f0b8932",
      "parents": [
        "c88fd8634ea68e74c7d19fd2621b4078fd22864c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Dec 16 14:42:37 2011 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:17:57 2011 -0500"
      },
      "message": "ftrace: Remove usage of \"freed\" records\n\nRecords that are added to the function trace table are\npermanently there, except for modules. By separating out the\nmodules to their own pages that can be freed in one shot\nwe can remove the \"freed\" flag and simplify some of the record\nmanagement.\n\nAnother benefit of doing this is that we can also move the\nrecords around; sort them.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c88fd8634ea68e74c7d19fd2621b4078fd22864c",
      "tree": "9d8bbc57d20eec9869a9655ff79cc1c4d6359b88",
      "parents": [
        "45959ee7aa645815a5ce303a0ea1e48a21e67c6a"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Tue Aug 16 09:53:39 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:16:58 2011 -0500"
      },
      "message": "ftrace: Allow archs to modify code without stop machine\n\nThe stop machine method to modify all functions in the kernel\n(some 20,000 of them) is the safest way to do so across all archs.\nBut some archs may not need this big hammer approach to modify code\non SMP machines, and can simply just update the code it needs.\n\nAdding a weak function arch_ftrace_update_code() that now does the\nstop machine, will also let any arch override this method.\n\nIf the arch needs to check the system and then decide if it can\navoid stop machine, it can still call ftrace_run_stop_machine() to\nuse the old method.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "30fb6aa74011dcf595f306ca2727254d708b786e",
      "tree": "cda3efc265f74c8d6496b2d976f528fcdc1cb81d",
      "parents": [
        "74eec26facadbe6dbc0621bc862892c915c4534f"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Mon Dec 05 18:22:48 2011 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 07:09:14 2011 -0500"
      },
      "message": "ftrace: Fix unregister ftrace_ops accounting\n\nMultiple users of the function tracer can register their functions\nwith the ftrace_ops structure. The accounting within ftrace will\nupdate the counter on each function record that is being traced.\nWhen the ftrace_ops filtering adds or removes functions, the\nfunction records will be updated accordingly if the ftrace_ops is\nstill registered.\n\nWhen a ftrace_ops is removed, the counter of the function records,\nthat the ftrace_ops traces, are decremented. When they reach zero\nthe functions that they represent are modified to stop calling the\nmcount code.\n\nWhen changes are made, the code is updated via stop_machine() with\na command passed to the function to tell it what to do. There is an\nENABLE and DISABLE command that tells the called function to enable\nor disable the functions. But the ENABLE is really a misnomer as it\nshould just update the records, as records that have been enabled\nand now have a count of zero should be disabled.\n\nThe DISABLE command is used to disable all functions regardless of\ntheir counter values. This is the big off switch and is not the\ncomplement of the ENABLE command.\n\nTo make matters worse, when a ftrace_ops is unregistered and there\nis another ftrace_ops registered, neither the DISABLE nor the\nENABLE command are set when calling into the stop_machine() function\nand the records will not be updated to match their counter. A command\nis passed to that function that will update the mcount code to call\nthe registered callback directly if it is the only one left. This\nmeans that the ftrace_ops that is still registered will have its callback\ncalled by all functions that have been set for it as well as the ftrace_ops\nthat was just unregistered.\n\nHere\u0027s a way to trigger this bug. Compile the kernel with\nCONFIG_FUNCTION_PROFILER set and with CONFIG_FUNCTION_GRAPH not set:\n\n CONFIG_FUNCTION_PROFILER\u003dy\n # CONFIG_FUNCTION_GRAPH is not set\n\nThis will force the function profiler to use the function tracer instead\nof the function graph tracer.\n\n  # cd /sys/kernel/debug/tracing\n  # echo schedule \u003e set_ftrace_filter\n  # echo function \u003e current_tracer\n  # cat set_ftrace_filter\n schedule\n  # cat trace\n # tracer: nop\n #\n # entries-in-buffer/entries-written: 692/68108025   #P:4\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n      kworker/0:2-909   [000] ....   531.235574: schedule \u003c-worker_thread\n           \u003cidle\u003e-0     [001] .N..   531.235575: schedule \u003c-cpu_idle\n      kworker/0:2-909   [000] ....   531.235597: schedule \u003c-worker_thread\n             sshd-2563  [001] ....   531.235647: schedule \u003c-schedule_hrtimeout_range_clock\n\n  # echo 1 \u003e function_profile_enabled\n  # echo 0 \u003e function_porfile_enabled\n  # cat set_ftrace_filter\n schedule\n  # cat trace\n # tracer: function\n #\n # entries-in-buffer/entries-written: 159701/118821262   #P:4\n #\n #                              _-----\u003d\u003e irqs-off\n #                             / _----\u003d\u003e need-resched\n #                            | / _---\u003d\u003e hardirq/softirq\n #                            || / _--\u003d\u003e preempt-depth\n #                            ||| /     delay\n #           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n #              | |       |   ||||       |         |\n           \u003cidle\u003e-0     [002] ...1   604.870655: local_touch_nmi \u003c-cpu_idle\n           \u003cidle\u003e-0     [002] d..1   604.870655: enter_idle \u003c-cpu_idle\n           \u003cidle\u003e-0     [002] d..1   604.870656: atomic_notifier_call_chain \u003c-enter_idle\n           \u003cidle\u003e-0     [002] d..1   604.870656: __atomic_notifier_call_chain \u003c-atomic_notifier_call_chain\n\nThe same problem could have happened with the trace_probe_ops,\nbut they are modified with the set_frace_filter file which does the\nupdate at closure of the file.\n\nThe simple solution is to change ENABLE to UPDATE and call it every\ntime an ftrace_ops is unregistered.\n\nLink: http://lkml.kernel.org/r/1323105776-26961-3-git-send-email-jolsa@redhat.com\n\nCc: stable@vger.kernel.org # 3.0+\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a8eecf2248a45bf69f0625b23c003ad2ccd765ee",
      "tree": "170e96d6a6cf26da8751ec98f59c81adc28717e6",
      "parents": [
        "9b2e4f1880b789be1f24f9684f7a54b90310b5c0"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Oct 02 11:01:15 2011 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sun Dec 11 10:31:25 2011 -0800"
      },
      "message": "trace: Allow ftrace_dump() to be called from modules\n\nAdd an EXPORT_SYMBOL_GPL() so that rcutorture can dump the trace buffer\nupon detection of an RCU error.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "eda31b190f7c7033b86ff6e8de3866a4ca25b7df",
      "tree": "ed17bff7b228d122699d232e4d62fe70bea64a08",
      "parents": [
        "4ebbdc2c9aad8e28e1335755c728d31032b24cfb"
      ],
      "author": {
        "name": "Ilya Dryomov",
        "email": "idryomov@gmail.com",
        "time": "Mon Oct 31 11:07:42 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 09 08:52:48 2011 -0800"
      },
      "message": "tracing: fix event_subsystem ref counting\n\ncommit cb59974742aea24adf6637eb0c4b8e7b48bca6fb upstream.\n\nFix a bug introduced by e9dbfae5, which prevents event_subsystem from\never being released.\n\nRef_count was added to keep track of subsystem users, not for counting\nevents.  Subsystem is created with ref_count \u003d 1, so there is no need to\nincrement it for every event, we have nr_events for that.  Fix this by\ntouching ref_count only when we actually have a new user -\nsubsystem_open().\n\nSigned-off-by: Ilya Dryomov \u003cidryomov@gmail.com\u003e\nLink: http://lkml.kernel.org/r/1320052062-7846-1-git-send-email-idryomov@gmail.com\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4e3cd8129cf10c92c8e88251b519703dc65523be",
      "tree": "1cec02db446345585db2afbfeb480d9b8b95042b",
      "parents": [
        "e006de470fa793b770cb098b39b46212a35b1b2b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 23 08:49:49 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 09 08:52:47 2011 -0800"
      },
      "message": "trace_events_filter: Use rcu_assign_pointer() when setting ftrace_event_call-\u003efilter\n\ncommit d3d9acf646679c1981032b0985b386d12fccc60c upstream.\n\nftrace_event_call-\u003efilter is sched RCU protected but didn\u0027t use\nrcu_assign_pointer().  Use it.\n\nTODO: Add proper __rcu annotation to call-\u003efilter and all its users.\n\n-v2: Use RCU_INIT_POINTER() for %NULL clearing as suggested by Eric.\n\nLink: http://lkml.kernel.org/r/20111123164949.GA29639@google.com\n\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cc991b83b3eb11b253dd932932fa0bfd09c7564a",
      "tree": "ab3b05fbc37a58741dbe5ccee45491100c13759c",
      "parents": [
        "b202952075f62603bea9bfb6ebc6b0420db11949",
        "39eaf7ef884dcc44f7ff1bac803ca2a1dcf43544"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 19:09:15 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 19:09:15 2011 +0100"
      },
      "message": "Merge branch \u0027tip/perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n"
    },
    {
      "commit": "d6c1c49de577fa292af2449817364b7d89b574d8",
      "tree": "e97cf88a318f50eb23c18d790e8b0bcf7bb47169",
      "parents": [
        "9dde9dc0a81c7aeb863b35121d09011f09b4897c",
        "ddf6e0e50723b62ac76ed18eb53e9417c6eefba7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 06:42:35 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 06:43:49 2011 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: Add these cherry-picked commits so that future changes\n              on perf/core don\u0027t conflict.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ddf6e0e50723b62ac76ed18eb53e9417c6eefba7",
      "tree": "afee7574ab5b3a8e3d907327e73c2785cd275abe",
      "parents": [
        "d06c27b22aa66e48e32f03f9387328a9af9b0625"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Nov 04 20:32:39 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 05 13:28:47 2011 -0500"
      },
      "message": "ftrace: Fix hash record accounting bug\n\nIf the set_ftrace_filter is cleared by writing just whitespace to\nit, then the filter hash refcounts will be decremented but not\nupdated. This causes two bugs:\n\n1) No functions will be enabled for tracing when they all should be\n\n2) If the users clears the set_ftrace_filter twice, it will crash ftrace:\n\n------------[ cut here ]------------\nWARNING: at /home/rostedt/work/git/linux-trace.git/kernel/trace/ftrace.c:1384 __ftrace_hash_rec_update.part.27+0x157/0x1a7()\nModules linked in:\nPid: 2330, comm: bash Not tainted 3.1.0-test+ #32\nCall Trace:\n [\u003cffffffff81051828\u003e] warn_slowpath_common+0x83/0x9b\n [\u003cffffffff8105185a\u003e] warn_slowpath_null+0x1a/0x1c\n [\u003cffffffff810ba362\u003e] __ftrace_hash_rec_update.part.27+0x157/0x1a7\n [\u003cffffffff810ba6e8\u003e] ? ftrace_regex_release+0xa7/0x10f\n [\u003cffffffff8111bdfe\u003e] ? kfree+0xe5/0x115\n [\u003cffffffff810ba51e\u003e] ftrace_hash_move+0x2e/0x151\n [\u003cffffffff810ba6fb\u003e] ftrace_regex_release+0xba/0x10f\n [\u003cffffffff8112e49a\u003e] fput+0xfd/0x1c2\n [\u003cffffffff8112b54c\u003e] filp_close+0x6d/0x78\n [\u003cffffffff8113a92d\u003e] sys_dup3+0x197/0x1c1\n [\u003cffffffff8113a9a6\u003e] sys_dup2+0x4f/0x54\n [\u003cffffffff8150cac2\u003e] system_call_fastpath+0x16/0x1b\n---[ end trace 77a3a7ee73794a02 ]---\n\nLink: http://lkml.kernel.org/r/20111101141420.GA4918@debian\n\nReported-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    }
  ],
  "next": "c7c6ec8becaf742b223c7b491f4893014be23a07"
}
