)]}'
{
  "commit": "950eaaca681c44aab87a46225c9e44f902c080aa",
  "tree": "5f0290db3f84b7f2929ae53729d74a59dc5bb5e9",
  "parents": [
    "6cb6cbeaa9d6573c674842b9471c0467967aae99"
  ],
  "author": {
    "name": "Paul E. McKenney",
    "email": "paulmck@linux.vnet.ibm.com",
    "time": "Tue Aug 31 17:00:18 2010 -0700"
  },
  "committer": {
    "name": "Paul E. McKenney",
    "email": "paulmck@linux.vnet.ibm.com",
    "time": "Tue Aug 31 17:00:18 2010 -0700"
  },
  "message": "pid: make setpgid() system call use RCU read-side critical section\n\n[   23.584719]\n[   23.584720] \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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[   23.585059] [ INFO: suspicious rcu_dereference_check() usage. ]\n[   23.585176] ---------------------------------------------------\n[   23.585176] kernel/pid.c:419 invoked rcu_dereference_check() without protection!\n[   23.585176]\n[   23.585176] other info that might help us debug this:\n[   23.585176]\n[   23.585176]\n[   23.585176] rcu_scheduler_active \u003d 1, debug_locks \u003d 1\n[   23.585176] 1 lock held by rc.sysinit/728:\n[   23.585176]  #0:  (tasklist_lock){.+.+..}, at: [\u003cffffffff8104771f\u003e] sys_setpgid+0x5f/0x193\n[   23.585176]\n[   23.585176] stack backtrace:\n[   23.585176] Pid: 728, comm: rc.sysinit Not tainted 2.6.36-rc2 #2\n[   23.585176] Call Trace:\n[   23.585176]  [\u003cffffffff8105b436\u003e] lockdep_rcu_dereference+0x99/0xa2\n[   23.585176]  [\u003cffffffff8104c324\u003e] find_task_by_pid_ns+0x50/0x6a\n[   23.585176]  [\u003cffffffff8104c35b\u003e] find_task_by_vpid+0x1d/0x1f\n[   23.585176]  [\u003cffffffff81047727\u003e] sys_setpgid+0x67/0x193\n[   23.585176]  [\u003cffffffff810029eb\u003e] system_call_fastpath+0x16/0x1b\n[   24.959669] type\u003d1400 audit(1282938522.956:4): avc:  denied  { module_request } for  pid\u003d766 comm\u003d\"hwclock\" kmod\u003d\"char-major-10-135\" scontext\u003dsystem_u:system_r:hwclock_t:s0 tcontext\u003dsystem_u:system_r:kernel_t:s0 tclas\n\nIt turns out that the setpgid() system call fails to enter an RCU\nread-side critical section before doing a PID-to-task_struct translation.\nThis commit therefore does rcu_read_lock() before the translation, and\nalso does rcu_read_unlock() after the last use of the returned pointer.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e9ad4448982860af9919df53c3368156a4bf2445",
      "old_mode": 33188,
      "old_path": "kernel/sys.c",
      "new_id": "7f5a0cd296a96ca44e43f0db028026094dbbb57a",
      "new_mode": 33188,
      "new_path": "kernel/sys.c"
    }
  ]
}
