)]}'
{
  "log": [
    {
      "commit": "5955f7eecd77d6b440db278b266cfecdb72ecd00",
      "tree": "a69a23707da5595be22fa09738be572a4ef69b4c",
      "parents": [
        "fd4b352687fd8604d49c190c4c9ea9e369fd42d5"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed May 09 12:07:05 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 06 20:43:28 2012 -0700"
      },
      "message": "rcu: Move RCU_FAST_NO_HZ per-CPU variables to rcu_dynticks structure\n\nThe RCU_FAST_NO_HZ code relies on a number of per-CPU variables.\nThis works, but is hidden from someone scanning the data structures\nin rcutree.h.  This commit therefore converts these per-CPU variables\nto fields in the per-CPU rcu_dynticks structures.\n\nSuggested-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nTested-by: Pascal Chapperon \u003cpascal.chapperon@wanadoo.fr\u003e\n"
    },
    {
      "commit": "fd4b352687fd8604d49c190c4c9ea9e369fd42d5",
      "tree": "1e20de9090f7d74eef642ac263dd71da0b494d7d",
      "parents": [
        "8f5af6f1f2d09fe5eac86a5dc1731a5917c1503a"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sat May 05 19:10:35 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 06 20:43:27 2012 -0700"
      },
      "message": "rcu: Update RCU_FAST_NO_HZ tracing for lazy callbacks\n\nIn the current code, a short dyntick-idle interval (where there is\nat least one non-lazy callback on the CPU) and a long dyntick-idle\ninterval (where there are only lazy callbacks on the CPU) are traced\nidentically, which can be less than helpful.  This commit therefore\nemits different event traces in these two cases.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nTested-by: Pascal Chapperon \u003cpascal.chapperon@wanadoo.fr\u003e\n"
    },
    {
      "commit": "8f5af6f1f2d09fe5eac86a5dc1731a5917c1503a",
      "tree": "b7093c8c08377f23645cc7d3619f3fc5c5bdf6f8",
      "parents": [
        "f8f5701bdaf9134b1f90e5044a82c66324d2073f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri May 04 08:31:53 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jun 06 20:43:27 2012 -0700"
      },
      "message": "rcu: RCU_FAST_NO_HZ detection of callback adoption\n\nIn the present implementations of CPU hotplug, the outgoing CPU is\nguaranteed to run its stop-machine process on the way out, which\nwill guarantee that RCU_FAST_NO_HZ forces the CPU out of dyntick-idle\nmode.\n\nHowever, new versions of CPU hotplug might not work this way.  This\ncommit therefore removes this design constraint by explicitly notifying\nCPUs when they adopt non-lazy RCU callbacks.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nTested-by: Pascal Chapperon \u003cpascal.chapperon@wanadoo.fr\u003e\n"
    },
    {
      "commit": "86c47b70f62a7072d441ba212aab33c2f82627c2",
      "tree": "d03988bd2226966352bb7f3c2e82ff545353d2c4",
      "parents": [
        "1193755ac6328ad240ba987e6ec41d5e8baf0680",
        "44fbbb3dc687c9709a6f2236197316e5c79ab1eb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 11:53:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 11:53:44 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull third pile of signal handling patches from Al Viro:\n \"This time it\u0027s mostly helpers and conversions to them; there\u0027s a lot\n  of stuff remaining in the tree, but that\u0027ll either go in -rc2\n  (isolated bug fixes, ideally via arch maintainers\u0027 trees) or will sit\n  there until the next cycle.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:\n  x86: get rid of calling do_notify_resume() when returning to kernel mode\n  blackfin: check __get_user() return value\n  whack-a-mole with TIF_FREEZE\n  FRV: Optimise the system call exit path in entry.S [ver #2]\n  FRV: Shrink TIF_WORK_MASK [ver #2]\n  FRV: Prevent syscall exit tracing and notify_resume at end of kernel exceptions\n  new helper: signal_delivered()\n  powerpc: get rid of restore_sigmask()\n  most of set_current_blocked() callers want SIGKILL/SIGSTOP removed from set\n  set_restore_sigmask() is never called without SIGPENDING (and never should be)\n  TIF_RESTORE_SIGMASK can be set only when TIF_SIGPENDING is set\n  don\u0027t call try_to_freeze() from do_signal()\n  pull clearing RESTORE_SIGMASK into block_sigmask()\n  sh64: failure to build sigframe !\u003d signal without handler\n  openrisc: tracehook_signal_handler() is supposed to be called on success\n  new helper: sigmask_to_save()\n  new helper: restore_saved_sigmask()\n  new helpers: {clear,test,test_and_clear}_restore_sigmask()\n  HAVE_RESTORE_SIGMASK is defined on all architectures now\n"
    },
    {
      "commit": "1193755ac6328ad240ba987e6ec41d5e8baf0680",
      "tree": "40bf847d7e3ebaa57b107151d14e6cd1d280cc6d",
      "parents": [
        "4edebed86690eb8db9af3ab85baf4a34e73266cc",
        "0ef97dcfce4179a2eba046b855ee2f91d6f1b414"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 10:34:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 10:34:35 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs changes from Al Viro.\n \"A lot of misc stuff.  The obvious groups:\n   * Miklos\u0027 atomic_open series; kills the damn abuse of\n     -\u003ed_revalidate() by NFS, which was the major stumbling block for\n     all work in that area.\n   * ripping security_file_mmap() and dealing with deadlocks in the\n     area; sanitizing the neighborhood of vm_mmap()/vm_munmap() in\n     general.\n   * -\u003eencode_fh() switched to saner API; insane fake dentry in\n     mm/cleancache.c gone.\n   * assorted annotations in fs (endianness, __user)\n   * parts of Artem\u0027s -\u003es_dirty work (jff2 and reiserfs parts)\n   * -\u003eupdate_time() work from Josef.\n   * other bits and pieces all over the place.\n\n  Normally it would\u0027ve been in two or three pull requests, but\n  signal.git stuff had eaten a lot of time during this cycle ;-/\"\n\nFix up trivial conflicts in Documentation/filesystems/vfs.txt (the\n\u0027truncate_range\u0027 inode method was removed by the VM changes, the VFS\nupdate adds an \u0027update_time()\u0027 method), and in fs/btrfs/ulist.[ch] (due\nto sparse fix added twice, with other changes nearby).\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (95 commits)\n  nfs: don\u0027t open in -\u003ed_revalidate\n  vfs: retry last component if opening stale dentry\n  vfs: nameidata_to_filp(): don\u0027t throw away file on error\n  vfs: nameidata_to_filp(): inline __dentry_open()\n  vfs: do_dentry_open(): don\u0027t put filp\n  vfs: split __dentry_open()\n  vfs: do_last() common post lookup\n  vfs: do_last(): add audit_inode before open\n  vfs: do_last(): only return EISDIR for O_CREAT\n  vfs: do_last(): check LOOKUP_DIRECTORY\n  vfs: do_last(): make ENOENT exit RCU safe\n  vfs: make follow_link check RCU safe\n  vfs: do_last(): use inode variable\n  vfs: do_last(): inline walk_component()\n  vfs: do_last(): make exit RCU safe\n  vfs: split do_lookup()\n  Btrfs: move over to use -\u003eupdate_time\n  fs: introduce inode operation -\u003eupdate_time\n  reiserfs: get rid of resierfs_sync_super\n  reiserfs: mark the superblock as dirty a bit later\n  ...\n"
    },
    {
      "commit": "efee984c27b67e3ebef40410f35671997441b57c",
      "tree": "53457dba2338f853d34e1754e7f7f960e4a29482",
      "parents": [
        "17440f171e28e86cc21a4c8fd1fa3c561503f80e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 28 02:04:15 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:52 2012 -0400"
      },
      "message": "new helper: signal_delivered()\n\nDoes block_sigmask() + tracehook_signal_handler();  called when\nsigframe has been successfully built.  All architectures converted\nto it; block_sigmask() itself is gone now (merged into this one).\n\nI\u0027m still not too happy with the signature, but that\u0027s a separate\nstory (IMO we need a structure that would contain signal number +\nsiginfo + k_sigaction, so that get_signal_to_deliver() would fill one,\nsignal_delivered(), handle_signal() and probably setup...frame() -\ntake one).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "77097ae503b170120ab66dd1d547f8577193f91f",
      "tree": "bee5b2e8d91b9ec8ab74c58cbec1796c7bacc2e5",
      "parents": [
        "edd63a2763bdae0daa4f0a4d4c5d61d1154352a5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 27 13:58:59 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:51 2012 -0400"
      },
      "message": "most of set_current_blocked() callers want SIGKILL/SIGSTOP removed from set\n\nOnly 3 out of 63 do not.  Renamed the current variant to __set_current_blocked(),\nadded set_current_blocked() that will exclude unblockable signals, switched\nopen-coded instances to it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a610d6e672d6d3723e8da257ad4a8a288a8f2f89",
      "tree": "2fac6ce7f72756771f4f87583205cc402589dcad",
      "parents": [
        "5754f412a3f107cbcd93ee125bef296f2a07539b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 21 23:42:15 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:49 2012 -0400"
      },
      "message": "pull clearing RESTORE_SIGMASK into block_sigmask()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "754421c8cab1a568be844a7069fe04c1cf6391b8",
      "tree": "71fa1f54e664ff45289fccfa946747a18e20727f",
      "parents": [
        "fb21affa49204acd409328415b49bfe90136653c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 26 18:31:00 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:46 2012 -0400"
      },
      "message": "HAVE_RESTORE_SIGMASK is defined on all architectures now\n\nEveryone either defines it in arch thread_info.h or has TIF_RESTORE_SIGMASK\nand picks default set_restore_sigmask() in linux/thread_info.h.  Kill the\nifdefs, slap #error in linux/thread_info.h to catch breakage when new ones\nget merged.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fb21affa49204acd409328415b49bfe90136653c",
      "tree": "3535dbe0c0aad049a38cadfcffe78409397a1b32",
      "parents": [
        "a00b6151a2ae4c52576c35d3998e144a993d50b8",
        "f23ca335462e3c84f13270b9e65f83936068ec2c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:47:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:47:30 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull second pile of signal handling patches from Al Viro:\n \"This one is just task_work_add() series + remaining prereqs for it.\n\n  There probably will be another pull request from that tree this\n  cycle - at least for helpers, to get them out of the way for per-arch\n  fixes remaining in the tree.\"\n\nFix trivial conflict in kernel/irq/manage.c: the merge of Andrew\u0027s pile\nhad brought in commit 97fd75b7b8e0 (\"kernel/irq/manage.c: use the\npr_foo() infrastructure to prefix printks\") which changed one of the\npr_err() calls that this merge moves around.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:\n  keys: kill task_struct-\u003ereplacement_session_keyring\n  keys: kill the dummy key_replace_session_keyring()\n  keys: change keyctl_session_to_parent() to use task_work_add()\n  genirq: reimplement exit_irq_thread() hook via task_work_add()\n  task_work_add: generic process-context callbacks\n  avr32: missed _TIF_NOTIFY_RESUME on one of do_notify_resume callers\n  parisc: need to check NOTIFY_RESUME when exiting from syscall\n  move key_repace_session_keyring() into tracehook_notify_resume()\n  TIF_NOTIFY_RESUME is defined on all targets now\n"
    },
    {
      "commit": "08615d7d85e5aa02c05bf6c4dde87d940e7f85f6",
      "tree": "18906149d313d25914160aca21cedf54b3a7e818",
      "parents": [
        "9fdadb2cbaf4b482dfd6086e8bd3d2db071a1702",
        "0a4dd35c67b144d8ef9432120105f1aab9293ee9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:10:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:10:18 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge misc patches from Andrew Morton:\n\n - the \"misc\" tree - stuff from all over the map\n\n - checkpatch updates\n\n - fatfs\n\n - kmod changes\n\n - procfs\n\n - cpumask\n\n - UML\n\n - kexec\n\n - mqueue\n\n - rapidio\n\n - pidns\n\n - some checkpoint-restore feature work.  Reluctantly.  Most of it\n   delayed a release.  I\u0027m still rather worried that we don\u0027t have a\n   clear roadmap to completion for this work.\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (78 patches)\n  kconfig: update compression algorithm info\n  c/r: prctl: add ability to set new mm_struct::exe_file\n  c/r: prctl: extend PR_SET_MM to set up more mm_struct entries\n  c/r: procfs: add arg_start/end, env_start/end and exit_code members to /proc/$pid/stat\n  syscalls, x86: add __NR_kcmp syscall\n  fs, proc: introduce /proc/\u003cpid\u003e/task/\u003ctid\u003e/children entry\n  sysctl: make kernel.ns_last_pid control dependent on CHECKPOINT_RESTORE\n  aio/vfs: cleanup of rw_copy_check_uvector() and compat_rw_copy_check_uvector()\n  eventfd: change int to __u64 in eventfd_signal()\n  fs/nls: add Apple NLS\n  pidns: make killed children autoreap\n  pidns: use task_active_pid_ns in do_notify_parent\n  rapidio/tsi721: add DMA engine support\n  rapidio: add DMA engine support for RIO data transfers\n  ipc/mqueue: add rbtree node caching support\n  tools/selftests: add mq_perf_tests\n  ipc/mqueue: strengthen checks on mqueue creation\n  ipc/mqueue: correct mq_attr_ok test\n  ipc/mqueue: improve performance of send/recv\n  selftests: add mq_open_tests\n  ...\n"
    },
    {
      "commit": "b32dfe377102ce668775f8b6b1461f7ad428f8b6",
      "tree": "f89be6bd34eb757c471f3ca506e0ce92224f9bc5",
      "parents": [
        "fe8c7f5cbf91124987106faa3bdf0c8b955c4cf7"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Thu May 31 16:26:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:32 2012 -0700"
      },
      "message": "c/r: prctl: add ability to set new mm_struct::exe_file\n\nWhen we do restore we would like to have a way to setup a former\nmm_struct::exe_file so that /proc/pid/exe would point to the original\nexecutable file a process had at checkpoint time.\n\nFor this the PR_SET_MM_EXE_FILE code is introduced.  This option takes a\nfile descriptor which will be set as a source for new /proc/$pid/exe\nsymlink.\n\nNote it allows to change /proc/$pid/exe if there are no VM_EXECUTABLE\nvmas present for current process, simply because this feature is a special\nto C/R and mm::num_exe_file_vmas become meaningless after that.\n\nTo minimize the amount of transition the /proc/pid/exe symlink might have,\nthis feature is implemented in one-shot manner.  Thus once changed the\nsymlink can\u0027t be changed again.  This should help sysadmins to monitor the\nsymlinks over all process running in a system.\n\nIn particular one could make a snapshot of processes and ring alarm if\nthere unexpected changes of /proc/pid/exe\u0027s in a system.\n\nNote -- this feature is available iif CONFIG_CHECKPOINT_RESTORE is set and\nthe caller must have CAP_SYS_RESOURCE capability granted, otherwise the\nrequest to change symlink will be rejected.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe8c7f5cbf91124987106faa3bdf0c8b955c4cf7",
      "tree": "3ddb0013465d7cd09ef6bc2fab18cb59055a309b",
      "parents": [
        "5b172087f99189416d5f47fd7ab5e6fb762a9ba3"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Thu May 31 16:26:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:32 2012 -0700"
      },
      "message": "c/r: prctl: extend PR_SET_MM to set up more mm_struct entries\n\nDuring checkpoint we dump whole process memory to a file and the dump\nincludes process stack memory.  But among stack data itself, the stack\ncarries additional parameters such as command line arguments, environment\ndata and auxiliary vector.\n\nSo when we do restore procedure and once we\u0027ve restored stack data itself\nwe need to setup mm_struct::arg_start/end, env_start/end, so restored\nprocess would be able to find command line arguments and environment data\nit had at checkpoint time.  The same applies to auxiliary vector.\n\nFor this reason additional PR_SET_MM_(ARG_START | ARG_END | ENV_START |\nENV_END | AUXV) codes are introduced.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d97b46a64674a267bc41c9e16132ee2a98c3347d",
      "tree": "316f77d212c84aef226684eb05d5d33f40743ac9",
      "parents": [
        "818411616baf46ceba0cff6f05af3a9b294734f7"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Thu May 31 16:26:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:32 2012 -0700"
      },
      "message": "syscalls, x86: add __NR_kcmp syscall\n\nWhile doing the checkpoint-restore in the user space one need to determine\nwhether various kernel objects (like mm_struct-s of file_struct-s) are\nshared between tasks and restore this state.\n\nThe 2nd step can be solved by using appropriate CLONE_ flags and the\nunshare syscall, while there\u0027s currently no ways for solving the 1st one.\n\nOne of the ways for checking whether two tasks share e.g.  mm_struct is to\nprovide some mm_struct ID of a task to its proc file, but showing such\ninfo considered to be not that good for security reasons.\n\nThus after some debates we end up in conclusion that using that named\n\u0027comparison\u0027 syscall might be the best candidate.  So here is it --\n__NR_kcmp.\n\nIt takes up to 5 arguments - the pids of the two tasks (which\ncharacteristics should be compared), the comparison type and (in case of\ncomparison of files) two file descriptors.\n\nLookups for pids are done in the caller\u0027s PID namespace only.\n\nAt moment only x86 is supported and tested.\n\n[akpm@linux-foundation.org: fix up selftests, warnings]\n[akpm@linux-foundation.org: include errno.h]\n[akpm@linux-foundation.org: tweak comment text]\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Andrey Vagin \u003cavagin@openvz.org\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Valdis.Kletnieks@vt.edu\nCc: Michal Marek \u003cmmarek@suse.cz\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "98ed57eef9f67dfe541be0bca34660ffc88365b2",
      "tree": "1dee418c15205a31a811597587bdec9d1bc0cdd2",
      "parents": [
        "ac34ebb3a67e699edcb5ac72f19d31679369dfaa"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Thu May 31 16:26:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:32 2012 -0700"
      },
      "message": "sysctl: make kernel.ns_last_pid control dependent on CHECKPOINT_RESTORE\n\nFor those who doesn\u0027t need C/R functionality there is no need to control\nlast pid, ie the pid for the next fork() call.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00c10bc13cdb58447d6bb2a003afad7bd60f5a5f",
      "tree": "64058d4c643706035e2327adecd8be18b852dfb6",
      "parents": [
        "3208450488ae724196f1efffc457e4265957c04e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 31 16:26:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:32 2012 -0700"
      },
      "message": "pidns: make killed children autoreap\n\nForce SIGCHLD handling to SIG_IGN so that signals are not generated and so\nthat the children autoreap.  This increases the parallelize and in general\nthe speed of network namespace shutdown.\n\nNote self reaping childrean can exist past zap_pid_ns_processess but they\nwill all be reaped before we allow the pid namespace init task with pid \u003d\u003d\n1 to be reaped.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Louis Rilling \u003clouis.rilling@kerlabs.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3208450488ae724196f1efffc457e4265957c04e",
      "tree": "bfad76a020bf5635e6529b3105f6ea4b521d7973",
      "parents": [
        "9eaa3d9bb2c4da99b1161cfcc63f3e77d9d3d156"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 31 16:26:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "pidns: use task_active_pid_ns in do_notify_parent\n\nUsing task_active_pid_ns is more robust because it works even after we\nhave called exit_namespaces.  This change allows us to have parent\nprocesses that are zombies.  Normally a zombie parent processes is crazy\nand the last thing you would want to have but in the case of not letting\nthe init process of a pid namespace be reaped until all of it\u0027s children\nare dead and reaped a zombie parent process is exactly what we want.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Louis Rilling \u003clouis.rilling@kerlabs.com\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4cc2f873ad0833aa5c4aca56bebe15b9603a1e7",
      "tree": "f649dffdeb819f64434362f93cb42a7506866751",
      "parents": [
        "2c922c51e6924298f8271d75732964f1ffdecaf2"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:26 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "kernel/cpu.c: document clear_tasks_mm_cpumask()\n\nAdd more comments on clear_tasks_mm_cpumask, plus adds a runtime check:\nthe function is only suitable for offlined CPUs, and if called\ninappropriately, the kernel should scream aloud.\n\n[akpm@linux-foundation.org: tweak comment: s/walks up/walks/, use 80 cols]\nSuggested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSuggested-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb79295e20a8088a2fd6a9b3cb5f2d889ec36b4d",
      "tree": "e749be4ebd059d9dd1ff109c1cecb7b63109d2e0",
      "parents": [
        "f7505d64f2db5da2d7d94873ddf2cd2524847061"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:22 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "cpu: introduce clear_tasks_mm_cpumask() helper\n\nMany architectures clear tasks\u0027 mm_cpumask like this:\n\n\tread_lock(\u0026tasklist_lock);\n\tfor_each_process(p) {\n\t\tif (p-\u003emm)\n\t\t\tcpumask_clear_cpu(cpu, mm_cpumask(p-\u003emm));\n\t}\n\tread_unlock(\u0026tasklist_lock);\n\nDepending on the context, the code above may have several problems,\nsuch as:\n\n1. Working with task-\u003emm w/o getting mm or grabing the task lock is\n   dangerous as -\u003emm might disappear (exit_mm() assigns NULL under\n   task_lock(), so tasklist lock is not enough).\n\n2. Checking for process-\u003emm is not enough because process\u0027 main\n   thread may exit or detach its mm via use_mm(), but other threads\n   may still have a valid mm.\n\nThis patch implements a small helper function that does things\ncorrectly, i.e.:\n\n1. We take the task\u0027s lock while whe handle its mm (we can\u0027t use\n   get_task_mm()/mmput() pair as mmput() might sleep);\n\n2. To catch exited main thread case, we use find_lock_task_mm(),\n   which walks up all threads and returns an appropriate task\n   (with task lock held).\n\nAlso, Per Peter Zijlstra\u0027s idea, now we don\u0027t grab tasklist_lock in\nthe new helper, instead we take the rcu read lock. We can do this\nbecause the function is called after the cpu is taken down and marked\noffline, so no new tasks will get this cpu set in their mm mask.\n\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7505d64f2db5da2d7d94873ddf2cd2524847061",
      "tree": "a10aee9604306826816e8e5fc689201f49d7a6d0",
      "parents": [
        "bca15543736f9be6d84e0bbc262ea7069076b9e6"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu May 31 16:26:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "fork: call complete_vfork_done() after clearing child_tid and flushing rss-counters\n\nChild should wake up the parent from vfork() only after finishing all\noperations with shared mm.  There is no sense in using\nCLONE_CHILD_CLEARTID together with CLONE_VFORK, but it looks more accurate\nnow.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "168eeccbc956d2ec083c3a513f7706784ee0dc5f",
      "tree": "6fb95d3080fadd96ea37b0e8c1bd747a183f8f60",
      "parents": [
        "43e13cc107cf6cd3c15fbe1cef849435c2223d50"
      ],
      "author": {
        "name": "Tim Bird",
        "email": "tim.bird@am.sony.com",
        "time": "Thu May 31 16:26:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "stack usage: add pid to warning printk in check_stack_usage\n\nIn embedded systems, sometimes the same program (busybox) is the cause of\nmultiple warnings.  Outputting the pid with the program name in the\nwarning printk helps distinguish which instances of a program are using\nthe stack most.\n\nThis is a small patch, but useful.\n\nSigned-off-by: Tim Bird \u003ctim.bird@am.sony.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "43e13cc107cf6cd3c15fbe1cef849435c2223d50",
      "tree": "9a1b3aa79ec2e8374944c23cf57a73790a3fc6ce",
      "parents": [
        "9b3c98cd663750c33434572ff76ba306505eba5a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu May 31 16:26:16 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "cred: remove task_is_dead() from __task_cred() validation\n\nCommit 8f92054e7ca1 (\"CRED: Fix __task_cred()\u0027s lockdep check and banner\ncomment\"):\n\n    add the following validation condition:\n\n        task-\u003eexit_state \u003e\u003d 0\n\n    to permit the access if the target task is dead and therefore\n    unable to change its own credentials.\n\nOK, but afaics currently this can only help wait_task_zombie() which calls\n__task_cred() without rcu lock.\n\nRemove this validation and change wait_task_zombie() to use task_uid()\ninstead.  This means we do rcu_read_lock() only to shut up the lockdep,\nbut we already do the same in, say, wait_task_stopped().\n\ntask_is_dead() should die, task-\u003eexit_state !\u003d 0 means that this task has\npassed exit_notify(), only do_wait-like code paths should use this.\n\nUnfortunately, we can\u0027t kill task_is_dead() right now, it has already\nacquired buggy users in drivers/staging.  The fix already exists.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b3c98cd663750c33434572ff76ba306505eba5a",
      "tree": "ff01ae7a11c5b0ece5a1c7107fc77276505b7342",
      "parents": [
        "785042f2e275089e22c36b462f6495ce8d91732d"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Thu May 31 16:26:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "kmod.c: fix kernel-doc warning\n\nWarning(kernel/kmod.c:419): No description found for parameter \u0027depth\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "785042f2e275089e22c36b462f6495ce8d91732d",
      "tree": "4e847408b4e675c7c616d357ae9b330f7104fbc0",
      "parents": [
        "81ab6e7b26b453a795d46f2616ed0e31d97f05b9"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu May 31 16:26:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "kmod: move call_usermodehelper_fns() to .c file and unexport all it\u0027s helpers\n\nIf we move call_usermodehelper_fns() to kmod.c file and EXPORT_SYMBOL it\nwe can avoid exporting all it\u0027s helper functions:\n\tcall_usermodehelper_setup\n\tcall_usermodehelper_setfns\n\tcall_usermodehelper_exec\nAnd make all of them static to kmod.c\n\nSince the optimizer will see all these as a single call site it will\ninline them inside call_usermodehelper_fns().  So we loose the call to\n_fns but gain 3 calls to the helpers.  (Not that it matters)\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81ab6e7b26b453a795d46f2616ed0e31d97f05b9",
      "tree": "a8d50eb5b35ad93b793450bfef4d90df34494a2c",
      "parents": [
        "ae3cef7300e9fddc35ad251dd5f27c5b88c8594a"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu May 31 16:26:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "kmod: convert two call sites to call_usermodehelper_fns()\n\nBoth kernel/sys.c \u0026\u0026 security/keys/request_key.c where inlining the exact\nsame code as call_usermodehelper_fns(); So simply convert these sites to\ndirectly use call_usermodehelper_fns().\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae3cef7300e9fddc35ad251dd5f27c5b88c8594a",
      "tree": "d1f057eaeac5234e9056b3e9fa186c1bd7873bc5",
      "parents": [
        "f0aac6162e945590057dcfb841bdce8fd18ed4f6"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu May 31 16:26:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "kmod: unexport call_usermodehelper_freeinfo()\n\ncall_usermodehelper_freeinfo() is not used outside of kmod.c.  So unexport\nit, and make it static to kmod.c\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d84970bbaf9a09b3fc60c18ee6d59bc9cb4c3b8a",
      "tree": "6ff6ac8a9c40c68e925ed000faae72379e6a3ea8",
      "parents": [
        "97fd75b7b8e0f4e6d3f06b819c89b2555f626fcf"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@fluxnic.net",
        "time": "Thu May 31 16:26:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "kernel/cpu_pm.c: fix various typos\n\nSigned-off-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nAcked-by: Colin Cross \u003cccross@android.com\u003e\nAcked-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97fd75b7b8e0f4e6d3f06b819c89b2555f626fcf",
      "tree": "96a575e38c143ddabe9a35d8ad89f268ccafb569",
      "parents": [
        "499eea6bf9c06df3bf4549954aee6fb3427946ed"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu May 31 16:26:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "kernel/irq/manage.c: use the pr_foo() infrastructure to prefix printks\n\nUse the module-wide pr_fmt() mechanism rather than open-coding \"genirq: \"\neverywhere.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "499eea6bf9c06df3bf4549954aee6fb3427946ed",
      "tree": "bdd7c4be7ac845e0511c6b36f91245105ed8fdcf",
      "parents": [
        "5401cf3fac92b35415c1d011e9866a90b8bed88f"
      ],
      "author": {
        "name": "Sasikantha babu",
        "email": "sasikanth.v19@gmail.com",
        "time": "Thu May 31 16:26:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "sethostname/setdomainname: notify userspace when there is a change in uts_kern_table\n\nsethostname() and setdomainname() notify userspace on failure (without\nmodifying uts_kern_table).  Change things so that we only notify userspace\non success, when uts_kern_table was actually modified.\n\nSigned-off-by: Sasikantha babu \u003csasikanth.v19@gmail.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: WANG Cong \u003camwang@redhat.com\u003e\nReviewed-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee5e5683d8ac3fec876cb6c26792212f773d5898",
      "tree": "80268aac11745372df02fb3fbdab669e60a405af",
      "parents": [
        "a3860c1c5dd1137db23d7786d284939c5761d517"
      ],
      "author": {
        "name": "Wei Yang",
        "email": "weiyang@linux.vnet.ibm.com",
        "time": "Thu May 31 16:26:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "kernel/resource.c: correct the comment of allocate_resource()\n\nIn the comment of allocate_resource(), the explanation of parameter max\nand min is not correct.\n\nActually, these two parameters are used to specify the range of the\nresource that will be allocated, not the min/max size that will be\nallocated.\n\nSigned-off-by: Wei Yang \u003cweiyang@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "65a50c951a38e9827dd9655b6e686bde912e799b",
      "tree": "cce85e74511741d52069977fee6984ce66c9277c",
      "parents": [
        "42fe55ce905212542426fa6407a76534a5fb696a",
        "59cd358a7a5b2f6b61faa01dae6cfda3830ac62a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 11:12:00 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 11:12:00 2012 -0700"
      },
      "message": "Merge branch \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf updates from Ingo Molnar.\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)\n  perf ui browser: Stop using \u0027self\u0027\n  perf annotate browser: Read perf config file for settings\n  perf config: Allow \u0027_\u0027 in config file variable names\n  perf annotate browser: Make feature toggles global\n  perf annotate browser: The idx_asm field should be used in asm only view\n  perf tools: Convert critical messages to ui__error()\n  perf ui: Make --stdio default when TUI is not supported\n  tools lib traceevent: Silence compiler warning on 32bit build\n  perf record: Fix branch_stack type in perf_record_opts\n  perf tools: Reconstruct event with modifiers from perf_event_attr\n  perf top: Fix counter name fixup when fallbacking to cpu-clock\n  perf tools: fix thread_map__new_by_pid_str() memory leak in error path\n  perf tools: Do not use _FORTIFY_SOURCE when DEBUG\u003d1 is specified\n  tools lib traceevent: Fix signature of create_arg_item()\n  tools lib traceevent: Use proper function parameter type\n  tools lib traceevent: Fix freeing arg on process_dynamic_array()\n  tools lib traceevent: Fix a possibly wrong memory dereference\n  tools lib traceevent: Fix a possible memory leak\n  tools lib traceevent: Allow expressions in __print_symbolic() fields\n  perf evlist: Explicititely initialize input_name\n  ...\n"
    },
    {
      "commit": "0d167518e045cc8bb63f0a8a0a85ad4fa4e0044f",
      "tree": "101a9b5d425d79f663e4f25f1e90b7a8cc6604f1",
      "parents": [
        "2f83766d4b18774c856329a8fca4c9338dfeda39",
        "ff26eaadf4d914e397872b99885d45756104e9ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 08:52:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 08:52:42 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5/core\u0027 of git://git.kernel.dk/linux-block\n\nMerge block/IO core bits from Jens Axboe:\n \"This is a bit bigger on the core side than usual, but that is purely\n  because we decided to hold off on parts of Tejun\u0027s submission on 3.4\n  to give it a bit more time to simmer.  As a consequence, it\u0027s seen a\n  long cycle in for-next.\n\n  It contains:\n\n   - Bug fix from Dan, wrong locking type.\n   - Relax splice gifting restriction from Eric.\n   - A ton of updates from Tejun, primarily for blkcg.  This improves\n     the code a lot, making the API nicer and cleaner, and also includes\n     fixes for how we handle and tie policies and re-activate on\n     switches.  The changes also include generic bug fixes.\n   - A simple fix from Vivek, along with a fix for doing proper delayed\n     allocation of the blkcg stats.\"\n\nFix up annoying conflict just due to different merge resolution in\nDocumentation/feature-removal-schedule.txt\n\n* \u0027for-3.5/core\u0027 of git://git.kernel.dk/linux-block: (92 commits)\n  blkcg: tg_stats_alloc_lock is an irq lock\n  vmsplice: relax alignement requirements for SPLICE_F_GIFT\n  blkcg: use radix tree to index blkgs from blkcg\n  blkcg: fix blkcg-\u003ecss ref leak in __blkg_lookup_create()\n  block: fix elvpriv allocation failure handling\n  block: collapse blk_alloc_request() into get_request()\n  blkcg: collapse blkcg_policy_ops into blkcg_policy\n  blkcg: embed struct blkg_policy_data in policy specific data\n  blkcg: mass rename of blkcg API\n  blkcg: style cleanups for blk-cgroup.h\n  blkcg: remove blkio_group-\u003epath[]\n  blkcg: blkg_rwstat_read() was missing inline\n  blkcg: shoot down blkgs if all policies are deactivated\n  blkcg: drop stuff unused after per-queue policy activation update\n  blkcg: implement per-queue policy activation\n  blkcg: add request_queue-\u003eroot_blkg\n  blkcg: make request_queue bypassing on allocation\n  blkcg: make sure blkg_lookup() returns %NULL if @q is bypassing\n  blkcg: make blkg_conf_prep() take @pol and return with queue lock held\n  blkcg: remove static policy ID enums\n  ...\n"
    },
    {
      "commit": "eea62f831b8030b0eeea8314eed73b6132d1de26",
      "tree": "7fd58cf63e62484b8d3a0c8c5d2e9193b85945a4",
      "parents": [
        "9dd6fa03ab31bb57cee4623a689d058d222fbe68"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Tue May 08 13:32:24 2012 +0930"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 29 23:28:41 2012 -0400"
      },
      "message": "brlocks/lglocks: turn into functions\n\nlglocks and brlocks are currently generated with some complicated macros\nin lglock.h.  But there\u0027s no reason to not just use common utility\nfunctions and put all the data into a common data structure.\n\nSince there are at least two users it makes sense to share this code in a\nlibrary.  This is also easier maintainable than a macro forest.\n\nThis will also make it later possible to dynamically allocate lglocks and\nalso use them in modules (this would both still need some additional, but\nnow straightforward, code)\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4796dd200db943e36f876e7029552212e5bbdf33",
      "tree": "a594c2b1ce1f4dbc96b25a516e49655917a9fa30",
      "parents": [
        "05a6c8a9226599f921bd0b6e439dbc04df96a6fc"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Tue May 29 15:07:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:32 2012 -0700"
      },
      "message": "vsprintf: fix %ps on non symbols when using kallsyms\n\nUsing %ps in a printk format will sometimes fail silently and print the\nempty string if the address passed in does not match a symbol that\nkallsyms knows about.  But using %pS will fall back to printing the full\naddress if kallsyms can\u0027t find the symbol.  Make %ps act the same as %pS\nby falling back to printing the address.\n\nWhile we\u0027re here also make %ps print the module that a symbol comes from\nso that it matches what %pS already does.  Take this simple function for\nexample (in a module):\n\n\tstatic void test_printk(void)\n\t{\n\t\tint test;\n\t\tpr_info(\"with pS: %pS\\n\", \u0026test);\n\t\tpr_info(\"with ps: %ps\\n\", \u0026test);\n\t}\n\nBefore this patch:\n\n with pS: 0xdff7df44\n with ps:\n\nAfter this patch:\n\n with pS: 0xdff7df44\n with ps: 0xdff7df44\n\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2bb2ba9d51a8044a71a29608d2c4ef8f5b2d57a2",
      "tree": "5e58869c606c541d41a9bfa62aa6e8bc42cae5ac",
      "parents": [
        "f9be23d6da035241b7687b25e64401171986dcef"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Tue May 29 15:07:03 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:27 2012 -0700"
      },
      "message": "rescounters: add res_counter_uncharge_until()\n\nWhen killing a res_counter which is a child of other counter, we need to\ndo\n\n\tres_counter_uncharge(child, xxx)\n\tres_counter_charge(parent, xxx)\n\nThis is not atomic and wastes CPU.  This patch adds\nres_counter_uncharge_until().  This function\u0027s uncharge propagates to\nancestors until specified res_counter.\n\n\tres_counter_uncharge_until(child, parent, xxx)\n\nNow the operation is atomic and efficient.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@redhat.com\u003e\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Ying Han \u003cyinghan@google.com\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nReviewed-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91c63734f6908425903aed69c04035592f18d398",
      "tree": "6790827ab915b17c63d5c39d8c72c47f3764f868",
      "parents": [
        "0ce72d4f7333248efbef1f3309770c7edb1b2625"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue May 29 15:06:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:20 2012 -0700"
      },
      "message": "kernel: cgroup: push rcu read locking from css_is_ancestor() to callsite\n\nLibrary functions should not grab locks when the callsites can do it,\neven if the lock nests like the rcu read-side lock does.\n\nPush the rcu_read_lock() from css_is_ancestor() to its single user,\nmem_cgroup_same_or_subtree() in preparation for another user that may\nalready hold the rcu read-side lock.\n\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7edc8b0ac16cbaed7cb4ea4c6b95ce98d2997e84",
      "tree": "e333f72f3dc2c91385b8392bc31a44f5423d7f5c",
      "parents": [
        "841e31e5cc6219d62054788faa289b6ed682d068"
      ],
      "author": {
        "name": "Siddhesh Poyarekar",
        "email": "siddhesh.poyarekar@gmail.com",
        "time": "Tue May 29 15:06:22 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:19 2012 -0700"
      },
      "message": "mm/fork: fix overflow in vma length when copying mmap on clone\n\nThe vma length in dup_mmap is calculated and stored in a unsigned int,\nwhich is insufficient and hence overflows for very large maps (beyond\n16TB). The following program demonstrates this:\n\n#include \u003cstdio.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003csys/mman.h\u003e\n\n#define GIG 1024 * 1024 * 1024L\n#define EXTENT 16393\n\nint main(void)\n{\n        int i, r;\n        void *m;\n        char buf[1024];\n\n        for (i \u003d 0; i \u003c EXTENT; i++) {\n                m \u003d mmap(NULL, (size_t) 1 * 1024 * 1024 * 1024L,\n                         PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, 0, 0);\n\n                if (m \u003d\u003d (void *)-1)\n                        printf(\"MMAP Failed: %d\\n\", m);\n                else\n                        printf(\"%d : MMAP returned %p\\n\", i, m);\n\n                r \u003d fork();\n\n                if (r \u003d\u003d 0) {\n                        printf(\"%d: successed\\n\", i);\n                        return 0;\n                } else if (r \u003c 0)\n                        printf(\"FORK Failed: %d\\n\", r);\n                else if (r \u003e 0)\n                        wait(NULL);\n        }\n        return 0;\n}\n\nIncrease the storage size of the result to unsigned long, which is\nsufficient for storing the difference between addresses.\n\nSigned-off-by: Siddhesh Poyarekar \u003csiddhesh.poyarekar@gmail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e709ffd6169ccd259eb5874e853303e91e94e829",
      "tree": "796b56c2507b8581492da73e354d651c9dd7076b",
      "parents": [
        "edad9d2c337d43278a9d5aeb0ed531c2e838f8a6"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Tue May 29 15:06:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:19 2012 -0700"
      },
      "message": "mm: remove swap token code\n\nThe swap token code no longer fits in with the current VM model.  It\ndoes not play well with cgroups or the better NUMA placement code in\ndevelopment, since we have only one swap token globally.\n\nIt also has the potential to mess with scalability of the system, by\nincreasing the number of non-reclaimable pages on the active and\ninactive anon LRU lists.\n\nLast but not least, the swap token code has been broken for a year\nwithout complaints, as reported by Konstantin Khlebnikov.  This suggests\nwe no longer have much use for it.\n\nThe days of sub-1G memory systems with heavy use of swap are over.  If\nwe ever need thrashing reducing code in the future, we will have to\nimplement something that does scale.\n\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nCc: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Bob Picco \u003cbpicco@meloft.net\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07acfc2a9349a8ce45b236c2624dad452001966b",
      "tree": "c40f3eaac18a8320e65af220979223b5cd632b1b",
      "parents": [
        "b5f4035adfffbcc6b478de5b8c44b618b3124aff",
        "322728e55aa7834e2fab2786b76df183c4843a12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 16:17:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 16:17:30 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM changes from Avi Kivity:\n \"Changes include additional instruction emulation, page-crossing MMIO,\n  faster dirty logging, preventing the watchdog from killing a stopped\n  guest, module autoload, a new MSI ABI, and some minor optimizations\n  and fixes.  Outside x86 we have a small s390 and a very large ppc\n  update.\n\n  Regarding the new (for kvm) rebaseless workflow, some of the patches\n  that were merged before we switch trees had to be rebased, while\n  others are true pulls.  In either case the signoffs should be correct\n  now.\"\n\nFix up trivial conflicts in Documentation/feature-removal-schedule.txt\narch/powerpc/kvm/book3s_segment.S and arch/x86/include/asm/kvm_para.h.\n\nI suspect the kvm_para.h resolution ends up doing the \"do I have cpuid\"\ncheck effectively twice (it was done differently in two different\ncommits), but better safe than sorry ;)\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm: (125 commits)\n  KVM: make asm-generic/kvm_para.h have an ifdef __KERNEL__ block\n  KVM: s390: onereg for timer related registers\n  KVM: s390: epoch difference and TOD programmable field\n  KVM: s390: KVM_GET/SET_ONEREG for s390\n  KVM: s390: add capability indicating COW support\n  KVM: Fix mmu_reload() clash with nested vmx event injection\n  KVM: MMU: Don\u0027t use RCU for lockless shadow walking\n  KVM: VMX: Optimize %ds, %es reload\n  KVM: VMX: Fix %ds/%es clobber\n  KVM: x86 emulator: convert bsf/bsr instructions to emulate_2op_SrcV_nobyte()\n  KVM: VMX: unlike vmcs on fail path\n  KVM: PPC: Emulator: clean up SPR reads and writes\n  KVM: PPC: Emulator: clean up instruction parsing\n  kvm/powerpc: Add new ioctl to retreive server MMU infos\n  kvm/book3s: Make kernel emulated H_PUT_TCE available for \"PR\" KVM\n  KVM: PPC: bookehv: Fix r8/r13 storing in level exception handler\n  KVM: PPC: Book3S: Enable IRQs during exit handling\n  KVM: PPC: Fix PR KVM on POWER7 bare metal\n  KVM: PPC: Fix stbux emulation\n  KVM: PPC: bookehv: Use lwz/stw instead of PPC_LL/PPC_STL for 32-bit fields\n  ...\n"
    },
    {
      "commit": "b343c8beec664ef6f0e9964d3001c7c7966331ae",
      "tree": "c61be2147a700ff83704164686e1db23461d0bb3",
      "parents": [
        "745914df47053c758f3d7999dfa82df184c2e5af",
        "a87487e687ceafdc696b8cb1fb27e37cc463586b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 13:55:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 13:55:24 2012 -0700"
      },
      "message": "Merge tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6\n\nPull irqdomain changes from Grant Likely:\n \"Minor changes and fixups for irqdomain infrastructure.  The most\n  important change adds the ability to remove a registered irqdomain.\"\n\n* tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  irqdomain: Document size parameter of irq_domain_add_linear()\n  irqdomain: trivial pr_fmt conversion.\n  irqdomain: Kill off duplicate definitions.\n  irqdomain: Make irq_domain_simple_map() static.\n  irqdomain: Export remaining public API symbols.\n  irqdomain: Support removal of IRQ domains.\n"
    },
    {
      "commit": "c7523a7c88db637d66841018532cb4b3ab6ab0a8",
      "tree": "cec08263a493831d43e17d4daa633e2a6b09480e",
      "parents": [
        "2f78d8e249973f1eeb88315e6444e616c60177ae",
        "b80fe1015be4e3c926d8eb4cc6a340fdd22a43e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 13:29:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 13:29:46 2012 -0700"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timer updates from Thomas Gleixner.\n\nVarious trivial conflict fixups in arch Kconfig due to addition of\nunrelated entries nearby.  And one slightly more subtle one for sparc32\n(new user of GENERIC_CLOCKEVENTS), fixed up as per Thomas.\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (31 commits)\n  timekeeping: Fix a few minor newline issues.\n  time: remove obsolete declaration\n  ntp: Fix a stale comment and a few stray newlines.\n  ntp: Correct TAI offset during leap second\n  timers: Fixup the Kconfig consolidation fallout\n  x86: Use generic time config\n  unicore32: Use generic time config\n  um: Use generic time config\n  tile: Use generic time config\n  sparc: Use: generic time config\n  sh: Use generic time config\n  score: Use generic time config\n  s390: Use generic time config\n  openrisc: Use generic time config\n  powerpc: Use generic time config\n  mn10300: Use generic time config\n  mips: Use generic time config\n  microblaze: Use generic time config\n  m68k: Use generic time config\n  m32r: Use generic time config\n  ...\n"
    },
    {
      "commit": "28f3d717618156c0dcd2f497d791b578a7931d87",
      "tree": "37b11581b51929b5473541e53bd242b3e1a9f666",
      "parents": [
        "654443e20dfc0617231f28a07c96a979ee1a0239",
        "1ca7ee30630e1022dbcf1b51be20580815ffab73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 11:54:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 11:54:29 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull more networking updates from David Miller:\n \"Ok, everything from here on out will be bug fixes.\"\n\n1) One final sync of wireless and bluetooth stuff from John Linville.\n   These changes have all been in his tree for more than a week, and\n   therefore have had the necessary -next exposure.  John was just away\n   on a trip and didn\u0027t have a change to send the pull request until a\n   day or two ago.\n\n2) Put back some defines in user exposed header file areas that were\n   removed during the tokenring purge.  From Stephen Hemminger and Paul\n   Gortmaker.\n\n3) A bug fix for UDP hash table allocation got lost in the pile due to\n   one of those \"you got it..  no I\u0027ve got it..\" situations.  :-)\n\n   From Tim Bird.\n\n4) SKB coalescing in TCP needs to have stricter checks, otherwise we\u0027ll\n   try to coalesce overlapping frags and crash.  Fix from Eric Dumazet.\n\n5) RCU routing table lookups can race with free_fib_info(), causing\n   crashes when we deref the device pointers in the route.  Fix by\n   releasing the net device in the RCU callback.  From Yanmin Zhang.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (293 commits)\n  tcp: take care of overlaps in tcp_try_coalesce()\n  ipv4: fix the rcu race between free_fib_info and ip_route_output_slow\n  mm: add a low limit to alloc_large_system_hash\n  ipx: restore token ring define to include/linux/ipx.h\n  if: restore token ring ARP type to header\n  xen: do not disable netfront in dom0\n  phy/micrel: Fix ID of KSZ9021\n  mISDN: Add X-Tensions USB ISDN TA XC-525\n  gianfar:don\u0027t add FCB length to hard_header_len\n  Bluetooth: Report proper error number in disconnection\n  Bluetooth: Create flags for bt_sk()\n  Bluetooth: report the right security level in getsockopt\n  Bluetooth: Lock the L2CAP channel when sending\n  Bluetooth: Restore locking semantics when looking up L2CAP channels\n  Bluetooth: Fix a redundant and problematic incoming MTU check\n  Bluetooth: Add support for Foxconn/Hon Hai AR5BBU22 0489:E03C\n  Bluetooth: Fix EIR data generation for mgmt_device_found\n  Bluetooth: Fix Inquiry with RSSI event mask\n  Bluetooth: improve readability of l2cap_seq_list code\n  Bluetooth: Fix skb length calculation\n  ...\n"
    },
    {
      "commit": "654443e20dfc0617231f28a07c96a979ee1a0239",
      "tree": "a0dc3f093eb13892539082e663607c34b4fc2d07",
      "parents": [
        "2c01e7bc46f10e9190818437e564f7e0db875ae9",
        "9cba26e66d09bf394ae5a739627a1dc8b7cae6f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 11:39:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 11:39:34 2012 -0700"
      },
      "message": "Merge branch \u0027perf-uprobes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull user-space probe instrumentation from Ingo Molnar:\n \"The uprobes code originates from SystemTap and has been used for years\n  in Fedora and RHEL kernels.  This version is much rewritten, reviews\n  from PeterZ, Oleg and myself shaped the end result.\n\n  This tree includes uprobes support in \u0027perf probe\u0027 - but SystemTap\n  (and other tools) can take advantage of user probe points as well.\n\n  Sample usage of uprobes via perf, for example to profile malloc()\n  calls without modifying user-space binaries.\n\n  First boot a new kernel with CONFIG_UPROBE_EVENT\u003dy enabled.\n\n  If you don\u0027t know which function you want to probe you can pick one\n  from \u0027perf top\u0027 or can get a list all functions that can be probed\n  within libc (binaries can be specified as well):\n\n\t$ perf probe -F -x /lib/libc.so.6\n\n  To probe libc\u0027s malloc():\n\n\t$ perf probe -x /lib64/libc.so.6 malloc\n\tAdded new event:\n\tprobe_libc:malloc    (on 0x7eac0)\n\n  You can now use it in all perf tools, such as:\n\n\tperf record -e probe_libc:malloc -aR sleep 1\n\n  Make use of it to create a call graph (as the flat profile is going to\n  look very boring):\n\n\t$ perf record -e probe_libc:malloc -gR make\n\t[ perf record: Woken up 173 times to write data ]\n\t[ perf record: Captured and wrote 44.190 MB perf.data (~1930712\n\n\t$ perf report | less\n\n\t  32.03%            git  libc-2.15.so   [.] malloc\n\t                    |\n\t                    --- malloc\n\n\t  29.49%            cc1  libc-2.15.so   [.] malloc\n\t                    |\n\t                    --- malloc\n\t                       |\n\t                       |--0.95%-- 0x208eb1000000000\n\t                       |\n\t                       |--0.63%-- htab_traverse_noresize\n\n\t  11.04%             as  libc-2.15.so   [.] malloc\n\t                     |\n\t                     --- malloc\n\t                        |\n\n\t   7.15%             ld  libc-2.15.so   [.] malloc\n\t                     |\n\t                     --- malloc\n\t                        |\n\n\t   5.07%             sh  libc-2.15.so   [.] malloc\n\t                     |\n\t                     --- malloc\n\t                        |\n\t   4.99%  python-config  libc-2.15.so   [.] malloc\n\t          |\n\t          --- malloc\n\t             |\n\t   4.54%           make  libc-2.15.so   [.] malloc\n\t                   |\n\t                   --- malloc\n\t                      |\n\t                      |--7.34%-- glob\n\t                      |          |\n\t                      |          |--93.18%-- 0x41588f\n\t                      |          |\n\t                      |           --6.82%-- glob\n\t                      |                     0x41588f\n\n\t   ...\n\n  Or:\n\n\t$ perf report -g flat | less\n\n\t# Overhead        Command  Shared Object      Symbol\n\t# ........  .............  .............  ..........\n\t#\n\t  32.03%            git  libc-2.15.so   [.] malloc\n\t          27.19%\n\t              malloc\n\n\t  29.49%            cc1  libc-2.15.so   [.] malloc\n\t          24.77%\n\t              malloc\n\n\t  11.04%             as  libc-2.15.so   [.] malloc\n\t          11.02%\n\t              malloc\n\n\t   7.15%             ld  libc-2.15.so   [.] malloc\n\t           6.57%\n\t              malloc\n\n\t ...\n\n  The core uprobes design is fairly straightforward: uprobes probe\n  points register themselves at (inode:offset) addresses of\n  libraries/binaries, after which all existing (or new) vmas that map\n  that address will have a software breakpoint injected at that address.\n  vmas are COW-ed to preserve original content.  The probe points are\n  kept in an rbtree.\n\n  If user-space executes the probed inode:offset instruction address\n  then an event is generated which can be recovered from the regular\n  perf event channels and mmap-ed ring-buffer.\n\n  Multiple probes at the same address are supported, they create a\n  dynamic callback list of event consumers.\n\n  The basic model is further complicated by the XOL speedup: the\n  original instruction that is probed is copied (in an architecture\n  specific fashion) and executed out of line when the probe triggers.\n  The XOL area is a single vma per process, with a fixed number of\n  entries (which limits probe execution parallelism).\n\n  The API: uprobes are installed/removed via\n  /sys/kernel/debug/tracing/uprobe_events, the API is integrated to\n  align with the kprobes interface as much as possible, but is separate\n  to it.\n\n  Injecting a probe point is privileged operation, which can be relaxed\n  by setting perf_paranoid to -1.\n\n  You can use multiple probes as well and mix them with kprobes and\n  regular PMU events or tracepoints, when instrumenting a task.\"\n\nFix up trivial conflicts in mm/memory.c due to previous cleanup of\nunmap_single_vma().\n\n* \u0027perf-uprobes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)\n  perf probe: Detect probe target when m/x options are absent\n  perf probe: Provide perf interface for uprobes\n  tracing: Fix kconfig warning due to a typo\n  tracing: Provide trace events interface for uprobes\n  tracing: Extract out common code for kprobes/uprobes trace events\n  tracing: Modify is_delete, is_return from int to bool\n  uprobes/core: Decrement uprobe count before the pages are unmapped\n  uprobes/core: Make background page replacement logic account for rss_stat counters\n  uprobes/core: Optimize probe hits with the help of a counter\n  uprobes/core: Allocate XOL slots for uprobes use\n  uprobes/core: Handle breakpoint and singlestep exceptions\n  uprobes/core: Rename bkpt to swbp\n  uprobes/core: Make order of function parameters consistent across functions\n  uprobes/core: Make macro names consistent\n  uprobes: Update copyright notices\n  uprobes/core: Move insn to arch specific structure\n  uprobes/core: Remove uprobe_opcode_sz\n  uprobes/core: Make instruction tables volatile\n  uprobes: Move to kernel/events/\n  uprobes/core: Clean up, refactor and improve the code\n  ...\n"
    },
    {
      "commit": "ab11ca34eea8fda7a1a9302d86f6ef6108ffd68f",
      "tree": "987ec6c263f3dfa4a7a6f9ce4d5ece47cbc12e29",
      "parents": [
        "f9369910a6225b8d4892c3f20ae740a711cd5ace",
        "71006fb22b0f5a2045605b3887ee99a0e9adafe4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 10:21:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 10:21:51 2012 -0700"
      },
      "message": "Merge branch \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media\n\nPull media updates from Mauro Carvalho Chehab:\n - some V4L2 API updates needed by embedded devices\n - DVB API extensions for ATSC-MH delivery system, used in US for mobile\n   TV\n - new tuners for fc0011/0012/0013 and tua9001\n - a new dvb driver for af9033/9035\n - a new ATSC-MH frontend (lg2160)\n - new remote controller keymaps\n - Removal of a few legacy webcam driver that got replaced by gspca on\n   several kernel versions ago\n - a new driver for Exynos 4/5 webcams(s5pp fimc-lite)\n - a new webcam sensor driver (smiapp)\n - a new video input driver for embedded (sta2x1xx)\n - several improvements, fixes, cleanups, etc inside the drivers.\n\nManually fix up conflicts due to err() -\u003e dev_err() conversion in\ndrivers/staging/media/easycap/easycap_main.c\n\n* \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (484 commits)\n  [media] saa7134-cards: Remove a PCI entry added by mistake\n  [media] radio-sf16fmi: add support for SF16-FMD\n  [media] rc-loopback: remove duplicate line\n  [media] patch for Asus My Cinema PS3-100 (1043:48cd)\n  [media] au0828: Move the Kconfig knob under V4L_USB_DRIVERS\n  [media] em28xx: simple comment fix\n  [media] [resend] radio-sf16fmr2: add PnP support for SF16-FMD2\n  [media] smiapp: Use v4l2_ctrl_new_int_menu() instead of v4l2_ctrl_new_custom()\n  [media] smiapp: Add support for 8-bit uncompressed formats\n  [media] smiapp: Allow generic quirk registers\n  [media] smiapp: Use non-binning limits if the binning limit is zero\n  [media] smiapp: Initialise rval in smiapp_read_nvm()\n  [media] smiapp: Round minimum pre_pll up rather than down in ip_clk_freq check\n  [media] smiapp: Use 8-bit reads only before identifying the sensor\n  [media] smiapp: Quirk for sensors that only do 8-bit reads\n  [media] smiapp: Pass struct sensor to register writing commands instead of i2c_client\n  [media] smiapp: Allow using external clock from the clock framework\n  [media] zl10353: change .read_snr() to report SNR as a 0.1 dB\n  [media] media: add support to gspca/pac7302.c for 093a:2627 (Genius FaceCam 300)\n  [media] m88rs2000 - only flip bit 2 on reg 0x70 on 16th try\n  ...\n"
    },
    {
      "commit": "9ba0541453b3a57797701b9fbc0fd8d0be173050",
      "tree": "29cc15e3d9b05d78f8adb8516baf6c1a3d7626a9",
      "parents": [
        "f9369910a6225b8d4892c3f20ae740a711cd5ace",
        "6a31e1f135d1abfb5137697f889c8cd5d72eb522"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu May 24 09:06:24 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu May 24 09:06:24 2012 +0200"
      },
      "message": "Merge branch \u0027tip/perf/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent\n\nPull an ftrace ring-buffer fix from Steve Rostedt:\n\n * fix kernel crash when changing the size of the ring-buffer on\n   boxes where possible_cpus !\u003d online_cpus.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "31fe62b9586643953f0c0c37a6357dafc69034e2",
      "tree": "69f9990423969df4ecbaea9d1e8de748284bea5e",
      "parents": [
        "d0a24a3516fb36023bef28d2355fa34e7f32029f"
      ],
      "author": {
        "name": "Tim Bird",
        "email": "tim.bird@am.sony.com",
        "time": "Wed May 23 13:33:35 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 24 00:28:21 2012 -0400"
      },
      "message": "mm: add a low limit to alloc_large_system_hash\n\nUDP stack needs a minimum hash size value for proper operation and also\nuses alloc_large_system_hash() for proper NUMA distribution of its hash\ntables and automatic sizing depending on available system memory.\n\nOn some low memory situations, udp_table_init() must ignore the\nalloc_large_system_hash() result and reallocs a bigger memory area.\n\nAs we cannot easily free old hash table, we leak it and kmemleak can\nissue a warning.\n\nThis patch adds a low limit parameter to alloc_large_system_hash() to\nsolve this problem.\n\nWe then specify UDP_HTABLE_SIZE_MIN for UDP/UDPLite hash table\nallocation.\n\nReported-by: Mark Asselstine \u003cmark.asselstine@windriver.com\u003e\nReported-by: Tim Bird \u003ctim.bird@am.sony.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f23ca335462e3c84f13270b9e65f83936068ec2c",
      "tree": "f0df939f9906c28267c930554223720a82241c71",
      "parents": [
        "dea649b8ac1861107c5d91e1a71121434fc64193"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri May 11 10:59:09 2012 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 23 22:11:41 2012 -0400"
      },
      "message": "keys: kill task_struct-\u003ereplacement_session_keyring\n\nKill the no longer used task_struct-\u003ereplacement_session_keyring, update\ncopy_creds() and exit_creds().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Kuo \u003crkuo@codeaurora.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: David Smith \u003cdsmith@redhat.com\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4d1d61a6b203d957777d73fcebf19d90b038b5b2",
      "tree": "8b597fa00168ee59e3abf5ec8cf4e92f8fd28d8a",
      "parents": [
        "e73f8959af0439d114847eab5a8a5ce48f1217c4"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri May 11 10:59:08 2012 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 23 22:11:12 2012 -0400"
      },
      "message": "genirq: reimplement exit_irq_thread() hook via task_work_add()\n\nexit_irq_thread() and task-\u003eirq_thread are needed to handle the unexpected\n(and unlikely) exit of irq-thread.\n\nWe can use task_work instead and make this all private to\nkernel/irq/manage.c, cleanup plus micro-optimization.\n\n1. rename exit_irq_thread() to irq_thread_dtor(), make it\n   static, and move it up before irq_thread().\n\n2. change irq_thread() to do task_work_add(irq_thread_dtor)\n   at the start and task_work_cancel() before return.\n\n   tracehook_notify_resume() can never play with kthreads,\n   only do_exit()-\u003eexit_task_work() can call the callback\n   and this is what we want.\n\n3. remove task_struct-\u003eirq_thread and the special hook\n   in do_exit().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Richard Kuo \u003crkuo@codeaurora.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: David Smith \u003cdsmith@redhat.com\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e73f8959af0439d114847eab5a8a5ce48f1217c4",
      "tree": "47f056093590a5e5552e3a75f163e1f798063bda",
      "parents": [
        "62366c88b29c5a32e1531142092f98eaf49b1103"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri May 11 10:59:07 2012 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 23 22:09:21 2012 -0400"
      },
      "message": "task_work_add: generic process-context callbacks\n\nProvide a simple mechanism that allows running code in the (nonatomic)\ncontext of the arbitrary task.\n\nThe caller does task_work_add(task, task_work) and this task executes\ntask_work-\u003efunc() either from do_notify_resume() or from do_exit().  The\ncallback can rely on PF_EXITING to detect the latter case.\n\n\"struct task_work\" can be embedded in another struct, still it has \"void\n*data\" to handle the most common/simple case.\n\nThis allows us to kill the -\u003ereplacement_session_keyring hack, and\npotentially this can have more users.\n\nPerformance-wise, this adds 2 \"unlikely(!hlist_empty())\" checks into\ntracehook_notify_resume() and do_exit().  But at the same time we can\nremove the \"replacement_session_keyring !\u003d NULL\" checks from\narch/*/signal.c and exit_creds().\n\nNote: task_work_add/task_work_run abuses -\u003epi_lock.  This is only because\nthis lock is already used by lookup_pi_state() to synchronize with\ndo_exit() setting PF_EXITING.  Fortunately the scope of this lock in\ntask_work.c is really tiny, and the code is unlikely anyway.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Kuo \u003crkuo@codeaurora.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: David Smith \u003cdsmith@redhat.com\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f9369910a6225b8d4892c3f20ae740a711cd5ace",
      "tree": "8650ff79d7607bceb35509c028400ecf1c317de0",
      "parents": [
        "05f144a0d5c2207a0349348127f996e104ad7404",
        "415d04d08fec74b226c92c1fb54ad117c9c6bac4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 18:11:45 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 18:11:45 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull first series of signal handling cleanups from Al Viro:\n \"This is just the first part of the queue (about a half of it);\n  assorted fixes all over the place in signal handling.\n\n  This one ends with all sigsuspend() implementations switched to\n  generic one (-\u003esaved_sigmask-based).\n\n  With this, a bunch of assorted old buglets are fixed and most of the\n  missing bits of NOTIFY_RESUME hookup are in place.  Two more fixes sit\n  in arm and um trees respectively, and there\u0027s a couple of broken ones\n  that need obvious fixes - parisc and avr32 check TIF_NOTIFY_RESUME\n  only on one of two codepaths; fixes for that will happen in the next\n  series\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (55 commits)\n  unicore32: if there\u0027s no handler we need to restore sigmask, syscall or no syscall\n  xtensa: add handling of TIF_NOTIFY_RESUME\n  microblaze: drop \u0027oldset\u0027 argument of do_notify_resume()\n  microblaze: handle TIF_NOTIFY_RESUME\n  score: add handling of NOTIFY_RESUME to do_notify_resume()\n  m68k: add TIF_NOTIFY_RESUME and handle it.\n  sparc: kill ancient comment in sparc_sigaction()\n  h8300: missing checks of __get_user()/__put_user() return values\n  frv: missing checks of __get_user()/__put_user() return values\n  cris: missing checks of __get_user()/__put_user() return values\n  powerpc: missing checks of __get_user()/__put_user() return values\n  sh: missing checks of __get_user()/__put_user() return values\n  sparc: missing checks of __get_user()/__put_user() return values\n  avr32: struct old_sigaction is never used\n  m32r: struct old_sigaction is never used\n  xtensa: xtensa_sigaction doesn\u0027t exist\n  alpha: tidy signal delivery up\n  score: don\u0027t open-code force_sigsegv()\n  cris: don\u0027t open-code force_sigsegv()\n  blackfin: don\u0027t open-code force_sigsegv()\n  ...\n"
    },
    {
      "commit": "644473e9c60c1ff4f6351fed637a6e5551e3dce7",
      "tree": "10316518bedc735a2c6552886658d69dfd9f1eb0",
      "parents": [
        "fb827ec68446c83e9e8754fa9b55aed27ecc4661",
        "4b06a81f1daee668fbd6de85557bfb36dd36078f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 17:42:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 17:42:39 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace\n\nPull user namespace enhancements from Eric Biederman:\n \"This is a course correction for the user namespace, so that we can\n  reach an inexpensive, maintainable, and reasonably complete\n  implementation.\n\n  Highlights:\n   - Config guards make it impossible to enable the user namespace and\n     code that has not been converted to be user namespace safe.\n\n   - Use of the new kuid_t type ensures the if you somehow get past the\n     config guards the kernel will encounter type errors if you enable\n     user namespaces and attempt to compile in code whose permission\n     checks have not been updated to be user namespace safe.\n\n   - All uids from child user namespaces are mapped into the initial\n     user namespace before they are processed.  Removing the need to add\n     an additional check to see if the user namespace of the compared\n     uids remains the same.\n\n   - With the user namespaces compiled out the performance is as good or\n     better than it is today.\n\n   - For most operations absolutely nothing changes performance or\n     operationally with the user namespace enabled.\n\n   - The worst case performance I could come up with was timing 1\n     billion cache cold stat operations with the user namespace code\n     enabled.  This went from 156s to 164s on my laptop (or 156ns to\n     164ns per stat operation).\n\n   - (uid_t)-1 and (gid_t)-1 are reserved as an internal error value.\n     Most uid/gid setting system calls treat these value specially\n     anyway so attempting to use -1 as a uid would likely cause\n     entertaining failures in userspace.\n\n   - If setuid is called with a uid that can not be mapped setuid fails.\n     I have looked at sendmail, login, ssh and every other program I\n     could think of that would call setuid and they all check for and\n     handle the case where setuid fails.\n\n   - If stat or a similar system call is called from a context in which\n     we can not map a uid we lie and return overflowuid.  The LFS\n     experience suggests not lying and returning an error code might be\n     better, but the historical precedent with uids is different and I\n     can not think of anything that would break by lying about a uid we\n     can\u0027t map.\n\n   - Capabilities are localized to the current user namespace making it\n     safe to give the initial user in a user namespace all capabilities.\n\n  My git tree covers all of the modifications needed to convert the core\n  kernel and enough changes to make a system bootable to runlevel 1.\"\n\nFix up trivial conflicts due to nearby independent changes in fs/stat.c\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (46 commits)\n  userns:  Silence silly gcc warning.\n  cred: use correct cred accessor with regards to rcu read lock\n  userns: Convert the move_pages, and migrate_pages permission checks to use uid_eq\n  userns: Convert cgroup permission checks to use uid_eq\n  userns: Convert tmpfs to use kuid and kgid where appropriate\n  userns: Convert sysfs to use kgid/kuid where appropriate\n  userns: Convert sysctl permission checks to use kuid and kgids.\n  userns: Convert proc to use kuid/kgid where appropriate\n  userns: Convert ext4 to user kuid/kgid where appropriate\n  userns: Convert ext3 to use kuid/kgid where appropriate\n  userns: Convert ext2 to use kuid/kgid where appropriate.\n  userns: Convert devpts to use kuid/kgid where appropriate\n  userns: Convert binary formats to use kuid/kgid where appropriate\n  userns: Add negative depends on entries to avoid building code that is userns unsafe\n  userns: signal remove unnecessary map_cred_ns\n  userns: Teach inode_capable to understand inodes whose uids map to other namespaces.\n  userns: Fail exec for suid and sgid binaries with ids outside our user namespace.\n  userns: Convert stat to return values mapped from kuids and kgids\n  userns: Convert user specfied uids and gids in chown into kuids and kgid\n  userns: Use uid_eq gid_eq helpers when comparing kuids and kgids in the vfs\n  ...\n"
    },
    {
      "commit": "fb827ec68446c83e9e8754fa9b55aed27ecc4661",
      "tree": "e953aedce01fa1c90a8e7b591e40310c3c1e7447",
      "parents": [
        "d5b4bb4d103cd601d8009f2d3a7e44586c9ae7cc",
        "ef26a5a6eadb7cd0637e1e9e246cd42505b8ec8c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 17:34:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 17:34:09 2012 -0700"
      },
      "message": "Merge tag \u0027module-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\nPull module patches from Rusty Russell, who really sells them:\n \"Three trivial patches of no real utility.  Modules are boring.\"\n\nBut to make things slightly more exciting, he adds:\n \"Fortunately David Howells is looking to change this, with his module\n  signing patchset.  But that\u0027s for next merge window...\n\n  Cheers,\n  Rusty.\"\n\n* tag \u0027module-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  Guard check in module loader against integer overflow\n  modpost: use proper kernel style for autogenerated files\n  modpost: Stop grab_file() from leaking filedescriptors if fstat() fails\n"
    },
    {
      "commit": "468f4d1a855f8039dabf441b8bf68cae264033ff",
      "tree": "303ac5bc1ac3f86f136a30f9356e84f20dcbf13f",
      "parents": [
        "eb2689e06b3526c7684b09beecf26070f05ee825",
        "8714c8d74d313c3ba27bf9c2aaacb1ad71c644f8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 14:07:06 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 14:07:06 2012 -0700"
      },
      "message": "Merge tag \u0027pm-for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm\n\nPull power management updates from Rafael Wysocki:\n\n - Implementation of opportunistic suspend (autosleep) and user space\n   interface for manipulating wakeup sources.\n\n - Hibernate updates from Bojan Smojver and Minho Ban.\n\n - Updates of the runtime PM core and generic PM domains framework\n   related to PM QoS.\n\n - Assorted fixes.\n\n* tag \u0027pm-for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (25 commits)\n  epoll: Fix user space breakage related to EPOLLWAKEUP\n  PM / Domains: Make it possible to add devices to inactive domains\n  PM / Hibernate: Use get_gendisk to verify partition if resume_file is integer format\n  PM / Domains: Fix computation of maximum domain off time\n  PM / Domains: Fix link checking when add subdomain\n  PM / Sleep: User space wakeup sources garbage collector Kconfig option\n  PM / Sleep: Make the limit of user space wakeup sources configurable\n  PM / Documentation: suspend-and-cpuhotplug.txt: Fix typo\n  PM / Domains: Cache device stop and domain power off governor results, v3\n  PM / Domains: Make device removal more straightforward\n  PM / Sleep: Fix a mistake in a conditional in autosleep_store()\n  epoll: Add a flag, EPOLLWAKEUP, to prevent suspend while epoll events are ready\n  PM / QoS: Create device constraints objects on notifier registration\n  PM / Runtime: Remove device fields related to suspend time, v2\n  PM / Domains: Rework default domain power off governor function, v2\n  PM / Domains: Rework default device stop governor function, v2\n  PM / Sleep: Add user space interface for manipulating wakeup sources, v3\n  PM / Sleep: Add \"prevent autosleep time\" statistics to wakeup sources\n  PM / Sleep: Implement opportunistic sleep, v2\n  PM / Sleep: Add wakeup_source_activate and wakeup_source_deactivate tracepoints\n  ...\n"
    },
    {
      "commit": "6a31e1f135d1abfb5137697f889c8cd5d72eb522",
      "tree": "aa7de2d77705955a2f5c290b34c54104ada9ad8b",
      "parents": [
        "73787190d04a34e6da745da893b3ae8bedde418f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed May 23 15:35:17 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 23 15:35:17 2012 -0400"
      },
      "message": "ring-buffer: Check for valid buffer before changing size\n\nOn some machines the number of possible CPUS is not the same as the\nnumber of CPUs that is on the machine. Ftrace uses possible_cpus to\nupdate the tracing structures but the ring buffer only allocates\nper cpu buffers for online CPUs when they come up.\n\nWhen the wakeup tracer was enabled in such a case, the ftrace code\nenabled all possible cpu buffers, but the code in ring_buffer_resize()\ndid not check to see if the buffer in question was allocated. Since\nboot up CPUs did not match possible CPUs it caused the following\ncrash:\n\nBUG: unable to handle kernel NULL pointer dereference at 00000020\nIP: [\u003cc1097851\u003e] ring_buffer_resize+0x16a/0x28d\n*pde \u003d 00000000\nOops: 0000 [#1] PREEMPT SMP\nDumping ftrace buffer:\n   (ftrace buffer empty)\nModules linked in: [last unloaded: scsi_wait_scan]\n\nPid: 1387, comm: bash Not tainted 3.4.0-test+ #13                  /DG965MQ\nEIP: 0060:[\u003cc1097851\u003e] EFLAGS: 00010217 CPU: 0\nEIP is at ring_buffer_resize+0x16a/0x28d\nEAX: f5a14340 EBX: f6026b80 ECX: 00000ff4 EDX: 00000ff3\nESI: 00000000 EDI: 00000002 EBP: f4275ecc ESP: f4275eb0\n DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nCR0: 80050033 CR2: 00000020 CR3: 34396000 CR4: 000007d0\nDR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000\nDR6: ffff0ff0 DR7: 00000400\nProcess bash (pid: 1387, ti\u003df4274000 task\u003df4380cb0 task.ti\u003df4274000)\nStack:\n c109cf9a f6026b98 00000162 00160f68 00000006 00160f68 00000002 f4275ef0\n c109d013 f4275ee8 c123b72a c1c0bf00 c1cc81dc 00000005 f4275f98 00000007\n f4275f70 c109d0c7 7700000e 75656b61 00000070 f5e90900 f5c4e198 00000301\nCall Trace:\n [\u003cc109cf9a\u003e] ? tracing_set_tracer+0x115/0x1e9\n [\u003cc109d013\u003e] tracing_set_tracer+0x18e/0x1e9\n [\u003cc123b72a\u003e] ? _copy_from_user+0x30/0x46\n [\u003cc109d0c7\u003e] tracing_set_trace_write+0x59/0x7f\n [\u003cc10ec01e\u003e] ? fput+0x18/0x1c6\n [\u003cc11f8732\u003e] ? security_file_permission+0x27/0x2b\n [\u003cc10eaacd\u003e] ? rw_verify_area+0xcf/0xf2\n [\u003cc10ec01e\u003e] ? fput+0x18/0x1c6\n [\u003cc109d06e\u003e] ? tracing_set_tracer+0x1e9/0x1e9\n [\u003cc10ead77\u003e] vfs_write+0x8b/0xe3\n [\u003cc10ebead\u003e] ? fget_light+0x30/0x81\n [\u003cc10eaf54\u003e] sys_write+0x42/0x63\n [\u003cc1834fbf\u003e] sysenter_do_call+0x12/0x28\n\nThis happens with the latency tracer as the ftrace code updates the\nsaved max buffer via its cpumask and not with a global setting.\n\nAdding a check in ring_buffer_resize() to make sure the buffer being resized\nexists, fixes the problem.\n\nCc: Vaibhav Nagarnaik \u003cvnagarnaik@google.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "56edab315927d2a5ae6064b9fc083236a6fc278f",
      "tree": "1b00b00033d769d6039448b6d8feffcf86b06088",
      "parents": [
        "3813d4024a75562baf77d3907fb6afbf8f9c8232",
        "5bcdf5e4fee3c45e1281c25e4941f2163cb28c65",
        "ab0cce560ef177bdc7a8f73e9962be9d829a7b2c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 12:12:49 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 12:12:49 2012 -0700"
      },
      "message": "Merge branches \u0027perf-urgent-for-linus\u0027 and \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf fixes from Ingo Molnar:\n\n - Leftover AMD PMU driver fix fix from the end of the v3.4\n   stabilization cycle.\n\n - Late tools/perf/ changes that missed the first round:\n    * endianness fixes\n    * event parsing improvements\n    * libtraceevent fixes factored out from trace-cmd\n    * perl scripting engine fixes related to libtraceevent,\n    * testcase improvements\n    * perf inject / pipe mode fixes\n    * plus a kernel side fix\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  perf/x86: Update event scheduling constraints for AMD family 15h models\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  Revert \"sched, perf: Use a single callback into the scheduler\"\n  perf evlist: Show event attribute details\n  perf tools: Bump default sample freq to 4 kHz\n  perf buildid-list: Work better with pipe mode\n  perf tools: Fix piped mode read code\n  perf inject: Fix broken perf inject -b\n  perf tools: rename HEADER_TRACE_INFO to HEADER_TRACING_DATA\n  perf tools: Add union u64_swap type for swapping u64 data\n  perf tools: Carry perf_event_attr bitfield throught different endians\n  perf record: Fix documentation for branch stack sampling\n  perf target: Add cpu flag to sample_type if target has cpu\n  perf tools: Always try to build libtraceevent\n  perf tools: Rename libparsevent to libtraceevent in Makefile\n  perf script: Rename struct event to struct event_format in perl engine\n  perf script: Explicitly handle known default print arg type\n  perf tools: Add hardcoded name term for pmu events\n  perf tools: Separate \u0027mem:\u0027 event scanner bits\n  perf tools: Use allocated list for each parsed event\n  perf tools: Add support for displaying event parser debug info\n  perf test: Move parse event automated tests to separated object\n"
    },
    {
      "commit": "ec0d7f18ab7b5097d7c0c8f3d909ca1031b9d5cd",
      "tree": "7d62c924592145f819ecaa5d60460a05a10dfdbd",
      "parents": [
        "269af9a1a08d368b46d72e74126564d04c354f7e",
        "1dcc8d7ba235a316a056f993e88f0d18b92c60d9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 10:59:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 10:59:07 2012 -0700"
      },
      "message": "Merge branch \u0027x86-fpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull fpu state cleanups from Ingo Molnar:\n \"This tree streamlines further aspects of FPU handling by eliminating\n  the prepare_to_copy() complication and moving that logic to\n  arch_dup_task_struct().\n\n  It also fixes the FPU dumps in threaded core dumps, removes and old\n  (and now invalid) assumption plus micro-optimizes the exit path by\n  avoiding an FPU save for dead tasks.\"\n\nFixed up trivial add-add conflict in arch/sh/kernel/process.c that came\nin because we now do the FPU handling in arch_dup_task_struct() rather\nthan the legacy (and now gone) prepare_to_copy().\n\n* \u0027x86-fpu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, fpu: drop the fpu state during thread exit\n  x86, xsave: remove thread_has_fpu() bug check in __sanitize_i387_state()\n  coredump: ensure the fpu state is flushed for proper multi-threaded core dump\n  fork: move the real prepare_to_copy() users to arch_dup_task_struct()\n"
    },
    {
      "commit": "269af9a1a08d368b46d72e74126564d04c354f7e",
      "tree": "f0f2a8dd54075edebbb728602822e2b7378588d0",
      "parents": [
        "8ca038dc10eec80f280d9d483f1835ac2763a787",
        "8b5ad472991796b2347464922c72de2ca5a028f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 10:44:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 10:44:35 2012 -0700"
      },
      "message": "Merge branch \u0027x86-extable-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull exception table generation updates from Ingo Molnar:\n \"The biggest change here is to allow the build-time sorting of the\n  exception table, to speed up booting.  This is achieved by the\n  architecture enabling BUILDTIME_EXTABLE_SORT.  This option is enabled\n  for x86 and MIPS currently.\n\n  On x86 a number of fixes and changes were needed to allow build-time\n  sorting of the exception table, in particular a relocation invariant\n  exception table format was needed.  This required the abstracting out\n  of exception table protocol and the removal of 20 years of accumulated\n  assumptions about the x86 exception table format.\n\n  While at it, this tree also cleans up various other aspects of\n  exception handling, such as early(er) exception handling for\n  rdmsr_safe() et al.\n\n  All in one, as the result of these changes the x86 exception code is\n  now pretty nice and modern.  As an added bonus any regressions in this\n  code will be early and violent crashes, so if you see any of those,\n  you\u0027ll know whom to blame!\"\n\nFix up trivial conflicts in arch/{mips,x86}/Kconfig files due to nearby\nmodifications of other core architecture options.\n\n* \u0027x86-extable-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (35 commits)\n  Revert \"x86, extable: Disable presorted exception table for now\"\n  scripts/sortextable: Handle relative entries, and other cleanups\n  x86, extable: Switch to relative exception table entries\n  x86, extable: Disable presorted exception table for now\n  x86, extable: Add _ASM_EXTABLE_EX() macro\n  x86, extable: Remove open-coded exception table entries in arch/x86/ia32/ia32entry.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/include/asm/xsave.h\n  x86, extable: Remove open-coded exception table entries in arch/x86/include/asm/kvm_host.h\n  x86, extable: Remove the now-unused __ASM_EX_SEC macros\n  x86, extable: Remove open-coded exception table entries in arch/x86/xen/xen-asm_32.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/um/checksum_32.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/lib/usercopy_32.c\n  x86, extable: Remove open-coded exception table entries in arch/x86/lib/putuser.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/lib/getuser.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/lib/csum-copy_64.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/lib/copy_user_nocache_64.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/lib/copy_user_64.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/lib/checksum_32.S\n  x86, extable: Remove open-coded exception table entries in arch/x86/kernel/test_rodata.c\n  x86, extable: Remove open-coded exception table entries in arch/x86/kernel/entry_64.S\n  ...\n"
    },
    {
      "commit": "3a8580f82024e30b31c662aa49346adf7a3bcdb5",
      "tree": "7769a01f152b4081f4e4225e499082fd5c67b184",
      "parents": [
        "1d767cae4dbd4116fc3b2cc3251a20760f98339f",
        "2ccf62b36097aa88e0ea152d6ef0c0ca2d3884e6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 09:01:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 09:01:41 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml\n\nPull UML updates from Richard Weinberger:\n \"Most changes are bug fixes and cleanups\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:\n  um: missing checks of __put_user()/__get_user() return values\n  um: stub_rt_sigsuspend isn\u0027t needed these days anymore\n  um/x86: merge (and trim) 32- and 64-bit variants of ptrace.h\n  irq: Remove irq_chip-\u003erelease()\n  um: Remove CONFIG_IRQ_RELEASE_METHOD\n  um: Remove usage of irq_chip-\u003erelease()\n  um: Implement um_free_irq()\n  um: Fix __swp_type()\n  um: Implement a custom pte_same() function\n  um: Add BUG() to do_ops()\u0027s error path\n  um: Remove unused variables\n  um: bury unused _TIF_RESTORE_SIGMASK\n  um: wrong sigmask saved in case of multiple sigframes\n  um: add TIF_NOTIFY_RESUME\n  um: -\u003erestart_block.fn needs to be reset on sigreturn\n"
    },
    {
      "commit": "ab0cce560ef177bdc7a8f73e9962be9d829a7b2c",
      "tree": "d9875b21c42862201624eb7d9ea2c36f4ea4035d",
      "parents": [
        "26252ea675663d1bc6747125fcaa2b7cc4ed8a03"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@redhat.com",
        "time": "Wed May 23 13:13:02 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Wed May 23 17:40:51 2012 +0200"
      },
      "message": "Revert \"sched, perf: Use a single callback into the scheduler\"\n\nThis reverts commit cb04ff9ac424 (\"sched, perf: Use a single\ncallback into the scheduler\").\n\nBefore this change was introduced, the process switch worked\nlike this (wrt. to perf event schedule):\n\n     schedule (prev, next)\n       - schedule out all perf events for prev\n       - switch to next\n       - schedule in all perf events for current (next)\n\nAfter the commit, the process switch looks like:\n\n     schedule (prev, next)\n       - schedule out all perf events for prev\n       - schedule in all perf events for (next)\n       - switch to next\n\nThe problem is, that after we schedule perf events in, the pmu\nis enabled and we can receive events even before we make the\nswitch to next - so \"current\" still being prev process (event\nSAMPLE data are filled based on the value of the \"current\"\nprocess).\n\nThats exactly what we see for test__PERF_RECORD test. We receive\nSAMPLES with PID of the process that our tracee is scheduled\nfrom.\n\nDiscussed with Peter Zijlstra:\n\n \u003e Bah!, yeah I guess reverting is the right thing for now. Sad\n \u003e though.\n \u003e\n \u003e So by having the two hooks we have a black-spot between them\n \u003e where we receive no events at all, this black-spot covers the\n \u003e hand-over of current and we thus don\u0027t receive the \u0027wrong\u0027\n \u003e events.\n \u003e\n \u003e I rather liked we could do away with both that black-spot and\n \u003e clean up the code a little, but apparently people rely on it.\n\nSigned-off-by: Jiri Olsa \u003cjolsa@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: acme@redhat.com\nCc: paulus@samba.org\nCc: cjashfor@linux.vnet.ibm.com\nCc: fweisbec@gmail.com\nCc: eranian@google.com\nLink: http://lkml.kernel.org/r/20120523111302.GC1638@m.brq.redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "ef26a5a6eadb7cd0637e1e9e246cd42505b8ec8c",
      "tree": "94f8b1998d94080a842f94529f0d95cfe1bcc53a",
      "parents": [
        "3c7ec94d2c4a67d9663a080aa5080134308261c4"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue May 22 15:56:13 2012 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed May 23 22:28:53 2012 +0930"
      },
      "message": "Guard check in module loader against integer overflow\n\nThe check:\n\n\tif (len \u003c hdr-\u003ee_shoff + hdr-\u003ee_shnum * sizeof(Elf_Shdr))\n\nmay not work if there\u0027s an overflow in the right-hand side of the condition.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "e8650a08232e75274304b812ff04cfce9af9671c",
      "tree": "0609c942e6ca99016e788ff2ee2bbed1bb9215a4",
      "parents": [
        "3c2c4b73aa79e4a1b601710b59e092441175f4bb",
        "f70d4a95edc7da87f39cd8b603ba131df2c198ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 19:22:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 19:22:50 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial updates from Jiri Kosina:\n \"As usual, it\u0027s mostly typo fixes, redundant code elimination and some\n  documentation updates.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (57 commits)\n  edac, mips: don\u0027t change code that has been removed in edac/mips tree\n  xtensa: Change mail addresses of Hannes Weiner and Oskar Schirmer\n  lib: Change mail address of Oskar Schirmer\n  net: Change mail address of Oskar Schirmer\n  arm/m68k: Change mail address of Sebastian Hess\n  i2c: Change mail address of Oskar Schirmer\n  net: Fix tcp_build_and_update_options comment in struct tcp_sock\n  atomic64_32.h: fix parameter naming mismatch\n  Kconfig: replace \"--- help ---\" with \"---help---\"\n  c2port: fix bogus Kconfig \"default no\"\n  edac: Fix spelling errors.\n  qla1280: Remove redundant NULL check before release_firmware() call\n  remoteproc: remove redundant NULL check before release_firmware()\n  qla2xxx: Remove redundant NULL check before release_firmware() call.\n  aic94xx: Get rid of redundant NULL check before release_firmware() call\n  tehuti: delete redundant NULL check before release_firmware()\n  qlogic: get rid of a redundant test for NULL before call to release_firmware()\n  bna: remove redundant NULL test before release_firmware()\n  tg3: remove redundant NULL test before release_firmware() call\n  typhoon: get rid of redundant conditional before all to release_firmware()\n  ...\n"
    },
    {
      "commit": "d79ee93de909dfb252279b9a95978bbda9a814a9",
      "tree": "bfccca60fd36259ff4bcc5e78a2c272fbd680065",
      "parents": [
        "2ff2b289a695807e291e1ed9f639d8a3ba5f4254",
        "1c2927f18576d65631d8e0ddd19e1d023183222e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 18:27:32 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 18:27:32 2012 -0700"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler changes from Ingo Molnar:\n \"The biggest change is the cleanup/simplification of the load-balancer:\n  instead of the current practice of architectures twiddling scheduler\n  internal data structures and providing the scheduler domains in\n  colorfully inconsistent ways, we now have generic scheduler code in\n  kernel/sched/core.c:sched_init_numa() that looks at the architecture\u0027s\n  node_distance() parameters and (while not fully trusting it) deducts a\n  NUMA topology from it.\n\n  This inevitably changes balancing behavior - hopefully for the better.\n\n  There are various smaller optimizations, cleanups and fixlets as well\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Taint kernel with TAINT_WARN after sleep-in-atomic bug\n  sched: Remove stale power aware scheduling remnants and dysfunctional knobs\n  sched/debug: Fix printing large integers on 32-bit platforms\n  sched/fair: Improve the -\u003egroup_imb logic\n  sched/nohz: Fix rq-\u003ecpu_load[] calculations\n  sched/numa: Don\u0027t scale the imbalance\n  sched/fair: Revert sched-domain iteration breakage\n  sched/x86: Rewrite set_cpu_sibling_map()\n  sched/numa: Fix the new NUMA topology bits\n  sched/numa: Rewrite the CONFIG_NUMA sched domain support\n  sched/fair: Propagate \u0027struct lb_env\u0027 usage into find_busiest_group\n  sched/fair: Add some serialization to the sched_domain load-balance walk\n  sched/fair: Let minimally loaded cpu balance the group\n  sched: Change rq-\u003enr_running to unsigned int\n  x86/numa: Check for nonsensical topologies on real hw as well\n  x86/numa: Hard partition cpu topology masks on node boundaries\n  x86/numa: Allow specifying node_distance() for numa\u003dfake\n  x86/sched: Make mwait_usable() heed to \"idle\u003d\" kernel parameters properly\n  sched: Update documentation and comments\n  sched_rt: Avoid unnecessary dequeue and enqueue of pushable tasks in set_cpus_allowed_rt()\n"
    },
    {
      "commit": "2ff2b289a695807e291e1ed9f639d8a3ba5f4254",
      "tree": "e4b7f44e5cc1582ba2be8aeba221f4841f4c86a6",
      "parents": [
        "88d6ae8dc33af12fe1c7941b1fae2767374046fd",
        "73787190d04a34e6da745da893b3ae8bedde418f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 18:18:55 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 18:18:55 2012 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf changes from Ingo Molnar:\n \"Lots of changes:\n\n   - (much) improved assembly annotation support in perf report, with\n     jump visualization, searching, navigation, visual output\n     improvements and more.\n\n    - kernel support for AMD IBS PMU hardware features.  Notably \u0027perf\n      record -e cycles:p\u0027 and \u0027perf top -e cycles:p\u0027 should work without\n      skid now, like PEBS does on the Intel side, because it takes\n      advantage of IBS transparently.\n\n    - the libtracevents library: it is the first step towards unifying\n      tracing tooling and perf, and it also gives a tracing library for\n      external tools like powertop to rely on.\n\n    - infrastructure: various improvements and refactoring of the UI\n      modules and related code\n\n    - infrastructure: cleanup and simplification of the profiling\n      targets code (--uid, --pid, --tid, --cpu, --all-cpus, etc.)\n\n    - tons of robustness fixes all around\n\n    - various ftrace updates: speedups, cleanups, robustness\n      improvements.\n\n    - typing \u0027make\u0027 in tools/ will now give you a menu of projects to\n      build and a short help text to explain what each does.\n\n    - ... and lots of other changes I forgot to list.\n\n  The perf record make bzImage + perf report regression you reported\n  should be fixed.\"\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (166 commits)\n  tracing: Remove kernel_lock annotations\n  tracing: Fix initial buffer_size_kb state\n  ring-buffer: Merge separate resize loops\n  perf evsel: Create events initially disabled -- again\n  perf tools: Split term type into value type and term type\n  perf hists: Fix callchain ip printf format\n  perf target: Add uses_mmap field\n  ftrace: Remove selecting FRAME_POINTER with FUNCTION_TRACER\n  ftrace/x86: Have x86 ftrace use the ftrace_modify_all_code()\n  ftrace: Make ftrace_modify_all_code() global for archs to use\n  ftrace: Return record ip addr for ftrace_location()\n  ftrace: Consolidate ftrace_location() and ftrace_text_reserved()\n  ftrace: Speed up search by skipping pages by address\n  ftrace: Remove extra helper functions\n  ftrace: Sort all function addresses, not just per page\n  tracing: change CPU ring buffer state from tracing_cpumask\n  tracing: Check return value of tracing_dentry_percpu()\n  ring-buffer: Reset head page before running self test\n  ring-buffer: Add integrity check at end of iter read\n  ring-buffer: Make addition of pages in ring buffer atomic\n  ...\n"
    },
    {
      "commit": "88d6ae8dc33af12fe1c7941b1fae2767374046fd",
      "tree": "8f17415c0722b0a4d7511ac170cfb4e3802e1ad2",
      "parents": [
        "f5c101892fbd3d2f6d2729bc7eb7b3f6c31dbddd",
        "0d4dde1ac9a5af74ac76c6ab90557d1ae7b8f5d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 17:40:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 17:40:19 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup updates from Tejun Heo:\n \"cgroup file type addition / removal is updated so that file types are\n  added and removed instead of individual files so that dynamic file\n  type addition / removal can be implemented by cgroup and used by\n  controllers.  blkio controller changes which will come through block\n  tree are dependent on this.  Other changes include res_counter cleanup\n  and disallowing kthread / PF_THREAD_BOUND threads to be attached to\n  non-root cgroups.\n\n  There\u0027s a reported bug with the file type addition / removal handling\n  which can lead to oops on cgroup umount.  The issue is being looked\n  into.  It shouldn\u0027t cause problems for most setups and isn\u0027t a\n  security concern.\"\n\nFix up trivial conflict in Documentation/feature-removal-schedule.txt\n\n* \u0027for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (21 commits)\n  res_counter: Account max_usage when calling res_counter_charge_nofail()\n  res_counter: Merge res_counter_charge and res_counter_charge_nofail\n  cgroups: disallow attaching kthreadd or PF_THREAD_BOUND threads\n  cgroup: remove cgroup_subsys-\u003epopulate()\n  cgroup: get rid of populate for memcg\n  cgroup: pass struct mem_cgroup instead of struct cgroup to socket memcg\n  cgroup: make css-\u003erefcnt clearing on cgroup removal optional\n  cgroup: use negative bias on css-\u003erefcnt to block css_tryget()\n  cgroup: implement cgroup_rm_cftypes()\n  cgroup: introduce struct cfent\n  cgroup: relocate __d_cgrp() and __d_cft()\n  cgroup: remove cgroup_add_file[s]()\n  cgroup: convert memcg controller to the new cftype interface\n  memcg: always create memsw files if CONFIG_CGROUP_MEM_RES_CTLR_SWAP\n  cgroup: convert all non-memcg controllers to the new cftype interface\n  cgroup: relocate cftype and cgroup_subsys definitions in controllers\n  cgroup: merge cft_release_agent cftype array into the base files array\n  cgroup: implement cgroup_add_cftypes() and friends\n  cgroup: build list of all cgroups under a given cgroupfs_root\n  cgroup: move cgroup_clear_directory() call out of cgroup_populate_dir()\n  ...\n"
    },
    {
      "commit": "c54894cd4672d513e43e0d17d7b0387bf6b2c2c4",
      "tree": "85a540716d82570f98a92b85c66ea5875f983f46",
      "parents": [
        "fb09bafda67041b74a668dc9d77735e36bd33d3b",
        "4d82a1debbffec129cc387aafa8f40b7bbab3297"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 17:36:56 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 17:36:56 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\nPull workqueue changes from Tejun Heo:\n \"Nothing exciting.  Most are updates to debug stuff and related fixes.\n  Two not-too-critical bugs are fixed - WARN_ON() triggering spurious\n  during cpu offlining and unlikely lockdep related oops.\"\n\n* \u0027for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:\n  lockdep: fix oops in processing workqueue\n  workqueue: skip nr_running sanity check in worker_enter_idle() if trustee is active\n  workqueue: Catch more locking problems with flush_work()\n  workqueue: change BUG_ON() to WARN_ON()\n  trace: Remove unused workqueue tracer\n"
    },
    {
      "commit": "fb09bafda67041b74a668dc9d77735e36bd33d3b",
      "tree": "2dd32b65062a95045468fdcab366ecdb8e4fcac6",
      "parents": [
        "94b5aff4c6f72fee6b0f49d49e4fa8b204e8ded9",
        "c3c6cc91b0ae7b3d598488ad0b593bafba4a0817"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 16:34:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 16:34:21 2012 -0700"
      },
      "message": "Merge tag \u0027staging-3.5-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging\n\nPull staging tree changes from Greg Kroah-Hartman:\n \"Here is the big staging tree pull request for the 3.5-rc1 merge\n  window.\n\n  Loads of changes here, and we just narrowly added more lines than we\n  added:\n   622 files changed, 28356 insertions(+), 26059 deletions(-)\n\n  But, good news is that there is a number of subsystems that moved out\n  of the staging tree, to their respective \"real\" portions of the\n  kernel.\n\n  Code that moved out was:\n\t- iio core code\n\t- mei driver\n\t- vme core and bridge drivers\n\n  There was one broken network driver that moved into staging as a step\n  before it is removed from the tree (pc300), and there was a few new\n  drivers added to the tree:\n\t- new iio drivers\n\t- gdm72xx wimax USB driver\n\t- ipack subsystem and 2 drivers\n\n  All of the movements around have acks from the various subsystem\n  maintainers, and all of this has been in the linux-next tree for a\n  while.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\nFixed up various trivial conflicts, along with a non-trivial one found\nin -next and pointed out by Olof Johanssen: a clean - but incorrect -\nmerge of the arch/arm/boot/dts/at91sam9g20.dtsi file.  Fix up manually\nas per Stephen Rothwell.\n\n* tag \u0027staging-3.5-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (536 commits)\n  Staging: bcm: Remove two unused variables from Adapter.h\n  Staging: bcm: Removes the volatile type definition from Adapter.h\n  Staging: bcm: Rename all \"INT\" to \"int\" in Adapter.h\n  Staging: bcm: Fix warning: __packed vs. __attribute__((packed)) in Adapter.h\n  Staging: bcm: Correctly format all comments in Adapter.h\n  Staging: bcm: Fix all whitespace issues in Adapter.h\n  Staging: bcm: Properly format braces in Adapter.h\n  Staging: ipack/bridges/tpci200: remove unneeded casts\n  Staging: ipack/bridges/tpci200: remove TPCI200_SHORTNAME constant\n  Staging: ipack: remove board_name and bus_name fields from struct ipack_device\n  Staging: ipack: improve the register of a bus and a device in the bus.\n  staging: comedi: cleanup all the comedi_driver \u0027detach\u0027 functions\n  staging: comedi: remove all \u0027default N\u0027 in Kconfig\n  staging: line6/config.h: Delete unused header\n  staging: gdm72xx depends on NET\n  staging: gdm72xx: Set up parent link in sysfs for gdm72xx devices\n  staging: drm/omap: initial dmabuf/prime import support\n  staging: drm/omap: dmabuf/prime mmap support\n  pstore/ram: Add ECC support\n  pstore/ram: Switch to persistent_ram routines\n  ...\n"
    },
    {
      "commit": "5d4e2d08e7fdf7339f84a1c670d296a77e02f881",
      "tree": "1c419660defa56191091dfdf50fdb57a72009173",
      "parents": [
        "fb2123fad3b499f0898835b19dbb93b18d27ee98",
        "94ca629e40eb7e997be21d8065c25e4f3797b03f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 16:02:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 16:02:13 2012 -0700"
      },
      "message": "Merge tag \u0027driver-core-3.5-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core updates from Greg Kroah-Hartman:\n \"Here\u0027s the driver core, and other driver subsystems, pull request for\n  the 3.5-rc1 merge window.\n\n  Outside of a few minor driver core changes, we ended up with the\n  following different subsystem and core changes as well, due to\n  interdependancies on the driver core:\n   - hyperv driver updates\n   - drivers/memory being created and some drivers moved into it\n   - extcon driver subsystem created out of the old Android staging\n     switch driver code\n   - dynamic debug updates\n   - printk rework, and /dev/kmsg changes\n\n  All of this has been tested in the linux-next releases for a few weeks\n  with no reported problems.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\nFix up conflicts in drivers/extcon/extcon-max8997.c where git noticed\nthat a patch to the deleted drivers/misc/max8997-muic.c driver needs to\nbe applied to this one.\n\n* tag \u0027driver-core-3.5-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (90 commits)\n  uio_pdrv_genirq: get irq through platform resource if not set otherwise\n  memory: tegra{20,30}-mc: Remove empty *_remove()\n  printk() - isolate KERN_CONT users from ordinary complete lines\n  sysfs: get rid of some lockdep false positives\n  Drivers: hv: util: Properly handle version negotiations.\n  Drivers: hv: Get rid of an unnecessary check in vmbus_prep_negotiate_resp()\n  memory: tegra{20,30}-mc: Use dev_err_ratelimited()\n  driver core: Add dev_*_ratelimited() family\n  Driver Core: don\u0027t oops with unregistered driver in driver_find_device()\n  printk() - restore prefix/timestamp printing for multi-newline strings\n  printk: add stub for prepend_timestamp()\n  ARM: tegra30: Make MC optional in Kconfig\n  ARM: tegra20: Make MC optional in Kconfig\n  ARM: tegra30: MC: Remove unnecessary BUG*()\n  ARM: tegra20: MC: Remove unnecessary BUG*()\n  printk: correctly align __log_buf\n  ARM: tegra30: Add Tegra Memory Controller(MC) driver\n  ARM: tegra20: Add Tegra Memory Controller(MC) driver\n  printk() - restore timestamp printing at console output\n  printk() - do not merge continuation lines of different threads\n  ...\n"
    },
    {
      "commit": "b80fe1015be4e3c926d8eb4cc6a340fdd22a43e1",
      "tree": "0576e6aa286d683bef6c8faf416451bb30a17707",
      "parents": [
        "764e0da14fd7ac2d259d98d34ece0a87d32306c9",
        "d239f49d77ad9ffa442e700db3cab06d8b414cd1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 22 10:30:39 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue May 22 10:30:39 2012 +0200"
      },
      "message": "Merge branch \u0027fortglx/3.5/time\u0027 of git://git.linaro.org/people/jstultz/linux into timers/core\n"
    },
    {
      "commit": "68f3f16d9ad0f1e28ab3fd0001ab5798c41f15a3",
      "tree": "fd023109413f5eb28b364663fdf4bf2eabca47d4",
      "parents": [
        "bf67f3a5c456a18f2e8d062f7e88506ef2cd9837"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 21 21:42:32 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 21 23:52:30 2012 -0400"
      },
      "message": "new helper: sigsuspend()\n\nguts of saved_sigmask-based sigsuspend/rt_sigsuspend.  Takes\nkernel sigset_t *.\n\nOpen-coded instances replaced with calling it.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "471368557a734c6c486ee757952c902b36e7fd01",
      "tree": "f192a77d2cb70b1d135e7be62418806e8c590a3e",
      "parents": [
        "cb60e3e65c1b96a4d6444a7a13dc7dd48bc15a2b",
        "e0d8ffd1df44518cb9ac9b1807d1f13cc100fc2f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 20:33:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 20:33:19 2012 -0700"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core irq changes from Ingo Molnar:\n \"A collection of small fixes.\"\n\nBy Thomas Gleixner\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  hexagon: Remove select of not longer existing Kconfig switches\n  arm: Select core options instead of redefining them\n  genirq: Do not consider disabled wakeup irqs\n  genirq: Allow check_wakeup_irqs to notice level-triggered interrupts\n  genirq: Be more informative on irq type mismatch\n  genirq: Reject bogus threaded irq requests\n  genirq: Streamline irq_action\n"
    },
    {
      "commit": "cb60e3e65c1b96a4d6444a7a13dc7dd48bc15a2b",
      "tree": "4322be35db678f6299348a76ad60a2023954af7d",
      "parents": [
        "99262a3dafa3290866512ddfb32609198f8973e9",
        "ff2bb047c4bce9742e94911eeb44b4d6ff4734ab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 20:27:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 20:27:36 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security\n\nPull security subsystem updates from James Morris:\n \"New notable features:\n   - The seccomp work from Will Drewry\n   - PR_{GET,SET}_NO_NEW_PRIVS from Andy Lutomirski\n   - Longer security labels for Smack from Casey Schaufler\n   - Additional ptrace restriction modes for Yama by Kees Cook\"\n\nFix up trivial context conflicts in arch/x86/Kconfig and include/linux/filter.h\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (65 commits)\n  apparmor: fix long path failure due to disconnected path\n  apparmor: fix profile lookup for unconfined\n  ima: fix filename hint to reflect script interpreter name\n  KEYS: Don\u0027t check for NULL key pointer in key_validate()\n  Smack: allow for significantly longer Smack labels v4\n  gfp flags for security_inode_alloc()?\n  Smack: recursive tramsmute\n  Yama: replace capable() with ns_capable()\n  TOMOYO: Accept manager programs which do not start with / .\n  KEYS: Add invalidation support\n  KEYS: Do LRU discard in full keyrings\n  KEYS: Permit in-place link replacement in keyring list\n  KEYS: Perform RCU synchronisation on keys prior to key destruction\n  KEYS: Announce key type (un)registration\n  KEYS: Reorganise keys Makefile\n  KEYS: Move the key config into security/keys/Kconfig\n  KEYS: Use the compat keyctl() syscall wrapper on Sparc64 for Sparc32 compat\n  Yama: remove an unused variable\n  samples/seccomp: fix dependencies on arch macros\n  Yama: add additional ptrace scopes\n  ...\n"
    },
    {
      "commit": "bf67f3a5c456a18f2e8d062f7e88506ef2cd9837",
      "tree": "2a2324b2572162059307db82f9238eeb25673a77",
      "parents": [
        "226da0dbc84ed97f448523e2a4cb91c27fa68ed9",
        "203dacbdca977bedaba61ad2fca75d934060a5d5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 19:43:57 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 19:43:57 2012 -0700"
      },
      "message": "Merge branch \u0027smp-hotplug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull smp hotplug cleanups from Thomas Gleixner:\n \"This series is merily a cleanup of code copied around in arch/* and\n  not changing any of the real cpu hotplug horrors yet.  I wish I\u0027d had\n  something more substantial for 3.5, but I underestimated the lurking\n  horror...\"\n\nFix up trivial conflicts in arch/{arm,sparc,x86}/Kconfig and\narch/sparc/include/asm/thread_info_32.h\n\n* \u0027smp-hotplug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (79 commits)\n  um: Remove leftover declaration of alloc_task_struct_node()\n  task_allocator: Use config switches instead of magic defines\n  sparc: Use common threadinfo allocator\n  score: Use common threadinfo allocator\n  sh-use-common-threadinfo-allocator\n  mn10300: Use common threadinfo allocator\n  powerpc: Use common threadinfo allocator\n  mips: Use common threadinfo allocator\n  hexagon: Use common threadinfo allocator\n  m32r: Use common threadinfo allocator\n  frv: Use common threadinfo allocator\n  cris: Use common threadinfo allocator\n  x86: Use common threadinfo allocator\n  c6x: Use common threadinfo allocator\n  fork: Provide kmemcache based thread_info allocator\n  tile: Use common threadinfo allocator\n  fork: Provide weak arch_release_[task_struct|thread_info] functions\n  fork: Move thread info gfp flags to header\n  fork: Remove the weak insanity\n  sh: Remove cpu_idle_wait()\n  ...\n"
    },
    {
      "commit": "226da0dbc84ed97f448523e2a4cb91c27fa68ed9",
      "tree": "3969a9f612cd5596747ecde2066e65eacbab7d2e",
      "parents": [
        "5ec29e3149d800e6db83c1b6ff441daf319cbbe2",
        "2d84e023cb5ec00403ff5d447533c6fd58fcc7ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 19:26:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 19:26:51 2012 -0700"
      },
      "message": "Merge branch \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull RCU changes from Ingo Molnar:\n \"This is the v3.5 RCU tree from Paul E.  McKenney:\n\n 1) A set of improvements and fixes to the RCU_FAST_NO_HZ feature (with\n    more on the way for 3.6).  Posted to LKML:\n       https://lkml.org/lkml/2012/4/23/324 (commits 1-3 and 5),\n       https://lkml.org/lkml/2012/4/16/611 (commit 4),\n       https://lkml.org/lkml/2012/4/30/390 (commit 6), and\n       https://lkml.org/lkml/2012/5/4/410 (commit 7, combined with\n       the other commits for the convenience of the tester).\n\n 2) Changes to make rcu_barrier() avoid disrupting execution of CPUs\n    that have no RCU callbacks.  Posted to LKML:\n       https://lkml.org/lkml/2012/4/23/322.\n\n 3) A couple of commits that improve the efficiency of the interaction\n    between preemptible RCU and the scheduler, these two being all that\n    survived an abortive attempt to allow preemptible RCU\u0027s\n    __rcu_read_lock() to be inlined.  The full set was posted to LKML at\n    https://lkml.org/lkml/2012/4/14/143, and the first and third patches\n    of that set remain.\n\n 4) Lai Jiangshan\u0027s algorithmic implementation of SRCU, which includes\n    call_srcu() and srcu_barrier().  A major feature of this new\n    implementation is that synchronize_srcu() no longer disturbs the\n    execution of other CPUs.  This work is based on earlier\n    implementations by Peter Zijlstra and Paul E.  McKenney.  Posted to\n    LKML: https://lkml.org/lkml/2012/2/22/82.\n\n 5) A number of miscellaneous bug fixes and improvements which were\n    posted to LKML at: https://lkml.org/lkml/2012/4/23/353 with\n    subsequent updates posted to LKML.\"\n\n* \u0027core-rcu-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (32 commits)\n  rcu: Make rcu_barrier() less disruptive\n  rcu: Explicitly initialize RCU_FAST_NO_HZ per-CPU variables\n  rcu: Make RCU_FAST_NO_HZ handle timer migration\n  rcu: Update RCU maintainership\n  rcu: Make exit_rcu() more precise and consolidate\n  rcu: Move PREEMPT_RCU preemption to switch_to() invocation\n  rcu: Ensure that RCU_FAST_NO_HZ timers expire on correct CPU\n  rcu: Add rcutorture test for call_srcu()\n  rcu: Implement per-domain single-threaded call_srcu() state machine\n  rcu: Use single value to handle expedited SRCU grace periods\n  rcu: Improve srcu_readers_active_idx()\u0027s cache locality\n  rcu: Remove unused srcu_barrier()\n  rcu: Implement a variant of Peter\u0027s SRCU algorithm\n  rcu: Improve SRCU\u0027s wait_idx() comments\n  rcu: Flip -\u003ecompleted only once per SRCU grace period\n  rcu: Increment upper bit only for srcu_read_lock()\n  rcu: Remove fast check path from __synchronize_srcu()\n  rcu: Direct algorithmic SRCU implementation\n  rcu: Introduce rcutorture testing for rcu_barrier()\n  timer: Fix mod_timer_pinned() header comment\n  ...\n"
    },
    {
      "commit": "5ec29e3149d800e6db83c1b6ff441daf319cbbe2",
      "tree": "b23ecaff7078590215e91b2b6aa4c90c2d923e10",
      "parents": [
        "abd209b7083b2f3a2a19e522f688e7569f284e5d",
        "6ff968cca1dfebd4b6fcade87c11658dbfc96932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 19:25:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 19:25:14 2012 -0700"
      },
      "message": "Merge branch \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core locking updates from Ingo Molnar:\n \"This update:\n\n   - extends and simplifies x86 NMI callback handling code to enhance\n     and fix the HP hw-watchdog driver\n\n   - simplifies the x86 NMI callback handling code to fix a kmemcheck\n     bug.\n\n   - enhances the hung-task debugger\"\n\n* \u0027core-locking-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86/nmi: Fix the type of the nmiaction.flags field\n  x86/nmi: Fix page faults by nmiaction if kmemcheck is enabled\n  x86/nmi: Add new NMI queues to deal with IO_CHK and SERR\n  watchdog, hpwdt: Remove priority option for NMI callback\n  hung task debugging: Inject NMI when hung and going to panic\n"
    },
    {
      "commit": "d239f49d77ad9ffa442e700db3cab06d8b414cd1",
      "tree": "88332a452e25e70e9bd894cc840bfb66bc7ef15d",
      "parents": [
        "190d3b6b4ab0e1ce991e8bc94ad95f00b0dc476b"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Fri Apr 27 10:12:42 2012 +0200"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon May 21 16:20:32 2012 -0700"
      },
      "message": "timekeeping: Fix a few minor newline issues.\n\nFix a few minor newline issues.\n\nSigned-off-by: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "cd5398bed9296d1ddb21630ac17e90cd19a5c62e",
      "tree": "43952274d6c838eddcf3046e0a35053e3c0c11a9",
      "parents": [
        "dd48d708ff3e917f6d6b6c2b696c3f18c019feed"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Fri Apr 27 10:12:41 2012 +0200"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon May 21 16:16:56 2012 -0700"
      },
      "message": "ntp: Fix a stale comment and a few stray newlines.\n\nSigned-off-by: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "dd48d708ff3e917f6d6b6c2b696c3f18c019feed",
      "tree": "97c00e1e8967a3718636ebf05668f61316002da2",
      "parents": [
        "bdebaf80a02b854381fe212e0dac13c8c8edac57"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Thu Apr 26 14:11:32 2012 +0200"
      },
      "committer": {
        "name": "John Stultz",
        "email": "john.stultz@linaro.org",
        "time": "Mon May 21 16:16:54 2012 -0700"
      },
      "message": "ntp: Correct TAI offset during leap second\n\nWhen repeating a UTC time value during a leap second (when the UTC\ntime should be 23:59:60), the TAI timescale should not stop. The kernel\nNTP code increments the TAI offset one second too late. This patch fixes\nthe issue by incrementing the offset during the leap second itself.\n\nSigned-off-by: Richard Cochran \u003crichardcochran@gmail.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n"
    },
    {
      "commit": "764e0da14fd7ac2d259d98d34ece0a87d32306c9",
      "tree": "3d1c3065ca2f140f065c15c0b9645703241c68e7",
      "parents": [
        "bdebaf80a02b854381fe212e0dac13c8c8edac57"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 21 23:16:18 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 21 23:43:46 2012 +0200"
      },
      "message": "timers: Fixup the Kconfig consolidation fallout\n\nSigh, I missed to check which architecture Kconfig files actually\ninclude the core Kconfig file. There are a few which did not. So we\nbroke them.\n\nInstead of adding the includes to those, we are better off to move the\ninclude to init/Kconfig like we did already with irqs and others.\n\nThis does not change anything for the architectures using the old\nstyle periodic timer mode. It just solves the build wreckage there.\n\nFor those architectures which use the clock events infrastructure it\nmoves the include of the core Kconfig file to \"General setup\" which is\na way more logical place than having it at random locations specified\nby the architecture specific Kconfigs.\n\nReported-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Anna-Maria Gleixner \u003canna-maria@glx-um.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "875682648b89a3ebc06176d60dc280f810647839",
      "tree": "515e2e1d69b18954b6e750e5e1aa042cc29c6bee",
      "parents": [
        "985a94a96d294fe6d2c72d013de09b81b637ed58"
      ],
      "author": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Tue Apr 17 22:37:16 2012 +0200"
      },
      "committer": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Mon May 21 21:09:38 2012 +0200"
      },
      "message": "irq: Remove irq_chip-\u003erelease()\n\nAs it\u0027s only user (UML) does no longer need it we can get\nrid of it.\n\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b5e498ad67863cc877fb05e6a71ce58eda4fb2ca",
      "tree": "41800f004e3dfac860d39d9bc38d871564683231",
      "parents": [
        "b2d6aba9657c7e3d027dd43ac7d7c405e0079d46"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 18 09:59:57 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon May 21 11:01:40 2012 +0200"
      },
      "message": "timers: Provide generic Kconfig switches\n\nWe really don\u0027t want all the arch code defining stuff\nover and over.\n\n[ anna-maria: Added missing GENERIC_CMOS_UPDATE switch ]\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Anna-Maria Gleixner \u003canna-maria@glx-um.de\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nLink: http://lkml.kernel.org/r/1337529587.3208.2.camel@dionysos\nAcked-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\n"
    },
    {
      "commit": "6f5e3577d47aeb4ef39683cbf9e201554bc7054d",
      "tree": "62450b0532cbf68a749d34bf45c2ad145fccbdb2",
      "parents": [
        "bb27f55eb9405257a59c82550dbb0d684cc3a665",
        "895b67fd5830ce18a6f1375a7c062fcf84b4b874"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 21 09:44:36 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 21 09:44:36 2012 +0200"
      },
      "message": "Merge branch \u0027tip/perf/core-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/core\n"
    },
    {
      "commit": "bb27f55eb9405257a59c82550dbb0d684cc3a665",
      "tree": "bdab5866709e6ac7eeef7493d7d73bbd3d6231b6",
      "parents": [
        "b732d439cb43336cd6d7e804ecb2c81193ef63b0",
        "5e1c81d98a5621007824b49dde556fead5ff9c6c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 21 09:17:31 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Mon May 21 09:17:50 2012 +0200"
      },
      "message": "Merge branch \u0027perf/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core\n\nFixes for perf/core:\n\n - Rename some perf_target methods to avoid double negation, from Namhyung Kim.\n - Revert change to use per task events with inheritance, from Namhyung Kim.\n - Events should start disabled till children starts running, from David Ahern.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "4b06a81f1daee668fbd6de85557bfb36dd36078f",
      "tree": "5c5440d2abc6e279db81a0b9067d2fd54bcbbc10",
      "parents": [
        "8ca937a668d4be0b0c89c4fc9a912a5885ac06fe"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat May 19 15:44:06 2012 -0600"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat May 19 15:44:40 2012 -0600"
      },
      "message": "userns:  Silence silly gcc warning.\n\nOn 32bit builds gcc says:\nkernel/user.c:30:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]\nkernel/user.c:38:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]\n\nSilence gcc by changing the constant 4294967295 to 4294967295U.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "a87487e687ceafdc696b8cb1fb27e37cc463586b",
      "tree": "4fde950b0c81090673d04b7facb92c21785a15b2",
      "parents": [
        "54a9058860f2b7ed8d2fe5bf7be19bb901866dc2"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat May 19 12:15:35 2012 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat May 19 13:07:51 2012 -0600"
      },
      "message": "irqdomain: Document size parameter of irq_domain_add_linear()\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "54a9058860f2b7ed8d2fe5bf7be19bb901866dc2",
      "tree": "f6c779143685db48f32a480c3e3423dd6bd3cd4f",
      "parents": [
        "cb5557bec9f14d05204a9014ae1b23aca8b04f1d"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 19 15:11:47 2012 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat May 19 12:59:15 2012 -0600"
      },
      "message": "irqdomain: trivial pr_fmt conversion.\n\nConvert to pr_fmt before things start to get out of hand and some\njanitors start getting overly excited.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "5c5806e50b9fd4ca435acdf0eceddda64da9be5b",
      "tree": "09e831a978fb1d09cdcec36e705d04923ac36a25",
      "parents": [
        "ecd84eb20a08841197d6bbda5961dcf5f4e424fc"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 19 15:11:43 2012 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat May 19 12:35:33 2012 -0600"
      },
      "message": "irqdomain: Make irq_domain_simple_map() static.\n\nPresently irq_domain_simple_map() isn\u0027t labelled as static, but there\u0027s\nno definition for it in the public irqdomain header either. At present\nall in-tree -\u003emap users have meaningful work to do, and all others are\nusing irq_domain_simple_ops directly. Make it static for now, as it can\nalways be exported and added to the public API later.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "ecd84eb20a08841197d6bbda5961dcf5f4e424fc",
      "tree": "c8717474bf4c8bfca560d88ebd0f89be4d642e93",
      "parents": [
        "58ee99ada293b5ed971a023304fcfbc1a0ccdb1c"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 19 15:11:42 2012 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat May 19 12:34:38 2012 -0600"
      },
      "message": "irqdomain: Export remaining public API symbols.\n\nmodules making use of irq domains at the very least need access to the\nadd/remove/lookup routines, though there\u0027s nothing preventing them from\nusing the remainder of the public API, either.\n\nThe current set of exports seem primarily geared at DT-enabled platforms\nusing DT-backed IRQ domains, where many of the API accesses are hidden\naway in OF code. The non-DT cases need to do most of this on their own.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "58ee99ada293b5ed971a023304fcfbc1a0ccdb1c",
      "tree": "29faab64364615dda0cb373ee7dbd483ff89ce9c",
      "parents": [
        "36be50515fe2aef61533b516fa2576a2c7fe7664"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 19 15:11:41 2012 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat May 19 12:32:35 2012 -0600"
      },
      "message": "irqdomain: Support removal of IRQ domains.\n\nNow that IRQ domains are being used by modules it\u0027s necessary to support\nremoving them, too. This adds a new irq_domain_remove() routine for doing\nthe bulk of the heavy lifting. It\u0027s left as an exercise to the caller to\nensure all mappings have been appropriatey disposed of before attempting\nto remove the domain.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "895b67fd5830ce18a6f1375a7c062fcf84b4b874",
      "tree": "38f7d09da0f08b469c72ff3007d027212d400b9e",
      "parents": [
        "a591c73f127505cdbd0aa399a92112a8ddff8730"
      ],
      "author": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Mon Nov 07 09:23:22 2011 +0100"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat May 19 08:28:51 2012 -0400"
      },
      "message": "tracing: Remove kernel_lock annotations\n\nThe BKL is gone, these annotations are useless.\n\nLink: http://lkml.kernel.org/r/1320654202-4433-1-git-send-email-richard@nod.at\n\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a591c73f127505cdbd0aa399a92112a8ddff8730",
      "tree": "47eeb200977b79ddfbe3a6a26e8e38dc93bb5ff5",
      "parents": [
        "05fdd70d2fe1e34d8b80ec56d6e3272d9293653e"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Thu May 03 10:40:34 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat May 19 08:28:50 2012 -0400"
      },
      "message": "tracing: Fix initial buffer_size_kb state\n\nMake sure that the state of buffer_size_kb is initialized correctly and\nreturns actual size of the ring buffer.\n\nLink: http://lkml.kernel.org/r/1336066834-1673-1-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\n"
    },
    {
      "commit": "05fdd70d2fe1e34d8b80ec56d6e3272d9293653e",
      "tree": "eb9165b01bfa96341edcdf15acfa358bbc38268f",
      "parents": [
        "b732d439cb43336cd6d7e804ecb2c81193ef63b0"
      ],
      "author": {
        "name": "Vaibhav Nagarnaik",
        "email": "vnagarnaik@google.com",
        "time": "Fri May 18 13:29:51 2012 -0700"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Sat May 19 08:28:50 2012 -0400"
      },
      "message": "ring-buffer: Merge separate resize loops\n\nThere are 2 separate loops to resize cpu buffers that are online and\noffline. Merge them to make the code look better.\n\nAlso change the name from update_completion to update_done to allow\nshorter lines.\n\nLink: http://lkml.kernel.org/r/1337372991-14783-1-git-send-email-vnagarnaik@google.com\n\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\n"
    },
    {
      "commit": "2df83fa4bce421f8176932142f1004adfba0f9dd",
      "tree": "edd5051c5b388e82d8954ec09643873be9bc414c",
      "parents": [
        "4e585d25e120f1eae0a3a8bf8f6ebc7692afec18"
      ],
      "author": {
        "name": "Minho Ban",
        "email": "mhban@samsung.com",
        "time": "Mon May 14 21:45:31 2012 +0200"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri May 18 20:44:59 2012 +0200"
      },
      "message": "PM / Hibernate: Use get_gendisk to verify partition if resume_file is integer format\n\nSometimes resume\u003d parameter comes in integer style (e.g. major:minor)\nand then name_to_dev_t can not detect partition properly. (especially\nasync device like usb, mmc).\n\nThis patch calls get_gendisk() if resumewait is true and resume_file\nis in integer format to work around this problem.\n\nSigned-off-by: Minho Ban \u003cmhban@samsung.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "16ee6576e25b83806d26eb771138249fcfb5eddc",
      "tree": "7c717b80f28b5c59ba673dc00f2ca9bd0fc068d4",
      "parents": [
        "16fa7e8200fb9066b77a3f27cbed8e4a9fc71998",
        "9b63776fa3ca96c4ecda76f6fa947b7b0add66ac"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri May 18 13:13:33 2012 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri May 18 13:13:33 2012 -0300"
      },
      "message": "Merge remote-tracking branch \u0027tip/perf/urgent\u0027 into perf/core\n\nMerge reason: We are going to queue up a dependent patch:\n\n\"perf tools: Move parse event automated tests to separated object\"\n\nThat depends on:\n\ncommit e7c72d8\nperf tools: Add \u0027G\u0027 and \u0027H\u0027 modifiers to event parsing\n\nConflicts:\n\ttools/perf/builtin-stat.c\n\nConflicted with the recent \u0027perf_target\u0027 patches when checking the\nresult of perf_evsel open routines to see if a retry is needed to cope\nwith older kernels where the exclude guest/host perf_event_attr bits\nwere not used.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "1c2927f18576d65631d8e0ddd19e1d023183222e",
      "tree": "f085b43bde0e8f547eabcd51bdfcbff5ab332c2a",
      "parents": [
        "8e7fbcbc22c12414bcc9dfdd683637f58fb32759"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu May 10 16:20:04 2012 +0400"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Fri May 18 13:07:40 2012 +0200"
      },
      "message": "sched: Taint kernel with TAINT_WARN after sleep-in-atomic bug\n\nUsually sleep-in-atomic bugs are followed by dozens other warnings.\nThis patch should help to figure out original source of problem.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/20120510122004.4873.12726.stgit@zurg\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "8ca937a668d4be0b0c89c4fc9a912a5885ac06fe",
      "tree": "085d17219a0bbb7bd17eb60aab028256b2b5948d",
      "parents": [
        "b38a86eb196d9402299919456fe3f28e490c76fa"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Thu May 17 23:31:39 2012 +0200"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 17 16:50:06 2012 -0600"
      },
      "message": "cred: use correct cred accessor with regards to rcu read lock\n\nCommit \"userns: Convert setting and getting uid and gid system calls to use\nkuid and kgid has modified the accessors in wait_task_continued() and\nwait_task_stopped() to use __task_cred() instead of task_uid().\n\n__task_cred() assumes that we\u0027re inside a rcu read lock, which is untrue\nfor these two functions.\n\nModify it to use task_uid() instead.\n\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "31ae98359d26ff89b745c4f8094093cbf6ccbdc6",
      "tree": "38a555bdd527413626389815312419f6e3d78425",
      "parents": [
        "0e93b4b304ae052ba1bc73f6d34a68556fe93429",
        "9b63776fa3ca96c4ecda76f6fa947b7b0add66ac",
        "c3709e6734daa4d9b37fe31592ebb0eb57bae1bb",
        "30b4e9eb783d94e9f5d503b15eb31720679ae1c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 17 09:35:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 17 09:35:17 2012 -0700"
      },
      "message": "Merge branches \u0027perf-urgent-for-linus\u0027, \u0027x86-urgent-for-linus\u0027 and \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf, x86 and scheduler updates from Ingo Molnar.\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  tracing: Do not enable function event with enable\n  perf stat: handle ENXIO error for perf_event_open\n  perf: Turn off compiler warnings for flex and bison generated files\n  perf stat: Fix case where guest/host monitoring is not supported by kernel\n  perf build-id: Fix filename size calculation\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, kvm: KVM paravirt kernels don\u0027t check for CPUID being unavailable\n  x86: Fix section annotation of acpi_map_cpu2node()\n  x86/microcode: Ensure that module is only loaded on supported Intel CPUs\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched: Fix KVM and ia64 boot crash due to sched_groups circular linked list assumption\n"
    },
    {
      "commit": "8e7fbcbc22c12414bcc9dfdd683637f58fb32759",
      "tree": "a438021ddeadddd8f0745293aeb8c80dbe3c999c",
      "parents": [
        "fac536f7e4927f34d480dc066f3a578c743b8f0e"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Jan 09 11:28:35 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu May 17 13:48:56 2012 +0200"
      },
      "message": "sched: Remove stale power aware scheduling remnants and dysfunctional knobs\n\nIt\u0027s been broken forever (i.e. it\u0027s not scheduling in a power\naware fashion), as reported by Suresh and others sending\npatches, and nobody cares enough to fix it properly ...\nso remove it to make space free for something better.\n\nThere\u0027s various problems with the code as it stands today, first\nand foremost the user interface which is bound to topology\nlevels and has multiple values per level. This results in a\nstate explosion which the administrator or distro needs to\nmaster and almost nobody does.\n\nFurthermore large configuration state spaces aren\u0027t good, it\nmeans the thing doesn\u0027t just work right because it\u0027s either\nunder so many impossibe to meet constraints, or even if\nthere\u0027s an achievable state workloads have to be aware of\nit precisely and can never meet it for dynamic workloads.\n\nSo pushing this kind of decision to user-space was a bad idea\neven with a single knob - it\u0027s exponentially worse with knobs\non every node of the topology.\n\nThere is a proposal to replace the user interface with a single\n3 state knob:\n\n sched_balance_policy :\u003d { performance, power, auto }\n\nwhere \u0027auto\u0027 would be the preferred default which looks at things\nlike Battery/AC mode and possible cpufreq state or whatever the hw\nexposes to show us power use expectations - but there\u0027s been no\nprogress on it in the past many months.\n\nAside from that, the actual implementation of the various knobs\nis known to be broken. There have been sporadic attempts at\nfixing things but these always stop short of reaching a mergable\nstate.\n\nTherefore this wholesale removal with the hopes of spurring\npeople who care to come forward once again and work on a\ncoherent replacement.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Vincent Guittot \u003cvincent.guittot@linaro.org\u003e\nCc: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nLink: http://lkml.kernel.org/r/1326104915.2442.53.camel@twins\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "fac536f7e4927f34d480dc066f3a578c743b8f0e",
      "tree": "13c8ecc3ea9132dcad74412778a6e84112083012",
      "parents": [
        "13e099d2f77e1da3e4046860c48d956588633613",
        "30b4e9eb783d94e9f5d503b15eb31720679ae1c7"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu May 17 12:17:10 2012 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu May 17 12:17:12 2012 +0200"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n\nMerge reason: bring together all the pending scheduler bits,\n              for the sched/numa changes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "b732d439cb43336cd6d7e804ecb2c81193ef63b0",
      "tree": "8c89aec44ef3fbc6ff3e3afbf74ca5ded1354bc1",
      "parents": [
        "e4f5d5440bb860a3e8942ca8f7277a7f31798965"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Mon Apr 30 09:17:03 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 20:00:29 2012 -0400"
      },
      "message": "ftrace: Remove selecting FRAME_POINTER with FUNCTION_TRACER\n\nThe function tracer will enable the -pg option with gcc, which requires\nthat frame pointers. When FRAME_POINTER is defined in the kernel config\nit adds the gcc option -fno-omit-frame-pointer which causes some problems\non some architectures. For those architectures, the FRAME_POINTER select\nwas not set.\n\nWhen FUNCTION_TRACER was selected on these architectures that can not have\n-fno-omit-frame-pointer, the -pg option is still set. But when\nFRAME_POINTER is not selected, the kernel config would add the gcc option\n-fomit-frame-pointer. Adding this option is incompatible with -pg\neven on archs that do not need frame pointers with -pg.\n\nThe answer to this was to just not add either -fno-omit-frame-pointer\nor -fomit-frame-pointer on these archs that want function tracing\nbut do not set FRAME_POINTER.\n\nAs it turns out, for archs that require frame pointers for function\ntracing, the same can be used. If gcc requires frame pointers with\n-pg, it will simply add it. The best thing to do is not select FRAME_POINTER\nwhen function tracing is selected, and let gcc add it if needed.\n\nOnly add the -fno-omit-frame-pointer when something else selects\nFRAME_POINTER, but do not add -fomit-frame-pointer if function tracing\nis selected.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e4f5d5440bb860a3e8942ca8f7277a7f31798965",
      "tree": "324091109c5bbaae5a06e52a77369cf2731ebb54",
      "parents": [
        "8ed3e2cfe40ffe43630fd8efa34fc97c95b4c298"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Apr 27 09:13:18 2012 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed May 16 20:00:27 2012 -0400"
      },
      "message": "ftrace/x86: Have x86 ftrace use the ftrace_modify_all_code()\n\nTo remove duplicate code, have the ftrace arch_ftrace_update_code()\nuse the generic ftrace_modify_all_code(). This requires that the\ndefault ftrace_replace_code() becomes a weak function so that an\narch may override it.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    }
  ],
  "next": "8ed3e2cfe40ffe43630fd8efa34fc97c95b4c298"
}
