)]}'
{
  "commit": "fa33507a22623b3bd543b15a21c362cf364b6cff",
  "tree": "8d77dfaad0336c5591383df1029567d7e6c17bbd",
  "parents": [
    "ced9cd40ac14111befd6b0c73ec90106c22a3fd7"
  ],
  "author": {
    "name": "Peter Zijlstra",
    "email": "a.p.zijlstra@chello.nl",
    "time": "Wed Aug 20 09:31:26 2008 +0200"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@elte.hu",
    "time": "Wed Aug 20 12:22:37 2008 +0200"
  },
  "message": "printk: robustify printk, fix #2\n\nDmitry Adamushko reported:\n\n\u003e [*] btw., with DEBUG being enabled, pr_debug() generates [1] when\n\u003e debug_smp_processor_id() is used (CONFIG_DEBUG_PREEMPT).\n\u003e\n\u003e the problem seems to be caused by the following commit:\n\u003e commit b845b517b5e3706a3729f6ea83b88ab85f0725b0\n\u003e Author: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n\u003e Date:   Fri Aug 8 21:47:09 2008 +0200\n\u003e\n\u003e     printk: robustify printk\n\u003e\n\u003e\n\u003e wake_up_klogd() -\u003e __get_cpu_var() -\u003e smp_processor_id()\n\u003e\n\u003e and that\u0027s being called from release_console_sem() which is, in turn,\n\u003e said to be \"may be called from any context\" [2]\n\u003e\n\u003e and in this case, it seems to be called from some non-preemptible\n\u003e context (although, it can\u0027t be printk()...\n\u003e although, I haven\u0027t looked carefully yet).\n\u003e\n\u003e Provided [2], __get_cpu_var() is perhaps not the right solution there.\n\u003e\n\u003e\n\u003e [1]\n\u003e\n\u003e [ 7697.942005] BUG: using smp_processor_id() in preemptible [00000000] code: syslogd/3542\n\u003e [ 7697.942005] caller is wake_up_klogd+0x1b/0x50\n\u003e [ 7697.942005] Pid: 3542, comm: syslogd Not tainted 2.6.27-rc3-tip-git #2\n\u003e [ 7697.942005] Call Trace:\n\u003e [ 7697.942005]  [\u003cffffffff8036b398\u003e] debug_smp_processor_id+0xe8/0xf0\n\u003e [ 7697.942005]  [\u003cffffffff80239d3b\u003e] wake_up_klogd+0x1b/0x50\n\u003e [ 7697.942005]  [\u003cffffffff8023a047\u003e] release_console_sem+0x1e7/0x200\n\u003e [ 7697.942005]  [\u003cffffffff803c0f17\u003e] do_con_write+0xb7/0x1f30\n\u003e [ 7697.942005]  [\u003cffffffff8020d920\u003e] ? show_trace+0x10/0x20\n\u003e [ 7697.942005]  [\u003cffffffff8020dc42\u003e] ? dump_stack+0x72/0x80\n\u003e [ 7697.942005]  [\u003cffffffff8036392d\u003e] ? __ratelimit+0xbd/0xe0\n\u003e [ 7697.942005]  [\u003cffffffff8036b398\u003e] ? debug_smp_processor_id+0xe8/0xf0\n\u003e [ 7697.942005]  [\u003cffffffff80239d3b\u003e] ? wake_up_klogd+0x1b/0x50\n\u003e [ 7697.942005]  [\u003cffffffff8023a047\u003e] ? release_console_sem+0x1e7/0x200\n\u003e [ 7697.942005]  [\u003cffffffff803c2de9\u003e] con_write+0x19/0x30\n\u003e [ 7697.942005]  [\u003cffffffff803b37b6\u003e] write_chan+0x276/0x3c0\n\u003e [ 7697.942005]  [\u003cffffffff80232b20\u003e] ? default_wake_function+0x0/0x10\n\u003e [ 7697.942005]  [\u003cffffffff804cb872\u003e] ? _spin_lock_irqsave+0x22/0x50\n\u003e [ 7697.942005]  [\u003cffffffff803b1334\u003e] tty_write+0x194/0x260\n\u003e [ 7697.942005]  [\u003cffffffff803b3540\u003e] ? write_chan+0x0/0x3c0\n\u003e [ 7697.942005]  [\u003cffffffff803b14a4\u003e] redirected_tty_write+0xa4/0xb0\n\u003e [ 7697.942005]  [\u003cffffffff803b1400\u003e] ? redirected_tty_write+0x0/0xb0\n\u003e [ 7697.942005]  [\u003cffffffff802a88c2\u003e] do_loop_readv_writev+0x52/0x80\n\u003e [ 7697.942005]  [\u003cffffffff802a939d\u003e] do_readv_writev+0x1bd/0x1d0\n\u003e [ 7697.942005]  [\u003cffffffff802a93e9\u003e] vfs_writev+0x39/0x60\n\u003e [ 7697.942005]  [\u003cffffffff802a9870\u003e] sys_writev+0x50/0x90\n\u003e [ 7697.942005]  [\u003cffffffff8020bb3b\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReported-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "655cc2ca10cc82e88d5472789ea3a34b4f21bb20",
      "old_mode": 33188,
      "old_path": "kernel/printk.c",
      "new_id": "57e9cd7a95814c51a939421691031ca2dbae22e9",
      "new_mode": 33188,
      "new_path": "kernel/printk.c"
    }
  ]
}
