)]}'
{
  "log": [
    {
      "commit": "bf343dfd877ebf16cfbc31ba121606c5b6cef01f",
      "tree": "2829c831f6a517fb4e12b891bf03e12958fb1819",
      "parents": [
        "a610d6e672d6d3723e8da257ad4a8a288a8f2f89"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 27 01:18:52 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:49 2012 -0400"
      },
      "message": "don\u0027t call try_to_freeze() from do_signal()\n\nget_signal_to_deliver() will handle it itself\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": "5754f412a3f107cbcd93ee125bef296f2a07539b",
      "tree": "94c4e2224720fa74edebcd828f17e2fb31587199",
      "parents": [
        "39974d085d003163f61c65917c22d6c7620ffdb6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 26 23:52:33 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:49 2012 -0400"
      },
      "message": "sh64: failure to build sigframe !\u003d signal without handler\n\nit\u0027s actually \"send me SIGSEGV\"...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "39974d085d003163f61c65917c22d6c7620ffdb6",
      "tree": "2b12d2e5fdf7c62f69ae633e31973cec10410c00",
      "parents": [
        "b7f9a11a6cf1ea9ee6be3eb2b90d91327a09ad14"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 26 23:42:55 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:48 2012 -0400"
      },
      "message": "openrisc: tracehook_signal_handler() is supposed to be called on success\n\n... not if sigframe couldn\u0027t have been built.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b7f9a11a6cf1ea9ee6be3eb2b90d91327a09ad14",
      "tree": "7d5a5f469aea8ac2b3e1ab41e05a6abafcb2b694",
      "parents": [
        "51a7b448d4134e3e8eec633435e3e8faee14a828"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 02 09:59:21 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:48 2012 -0400"
      },
      "message": "new helper: sigmask_to_save()\n\nreplace boilerplate \"should we use -\u003esaved_sigmask or -\u003eblocked?\"\nwith calls of obvious inlined helper...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "51a7b448d4134e3e8eec633435e3e8faee14a828",
      "tree": "8fc58560ffee1c944ec5e198029d5c2e6f7c0bd3",
      "parents": [
        "4ebefe3ec729003443daf153ed6fad1739271283"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 21 23:33:55 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:47 2012 -0400"
      },
      "message": "new helper: restore_saved_sigmask()\n\nfirst fruits of ..._restore_sigmask() helpers: now we can take\nboilerplate \"signal didn\u0027t have a handler, clear RESTORE_SIGMASK\nand restore the blocked mask from -\u003esaved_mask\" into a common\nhelper.  Open-coded instances switched...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4ebefe3ec729003443daf153ed6fad1739271283",
      "tree": "cea05e7086314d200886fd3b76867e8fb5e6574b",
      "parents": [
        "754421c8cab1a568be844a7069fe04c1cf6391b8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 26 22:29:20 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 12:58:47 2012 -0400"
      },
      "message": "new helpers: {clear,test,test_and_clear}_restore_sigmask()\n\nhelpers parallel to set_restore_sigmask(), used in the next commits\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": "a00b6151a2ae4c52576c35d3998e144a993d50b8",
      "tree": "fc312be05c4deb4dead7a6afa09e88017d3a0146",
      "parents": [
        "08615d7d85e5aa02c05bf6c4dde87d940e7f85f6",
        "b108fe6b08f3f61c2c465649b20b7d4b4c185728"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:18:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:18:11 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5-take-2\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd update from Bruce Fields.\n\n* \u0027for-3.5-take-2\u0027 of git://linux-nfs.org/~bfields/linux: (23 commits)\n  nfsd: trivial: use SEEK_SET instead of 0 in vfs_llseek\n  SUNRPC: split upcall function to extract reusable parts\n  nfsd: allocate id-to-name and name-to-id caches in per-net operations.\n  nfsd: make name-to-id cache allocated per network namespace context\n  nfsd: make id-to-name cache allocated per network namespace context\n  nfsd: pass network context to idmap init/exit functions\n  nfsd: allocate export and expkey caches in per-net operations.\n  nfsd: make expkey cache allocated per network namespace context\n  nfsd: make export cache allocated per network namespace context\n  nfsd: pass pointer to export cache down to stack wherever possible.\n  nfsd: pass network context to export caches init/shutdown routines\n  Lockd: pass network namespace to creation and destruction routines\n  NFSd: remove hard-coded dereferences to name-to-id and id-to-name caches\n  nfsd: pass pointer to expkey cache down to stack wherever possible.\n  nfsd: use hash table from cache detail in nfsd export seq ops\n  nfsd: pass svc_export_cache pointer as private data to \"exports\" seq file ops\n  nfsd: use exp_put() for svc_export_cache put\n  nfsd: use cache detail pointer from svc_export structure on cache put\n  nfsd: add link to owner cache detail to svc_export structure\n  nfsd: use passed cache_detail pointer expkey_parse()\n  ...\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": "9fdadb2cbaf4b482dfd6086e8bd3d2db071a1702",
      "tree": "4a6e11e3379ee93c1992cfd595872dded1fd2fac",
      "parents": [
        "76f901eb4659779ecacd0e4eba49f55442daef53",
        "63bc620b45af8c743ac291c8725933278c712692"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:01:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:01:18 2012 -0700"
      },
      "message": "Merge branch \u0027drm-prime-vmap\u0027 of git://people.freedesktop.org/~airlied/linux\n\nPull drm prime mmap/vmap code from Dave Airlie:\n \"As mentioned previously these are the extra bits of drm that relied on\n  the dma-buf pull to work, the first three just stub out the mmap\n  interface, and the next set provide vmap export to i915/radeon/nouveau\n  and vmap import to udl.\"\n\n* \u0027drm-prime-vmap\u0027 of git://people.freedesktop.org/~airlied/linux:\n  radeon: add radeon prime vmap support.\n  nouveau: add vmap support to nouveau prime support\n  udl: support vmapping imported dma-bufs\n  i915: add dma-buf vmap support for exporting vmapped buffer\n  radeon: add stub dma-buf mmap functionality\n  nouveau: add stub dma-buf mmap functionality.\n  i915: add stub dma-buf mmap callback.\n"
    },
    {
      "commit": "0a4dd35c67b144d8ef9432120105f1aab9293ee9",
      "tree": "2a97fd06c650ea75cf8438ea90e0f50776248793",
      "parents": [
        "b32dfe377102ce668775f8b6b1461f7ad428f8b6"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Thu May 31 16:26:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:33 2012 -0700"
      },
      "message": "kconfig: update compression algorithm info\n\nThere have been new compression algorithms added without updating nearby\nrelevant descriptive text that refers to (a) the number of compression\nalgorithms and (b) the most recent one.  Fix these inconsistencies.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nReported-by: \u003cqasdfgtyuiop@gmail.com\u003e\nCc: Lasse Collin \u003classe.collin@tukaani.org\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nCc: Alain Knaff \u003calain@knaff.lu\u003e\nCc: Albin Tonnerre \u003calbin.tonnerre@free-electrons.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\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": "5b172087f99189416d5f47fd7ab5e6fb762a9ba3",
      "tree": "2619444e8ceee40df80814a1004687ac3d7f1eda",
      "parents": [
        "d97b46a64674a267bc41c9e16132ee2a98c3347d"
      ],
      "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": "c/r: procfs: add arg_start/end, env_start/end and exit_code members to /proc/$pid/stat\n\nWe would like to have an ability to restore command line arguments and\nprogram environment pointers but first we need to obtain them somehow.\nThus we put these values into /proc/$pid/stat.  The exit_code is needed to\nrestore zombie tasks.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Andrew Vagin \u003cavagin@openvz.org\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.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": "818411616baf46ceba0cff6f05af3a9b294734f7",
      "tree": "b6e338e20d4a45b6a05ffa37e6af33e0cc1b50c0",
      "parents": [
        "98ed57eef9f67dfe541be0bca34660ffc88365b2"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Thu May 31 16:26:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:32 2012 -0700"
      },
      "message": "fs, proc: introduce /proc/\u003cpid\u003e/task/\u003ctid\u003e/children entry\n\nWhen we do checkpoint of a task we need to know the list of children the\ntask, has but there is no easy and fast way to generate reverse\nparent-\u003echildren chain from arbitrary \u003cpid\u003e (while a parent pid is\nprovided in \"PPid\" field of /proc/\u003cpid\u003e/status).\n\nSo instead of walking over all pids in the system (creating one big\nprocess tree in memory, just to figure out which children a task has) --\nwe add explicit /proc/\u003cpid\u003e/task/\u003ctid\u003e/children entry, because the kernel\nalready has this kind of information but it is not yet exported.\n\nThis is a first level children, not the whole process tree.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@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": "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": "ac34ebb3a67e699edcb5ac72f19d31679369dfaa",
      "tree": "21785208005952128545c0d7804c2dddf177766f",
      "parents": [
        "ee62c6b2dc93c09585b51fad18449dc5edb9977f"
      ],
      "author": {
        "name": "Christopher Yeoh",
        "email": "cyeoh@au1.ibm.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": "aio/vfs: cleanup of rw_copy_check_uvector() and compat_rw_copy_check_uvector()\n\nA cleanup of rw_copy_check_uvector and compat_rw_copy_check_uvector after\nchanges made to support CMA in an earlier patch.\n\nRather than having an additional check_access parameter to these\nfunctions, the first paramater type is overloaded to allow the caller to\nspecify CHECK_IOVEC_ONLY which means check that the contents of the iovec\nare valid, but do not check the memory that they point to.  This is used\nby process_vm_readv/writev where we need to validate that a iovec passed\nto the syscall is valid but do not want to check the memory that it points\nto at this point because it refers to an address space in another process.\n\nSigned-off-by: Chris Yeoh \u003cyeohc@au1.ibm.com\u003e\nReviewed-by: 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": "ee62c6b2dc93c09585b51fad18449dc5edb9977f",
      "tree": "538f5338f6a00d1a4cee9e69ba74082747a452aa",
      "parents": [
        "71ca97da9d027009d318d319cbacf54a72f666c1"
      ],
      "author": {
        "name": "Sha Zhengju",
        "email": "handai.szj@taobao.com",
        "time": "Thu May 31 16:26:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:32 2012 -0700"
      },
      "message": "eventfd: change int to __u64 in eventfd_signal()\n\neventfd_ctx-\u003ecount is an __u64 counter which is allowed to reach\nULLONG_MAX.  eventfd_write() adds a __u64 value to \"count\", but the kernel\nside eventfd_signal() only adds an int value to it.  Make them consistent.\n\n[akpm@linux-foundation.org: update interface documentation]\nSigned-off-by: Sha Zhengju \u003chandai.szj@taobao.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "71ca97da9d027009d318d319cbacf54a72f666c1",
      "tree": "ba55ee244f453a6d4f5366acdc677fb6c68156e9",
      "parents": [
        "00c10bc13cdb58447d6bb2a003afad7bd60f5a5f"
      ],
      "author": {
        "name": "Vladimir Serbinenko",
        "email": "phcoder@gmail.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": "fs/nls: add Apple NLS\n\nHFS has support for NLS.  However the relevant NLS tables are missing.\nHere they are automatically transformed from the tables at unicode.org.\nCodepages requiring special handling like CJK, RTL or Brahmic ones are not\nincluded in this patch.\n\n[akpm@linux-foundation.org: add unicode.org copyright and permission notices]\nSigned-off-by: Vladimir Serbinenko \u003cphcoder@gmail.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\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": "9eaa3d9bb2c4da99b1161cfcc63f3e77d9d3d156",
      "tree": "d3ad133b7742ed47db6750f524c4ee895790b2a2",
      "parents": [
        "e42d98ebe7d754a2c9fbccd6186721d3ca8679f6"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.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": "rapidio/tsi721: add DMA engine support\n\nAdds support for DMA Engine API into Tsi721 mport driver.\n\nIncludes following changes for Tsi721 driver:\n- Modifies BDMA register offset definitions to support per-channel handling\n- Separates BDMA channel reserved for RIO Maintenance requests\n- Adds DMA Engine callback routines\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Dan Williams \u003cdan.j.williams@intel.com\u003e\nCc: Vinod Koul \u003cvinod.koul@intel.com\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e42d98ebe7d754a2c9fbccd6186721d3ca8679f6",
      "tree": "eed734672410f2eb8fab07fbd14f88bfaf8a882f",
      "parents": [
        "ce2d52cc1364a22fc1a161781e60ee3cbb499a6d"
      ],
      "author": {
        "name": "Alexandre Bounine",
        "email": "alexandre.bounine@idt.com",
        "time": "Thu May 31 16:26:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "rapidio: add DMA engine support for RIO data transfers\n\nAdds DMA Engine framework support into RapidIO subsystem.\n\nUses DMA Engine DMA_SLAVE interface to generate data transfers to/from\nremote RapidIO target devices.\n\nIntroduces RapidIO-specific wrapper for prep_slave_sg() interface with an\nextra parameter to pass target specific information.\n\nUses scatterlist to describe local data buffer.  Address flat data buffer\non a remote side.\n\nSigned-off-by: Alexandre Bounine \u003calexandre.bounine@idt.com\u003e\nCc: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-by: Vinod Koul \u003cvinod.koul@linux.intel.com\u003e\nCc: Li Yang \u003cleoli@freescale.com\u003e\nCc: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce2d52cc1364a22fc1a161781e60ee3cbb499a6d",
      "tree": "f21a7a5ddfdfc0a470304268928c047399e71c7a",
      "parents": [
        "7820b0715b6fb1378fab41b27fb7aa3950852cb7"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "ipc/mqueue: add rbtree node caching support\n\nWhen I wrote the first patch that added the rbtree support for message\nqueue insertion, it sped up the case where the queue was very full\ndrastically from the original code.  It, however, slowed down the case\nwhere the queue was empty (not drastically though).\n\nThis patch caches the last freed rbtree node struct so we can quickly\nreuse it when we get a new message.  This is the common path for any queue\nthat very frequently goes from 0 to 1 then back to 0 messages in queue.\n\nAndrew Morton didn\u0027t like that we were doing a GFP_ATOMIC allocation in\nmsg_insert, so this patch attempts to speculatively allocate a new node\nstruct outside of the spin lock when we know we need it, but will still\nfall back to a GFP_ATOMIC allocation if it has to.\n\nOnce I added the caching, the necessary various ret \u003d ; spin_unlock\ngyrations in mq_timedsend were getting pretty ugly, so this also slightly\nrefactors that function to streamline the flow of the code and the\nfunction exit.\n\nFinally, while working on getting performance back I made sure that all of\nthe node structs were always fully initialized when they were first used,\nrendering the use of kzalloc unnecessary and a waste of CPU cycles.\n\nThe net result of all of this is:\n\n1) We will avoid a GFP_ATOMIC allocation when possible, but fall back\n   on it when necessary.\n\n2) We will speculatively allocate a node struct using GFP_KERNEL if our\n   cache is empty (and save the struct to our cache if it\u0027s still empty\n   after we have obtained the spin lock).\n\n3) The performance of the common queue empty case has significantly\n   improved and is now much more in line with the older performance for\n   this case.\n\nThe performance changes are:\n\n            Old mqueue      new mqueue      new mqueue + caching\nqueue empty\nsend/recv   305/288ns       349/318ns       310/322ns\n\nI don\u0027t think we\u0027ll ever be able to get the recv performance back, but\nthat\u0027s because the old recv performance was a direct result and\nconsequence of the old methods abysmal send performance.  The recv path\nsimply must do more so that the send path does not incur such a penalty\nunder higher queue depths.\n\nAs it turns out, the new caching code also sped up the various queue full\ncases relative to my last patch.  That could be because of the difference\nbetween the syscall path in 3.3.4-rc5 and 3.3.4-rc6, or because of the\nchange in code flow in the mq_timedsend routine.  Regardless, I\u0027ll take\nit.  It wasn\u0027t huge, and I *would* say it was within the margin for error,\nbut after many repeated runs what I\u0027m seeing is that the old numbers trend\nslightly higher (about 10 to 20ns depending on which test is the one\nrunning).\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: 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": "7820b0715b6fb1378fab41b27fb7aa3950852cb7",
      "tree": "f5720d49643717253c6c427fab45300ba4818bdf",
      "parents": [
        "113289cc086f80f28acd06f160a7c6423cdd4191"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "tools/selftests: add mq_perf_tests\n\nAdd the mq_perf_tests tool I used when creating my mq performance patch.\nAlso add a local .gitignore to keep the binaries from showing up in git\nstatus output.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\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": "113289cc086f80f28acd06f160a7c6423cdd4191",
      "tree": "4a50ff35f9cc0b320985a76b5f2e8313635b0f81",
      "parents": [
        "2c12ea498f349207c28840c0ed9654321aab7720"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "ipc/mqueue: strengthen checks on mqueue creation\n\nWe already check the mq attr struct if it\u0027s passed in, but now that the\nadmin can set system wide defaults separate from maximums, it\u0027s actually\npossible to set the defaults to something that would overflow.  So, if\nthere is no attr struct passed in to the open call, check the default\nvalues.\n\nWhile we are at it, simplify mq_attr_ok() by making it return 0 or an\nerror condition, so that way if we add more tests to it later, we have the\noption of what error should be returned instead of the calling location\nhaving to pick a possibly inaccurate error code.\n\n[akpm@linux-foundation.org: s/ENOMEM/EOVERFLOW/]\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\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": "2c12ea498f349207c28840c0ed9654321aab7720",
      "tree": "ef0f938e66a8a8b038e5c6be29e7f27294023c7e",
      "parents": [
        "d6629859b36d953a4b1369b749f178736911bf10"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "ipc/mqueue: correct mq_attr_ok test\n\nWhile working on the other parts of the mqueue stuff, I noticed that the\ncalculation for overflow in mq_attr_ok didn\u0027t actually match reality (this\nis especially true since my last patch which changed how we account memory\nslightly).\n\nIn particular, we used to test for overflow using:\n  msgs * msgsize + msgs * sizeof(struct msg_msg *)\n\nThat was never really correct because each message we allocate via\nload_msg() is actually a struct msg_msg followed by the data for the\nmessage (and if struct msg_msg + data exceeds PAGE_SIZE we end up\nallocating struct msg_msgseg structs too, but accounting for them would\nget really tedious, so let\u0027s ignore those...they\u0027re only a pointer in size\nanyway).  This patch updates the calculation to be more accurate in\nregards to maximum possible memory consumption by the mqueue.\n\n[akpm@linux-foundation.org: add a local to simplify overflow-checking expression]\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\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": "d6629859b36d953a4b1369b749f178736911bf10",
      "tree": "154cfc0d8ff3b65f59b9052bcc41edaabf974063",
      "parents": [
        "50069a5851323ba5def0e414a21e234345016870"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "ipc/mqueue: improve performance of send/recv\n\nThe existing implementation of the POSIX message queue send and recv\nfunctions is, well, abysmal.  Even worse than abysmal.  I submitted a\npatch to increase the maximum POSIX message queue limit to 65536 due to\ncustomer needs, however, upon looking over the send/recv implementation, I\nrealized that my customer needs help with that too even if they don\u0027t know\nit.  The basic problem is that, given the fairly typical use case scenario\nfor a large queue of queueing lots of messages all at the same priority (I\nverified with my customer that this is indeed what their app does), the\nmsg_insert routine is basically a frikkin\u0027 bubble sort.  I mean, whoa,\nthat\u0027s *so* middle school.\n\nOK, OK, to not slam the original author too much, I\u0027m sure they didn\u0027t\nenvision a queue depth of 50,000+ messages.  No one would think that\nmoving elements in an array, one at a time, and dereferencing each pointer\nin that array to check priority of the message being pointed too, again\none at a time, for 50,000+ times would be good.  So let\u0027s assume that, as\nis typical, the users have found a way to break our code simply by using\nit in a way we didn\u0027t envision.  Fair enough.\n\n\"So, just how broken is it?\", you ask.  I wondered the same thing, so I\nwrote an app to let me know.  It\u0027s my next patch.  It gave me some\ninteresting results.  Here\u0027s what it tested:\n\nInterference with other apps - In continuous mode, the app just sits there\nand hits a message queue forever, while you go do something productive on\nanother terminal using other CPUs.  You then measure how long it takes you\nto do that something productive.  Then you restart the app in fake\ncontinuous mode, and it sits in a tight loop on a CPU while you repeat\nyour tests.  The whole point of this is to keep one CPU tied up (so it\ncan\u0027t be used in your other work) but in one case tied up hitting the\nmqueue code so we can see the effect of walking that 65,528 element array\none pointer at a time on the global CPU cache.  If it\u0027s bad, then it will\nslow down your app on the other CPUs just by polluting cache mercilessly.\nIn the fake case, it will be in a tight loop, but not polluting cache.\nTesting the mqueue subsystem directly - Here we just run a number of tests\nto see how the mqueue subsystem performs under different conditions.  A\ncouple conditions are known to be worst case for the old system, and some\nroutines, so this tests all of them.\n\nSo, on to the results already:\n\nSubsystem/Test                  Old                         New\n\nTime to compile linux\nkernel (make -j12 on a\n6 core CPU)\n  Running mqueue test     user 49m10.744s             user 45m26.294s\n\t\t\t   sys  5m51.924s              sys  4m59.894s\n\t\t\t total 55m02.668s            total 50m26.188s\n\n  Running fake test       user 45m32.686s             user 45m18.552s\n                           sys  5m12.465s              sys  4m56.468s\n                         total 50m45.151s            total 50m15.020s\n\n  % slowdown from mqueue\n    cache thrashing            ~8%                         ~.5%\n\nAvg time to send/recv (in nanoseconds per message)\n  when queue empty            305/288                    349/318\n  when queue full (65528 messages)\n    constant priority      526589/823                    362/314\n    increasing priority    403105/916                    495/445\n    decreasing priority     73420/594                    482/409\n    random priority        280147/920                    546/436\n\nTime to fill/drain queue (65528 messages, in seconds)\n  constant priority         17.37/.12                    .13/.12\n  increasing priority        4.14/.14                    .21/.18\n  decreasing priority       12.93/.13                    .21/.18\n  random priority            8.88/.16                    .22/.17\n\nSo, I think the results speak for themselves.  It\u0027s possible this\nimplementation could be improved by cacheing at least one priority level\nin the node tree (that would bring the queue empty performance more in\nline with the old implementation), but this works and is *so* much better\nthan what we had, especially for the common case of a single priority in\nuse, that further refinements can be in follow on patches.\n\n[akpm@linux-foundation.org: fix typo in comment, remove stray semicolon]\n[levinsasha928@gmail.com: use correct gfp flags in msg_insert]\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Sasha Levin \u003clevinsasha928@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": "50069a5851323ba5def0e414a21e234345016870",
      "tree": "b7a6af308f2416e0da77adc7b59bfa5e84d61989",
      "parents": [
        "cef0184c115e5e4e10498f6548d9526465e72478"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "selftests: add mq_open_tests\n\nAdd a directory to house POSIX message queue subsystem specific tests.\nAdd first test which checks the operation of mq_open() under various\ncorner conditions.\n\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cef0184c115e5e4e10498f6548d9526465e72478",
      "tree": "752c4116e0f93328239db9ff2c2ed730fef3ce0e",
      "parents": [
        "fd1f87d24d492fda464bedf10a5dd5174ff9b065"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 31 16:26:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "mqueue: separate mqueue default value from maximum value\n\nCommit b231cca4381e (\"message queues: increase range limits\") changed\nmqueue default value when attr parameter is specified NULL from hard\ncoded value to fs.mqueue.{msg,msgsize}_max sysctl value.\n\nThis made large side effect.  When user need to use two mqueue\napplications 1) using !NULL attr parameter and it require big message\nsize and 2) using NULL attr parameter and only need small size message,\napp (1) require to raise fs.mqueue.msgsize_max and app (2) consume large\nmemory size even though it doesn\u0027t need.\n\nDoug Ledford propsed to switch back it to static hard coded value.\nHowever it also has a compatibility problem.  Some applications might\nstarted depend on the default value is tunable.\n\nThe solution is to separate default value from maximum value.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nAcked-by: Doug Ledford \u003cdledford@redhat.com\u003e\nAcked-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd1f87d24d492fda464bedf10a5dd5174ff9b065",
      "tree": "fe2de6c714277ee2ea739d1bfa81a0e539f0a46a",
      "parents": [
        "e6315bb154e778391ce64b194756bd3d108dadf6"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 31 16:26:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "mqueue: don\u0027t use kmalloc with KMALLOC_MAX_SIZE\n\nKMALLOC_MAX_SIZE is not a good threshold.  It is extremely high and\nproblematic.  Unfortunately, some silly drivers depend on this and we\ncan\u0027t change it.  But any new code needn\u0027t use such extreme ugly high\norder allocations.  It brings us awful fragmentation issues and system\nslowdown.\n\nSigned-off-by: KOSAKI Motohiro \u003cmkosaki@jp.fujitsu.com\u003e\nAcked-by: Doug Ledford \u003cdledford@redhat.com\u003e\nAcked-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6315bb154e778391ce64b194756bd3d108dadf6",
      "tree": "6b0df724ed5e52058f61261d93f807ea0ee77d11",
      "parents": [
        "5b5c4d1a1440e94994c73dddbad7be0676cd8b9a"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 31 16:26:31 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:31 2012 -0700"
      },
      "message": "mqueue: revert bump up DFLT_*MAX\n\nMqueue limitation is slightly naieve parameter likes other ipcs because\nunprivileged user can consume kernel memory by using ipcs.\n\nThus, too aggressive raise bring us security issue.  Example, current\nsetting allow evil unprivileged user use 256GB (\u003d 256 * 1024 * 1024*1024)\nand it\u0027s enough large to system will belome unresponsive.  Don\u0027t do that.\n\nInstead, every admin should adjust the knobs for their own systems.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Doug Ledford \u003cdledford@redhat.com\u003e\nAcked-by: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nCc: Dave Hansen \u003chaveblue@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": "5b5c4d1a1440e94994c73dddbad7be0676cd8b9a",
      "tree": "fe00ef0f888fbfc40b7542fd8a66cf3368d3d2c7",
      "parents": [
        "02967ea08ede0f8cc7e0526aedffdae65a099b07"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "ipc/mqueue: update maximums for the mqueue subsystem\n\nCommit b231cca4381e (\"message queues: increase range limits\") changed the\nmaximum size of a message in a message queue from INT_MAX to 8192*128.\nUnfortunately, we had customers that relied on a size much larger than\n8192*128 on their production systems.  After reviewing POSIX, we found\nthat it is silent on the maximum message size.  We did find a couple other\nareas in which it was not silent.  Fix up the mqueue maximums so that the\ncustomer\u0027s system can continue to work, and document both the POSIX and\nreal world requirements in ipc_namespace.h so that we don\u0027t have this\nissue crop back up.\n\nAlso, commit 9cf18e1dd74cd0 (\"ipc: HARD_MSGMAX should be higher not lower\non 64bit\") fiddled with HARD_MSGMAX without realizing that the number was\nintentionally in place to limit the msg queue depth to one that was small\nenough to kmalloc an array of pointers (hence why we divided 128k by\nsizeof(long)).  If we wish to meet POSIX requirements, we have no choice\nbut to change our allocation to a vmalloc instead (at least for the large\nqueue size case).  With that, it\u0027s possible to increase our allowed\nmaximum to the POSIX requirements (or more if we choose).\n\n[sfr@canb.auug.org.au: using vmalloc requires including vmalloc.h]\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02967ea08ede0f8cc7e0526aedffdae65a099b07",
      "tree": "da66e39cf3023f437f43db1f58d510c99b8478fd",
      "parents": [
        "858ee3784e8105467f1f3017f4ece51cb51d4830"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "ipc/mqueue: enforce hard limits\n\nIn two places we don\u0027t enforce the hard limits for CAP_SYS_RESOURCE apps.\nIn preparation for making more reasonable hard limits, start enforcing\nthem even on CAP_SYS_RESOURCE.\n\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "858ee3784e8105467f1f3017f4ece51cb51d4830",
      "tree": "c95f55ff8bd29be3a8648acc21118a47b07d117b",
      "parents": [
        "93e6f119c0ce8a1bba6e81dc8dd97d67be360844"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "ipc/mqueue: switch back to using non-max values on create\n\nCommit b231cca4381e (\"message queues: increase range limits\") changed\nhow we create a queue that does not include an attr struct passed to\nopen so that it creates the queue with whatever the maximum values are.\nHowever, if the admin has set the maximums to allow flexibility in\ncreating a queue (aka, both a large size and large queue are allowed,\nbut combined they create a queue too large for the RLIMIT_MSGQUEUE of\nthe user), then attempts to create a queue without an attr struct will\nfail.  Switch back to using acceptable defaults regardless of what the\nmaximums are.\n\nNote: so far, we only know of a few applications that rely on this\nbehavior (specifically, set the maximums in /proc, then run the\napplication which calls mq_open() without passing in an attr struct, and\nthe application expects the newly created message queue to have the\nmaximum sizes that were set in /proc used on the mq_open() call, and all\nof those applications that we know of are actually part of regression\ntest suites that were coded to do something like this:\n\nfor size in 4096 65536 $((1024 * 1024)) $((16 * 1024 * 1024)); do\n\techo $size \u003e /proc/sys/fs/mqueue/msgsize_max\n\tmq_open || echo \"Error opening mq with size $size\"\ndone\n\nThese test suites that depend on any behavior like this are broken.  The\nconcept that programs should rely upon the system wide maximum in order\nto get their desired results instead of simply using a attr struct to\nspecify what they want is fundamentally unfriendly programming practice\nfor any multi-tasking OS.\n\nFixing this will break those few apps that we know of (and those app\nauthors recognize the brokenness of their code and the need to fix it).\nHowever, the following patch \"mqueue: separate mqueue default value\"\nallows a workaround in the form of new knobs for the default msg queue\ncreation parameters for any software out there that we don\u0027t already\nknow about that might rely on this behavior at the moment.\n\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93e6f119c0ce8a1bba6e81dc8dd97d67be360844",
      "tree": "6d5131b4134d7aa6ba680a6a55f016bd6e03f319",
      "parents": [
        "29a5c67e7a78815fda0567a867adce467f6e6e5a"
      ],
      "author": {
        "name": "Doug Ledford",
        "email": "dledford@redhat.com",
        "time": "Thu May 31 16:26:28 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "ipc/mqueue: cleanup definition names and locations\n\nSince commit b231cca4381e (\"message queues: increase range limits\") on\nOct 18, 2008, calls to mq_open() that did not pass in an attribute\nstruct and expected to get default values for the size of the queue and\nthe max message size now get the system wide maximums instead of\nhardwired defaults like they used to get.\n\nThis was uncovered when one of the earlier patches in this patch set\nincreased the default system wide maximums at the same time it increased\nthe hard ceiling on the system wide maximums (a customer specifically\nneeded the hard ceiling brought back up, the new ceiling that commit\nb231cca4381e introduced was too low for their production systems).  By\nincreasing the default maximums and not realising they were tied to any\nattempt to create a message queue without an attribute struct, I had\ninadvertently made it such that all message queue creation attempts\nwithout an attribute struct were failing because the new default\nmaximums would create a queue that exceeded the default rlimit for\nmessage queue bytes.\n\nAs a result, the system wide defaults were brought back down to their\nprevious levels, and the system wide ceilings on the maximums were\nraised to meet the customer\u0027s needs.  However, the fact that the no\nattribute struct behavior of mq_open() could be broken by changing the\nsystem wide maximums for message queues was seen as fundamentally broken\nitself.  So we hardwired the no attribute case back like it used to be.\nBut, then we realized that on the very off chance that some piece of\nsoftware in the wild depended on that behavior, we could work around\nthat issue by adding two new knobs to /proc that allowed setting the\ndefaults for message queues created without an attr struct separately\nfrom the system wide maximums.\n\nWhat is not an option IMO is to leave the current behavior in place.  No\npiece of software should ever rely on setting the system wide maximums\nin order to get a desired message queue.  Such a reliance would be so\nfundamentally multitasking OS unfriendly as to not really be tolerable.\nFortunately, we don\u0027t know of any software in the wild that uses this\nexcept for a regression test program that caught the issue in the first\nplace.  If there is though, we have made accommodations with the two new\n/proc knobs (and that\u0027s all the accommodations such fundamentally broken\nsoftware can be allowed)..\n\nThis patch:\n\nThe various defines for minimums and maximums of the sysctl controllable\nmqueue values are scattered amongst different files and named\ninconsistently.  Move them all into ipc_namespace.h and make them have\nconsistent names.  Additionally, make the number of queues per namespace\nalso have a minimum and maximum and use the same sysctl function as the\nother two settable variables.\n\nSigned-off-by: Doug Ledford \u003cdledford@redhat.com\u003e\nAcked-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Amerigo Wang \u003camwang@redhat.com\u003e\nCc: Joe Korty \u003cjoe.korty@ccur.com\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29a5c67e7a78815fda0567a867adce467f6e6e5a",
      "tree": "79033c85c4d2a4875e4b17e292f015495b97457b",
      "parents": [
        "e4cc2f873ad0833aa5c4aca56bebe15b9603a1e7"
      ],
      "author": {
        "name": "maximilian attems",
        "email": "max@stro.at",
        "time": "Thu May 31 16:26:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "kexec: export kexec.h to user space\n\nAdd userspace definitions, guard all relevant kernel structures.  While at\nit document stuff and remove now useless userspace hint.\n\nIt is easy to add the relevant system call to respective libc\u0027s, but it\nseems pointless to have to duplicate the data structures.\n\nThis is based on the kexec-tools headers, with the exception of just using\nint on return (succes or failure) and using size_t instead of \u0027unsigned\nlong int\u0027 for the number of segments argument of kexec_load().\n\nSigned-off-by: maximilian attems \u003cmax@stro.at\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nCc: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nCc: Haren Myneni \u003chbabu@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.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": "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": "2c922c51e6924298f8271d75732964f1ffdecaf2",
      "tree": "7ce86f8702cdf9ad93ad37064654fa21a43f411b",
      "parents": [
        "137d1a26c842a384c98dd2a6a605014fddf5c777"
      ],
      "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": "um: properly check all process\u0027 threads for a live mm\n\nkill_off_processes() might miss a valid process, this is because checking\nfor process-\u003emm is not enough.  Process\u0027 main thread may exit or detach\nits mm via use_mm(), but other threads may still have a valid mm.\n\nTo catch this we use find_lock_task_mm(), which walks up all threads and\nreturns an appropriate task (with task lock held).\n\nSuggested-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "137d1a26c842a384c98dd2a6a605014fddf5c777",
      "tree": "615db05121d00f246e1aa5b461f173c54c5391dd",
      "parents": [
        "9bd0a077122a6b15069aab7a59c8f50f736fa1dd"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "um: fix possible race on task-\u003emm\n\nChecking for task-\u003emm is dangerous as -\u003emm might disappear (exit_mm()\nassigns NULL under task_lock(), so tasklist lock is not enough).\n\nWe can\u0027t use get_task_mm()/mmput() pair as mmput() might sleep, so let\u0027s\ntake the task lock while we care about its mm.\n\nNote that we should also use find_lock_task_mm() to check all process\u0027\nthreads for a valid mm, but for uml we\u0027ll do it in a separate patch.\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\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9bd0a077122a6b15069aab7a59c8f50f736fa1dd",
      "tree": "f76eefc0b3bdb46a01e394cecbf9ac42935bc4cc",
      "parents": [
        "af1be5a578a1ccc9961c55290f8c509a00a69036"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:25 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "um: should hold tasklist_lock while traversing processes\n\nTraversing the tasks requires holding tasklist_lock, otherwise it is\nunsafe.\n\np.s.  However, I\u0027m not sure that calling os_kill_ptraced_process() in the\natomic context is correct.  It seem to work, but please take a closer\nlook.\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\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af1be5a578a1ccc9961c55290f8c509a00a69036",
      "tree": "f8659ba36228582a114c7809bdf580640eb626cf",
      "parents": [
        "2214f707de257c35773d5cd68cec9e31b91e01ca"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "blackfin: fix possible deadlock in decode_address()\n\nOleg Nesterov found an interesting deadlock possibility:\n\n\u003e sysrq_showregs_othercpus() does smp_call_function(showacpu)\n\u003e and showacpu() show_stack()-\u003edecode_address(). Now suppose that IPI\n\u003e interrupts the task holding read_lock(tasklist).\n\nTo fix this, blackfin should not grab the write_ variant of the\ntasklist lock, read_ one is enough.\n\nSuggested-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2214f707de257c35773d5cd68cec9e31b91e01ca",
      "tree": "c25a6a2b3f83704fbf03efa6d6c5f8e6ee15c856",
      "parents": [
        "1198c8b9af611bb697d92259095d7cc20f5c961d"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "blackfin: a couple of task-\u003emm handling fixes\n\nThe patch fixes two problems:\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\n   We can\u0027t use get_task_mm()/mmput() pair as mmput() might sleep,\n   so we have to take the task lock while handle its mm.\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\n   To catch this we use find_lock_task_mm(), which walks up all\n   threads and returns an appropriate task (with task lock held).\n\nSuggested-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1198c8b9af611bb697d92259095d7cc20f5c961d",
      "tree": "bfb72d1ba5f362aca38cf09857e3d9fcc05dd60a",
      "parents": [
        "73863ab028579ed98c4f1f36d016536b1b415344"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:30 2012 -0700"
      },
      "message": "sh: use clear_tasks_mm_cpumask()\n\nChecking for process-\u003emm is not enough because process\u0027 main thread may\nexit or detach its mm via use_mm(), but other threads may still have a\nvalid mm.\n\nTo fix this we would need to use find_lock_task_mm(), which would walk up\nall threads and returns an appropriate task (with task lock held).\n\nclear_tasks_mm_cpumask() has the issue fixed, so let\u0027s use it.\n\nSuggested-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.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": "73863ab028579ed98c4f1f36d016536b1b415344",
      "tree": "8ad66593e4b2ebd7f32acdb2e53dc0bb8dd201f5",
      "parents": [
        "3eaa73bde2fb475b731a0fde7dd11c3ecfb8679c"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "anton.vorontsov@linaro.org",
        "time": "Thu May 31 16:26:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "powerpc: use clear_tasks_mm_cpumask()\n\nCurrent CPU hotplug code has some task-\u003emm handling issues:\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\n   We can\u0027t use get_task_mm()/mmput() pair as mmput() might sleep,\n   so we must take the task lock while handle its mm.\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\n   To fix this we would need to use find_lock_task_mm(), which would\n   walk up all threads and returns an appropriate task (with task\n   lock held).\n\nclear_tasks_mm_cpumask() has all the issues fixed, so let\u0027s use it.\n\nSuggested-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3eaa73bde2fb475b731a0fde7dd11c3ecfb8679c",
      "tree": "23c087b9be927d334c3eb3b08f746a8675dae3b9",
      "parents": [
        "cb79295e20a8088a2fd6a9b3cb5f2d889ec36b4d"
      ],
      "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": "arm: use clear_tasks_mm_cpumask()\n\nChecking for process-\u003emm is not enough because process\u0027 main thread may\nexit or detach its mm via use_mm(), but other threads may still have a\nvalid mm.\n\nTo fix this we would need to use find_lock_task_mm(), which would walk up\nall threads and returns an appropriate task (with task lock held).\n\nclear_tasks_mm_cpumask() has this issue fixed, so let\u0027s use it.\n\nSuggested-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Anton Vorontsov \u003canton.vorontsov@linaro.org\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\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": "bca15543736f9be6d84e0bbc262ea7069076b9e6",
      "tree": "dbca9451c0478011b51a623b32f3b04305e75212",
      "parents": [
        "b1d4d9e0cbd0aecf40c3572e0c8f98de31b3b328"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu May 31 16:26:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "proc/smaps: show amount of nonlinear ptes in vma\n\nCurrently, nonlinear mappings can not be distinguished from ordinary\nmappings.  This patch adds into /proc/pid/smaps line \"Nonlinear: \u003csize\u003e\nkB\", where size is amount of nonlinear ptes in vma, this line appears only\nif VM_NONLINEAR is set.  This information may be useful not only for\ncheckpoint/restore project.\n\nRequested by Pavel Emelyanov.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "b1d4d9e0cbd0aecf40c3572e0c8f98de31b3b328",
      "tree": "5b3dca11bdaa14ce3e34e86016f98634d56fef07",
      "parents": [
        "052fb0d635df5d49dfc85687d94e1a87bf09378d"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu May 31 16:26:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "proc/smaps: carefully handle migration entries\n\nCurrently smaps reports migration entries as \"swap\", as result \"swap\" can\nappears in shared mapping.\n\nThis patch converts migration entries into pages and handles them as usual.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@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": "052fb0d635df5d49dfc85687d94e1a87bf09378d",
      "tree": "2cde635970974b44a7363e5e940d38f20de46d39",
      "parents": [
        "715be1fce0d964aca15618b24f6f415f3cbd03c8"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu May 31 16:26:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "proc: report file/anon bit in /proc/pid/pagemap\n\nThis is an implementation of Andrew\u0027s proposal to extend the pagemap file\nbits to report what is missing about tasks\u0027 working set.\n\nThe problem with the working set detection is multilateral.  In the criu\n(checkpoint/restore) project we dump the tasks\u0027 memory into image files\nand to do it properly we need to detect which pages inside mappings are\nreally in use.  The mincore syscall I though could help with this did not.\n First, it doesn\u0027t report swapped pages, thus we cannot find out which\nparts of anonymous mappings to dump.  Next, it does report pages from page\ncache as present even if they are not mapped, and it doesn\u0027t make that has\nnot been cow-ed.\n\nNote, that issue with swap pages is critical -- we must dump swap pages to\nimage file.  But the issues with file pages are optimization -- we can\ntake all file pages to image, this would be correct, but if we know that a\npage is not mapped or not cow-ed, we can remove them from dump file.  The\ndump would still be self-consistent, though significantly smaller in size\n(up to 10 times smaller on real apps).\n\nAndrew noticed, that the proc pagemap file solved 2 of 3 above issues --\nit reports whether a page is present or swapped and it doesn\u0027t report not\nmapped page cache pages.  But, it doesn\u0027t distinguish cow-ed file pages\nfrom not cow-ed.\n\nI would like to make the last unused bit in this file to report whether the\npage mapped into respective pte is PageAnon or not.\n\n[comment stolen from Pavel Emelyanov\u0027s v1 patch]\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nCc: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\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": "715be1fce0d964aca15618b24f6f415f3cbd03c8",
      "tree": "6bac84d87b61252ce109c361755109a91af009cc",
      "parents": [
        "af5e6171437c9d62d84459b24877c94c23782676"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu May 31 16:26:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "procfs: use more apprioriate types when dumping /proc/N/stat\n\n- use int fpr priority and nice, since task_nice()/task_prio() return that\n\n- field 24: get_mm_rss() returns unsigned long\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af5e6171437c9d62d84459b24877c94c23782676",
      "tree": "06ee8cef7f47a0f4facd84f7676c39001965e549",
      "parents": [
        "f05ed3f1abefd37c08fbf08c766d2abd40607777"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu May 31 16:26:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "proc: pass \"fd\" by value in /proc/*/{fd,fdinfo} code\n\nPass \"fd\" directly, not via pointer -- one less memory read.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@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": "f05ed3f1abefd37c08fbf08c766d2abd40607777",
      "tree": "f938f73f6f3ee4bab88ada21212371cd023eca63",
      "parents": [
        "2344bec788b097b2d1198758bd29c583812b864e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu May 31 16:26:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "proc: don\u0027t do dummy rcu_read_lock/rcu_read_unlock on error path\n\nrcu_read_lock()/rcu_read_unlock() is nop for TINY_RCU, but is not a nop\nfor, say, PREEMPT_RCU.\n\nproc_fill_cache() is called without RCU lock, there is no need to\nlock/unlock on error path, simply jump out of the loop.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@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": "2344bec788b097b2d1198758bd29c583812b864e",
      "tree": "3ffcf64931b7935ee4e16b81fb6ec6b732436dfa",
      "parents": [
        "e7dcd9990e42ccfc798d4eb55e2dbf9d7d434c6b"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Thu May 31 16:26:18 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:29 2012 -0700"
      },
      "message": "proc: use mm_access() instead of ptrace_may_access()\n\nmm_access() handles this much better, and avoids some race conditions.\n\nSigned-off-by: Cong Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7dcd9990e42ccfc798d4eb55e2dbf9d7d434c6b",
      "tree": "ab9d03a5caa1e3fa5b65a9614f699a05632d33c6",
      "parents": [
        "b409e578d9a4ec95913e06d8fea2a33f1754ea69"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Thu May 31 16:26:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "proc: remove mm_for_maps()\n\nmm_for_maps() is a simple wrapper for mm_access(), and the name is\nmisleading, so just remove it and use mm_access() directly.\n\nSigned-off-by: Cong Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b409e578d9a4ec95913e06d8fea2a33f1754ea69",
      "tree": "408c5080300bd44410191e3a60477a6ca713343f",
      "parents": [
        "168eeccbc956d2ec083c3a513f7706784ee0dc5f"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "xiyou.wangcong@gmail.com",
        "time": "Thu May 31 16:26:17 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "proc: clean up /proc/\u003cpid\u003e/environ handling\n\nSimilar to e268337dfe26 (\"proc: clean up and fix /proc/\u003cpid\u003e/mem\nhandling\"), move the check of permission to open(), this will simplify\nread() code.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Cong Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\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": "f0aac6162e945590057dcfb841bdce8fd18ed4f6",
      "tree": "d27e953fb571ac22dfbfc8a5a251066586742fe8",
      "parents": [
        "b742c341539fc8b8386ef72f0e95758f39fbb4c8"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "linkinjeon@gmail.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": "fat: use fat_msg_ratelimit() in fat__get_entry()\n\nIf an application tries to lookup (opendir/readdir/stat) 5000 files on a\nfatfs USB device and the device is unplugged, many message occur, shown\nbelow.  This makes the application slow.  So use the new\nfat_msg_ratelimit() decrease the messaging rate.\n\n  #\u003e ./file_lookup_testcase ./files_directory/\n  usb 2-1.4: USB disconnect, device number 4\n  FAT-fs (sda1): FAT read failed (blocknr 2631)\n  FAT-fs (sda1): Directory bread(block 396816) failed\n  FAT-fs (sda1): Directory bread(block 396817) failed\n  FAT-fs (sda1): Directory bread(block 396818) failed\n  FAT-fs (sda1): Directory bread(block 396819) failed\n  FAT-fs (sda1): Directory bread(block 396820) failed\n  FAT-fs (sda1): Directory bread(block 396821) failed\n  FAT-fs (sda1): Directory bread(block 396822) failed\n  FAT-fs (sda1): Directory bread(block 396823) failed\n  FAT-fs (sda1): Directory bread(block 406824) failed\n  FAT-fs (sda1): Directory bread(block 406825) failed\n  FAT-fs (sda1): Directory bread(block 406826) failed\n  FAT-fs (sda1): Directory bread(block 406827) failed\n  FAT-fs (sda1): Directory bread(block 406828) failed\n  FAT-fs (sda1): Directory bread(block 406829) failed\n  FAT-fs (sda1): Directory bread(block 406830) failed\n  FAT-fs (sda1): Directory bread(block 406831) failed\n  FAT-fs (sda1): Directory bread(block 417696) failed\n  FAT-fs (sda1): Directory bread(block 417697) failed\n  FAT-fs (sda1): Directory bread(block 417698) failed\n  FAT-fs (sda1): Directory bread(block 417699) failed\n  FAT-fs (sda1): Directory bread(block 417700) failed\n  FAT-fs (sda1): Directory bread(block 417701) failed\n  FAT-fs (sda1): Directory bread(block 417702) failed\n  FAT-fs (sda1): Directory bread(block 417703) failed\n  FAT-fs (sda1): FAT read failed (blocknr 2631)\n  FAT-fs (sda1): Directory bread(block 396816) failed\n  FAT-fs (sda1): Directory bread(block 396817) failed\n  FAT-fs (sda1): Directory bread(block 396818) failed\n  FAT-fs (sda1): Directory bread(block 396819) failed\n  FAT-fs (sda1): Directory bread(block 396820) failed\n  FAT-fs (sda1): Directory bread(block 396821) failed\n\nSigned-off-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Amit Sahrawat \u003camit.sahrawat83@gmail.com\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b742c341539fc8b8386ef72f0e95758f39fbb4c8",
      "tree": "ce074fbb28923b08904823128ec0167d9df266da",
      "parents": [
        "78491189ddb6d84d4a4abae992ed891a236d0263"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "linkinjeon@gmail.com",
        "time": "Thu May 31 16:26:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "fat: add fat_msg_ratelimit()\n\nAdd a fat_msg_ratelimit() to limit the message generation rate.\n\nSigned-off-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Amit Sahrawat \u003camit.sahrawat83@gmail.com\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78491189ddb6d84d4a4abae992ed891a236d0263",
      "tree": "f451b46a2c0a505b6812b696e03604b8613b3df0",
      "parents": [
        "330fe3c4c6509e0418c434b5bcf80e65cffab477"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu May 31 16:26:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "fat: switch to fsinfo_inode\n\nCurrently FAT file-system maps the VFS \"superblock\" abstraction to the\nFSINFO block.  The FSINFO block contains non-essential data about the\namount of free clusters and the next free cluster.  FAT file-system can\nalways find out this information by scanning the FAT table, but having it\nin the FSINFO block may speed things up sometimes.  So FAT file-system\nrelies on the VFS superblock write-out services to make sure the FSINFO\nblock is written out to the media from time to time.\n\nThe whole \"superblock write-out\" VFS infrastructure is served by the\n\u0027sync_supers()\u0027 kernel thread, which wakes up every 5 (by default) seconds\nand writes out all dirty superblock using the \u0027-\u003ewrite_super()\u0027 call-back.\n But the problem with this thread is that it wastes power by waking up the\nsystem every 5 seconds no matter what.  So we want to kill it completely\nand thus, we need to make file-systems to stop using the \u0027-\u003ewrite_super\u0027\nVFS service, and then remove it together with the kernel thread.\n\nThis patch switches the FAT FSINFO block management from\n\u0027-\u003ewrite_super()\u0027/\u0027-\u003es_dirt\u0027 to \u0027fsinfo_inode\u0027/\u0027-\u003ewrite_inode\u0027.  Now,\ninstead of setting the \u0027s_dirt\u0027 flag, we just mark the special\n\u0027fsinfo_inode\u0027 inode as dirty and let VFS invoke the \u0027-\u003ewrite_inode\u0027\ncall-back when needed, where we write-out the FSINFO block.\n\nThis patch also makes sure we do not mark the \u0027fsinfo_inode\u0027 inode as\ndirty if we are not FAT32 (FAT16 and FAT12 do not have the FSINFO block)\nor if we are in R/O mode.\n\nAs a bonus, we can also remove the \u0027-\u003esync_fs()\u0027 and \u0027-\u003ewrite_super()\u0027 FAT\ncall-back function because they become unneeded.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "330fe3c4c6509e0418c434b5bcf80e65cffab477",
      "tree": "f170e47fa9fd25bad3a5ce6996fdfbd86daa3706",
      "parents": [
        "90b436657efb1a6d73bf0677fedee8a8c77032f6"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu May 31 16:26:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "fat: mark superblock as dirty less often\n\nPreparation for further changes.  It touches few functions in fatent.c and\nprevents them from marking the superblock as dirty unnecessarily often.\nNamely, instead of marking it as dirty in the internal tight loops - do it\nonly once at the end of the functions.  And instead of marking it as dirty\nwhile holding the FAT table lock, do it outside the lock.\n\nThe reason for this patch is that marking the superblock as dirty will\nsoon become a little bit heavier operation, so it is cleaner to do this\nonly when it is necessary.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "90b436657efb1a6d73bf0677fedee8a8c77032f6",
      "tree": "ee7e433e5cc1817dd4b9d6fda0a692c0d0ac033f",
      "parents": [
        "020ac5b6bef15785f9dde9de89d2734ff97da733"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu May 31 16:26:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "fat: introduce mark_fsinfo_dirty helper\n\nA preparation patch which introduces a \u0027mark_fsinfo_dirty()\u0027 helper\nfunction which just sets the \u0027s_dirt\u0027 flag to 1 so far.  I\u0027ll add more\ncode to this helper later, so I do not mark it as \u0027inline\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "020ac5b6bef15785f9dde9de89d2734ff97da733",
      "tree": "18724448be398af715d45dea42966bf276d2febb",
      "parents": [
        "7bc1bac77a69011550ce0613f4a23712a002d7ad"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu May 31 16:26:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "fat: introduce special inode for managing the FSINFO block\n\nThis is patchset makes fatfs stop using the VFS \u0027-\u003ewrite_super()\u0027 method\nfor writing out the FSINFO block.\n\nThe final goal is to get rid of the \u0027sync_supers()\u0027 kernel thread.  This\nkernel thread wakes up every 5 seconds (by default) and calls\n\u0027-\u003ewrite_super()\u0027 for all mounted file-systems.  And the bad thing is that\nthis is done even if all the superblocks are clean.  Moreover, some\nfile-systems do not even need this end they do not register the\n\u0027-\u003ewrite_super()\u0027 method at all (e.g., btrfs).\n\nSo \u0027sync_supers()\u0027 most often just generates useless wake-ups and wastes\npower.  I am trying to make all file-systems independent of\n\u0027-\u003ewrite_super()\u0027 and plan to remove \u0027sync_supers()\u0027 and \u0027-\u003ewrite_super\u0027\ncompletely once there are no more users.\n\nThe \u0027-\u003ewrite_supers()\u0027 method is mostly used by baroque file-systems like\nhfs, udf, etc.  Modern file-systems like btrfs and xfs do not use it.\nThis justifies removing this stuff from VFS completely and make every FS\nself-manage own superblock.\n\nTested with xfstests.\n\nThis patch:\n\nPreparation for further changes.  It introduces a special inode\n(\u0027fsinfo_inode\u0027) in FAT file-system which we\u0027ll later use for managing the\nFSINFO block.  Note, this there is already one special inode (\u0027fat_inode\u0027)\nwhich is used for managing the FAT tables.\n\nIntroduce new \u0027MSDOS_FSINFO_INO\u0027 constant for this special inode.  It is\nsafe to do because FAT file-system does not store inode numbers on the\nmedia but generates them run-time.\n\nI\u0027ve also cleaned up the comment to existing \u0027MSDOS_ROOT_INO\u0027 constant,\nwhile on it.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7bc1bac77a69011550ce0613f4a23712a002d7ad",
      "tree": "4cf913aa7f3b459afcdb499a41ae25884ff24d87",
      "parents": [
        "11475975dd3c0a8e639f1544ef6530373de5979e"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Thu May 31 16:26:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "HPFS: remove PRINTK() macro\n\nThe PRINTK() macro isn\u0027t really used.  Let\u0027s just remove it because it\nis ugly and out of date.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nMikulas Patocka \u003cmikulas@artax.karlin.mff.cuni.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11475975dd3c0a8e639f1544ef6530373de5979e",
      "tree": "e20344e3d296d2271eea093c76fa728e1c341510",
      "parents": [
        "a1d494495c69ef0810cd008f59310d2b9db28e36"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu May 31 16:26:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "nilfs2: flush disk caches in syncing\n\nThere are two cases that the cache flush is needed to avoid data loss\nagainst unexpected hang or power failure.  One is sync file function (i.e.\n nilfs_sync_file) and another is checkpointing ioctl.\n\nThis issues a cache flush request to device for such cases if barrier\nmount option is enabled, and makes sure data really is on persistent\nstorage on their completion.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a1d494495c69ef0810cd008f59310d2b9db28e36",
      "tree": "0785413b25f5383bf736d04169151e6a251dd079",
      "parents": [
        "c67e5382fb3f312c95d8d01db40fb398e6da454d"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Thu May 31 16:26:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "pipe: return -ENOIOCTLCMD instead of -EINVAL on unknown ioctl command\n\nAs described in commit 07d106d0a33d (\"vfs: fix up ENOIOCTLCMD error\nhandling\"), drivers should return -ENOIOCTLCMD if they receive an ioctl\ncommand which they don\u0027t understand.  Doing so will result in -ENOTTY\nbeing returned to userspace, which matches the behaviour of the compat\nlayer if it fails to translate an ioctl command.\n\nThis patch fixes the pipe ioctl to return -ENOIOCTLCMD instead of -EINVAL\nwhen passed an unknown ioctl command.\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c67e5382fb3f312c95d8d01db40fb398e6da454d",
      "tree": "6e1830da7102e4f873d05b067aa39ba4425eefbc",
      "parents": [
        "243f3803cf2a3665092c5fd6f924f453694681a6"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Thu May 31 16:26:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "init: disable sparse checking of the mount.o source files\n\nThe init/mount.o source files produce a number of sparse warnings of the\ntype:\n\nwarning: incorrect type in argument 1 (different address spaces)\n   expected char [noderef] \u003casn:1\u003e*dev_name\n   got char *name\n\nThis is due to the syscalls expecting some of the arguments to be user\npointers but they are being passed as kernel pointers.  This is harmless\nbut adds a lot of noise to a sparse build.\n\nTo limit the noise just disable the sparse checking in the relevant source\nfiles, but still display a warning so that the user knows this has been\ndone.\n\nSince the sparse checking has been disabled we can also remove the __user\n__force casts that are scattered thru the source.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "243f3803cf2a3665092c5fd6f924f453694681a6",
      "tree": "a05005eb618c2770a2e56c644ae04d8e36c58c89",
      "parents": [
        "9a4cad4e25b91f48494f13fce3d25ea44bec7472"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu May 31 16:26:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "checkpatch: suggest pr_\u003clevel\u003e over printk(KERN_\u003cLEVEL\u003e\n\nSuggest the shorter pr_\u003clevel\u003e instead of printk(KERN_\u003cLEVEL\u003e.\n\nPrefer to use pr_\u003clevel\u003e over bare printks.\nPrefer to use pr_warn over pr_warning.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a4cad4e25b91f48494f13fce3d25ea44bec7472",
      "tree": "6b7cbfdf1517792f826f23408b8ca023ee2b3229",
      "parents": [
        "133fd9f5cda2d86904126f4b9fa4e8f4330c9569"
      ],
      "author": {
        "name": "Eric Nelson",
        "email": "eric.nelson@boundarydevices.com",
        "time": "Thu May 31 16:26:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "checkpatch: check for whitespace before semicolon at EOL\n\nRequires --strict option during invocation:\n\t~/linux$ scripts/checkpatch --strict foo.patch\n\nThis tests for a bad habits of mine like this:\n\n\treturn 0 ;\n\nNote that it does allow a special case of a bare semicolon\nfor empty loops:\n\n\twhile (foo())\n\t\t;\n\nSigned-off-by: Eric Nelson \u003ceric.nelson@boundarydevices.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "133fd9f5cda2d86904126f4b9fa4e8f4330c9569",
      "tree": "0e60bfcec85f123243cf1ffe735264527efd6d0e",
      "parents": [
        "725fe002d315c2501c110b7245d3eb4f4535f4d6"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Thu May 31 16:26:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "vsprintf: further optimize decimal conversion\n\nPrevious code was using optimizations which were developed to work well\neven on narrow-word CPUs (by today\u0027s standards).  But Linux runs only on\n32-bit and wider CPUs.  We can use that.\n\nFirst: using 32x32-\u003e64 multiply and trivial 32-bit shift, we can correctly\ndivide by 10 much larger numbers, and thus we can print groups of 9 digits\ninstead of groups of 5 digits.\n\nNext: there are two algorithms to print larger numbers.  One is generic:\ndivide by 1000000000 and repeatedly print groups of (up to) 9 digits.\nIt\u0027s conceptually simple, but requires an (unsigned long long) /\n1000000000 division.\n\nSecond algorithm splits 64-bit unsigned long long into 16-bit chunks,\nmanipulates them cleverly and generates groups of 4 decimal digits.  It so\nhappens that it does NOT require long long division.\n\nIf long is \u003e 32 bits, division of 64-bit values is relatively easy, and we\nwill use the first algorithm.  If long long is \u003e 64 bits (strange\narchitecture with VERY large long long), second algorithm can\u0027t be used,\nand we again use the first one.\n\nElse (if long is 32 bits and long long is 64 bits) we use second one.\n\nAnd third: there is a simple optimization which takes fast path not only\nfor zero as was done before, but for all one-digit numbers.\n\nIn all tested cases new code is faster than old one, in many cases by 30%,\nin few cases by more than 50% (for example, on x86-32, conversion of\n12345678).  Code growth is ~0 in 32-bit case and ~130 bytes in 64-bit\ncase.\n\nThis patch is based upon an original from Michal Nazarewicz.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Michal Nazarewicz \u003cmina86@mina86.com\u003e\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nCc: Douglas W Jones \u003cjones@cs.uiowa.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "725fe002d315c2501c110b7245d3eb4f4535f4d6",
      "tree": "c68759e4765673eb1f28e220edea40d84d9ff744",
      "parents": [
        "d84970bbaf9a09b3fc60c18ee6d59bc9cb4c3b8a"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu May 31 16:26:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "vsprintf: correctly handle width when \u0027#\u0027 flag used in %#p format\n\nThe \u0027%p\u0027 output of the kernel\u0027s vsprintf() uses spec.field_width to\ndetermine how many digits to output based on 2 * sizeof(void*) so that all\ndigits of a pointer are shown.  ie.  a pointer will be output as\n\"001A2B3C\" instead of \"1A2B3C\".  However, if the \u0027#\u0027 flag is used in the\nformat (%#p), then the code doesn\u0027t take into account the width of the\n\u00270x\u0027 prefix and will end up outputing \"0x1A2B3C\" instead of \"0x001A2B3C\".\n\nThis patch reworks the \"pointer()\" format hook to include 2 characters for\nthe \u00270x\u0027 prefix if the \u0027#\u0027 flag is included.\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\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": "5401cf3fac92b35415c1d011e9866a90b8bed88f",
      "tree": "24b5dfabfdcfe8966992f90465adb2434ef8bd85",
      "parents": [
        "9ceb5c16f5aa1021e9ef8f5e6c41feba288f963b"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo.padovan@collabora.co.uk",
        "time": "Thu May 31 16:26:06 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": ".mailmap: add Gustavo\n\nSigned-off-by: Gustavo Padovan \u003cgustavo.padovan@collabora.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ceb5c16f5aa1021e9ef8f5e6c41feba288f963b",
      "tree": "c46f47dbb86ee69005b47169847adf8f42db66d8",
      "parents": [
        "ee5e5683d8ac3fec876cb6c26792212f773d5898"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Thu May 31 16:26:06 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "drivers/message/fusion: use pci_dev-\u003erevision\n\nThis driver uses PCI_CLASS_REVISION instead of PCI_REVISION_ID, so it\nwasn\u0027t converted by 44c10138fd4bbc (\"PCI: Change all drivers to use\npci_device-\u003erevision\").\n\nIn one case, it even reads PCI revision ID without using it -- that code\nis now removed...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nAcked-by: \"Nandigama, Nagalakshmi\" \u003cNagalakshmi.Nandigama@lsi.com\u003e\nCc: Eric Moore \u003ceric.moore@lsi.com\u003e\nAcked-by: Auke Kok \u003cauke-jan.h.kok@intel.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\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": "a3860c1c5dd1137db23d7786d284939c5761d517",
      "tree": "48d688c6c391ef45f79bdd60815450ca06c5cc1a",
      "parents": [
        "15837294d4ce717f69942f7366e99d4d1d3d9923"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Thu May 31 16:26:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "introduce SIZE_MAX\n\nULONG_MAX is often used to check for integer overflow when calculating\nallocation size.  While ULONG_MAX happens to work on most systems, there\nis no guarantee that `size_t\u0027 must be the same size as `long\u0027.\n\nThis patch introduces SIZE_MAX, the maximum value of `size_t\u0027, to improve\nportability and readability for allocation size validation.\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nAcked-by: Alex Elder \u003celder@dreamhost.com\u003e\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: Pekka Enberg \u003cpenberg@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": "15837294d4ce717f69942f7366e99d4d1d3d9923",
      "tree": "41a7047f7f4bf3747fa162aaeec6a1e0a18fd848",
      "parents": [
        "1cefe28f95da307287a05a6a0c10213f01055e2a"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Thu May 31 16:26:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "CodingStyle: add kmalloc_array() to memory allocators\n\nAdd the new kmalloc_array() to the list of general-purpose memory\nallocators in chapter 14.\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nAcked-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nAcked-by: Pekka Enberg \u003cpenberg@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": "1cefe28f95da307287a05a6a0c10213f01055e2a",
      "tree": "6810a5c8f413f67d359da6243ee75c60c704d16c",
      "parents": [
        "4f1c28d241d0882f25112d494885cd6084db225b"
      ],
      "author": {
        "name": "Kautuk Consul",
        "email": "consul.kautuk@gmail.com",
        "time": "Thu May 31 16:26:03 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "um/kernel/trap.c: port OOM changes to handle_page_fault()\n\nCommit d065bd810b6d (\"mm: retry page fault when blocking on disk\ntransfer\") and commit 37b23e0525d3 (\"x86,mm: make pagefault killable\")\nintroduced changes into the x86 pagefault handler for making the page\nfault handler retryable as well as killable.\n\nThese changes reduce the mmap_sem hold time, which is crucial during OOM\nkiller invocation.\n\nPort these changes to um.\n\nSigned-off-by: Kautuk Consul \u003cconsul.kautuk@gmail.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f1c28d241d0882f25112d494885cd6084db225b",
      "tree": "4332c441b47b3ce6f29b424d24923aebdc44d7eb",
      "parents": [
        "ecb41a77411358d385e3fde5b4e98a5f3d9cfdd5"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu May 31 16:26:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "security/keys/keyctl.c: suppress memory allocation failure warning\n\nThis allocation may be large.  The code is probing to see if it will\nsucceed and if not, it falls back to vmalloc().  We should suppress any\npage-allocation failure messages when the fallback happens.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.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": "76f901eb4659779ecacd0e4eba49f55442daef53",
      "tree": "0761f03211ffdfc06216eabeb61b02ef6d598d3c",
      "parents": [
        "bd0e162d0312aa95e8b85ba883efddebf27be121",
        "96facd23e45e6d5020be135c8ab392ba9e044fa4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 12:10:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 12:10:15 2012 -0700"
      },
      "message": "Merge tag \u0027for-v3.5\u0027 of git://git.infradead.org/battery-2.6\n\nPull battery updates from Anton Vorontsov:\n \"A bunch of fixes for v3.5, nothing extraordinary.\"\n\n* tag \u0027for-v3.5\u0027 of git://git.infradead.org/battery-2.6: (27 commits)\n  smb347-charger: Include missing \u003clinux/err.h\u003e\n  smb347-charger: Clean up battery attributes\n  max17042_battery: Add support for max17047/50 chip\n  sbs-battery.c: Capacity attr \u003d remaining relative capacity\n  isp1704_charger: Use after free on probe error\n  ds2781_battery: Use DS2781_PARAM_EEPROM_SIZE and DS2781_USER_EEPROM_SIZE\n  power_supply: Fix a typo in BATTERY_DS2781 Kconfig entry\n  charger-manager: Provide cm_notify_event function for in-kernel use\n  charger-manager: Poll battery health in normal state\n  smb347-charger: Convert to regmap API\n  smb347-charger: Move IRQ enabling to the end of probe\n  smb347-charger: Rename few functions to match better what they are doing\n  smb347-charger: Convert to use module_i2c_driver()\n  smb347_charger: Cleanup power supply registration code in probe\n  ab8500: Clean up probe routines\n  ab8500_fg: Harden platform data check\n  ab8500_btemp: Harden platform data check\n  ab8500_charger: Harden platform data check\n  MAINTAINERS: Fix \u0027F\u0027 entry for the power supply class\n  max17042_battery: Handle irq request failure case\n  ...\n"
    },
    {
      "commit": "bd0e162d0312aa95e8b85ba883efddebf27be121",
      "tree": "5401fd64650a2c5965e43dccaa636bc814072043",
      "parents": [
        "054552272e6e152ff40f8b7f164dd390a5a62097",
        "56457f38f212344fb38b250cfa7e7311c065022f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 12:09:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 12:09:07 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull two small kvm fixes from Avi Kivity:\n \"A build fix for non-kvm archs and a transparent hugepage refcount\n  bugfix on hosts with 4M pages.\"\n\n* git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: Export asm-generic/kvm_para.h\n  KVM: MMU: fix huge page adapted on non-PAE host\n"
    },
    {
      "commit": "054552272e6e152ff40f8b7f164dd390a5a62097",
      "tree": "9be4ee91a0ea090672f6ea1be2f6e6eef027d810",
      "parents": [
        "5b461209d07ab9a9284760f6ffe696de558031a3",
        "1ff2f40305772b159a91c19590ee159d3a504afc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 12:02:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 12:02:41 2012 -0700"
      },
      "message": "Merge tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi\n\nPull final round of SCSI updates from James Bottomley:\n \"This is primarily another round of driver updates (bnx2fc, qla2xxx,\n  qla4xxx) including the target mode driver for qla2xxx.  We\u0027ve also got\n  a couple of regression fixes (async scanning, broken this merge window\n  and a fix to a long standing break in the scsi_wait_scan module).\"\n\n* tag \u0027scsi-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (45 commits)\n  [SCSI] fix scsi_wait_scan\n  [SCSI] fix async probe regression\n  [SCSI] be2iscsi: fix dma free size mismatch regression\n  [SCSI] qla4xxx: Update driver version to 5.02.00-k17\n  [SCSI] qla4xxx: Capture minidump for ISP82XX on firmware failure\n  [SCSI] qla4xxx: Add change_queue_depth API support\n  [SCSI] qla4xxx: Fix clear ddb mbx command failure issue.\n  [SCSI] qla4xxx: Fix kernel panic during discovery logout.\n  [SCSI] qla4xxx: Correct early completion of pending mbox.\n  [SCSI] fcoe, bnx2fc, libfcoe: SW FCoE and bnx2fc use FCoE Syfs\n  [SCSI] libfcoe: Add fcoe_sysfs\n  [SCSI] bnx2fc: Allocate fcoe_ctlr with bnx2fc_interface, not as a member\n  [SCSI] fcoe: Allocate fcoe_ctlr with fcoe_interface, not as a member\n  [SCSI] Fix dm-multipath starvation when scsi host is busy\n  [SCSI] ufs: fix potential NULL pointer dereferencing error in ufshcd_prove.\n  [SCSI] qla2xxx: don\u0027t free pool that wasn\u0027t allocated\n  [SCSI] mptfusion: unlock on error in mpt_config()\n  [SCSI] tcm_qla2xxx: Add \u003e\u003d 24xx series fabric module for target-core\n  [SCSI] qla2xxx: Add LLD target-mode infrastructure for \u003e\u003d 24xx series\n  [SCSI] Revert \"qla2xxx: During loopdown perform Diagnostic loopback.\"\n  ...\n"
    },
    {
      "commit": "5b461209d07ab9a9284760f6ffe696de558031a3",
      "tree": "0d21496c0b85b96c16aee52b024252baf1d8fb93",
      "parents": [
        "fde86d310886372a377213251e72fb87aaa406c9",
        "3c9c708c9fc967e389f85bc735e4c1f65d67334e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 12:00:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 12:00:09 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\nPull follow-up block updates from Jens Axboe:\n \"Includes the fix from Eric to resolve the infinite loop in looking up\n  or creating an IO context for an exiting task.\n\n  Also a bunch of mtip32xx patches.  Fairly trivial stuff.  It\u0027s fairly\n  new though, but no point in keeping it out of the tree until 3.6 imho.\n  I\u0027ve thrown it through basic testing locally as well, works fine.  The\n  one contentious part is the patch that Greg complained about (sysfs\n  file with multiple values, should be a debugfs file), which is\n  perfectly valid, but not a regression from what the file contains now.\n  That will be fixed up separately.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  block: avoid infinite loop in get_task_io_context()\n  mtip32xx: Changes to sysfs entries\n  mtip32xx: Convert macro definitions for flag bits to enum\n  mtip32xx: minor performance tweak\n  mtip32xx: Fix to support more than one sector in exec_drive_command()\n  mtip32xx: Use plain spinlock for \u0027cmd_issue_lock\u0027\n  mtip32xx: Set block queue boundary variables\n  mtip32xx: Fix to handle TFE for PIO(IOCTL/internal) commands\n  mtip32xx: Change HDIO_GET_IDENTITY to return stored data\n  mtip32xx: Set custom timeouts for PIO commands\n  mtip32xx: fix clearing an incorrect register in mtip_init_port\n"
    },
    {
      "commit": "fde86d310886372a377213251e72fb87aaa406c9",
      "tree": "d0131cf044535b71710dd61ee78b4810f5545ac3",
      "parents": [
        "1d59d61f606547f0712aa6971f91f71154071c99"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu May 31 11:35:18 2012 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 11:59:41 2012 -0700"
      },
      "message": "tty: add lockdep annotations\n\ntty_lock_pair() do the right thing to avoid deadlocks, but should\ninstruct LOCKDEP of this to avoid a splat.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d59d61f606547f0712aa6971f91f71154071c99",
      "tree": "cb2fd4b9ce3e3ee9440d566d43ea350221edfc8e",
      "parents": [
        "2d117403b30cd7301af60d7d54b279a9f566d10d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu May 31 12:22:33 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 11:41:36 2012 -0700"
      },
      "message": "NFS: Ensure that setattr and getattr wait for O_DIRECT write completion\n\nUse the same mechanism as the block devices are using, but move the\nhelper functions from fs/direct-io.c into fs/inode.c to remove the\ndependency on CONFIG_BLOCK.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Fred Isaman \u003ciisaman@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d117403b30cd7301af60d7d54b279a9f566d10d",
      "tree": "7c251e86e1a0101fdf11a15aa0e407360d16f71c",
      "parents": [
        "8ee78c6fb982b3a7343faf561e7937d4cfa955ff",
        "82f7af09e6fb58fb725c850d725d5e8780a9bec2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 10:53:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 10:53:37 2012 -0700"
      },
      "message": "Merge tag \u0027please-pull-mce\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras\n\nPull mce cleanup from Tony Luck:\n \"One more mce cleanup before the 3.5 merge window closes\"\n\n* tag \u0027please-pull-mce\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:\n  x86/mce: Cleanup timer mess\n"
    },
    {
      "commit": "8ee78c6fb982b3a7343faf561e7937d4cfa955ff",
      "tree": "93d9327018e648174fb83b4144eed89de72693dd",
      "parents": [
        "aac422afeffa9093544799c3257a96b55ba42044",
        "491af9903b858ee7c36735dc31708fe4074ce56f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 10:51:10 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 10:51:10 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux\n\nPull s390 patches from Heiko Carstens:\n \"A couple of s390 patches for the 3.5 merge window.  Just a collection\n  of bug fixes and cleanups.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:\n  s390/uaccess: fix access_ok compile warnings\n  s390/cmpxchg: select HAVE_CMPXCHG_LOCAL option\n  s390/cmpxchg: fix sign extension bugs\n  s390/cmpxchg: fix 1 and 2 byte memory accesses\n  s390/cmpxchg: fix compile warnings specific to s390\n  s390/cmpxchg: add missing memory barrier to cmpxchg64\n  s390/cpu: remove cpu \"capabilities\" sysfs attribute\n  s390/kernel: Fix smp_call_ipl_cpu() for offline CPUs\n  s390/kernel: Introduce memcpy_absolute() function\n  s390/headers: replace __s390x__ with CONFIG_64BIT where possible\n  s390/headers: remove #ifdef __KERNEL__ from not exported headers\n  s390/irq: split irq stats for cpu-measurement alert facilities\n  s390/kexec: Move early_pgm_check_handler() to text section\n  s390/kdump: Use real mode for PSW restart and kexec\n  s390/kdump: Account /sys/kernel/kexec_crash_size changes in OS info\n  s390/kernel: Remove OS info init function call and diag 308 for kdump\n"
    },
    {
      "commit": "aac422afeffa9093544799c3257a96b55ba42044",
      "tree": "054663007601e0b8579021125e798f51869135f5",
      "parents": [
        "0c6be87161a6865a6f685a27c6a0404f9d1a0d5e",
        "b1195c0e3ee1a1ba986923bf3ed8311b7b336432"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 10:44:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 10:44:34 2012 -0700"
      },
      "message": "Merge tag \u0027parisc-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6\n\nPull misc parisc updates from James Bottomley:\n \"This is a couple of updates to complete our fixes and one to fix a\n  compile failure caused during the merge window.  Additionally, we now\n  switch to the generic strncopy_from_user.\"\n\n* tag \u0027parisc-misc\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/parisc-2.6:\n  [PARISC] update parisc to use generic strncpy_from_user()\n  [PARISC] Fix parisc compile failure after smp: Add task_struct argument to __cpu_up()\n  [PARISC] fix TLB fault path on PA2.0 narrow systems\n  [PARISC] fix boot failure on 32-bit systems caused by branch stubs placed before .text\n"
    },
    {
      "commit": "0c6be87161a6865a6f685a27c6a0404f9d1a0d5e",
      "tree": "ffa5034d41215a901b10697dbf7470d04cc3627b",
      "parents": [
        "6a445c7fa739d2cde881a22f1ed38455eeb56f51",
        "1ab46fd319bcf1fcd9fb6311727d532b580e4eba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 10:43:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 10:43:11 2012 -0700"
      },
      "message": "Merge branch \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull additional x86 fixes from Peter Anvin.\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, amd, xen: Avoid NULL pointer paravirt references\n  x86, mtrr: Fix a type overflow in range_to_mtrr func\n  x86, realmode: Unbreak the ia64 build of drivers/acpi/sleep.c\n  x86/mm/pat: Improve scaling of pat_pagerange_is_ram()\n  x86: hpet: Fix copy-and-paste mistake in earlier change\n  x86/mce: Fix 32-bit build\n  x86/bitops: Move BIT_64() for a wider use\n"
    }
  ],
  "next": "6a445c7fa739d2cde881a22f1ed38455eeb56f51"
}
