)]}'
{
  "log": [
    {
      "commit": "85e72aa5384b1a614563ad63257ded0e91d1a620",
      "tree": "c39241b189ce0ab8b69e1b3ec3fda34f9cbfb320",
      "parents": [
        "d59d9ebaacba32b63f24d53b1463519b445b4683"
      ],
      "author": {
        "name": "Will Deacon",
        "email": "will.deacon@arm.com",
        "time": "Fri Jan 20 14:34:09 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 23 08:38:48 2012 -0800"
      },
      "message": "proc: clear_refs: do not clear reserved pages\n\n/proc/pid/clear_refs is used to clear the Referenced and YOUNG bits for\npages and corresponding page table entries of the task with PID pid, which\nincludes any special mappings inserted into the page tables in order to\nprovide things like vDSOs and user helper functions.\n\nOn ARM this causes a problem because the vectors page is mapped as a\nglobal mapping and since ec706dab (\"ARM: add a vma entry for the user\naccessible vector page\"), a VMA is also inserted into each task for this\npage to aid unwinding through signals and syscall restarts.  Since the\nvectors page is required for handling faults, clearing the YOUNG bit (and\nsubsequently writing a faulting pte) means that we lose the vectors page\n*globally* and cannot fault it back in.  This results in a system deadlock\non the next exception.\n\nTo see this problem in action, just run:\n\n\t$ echo 1 \u003e /proc/self/clear_refs\n\non an ARM platform (as any user) and watch your system hang.  I think this\nhas been the case since 2.6.37\n\nThis patch avoids clearing the aforementioned bits for reserved pages,\ntherefore leaving the vectors page intact on ARM.  Since reserved pages\nare not candidates for swap, this change should not have any impact on the\nusefulness of clear_refs.\n\nSigned-off-by: Will Deacon \u003cwill.deacon@arm.com\u003e\nReported-by: Moussa Ba \u003cmoussaba@micron.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nAcked-by: Nicolas Pitre \u003cnico@linaro.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\t\t[2.6.37+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "567e47935a7cddd8e823c73bb8ee0b2805cd4940",
      "tree": "0d1ee0eb233b7f84084f779d32ef1fb2d5be755a",
      "parents": [
        "99d1edc5c5ef5ee80982b354d57cef106cb8423c",
        "f7e6746ebae984ea67b0a1a1e23c7e6698240631",
        "6eadf1075c6f923fece419e38cf05bff559aefcd",
        "4f2f81a5621de47d42476d0b929be2e0d565df84"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 19 14:53:06 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 19 14:53:06 2012 -0800"
      },
      "message": "Merge branches \u0027sched-urgent-for-linus\u0027, \u0027perf-urgent-for-linus\u0027 and \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  sched/accounting, proc: Fix /proc/stat interrupts sum\n\n* \u0027perf-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  tracepoints/module: Fix disabling tracepoints with taint CRAP or OOT\n  x86/kprobes: Add arch/x86/tools/insn_sanity to .gitignore\n  x86/kprobes: Fix typo transferred from Intel manual\n\n* \u0027x86-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  x86, syscall: Need __ARCH_WANT_SYS_IPC for 32 bits\n  x86, tsc: Fix SMI induced variation in quick_pit_calibrate()\n  x86, opcode: ANDN and Group 17 in x86-opcode-map.txt\n  x86/kconfig: Move the ZONE_DMA entry under a menu\n  x86/UV2: Add accounting for BAU strong nacks\n  x86/UV2: Ack BAU interrupt earlier\n  x86/UV2: Remove stale no-resources test for UV2 BAU\n  x86/UV2: Work around BAU bug\n  x86/UV2: Fix BAU destination timeout initialization\n  x86/UV2: Fix new UV2 hardware by using native UV2 broadcast mode\n  x86: Get rid of dubious one-bit signed bitfield\n"
    },
    {
      "commit": "f429ee3b808118591d1f3cdf3c0d0793911a5677",
      "tree": "96d848f5f677d96758ecd2aee5eb6931b75bf218",
      "parents": [
        "22b4eb5e3174efb49791c62823d0cccc35394c36",
        "c158a35c8a681cf68d36f22f058f9f5466386c71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 16:06:51 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 16:41:31 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit: (29 commits)\n  audit: no leading space in audit_log_d_path prefix\n  audit: treat s_id as an untrusted string\n  audit: fix signedness bug in audit_log_execve_info()\n  audit: comparison on interprocess fields\n  audit: implement all object interfield comparisons\n  audit: allow interfield comparison between gid and ogid\n  audit: complex interfield comparison helper\n  audit: allow interfield comparison in audit rules\n  Kernel: Audit Support For The ARM Platform\n  audit: do not call audit_getname on error\n  audit: only allow tasks to set their loginuid if it is -1\n  audit: remove task argument to audit_set_loginuid\n  audit: allow audit matching on inode gid\n  audit: allow matching on obj_uid\n  audit: remove audit_finish_fork as it can\u0027t be called\n  audit: reject entry,always rules\n  audit: inline audit_free to simplify the look of generic code\n  audit: drop audit_set_macxattr as it doesn\u0027t do anything\n  audit: inline checks for not needing to collect aux records\n  audit: drop some potentially inadvisable likely notations\n  ...\n\nUse evil merge to fix up grammar mistakes in Kconfig file.\n\nBad speling and horrible grammar (and copious swearing) is to be\nexpected, but let\u0027s keep it to commit messages and comments, rather than\nexpose it to users in config help texts or printouts.\n"
    },
    {
      "commit": "e268337dfe26dfc7efd422a804dbb27977a3cccc",
      "tree": "59b9e22b0de119f0d85f329fa481d965cf7aec42",
      "parents": [
        "5e5997849a8eae7a895a88699a1999b637f87303"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 15:21:19 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 17 15:21:19 2012 -0800"
      },
      "message": "proc: clean up and fix /proc/\u003cpid\u003e/mem handling\n\nJüri Aedla reported that the /proc/\u003cpid\u003e/mem handling really isn\u0027t very\nrobust, and it also doesn\u0027t match the permission checking of any of the\nother related files.\n\nThis changes it to do the permission checks at open time, and instead of\ntracking the process, it tracks the VM at the time of the open.  That\nsimplifies the code a lot, but does mean that if you hold the file\ndescriptor open over an execve(), you\u0027ll continue to read from the _old_\nVM.\n\nThat is different from our previous behavior, but much simpler.  If\nsomebody actually finds a load where this matters, we\u0027ll need to revert\nthis commit.\n\nI suspect that nobody will ever notice - because the process mapping\naddresses will also have changed as part of the execve.  So you cannot\nactually usefully access the fd across a VM change simply because all\nthe offsets for IO would have changed too.\n\nReported-by: Jüri Aedla \u003casd@ut.ee\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "633b45454503489209b0d9a45f9e3cd1b852c614",
      "tree": "591363d3be6b773f872b979727d4ac1a9691ec82",
      "parents": [
        "0a300be6d5be8f66cd96609334710c268d0bfdce"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:00 2012 -0500"
      },
      "message": "audit: only allow tasks to set their loginuid if it is -1\n\nAt the moment we allow tasks to set their loginuid if they have\nCAP_AUDIT_CONTROL.  In reality we want tasks to set the loginuid when they\nlog in and it be impossible to ever reset.  We had to make it mutable even\nafter it was once set (with the CAP) because on update and admin might have\nto restart sshd.  Now sshd would get his loginuid and the next user which\nlogged in using ssh would not be able to set his loginuid.\n\nSystemd has changed how userspace works and allowed us to make the kernel\nwork the way it should.  With systemd users (even admins) are not supposed\nto restart services directly.  The system will restart the service for\nthem.  Thus since systemd is going to loginuid\u003d\u003d-1, sshd would get -1, and\nsshd would be allowed to set a new loginuid without special permissions.\n\nIf an admin in this system were to manually start an sshd he is inserting\nhimself into the system chain of trust and thus, logically, it\u0027s his\nloginuid that should be used!  Since we have old systems I make this a\nKconfig option.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "0a300be6d5be8f66cd96609334710c268d0bfdce",
      "tree": "253d0d1e0aa28a6bdf883bb92e4b62fafe263563",
      "parents": [
        "54d3218b31aee5bc9c859ae60fbde933d922448b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 14:23:08 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 17 16:17:00 2012 -0500"
      },
      "message": "audit: remove task argument to audit_set_loginuid\n\nThe function always deals with current.  Don\u0027t expose an option\npretending one can use it for something.  You can\u0027t.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "f7e6746ebae984ea67b0a1a1e23c7e6698240631",
      "tree": "b77704a47d3b00ed3cd39226c51b7a8ba7f92710",
      "parents": [
        "bced76aeaca03b45e3b4bdb868cada328e497847"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jan 14 00:01:01 2012 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 16 08:13:27 2012 +0100"
      },
      "message": "sched/accounting, proc: Fix /proc/stat interrupts sum\n\nCommit 3292beb340c7688 (\"sched/accounting: Change cpustat fields to an array\")\ndeleted the code which provides us with the sum of all interrupts in the\nsystem, causing vmstat to report zero interrupts occuring in the system.\n\nFix this by restoring the code.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nTested-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e # [on ARM]\nTested-by: Tony Luck \u003ctony.luck@intel.com\u003e\nTested-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Tuner \u003cpjt@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c49c41a4134679cecb77362e7f6b59acb6320aa7",
      "tree": "45e690c036ca5846a48c8be67945d1d841b2d96d",
      "parents": [
        "892d208bcf79e4e1058707786a7b6d486697cd78",
        "f423e5ba76e7e4a6fcb4836b4f072d1fdebba8b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 18:36:33 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 18:36:33 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security\n\n* \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security:\n  capabilities: remove __cap_full_set definition\n  security: remove the security_netlink_recv hook as it is equivalent to capable()\n  ptrace: do not audit capability check when outputing /proc/pid/stat\n  capabilities: remove task_ns_* functions\n  capabitlies: ns_capable can use the cap helpers rather than lsm call\n  capabilities: style only - move capable below ns_capable\n  capabilites: introduce new has_ns_capabilities_noaudit\n  capabilities: call has_ns_capability from has_capability\n  capabilities: remove all _real_ interfaces\n  capabilities: introduce security_capable_noaudit\n  capabilities: reverse arguments to security_capable\n  capabilities: remove the task from capable LSM hook entirely\n  selinux: sparse fix: fix several warnings in the security server cod\n  selinux: sparse fix: fix warnings in netlink code\n  selinux: sparse fix: eliminate warnings for selinuxfs\n  selinux: sparse fix: declare selinux_disable() in security.h\n  selinux: sparse fix: move selinux_complete_init\n  selinux: sparse fix: make selinux_secmark_refcount static\n  SELinux: Fix RCU deref check warning in sel_netport_insert()\n\nManually fix up a semantic mis-merge wrt security_netlink_recv():\n\n - the interface was removed in commit fd7784615248 (\"security: remove\n   the security_netlink_recv hook as it is equivalent to capable()\")\n\n - a new user of it appeared in commit a38f7907b926 (\"crypto: Add\n   userspace configuration API\")\n\ncausing no automatic merge conflict, but Eric Paris pointed out the\nissue.\n"
    },
    {
      "commit": "b3f7f573a20081910e34e99cbc91831f4f02f1ff",
      "tree": "2c0aea64b3be4c24f84be6a5275f7202e0dde594",
      "parents": [
        "067bce1a06c1f84146f873a598cd7c3a28eee1d5"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Thu Jan 12 17:20:53 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:13 2012 -0800"
      },
      "message": "c/r: procfs: add start_data, end_data, start_brk members to /proc/$pid/stat v4\n\nThe mm-\u003estart_code/end_code, mm-\u003estart_data/end_data, mm-\u003estart_brk are\ninvolved into calculation of program text/data segment sizes (which might\nbe seen in /proc/\u003cpid\u003e/statm) and into brk() call final address.\n\nFor restore we need to know all these values.  While\nmm-\u003estart_code/end_code already present in /proc/$pid/stat, the rest\nmembers are not, so this patch brings them in.\n\nThe restore procedure of these members is addressed in another patch using\nprctl().\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nReviewed-by: Kees Cook \u003ckeescook@chromium.org\u003e\nReviewed-by: 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": "a2ef990ab5a6705a356d146dd773a3b359787497",
      "tree": "5eda6856d7e7662cc0742752f28e7626d4707f5f",
      "parents": [
        "bccd17294a26b67a8a19aaa120e3eeaa7da49281"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "xtfeng@gmail.com",
        "time": "Thu Jan 12 17:17:08 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 12 20:13:02 2012 -0800"
      },
      "message": "proc: fix null pointer deref in proc_pid_permission()\n\nget_proc_task() can fail to search the task and return NULL,\nput_task_struct() will then bomb the kernel with following oops:\n\n  BUG: unable to handle kernel NULL pointer dereference at 0000000000000010\n  IP: [\u003cffffffff81217d34\u003e] proc_pid_permission+0x64/0xe0\n  PGD 112075067 PUD 112814067 PMD 0\n  Oops: 0002 [#1] PREEMPT SMP\n\nThis is a regression introduced by commit 0499680a (\"procfs: add hidepid\u003d\nand gid\u003d mount options\").  The kernel should return -ESRCH if\nget_proc_task() failed.\n\nSigned-off-by: Xiaotian Feng \u003cdannyfeng@tencent.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Stephen Wilson \u003cwilsons@start.ca\u003e\nAcked-by: David Rientjes \u003crientjes@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": "0499680a42141d86417a8fbaa8c8db806bea1201",
      "tree": "eb2aeb559bf5418476319aa81fa4f6ed3659bbc0",
      "parents": [
        "97412950b10e64f347aec4a9b759395c2465adf6"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segooon@gmail.com",
        "time": "Tue Jan 10 15:11:31 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "procfs: add hidepid\u003d and gid\u003d mount options\n\nAdd support for mount options to restrict access to /proc/PID/\ndirectories.  The default backward-compatible \"relaxed\" behaviour is left\nuntouched.\n\nThe first mount option is called \"hidepid\" and its value defines how much\ninfo about processes we want to be available for non-owners:\n\nhidepid\u003d0 (default) means the old behavior - anybody may read all\nworld-readable /proc/PID/* files.\n\nhidepid\u003d1 means users may not access any /proc/\u003cpid\u003e/ directories, but\ntheir own.  Sensitive files like cmdline, sched*, status are now protected\nagainst other users.  As permission checking done in proc_pid_permission()\nand files\u0027 permissions are left untouched, programs expecting specific\nfiles\u0027 modes are not confused.\n\nhidepid\u003d2 means hidepid\u003d1 plus all /proc/PID/ will be invisible to other\nusers.  It doesn\u0027t mean that it hides whether a process exists (it can be\nlearned by other means, e.g.  by kill -0 $PID), but it hides process\u0027 euid\nand egid.  It compicates intruder\u0027s task of gathering info about running\nprocesses, whether some daemon runs with elevated privileges, whether\nanother user runs some sensitive program, whether other users run any\nprogram at all, etc.\n\ngid\u003dXXX defines a group that will be able to gather all processes\u0027 info\n(as in hidepid\u003d0 mode).  This group should be used instead of putting\nnonroot user in sudoers file or something.  However, untrusted users (like\ndaemons, etc.) which are not supposed to monitor the tasks in the whole\nsystem should not be added to the group.\n\nhidepid\u003d1 or higher is designed to restrict access to procfs files, which\nmight reveal some sensitive private information like precise keystrokes\ntimings:\n\nhttp://www.openwall.com/lists/oss-security/2011/11/05/3\n\nhidepid\u003d1/2 doesn\u0027t break monitoring userspace tools.  ps, top, pgrep, and\nconky gracefully handle EPERM/ENOENT and behave as if the current user is\nthe only user running processes.  pstree shows the process subtree which\ncontains \"pstree\" process.\n\nNote: the patch doesn\u0027t deal with setuid/setgid issues of keeping\npreopened descriptors of procfs files (like\nhttps://lkml.org/lkml/2011/2/7/368).  We rely on that the leaked\ninformation like the scheduling counters of setuid apps doesn\u0027t threaten\nanybody\u0027s privacy - only the user started the setuid program may read the\ncounters.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Theodore Tso \u003ctytso@MIT.EDU\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.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": "97412950b10e64f347aec4a9b759395c2465adf6",
      "tree": "1b68e499cb9fcda81f88d6d0ee57826f4a6d7a56",
      "parents": [
        "640708a2cff7f81e246243b0073c66e6ece7e53e"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segooon@gmail.com",
        "time": "Tue Jan 10 15:11:27 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "procfs: parse mount options\n\nAdd support for procfs mount options.  Actual mount options are coming in\nthe next patches.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Theodore Tso \u003ctytso@MIT.EDU\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: James Morris \u003cjmorris@namei.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": "640708a2cff7f81e246243b0073c66e6ece7e53e",
      "tree": "8cc00ae2b374bf6750ad9ca20da3566e28cfc9ff",
      "parents": [
        "7773fbc54182a90cd248656619c7d33859e5f91d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Tue Jan 10 15:11:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "procfs: introduce the /proc/\u003cpid\u003e/map_files/ directory\n\nThis one behaves similarly to the /proc/\u003cpid\u003e/fd/ one - it contains\nsymlinks one for each mapping with file, the name of a symlink is\n\"vma-\u003evm_start-vma-\u003evm_end\", the target is the file.  Opening a symlink\nresults in a file that point exactly to the same inode as them vma\u0027s one.\n\nFor example the ls -l of some arbitrary /proc/\u003cpid\u003e/map_files/\n\n | lr-x------ 1 root root 64 Aug 26 06:40 7f8f80403000-7f8f80404000 -\u003e /lib64/libc-2.5.so\n | lr-x------ 1 root root 64 Aug 26 06:40 7f8f8061e000-7f8f80620000 -\u003e /lib64/libselinux.so.1\n | lr-x------ 1 root root 64 Aug 26 06:40 7f8f80826000-7f8f80827000 -\u003e /lib64/libacl.so.1.1.0\n | lr-x------ 1 root root 64 Aug 26 06:40 7f8f80a2f000-7f8f80a30000 -\u003e /lib64/librt-2.5.so\n | lr-x------ 1 root root 64 Aug 26 06:40 7f8f80a30000-7f8f80a4c000 -\u003e /lib64/ld-2.5.so\n\nThis *helps* checkpointing process in three ways:\n\n1. When dumping a task mappings we do know exact file that is mapped\n   by particular region.  We do this by opening\n   /proc/$pid/map_files/$address symlink the way we do with file\n   descriptors.\n\n2. This also helps in determining which anonymous shared mappings are\n   shared with each other by comparing the inodes of them.\n\n3. When restoring a set of processes in case two of them has a mapping\n   shared, we map the memory by the 1st one and then open its\n   /proc/$pid/map_files/$address file and map it by the 2nd task.\n\nUsing /proc/$pid/maps for this is quite inconvenient since it brings\nrepeatable re-reading and reparsing for this text file which slows down\nrestore procedure significantly.  Also as being pointed in (3) it is a way\neasier to use top level shared mapping in children as\n/proc/$pid/map_files/$address when needed.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[gorcunov@openvz.org: make map_files depend on CHECKPOINT_RESTORE]\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nReviewed-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nReviewed-by: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7773fbc54182a90cd248656619c7d33859e5f91d",
      "tree": "1fe1cc91e194164c19675a588dad0efb3a8c8007",
      "parents": [
        "5e6292c0f28f03dfdb8ea3d685f0b838a23bfba4"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Tue Jan 10 15:11:20 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:54 2012 -0800"
      },
      "message": "procfs: make proc_get_link to use dentry instead of inode\n\nPrepare the ground for the next \"map_files\" patch which needs a name of a\nlink file to analyse.\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: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\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": "43d2b113241d6797b890318767e0af78e313414b",
      "tree": "6f25647f2660f8fca63cc8355b70ad643993dab8",
      "parents": [
        "6bd4837de96e7d9f9bf33e59117c24fc230862ac"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Tue Jan 10 15:08:09 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 10 16:30:44 2012 -0800"
      },
      "message": "tracepoint: add tracepoints for debugging oom_score_adj\n\noom_score_adj is used for guarding processes from OOM-Killer.  One of\nproblem is that it\u0027s inherited at fork().  When a daemon set oom_score_adj\nand make children, it\u0027s hard to know where the value is set.\n\nThis patch adds some tracepoints useful for debugging. This patch adds\n3 trace points.\n  - creating new task\n  - renaming a task (exec)\n  - set oom_score_adj\n\nTo debug, users need to enable some trace pointer. Maybe filtering is useful as\n\n# EVENT\u003d/sys/kernel/debug/tracing/events/task/\n# echo \"oom_score_adj !\u003d 0\" \u003e $EVENT/task_newtask/filter\n# echo \"oom_score_adj !\u003d 0\" \u003e $EVENT/task_rename/filter\n# echo 1 \u003e $EVENT/enable\n# EVENT\u003d/sys/kernel/debug/tracing/events/oom/\n# echo 1 \u003e $EVENT/enable\n\noutput will be like this.\n# grep oom /sys/kernel/debug/tracing/trace\nbash-7699  [007] d..3  5140.744510: oom_score_adj_update: pid\u003d7699 comm\u003dbash oom_score_adj\u003d-1000\nbash-7699  [007] ...1  5151.818022: task_newtask: pid\u003d7729 comm\u003dbash clone_flags\u003d1200011 oom_score_adj\u003d-1000\nls-7729  [003] ...2  5151.818504: task_rename: pid\u003d7729 oldcomm\u003dbash newcomm\u003dls oom_score_adj\u003d-1000\nbash-7699  [002] ...1  5175.701468: task_newtask: pid\u003d7730 comm\u003dbash clone_flags\u003d1200011 oom_score_adj\u003d-1000\ngrep-7730  [007] ...2  5175.701993: task_rename: pid\u003d7730 oldcomm\u003dbash newcomm\u003dgrep oom_score_adj\u003d-1000\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: David Rientjes \u003crientjes@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": "972b2c719990f91eb3b2310d44ef8a2d38955a14",
      "tree": "b25a250ec5bec4b7b6355d214642d8b57c5cab32",
      "parents": [
        "02550d61f49266930e674286379d3601006b2893",
        "c3aa077648e147783a7a53b409578234647db853"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 12:19:57 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)\n  reiserfs: Properly display mount options in /proc/mounts\n  vfs: prevent remount read-only if pending removes\n  vfs: count unlinked inodes\n  vfs: protect remounting superblock read-only\n  vfs: keep list of mounts for each superblock\n  vfs: switch -\u003eshow_options() to struct dentry *\n  vfs: switch -\u003eshow_path() to struct dentry *\n  vfs: switch -\u003eshow_devname() to struct dentry *\n  vfs: switch -\u003eshow_stats to struct dentry *\n  switch security_path_chmod() to struct path *\n  vfs: prefer -\u003edentry-\u003ed_sb to -\u003emnt-\u003emnt_sb\n  vfs: trim includes a bit\n  switch mnt_namespace -\u003eroot to struct mount\n  vfs: take /proc/*/mounts and friends to fs/proc_namespace.c\n  vfs: opencode mntget() mnt_set_mountpoint()\n  vfs: spread struct mount - remaining argument of next_mnt()\n  vfs: move fsnotify junk to struct mount\n  vfs: move mnt_devname\n  vfs: move mnt_list to struct mount\n  vfs: switch pnode.h macros to struct mount *\n  ...\n"
    },
    {
      "commit": "ece2ccb668046610189d88d6aaf05aeb09c988a1",
      "tree": "a0349945f7537de2aca420b47ced23b6294f8b65",
      "parents": [
        "d10577a8d86a0c735488d66d32289a6d66bcfa20",
        "a218d0fdc5f9004164ff151d274487f6799907d0",
        "ff01bb4832651c6d25ac509a06a10fcbd75c461c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:15:54 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:15:54 2012 -0500"
      },
      "message": "Merge branches \u0027vfsmount-guts\u0027, \u0027umode_t\u0027 and \u0027partitions\u0027 into Z\n"
    },
    {
      "commit": "0db49b72bce26341274b74fd968501489a361ae3",
      "tree": "cdb076827aefb38d719d4c42f8ef291c36072fa8",
      "parents": [
        "35b740e4662ef386f0c60e1b60aaf5b44db9914c",
        "1ac9bc6943edf7d181b4b1cc734981350d4f6bae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:33:28 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 06 08:44:54 2012 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits)\n  sched/tracing: Add a new tracepoint for sleeptime\n  sched: Disable scheduler warnings during oopses\n  sched: Fix cgroup movement of waking process\n  sched: Fix cgroup movement of newly created process\n  sched: Fix cgroup movement of forking process\n  sched: Remove cfs bandwidth period check in tg_set_cfs_period()\n  sched: Fix load-balance lock-breaking\n  sched: Replace all_pinned with a generic flags field\n  sched: Only queue remote wakeups when crossing cache boundaries\n  sched: Add missing rcu_dereference() around -\u003ereal_parent usage\n  [S390] fix cputime overflow in uptime_proc_show\n  [S390] cputime: add sparse checking and cleanup\n  sched: Mark parent and real_parent as __rcu\n  sched, nohz: Fix missing RCU read lock\n  sched, nohz: Set the NOHZ_BALANCE_KICK flag for idle load balancer\n  sched, nohz: Fix the idle cpu check in nohz_idle_balance\n  sched: Use jump_labels for sched_feat\n  sched/accounting: Fix parameter passing in task_group_account_field\n  sched/accounting: Fix user/system tick double accounting\n  sched/accounting: Re-use scheduler statistics for the root cgroup\n  ...\n\nFix up conflicts in\n - arch/ia64/include/asm/cputime.h, include/asm-generic/cputime.h\n\tusecs_to_cputime64() vs the sparse cleanups\n - kernel/sched/fair.c, kernel/time/tick-sched.c\n\tscheduler changes in multiple branches\n"
    },
    {
      "commit": "69f594a38967f4540ce7a29b3fd214e68a8330bd",
      "tree": "dff25b5f5ef0736fb63b08729bec4ff57062c13f",
      "parents": [
        "f1c84dae0ecc51aa35c81f19a0ebcd6c0921ddcb"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 12:25:15 2012 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jan 05 18:53:00 2012 -0500"
      },
      "message": "ptrace: do not audit capability check when outputing /proc/pid/stat\n\nReading /proc/pid/stat of another process checks if one has ptrace permissions\non that process.  If one does have permissions it outputs some data about the\nprocess which might have security and attack implications.  If the current\ntask does not have ptrace permissions the read still works, but those fields\nare filled with inocuous (0) values.  Since this check and a subsequent denial\nis not a violation of the security policy we should not audit such denials.\n\nThis can be quite useful to removing ptrace broadly across a system without\nflooding the logs when ps is run or something which harmlessly walks proc.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Serge E. Hallyn \u003cserge.hallyn@canonical.com\u003e\n"
    },
    {
      "commit": "d10577a8d86a0c735488d66d32289a6d66bcfa20",
      "tree": "a38b3606fb863064eb89166f6a3115f7c5eccfd7",
      "parents": [
        "be08d6d260b6e7eb346162a1081cdf5f94fda569"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 07 13:06:11 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:13 2012 -0500"
      },
      "message": "vfs: trim includes a bit\n\n[folded fix for missing magic.h from Tetsuo Handa]\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0226f4923f6c9b40cfa1c1c1b19a6ac6b3924ead",
      "tree": "cb0f26e6329e2222a9f3b8f85887f63980a01d37",
      "parents": [
        "3a2393d71d77b034669d495b49c212a87e04abdc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 06 12:21:54 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:57:13 2012 -0500"
      },
      "message": "vfs: take /proc/*/mounts and friends to fs/proc_namespace.c\n\nrationale: that stuff is far tighter bound to fs/namespace.c than to\nthe guts of procfs proper.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d161a13f974c72fd7ff0069d39a3ae57cb5694ff",
      "tree": "0c6d6237b3eafbe362798d7727a02f509fd72ca9",
      "parents": [
        "587a1f1659e8b330b8738ef4901832a2b63f0bed"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 24 03:36:29 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:56 2012 -0500"
      },
      "message": "switch procfs to umode_t use\n\nboth proc_dir_entry -\u003emode and populating functions\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b520e0565422966cdf1c3759bd73df77b0f248c",
      "tree": "f63a26afa7342eb59b125271b16e30a219b59094",
      "parents": [
        "2a79f17e4a641a2f463cb512cb0ec349844a147b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 12 15:51:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:40 2012 -0500"
      },
      "message": "vfs: fix the stupidity with i_dentry in inode destructors\n\nSeeing that just about every destructor got that INIT_LIST_HEAD() copied into\nit, there is no point whatsoever keeping this INIT_LIST_HEAD in inode_init_once();\nthe cost of taking it into inode_init_always() will be negligible for pipes\nand sockets and negative for everything else.  Not to mention the removal of\nboilerplate code from -\u003edestroy_inode() instances...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "34845636a184f3be91a531098192592cbe6db587",
      "tree": "1c216e37f536a71dae94e41db3f1e059f9ac70a5",
      "parents": [
        "e26a51148f3ebd859bca8bf2e0f212839b447f62"
      ],
      "author": {
        "name": "Andreas Schwab",
        "email": "schwab@linux-m68k.org",
        "time": "Wed Dec 28 15:57:15 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 29 16:31:57 2011 -0800"
      },
      "message": "procfs: do not confuse jiffies with cputime64_t\n\nCommit 2a95ea6c0d129b4 (\"procfs: do not overflow get_{idle,iowait}_time\nfor nohz\") did not take into account that one some architectures jiffies\nand cputime use different units.\n\nThis causes get_idle_time() to return numbers in the wrong units, making\nthe idle time fields in /proc/stat wrong.\n\nInstead of converting the usec value returned by\nget_cpu_{idle,iowait}_time_us to units of jiffies, use the new function\nusecs_to_cputime64 to convert it to the correct unit of cputime64_t.\n\nSigned-off-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nAcked-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: \"Artem S. Tashkinov\" \u003ct.artem@mailcity.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@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": "612ef28a045efadb3a98d4492ead7806a146485d",
      "tree": "05621c87b37e91c27b06d450d76adffe97ce9666",
      "parents": [
        "c3e0ef9a298e028a82ada28101ccd5cf64d209ee",
        "07cde2608a3b5c66515363f1b53623b1536b9785"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Dec 19 19:23:15 2011 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon Dec 19 19:23:15 2011 +0100"
      },
      "message": "Merge branch \u0027sched/core\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into cputime-tip\n\nConflicts:\n\tdrivers/cpufreq/cpufreq_conservative.c\n\tdrivers/cpufreq/cpufreq_ondemand.c\n\tdrivers/macintosh/rack-meter.c\n\tfs/proc/stat.c\n\tfs/proc/uptime.c\n\tkernel/sched/core.c\n"
    },
    {
      "commit": "c3e0ef9a298e028a82ada28101ccd5cf64d209ee",
      "tree": "6a03a5df3e33ccdfda9b0794eef364afe36211f6",
      "parents": [
        "648616343cdbe904c585a6c12e323d3b3c72e46f"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Dec 15 14:56:10 2011 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Dec 15 14:56:19 2011 +0100"
      },
      "message": "[S390] fix cputime overflow in uptime_proc_show\n\nFor 32-bit architectures using standard jiffies the idletime calculation\nin uptime_proc_show will quickly overflow. It takes (2^32 / HZ) seconds\nof idle-time, or e.g. 12.45 days with no load on a quad-core with HZ\u003d1000.\nSwitch to 64-bit calculations.\n\nCc: stable@vger.kernel.org\nCc: Michael Abbott \u003cmichael.abbott@diamond.ac.uk\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "648616343cdbe904c585a6c12e323d3b3c72e46f",
      "tree": "514bce1b52663db4ab5662b637c764cf3c2ed1eb",
      "parents": [
        "55b02d2f4445ad625213817a1736bf2884d32547"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Dec 15 14:56:09 2011 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Dec 15 14:56:19 2011 +0100"
      },
      "message": "[S390] cputime: add sparse checking and cleanup\n\nMake cputime_t and cputime64_t nocast to enable sparse checking to\ndetect incorrect use of cputime. Drop the cputime macros for simple\nscalar operations. The conversion macros are still needed.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "6a54aebf6978e9f296a4d3da3e40af425163c22e",
      "tree": "8217c7114db02d8b69c22fc44880749426949bc3",
      "parents": [
        "067491b7313c41f49607fce782d29344d1472587",
        "dc47ce90c3a822cd7c9e9339fe4d5f61dcb26b50"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 15 08:21:21 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 15 08:21:30 2011 +0100"
      },
      "message": "Merge commit \u0027v3.2-rc5\u0027 into sched/core\n\nMerge reason: Pick up the latest fixes.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ddb360778a86bcf55d856bc15df3ebd2e77afff1",
      "tree": "3d3334f4f5e56ed4ab4c779ef1b21138299944b5",
      "parents": [
        "373da0a2a33018d560afcb2c77f8842985d79594",
        "759c361eb95964d0d786f8962224dd0d9e780e6e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 14 18:22:55 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 14 18:22:55 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  fs/ncpfs: fix error paths and goto statements in ncp_fill_super()\n  configfs: register_filesystem() called too early\n  fuse: register_filesystem() called too early\n  ubifs: too early register_filesystem()\n  ... and the same kind of leak for mqueue\n  procfs: fix a vfsmount longterm reference leak\n"
    },
    {
      "commit": "2a95ea6c0d129b4568fb64e1deda16ceb20e6636",
      "tree": "0648fbd539e00fcfc4a394acaabd3e54b4bf8658",
      "parents": [
        "1368edf0647ac112d8cfa6ce47257dc950c50f5c"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Thu Dec 08 14:34:32 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:29 2011 -0800"
      },
      "message": "procfs: do not overflow get_{idle,iowait}_time for nohz\n\nSince commit a25cac5198d4 (\"proc: Consider NO_HZ when printing idle and\niowait times\") we are reporting idle/io_wait time also while a CPU is\ntickless.  We rely on get_{idle,iowait}_time functions to retrieve\nproper data.\n\nThese functions, however, use usecs_to_cputime to translate micro\nseconds time to cputime64_t.  This is just an alias to usecs_to_jiffies\nwhich reduces the data type from u64 to unsigned int and also checks\nwhether the given parameter overflows jiffies_to_usecs(MAX_JIFFY_OFFSET)\nand returns MAX_JIFFY_OFFSET in that case.\n\nWhen we overflow depends on CONFIG_HZ but especially for CONFIG_HZ_300\nit is quite low (1431649781) so we are getting MAX_JIFFY_OFFSET for\n\u003e3000s! until we overflow unsigned int.  Just for reference\nCONFIG_HZ_100 has an overflow window around 20s, CONFIG_HZ_250 ~8s and\nCONFIG_HZ_1000 ~2s.\n\nThis results in a bug when people saw [h]top going mad reporting 100%\nCPU usage even though there was basically no CPU load.  The reason was\nsimply that /proc/stat stopped reporting idle/io_wait changes (and\nreported MAX_JIFFY_OFFSET) and so the only change happening was for user\nsystem time.\n\nLet\u0027s use nsecs_to_jiffies64 instead which doesn\u0027t reduce the precision\nto 32b type and it is much more appropriate for cumulative time values\n(unlike usecs_to_jiffies which intended for timeout calculations).\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nTested-by: Artem S. Tashkinov \u003ct.artem@mailcity.com\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\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": "b53fc7c2974a50913f49e1d800fe904a28c338e3",
      "tree": "24d0c56f7b1135c78b869044e29a64a3c32170ea",
      "parents": [
        "83aeeada7c69f35e5100b27ec354335597a7a488"
      ],
      "author": {
        "name": "Claudio Scordino",
        "email": "claudio@evidence.eu.com",
        "time": "Thu Dec 08 14:33:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 09 07:50:28 2011 -0800"
      },
      "message": "fs/proc/meminfo.c: fix compilation error\n\nFix the error message \"directives may not be used inside a macro argument\"\nwhich appears when the kernel is compiled for the cris architecture.\n\nSigned-off-by: Claudio Scordino \u003cclaudio@evidence.eu.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "905ad269c55fc62bee3da29f7b1d1efeba8aa1e1",
      "tree": "1c3cf1c0df2b72eca3f13f2f3d9057e754b7fb50",
      "parents": [
        "09d9673d53005fdf40de4c759425893904292236"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 08 23:20:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 09 00:40:19 2011 -0500"
      },
      "message": "procfs: fix a vfsmount longterm reference leak\n\nkern_mount() doesn\u0027t pair with plain mntput()...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3292beb340c76884427faa1f5d6085719477d889",
      "tree": "cb7e431b2a15fa66ef5278d485131bac7a125fbd",
      "parents": [
        "786d6dc7aeb2bfbfe417507b7beb83919f319db3"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Mon Nov 28 14:45:17 2011 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Dec 06 09:06:38 2011 +0100"
      },
      "message": "sched/accounting: Change cpustat fields to an array\n\nThis patch changes fields in cpustat from a structure, to an\nu64 array. Math gets easier, and the code is more flexible.\n\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Paul Tuner \u003cpjt@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLink: http://lkml.kernel.org/r/1322498719-2255-2-git-send-email-glommer@parallels.com\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5e442a493fc59fa536c76db1fff5b49ca36a88c5",
      "tree": "47fb93c6430ac7b598bf3bdd03d1399dd1467fad",
      "parents": [
        "19e0bafc36abd84a5b4d7c7745b78a6f4626e944"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 09 18:16:00 2011 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 09 18:16:00 2011 -0500"
      },
      "message": "Revert \"proc: fix races against execve() of /proc/PID/fd**\"\n\nThis reverts commit aa6afca5bcaba8101f3ea09d5c3e4100b2b9f0e5.\n\nIt escalates of some of the google-chrome SELinux problems with ptrace\n(\"Check failed: pid_ \u003e 0.  Did not find zygote process\"), and Andrew\nsays that it is also causing mystery lockdep reports.\n\nReported-by: Alex Villacís Lasso \u003ca_villacis@palosanto.com\u003e\nRequested-by: James Morris \u003cjmorris@namei.org\u003e\nRequested-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "32aaeffbd4a7457bf2f7448b33b5946ff2a960eb",
      "tree": "faf7ad871d87176423ff9ed1d1ba4d9c688fc23f",
      "parents": [
        "208bca0860406d16398145ddd950036a737c3c9d",
        "67b84999b1a8b1af5625b1eabe92146c5eb42932"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Nov 06 19:44:47 2011 -0800"
      },
      "message": "Merge branch \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\n* \u0027modsplit-Oct31_2011\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)\n  Revert \"tracing: Include module.h in define_trace.h\"\n  irq: don\u0027t put module.h into irq.h for tracking irqgen modules.\n  bluetooth: macroize two small inlines to avoid module.h\n  ip_vs.h: fix implicit use of module_get/module_put from module.h\n  nf_conntrack.h: fix up fallout from implicit moduleparam.h presence\n  include: replace linux/module.h with \"struct module\" wherever possible\n  include: convert various register fcns to macros to avoid include chaining\n  crypto.h: remove unused crypto_tfm_alg_modname() inline\n  uwb.h: fix implicit use of asm/page.h for PAGE_SIZE\n  pm_runtime.h: explicitly requires notifier.h\n  linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h\n  miscdevice.h: fix up implicit use of lists and types\n  stop_machine.h: fix implicit use of smp.h for smp_processor_id\n  of: fix implicit use of errno.h in include/linux/of.h\n  of_platform.h: delete needless include \u003clinux/module.h\u003e\n  acpi: remove module.h include from platform/aclinux.h\n  miscdevice.h: delete unnecessary inclusion of module.h\n  device_cgroup.h: delete needless include \u003clinux/module.h\u003e\n  net: sch_generic remove redundant use of \u003clinux/module.h\u003e\n  net: inet_timewait_sock doesnt need \u003clinux/module.h\u003e\n  ...\n\nFix up trivial conflicts (other header files, and  removal of the ab3550 mfd driver) in\n - drivers/media/dvb/frontends/dibx000_common.c\n - drivers/media/video/{mt9m111.c,ov6650.c}\n - drivers/mfd/ab3550-core.c\n - include/linux/dmaengine.h\n"
    },
    {
      "commit": "092f4c56c1927e4b61a41ee8055005f1cb437009",
      "tree": "616ceb54b7671ccc13922ae9e002b8b972f6e09e",
      "parents": [
        "80c2861672bbf000f6af838656959ee937e4ee4d",
        "c1e2ee2dc436574880758b3836fc96935b774c32"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:07:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:07:27 2011 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s incoming - part two)\n\nSays Andrew:\n\n \"60 patches.  That\u0027s good enough for -rc1 I guess.  I have quite a lot\n  of detritus to be rechecked, work through maintainers, etc.\n\n - most of the remains of MM\n - rtc\n - various misc\n - cgroups\n - memcg\n - cpusets\n - procfs\n - ipc\n - rapidio\n - sysctl\n - pps\n - w1\n - drivers/misc\n - aio\"\n\n* akpm: (60 commits)\n  memcg: replace ss-\u003eid_lock with a rwlock\n  aio: allocate kiocbs in batches\n  drivers/misc/vmw_balloon.c: fix typo in code comment\n  drivers/misc/vmw_balloon.c: determine page allocation flag can_sleep outside loop\n  w1: disable irqs in critical section\n  drivers/w1/w1_int.c: multiple masters used same init_name\n  drivers/power/ds2780_battery.c: fix deadlock upon insertion and removal\n  drivers/power/ds2780_battery.c: add a nolock function to w1 interface\n  drivers/power/ds2780_battery.c: create central point for calling w1 interface\n  w1: ds2760 and ds2780, use ida for id and ida_simple_get() to get it\n  pps gpio client: add missing dependency\n  pps: new client driver using GPIO\n  pps: default echo function\n  include/linux/dma-mapping.h: add dma_zalloc_coherent()\n  sysctl: make CONFIG_SYSCTL_SYSCALL default to n\n  sysctl: add support for poll()\n  RapidIO: documentation update\n  drivers/net/rionet.c: fix ethernet address macros for LE platforms\n  RapidIO: fix potential null deref in rio_setup_device()\n  RapidIO: add mport driver for Tsi721 bridge\n  ...\n"
    },
    {
      "commit": "f1ecf06854a66ee663f4d4cf029c78cd62a15e04",
      "tree": "cbe863057fa14b9390746db6d2b1812a2f874b48",
      "parents": [
        "088024b1deee206cd37eff980138e918837aabdb"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Nov 02 13:39:22 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:07:02 2011 -0700"
      },
      "message": "sysctl: add support for poll()\n\nAdding support for poll() in sysctl fs allows userspace to receive\nnotifications of changes in sysctl entries.  This adds a infrastructure to\nallow files in sysctl fs to be pollable and implements it for hostname and\ndomainname.\n\n[akpm@linux-foundation.org: s/declare/define/ for definitions]\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.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": "aa6afca5bcaba8101f3ea09d5c3e4100b2b9f0e5",
      "tree": "d8a6fec9d15cbaf37513a18666f5611aa7cb7a83",
      "parents": [
        "887df07891de0435c25cffb92268fea2c621f99c"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Wed Nov 02 13:38:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:07:00 2011 -0700"
      },
      "message": "proc: fix races against execve() of /proc/PID/fd**\n\nfd* files are restricted to the task\u0027s owner, and other users may not get\ndirect access to them.  But one may open any of these files and run any\nsetuid program, keeping opened file descriptors.  As there are permission\nchecks on open(), but not on readdir() and read(), operations on the kept\nfile descriptors will not be checked.  It makes it possible to violate\nprocfs permission model.\n\nReading fdinfo/* may disclosure current fds\u0027 position and flags, reading\ndirectory contents of fdinfo/ and fd/ may disclosure the number of opened\nfiles by the target task.  This information is not sensible per se, but it\ncan reveal some private information (like length of a password stored in a\nfile) under certain conditions.\n\nUsed existing (un)lock_trace functions to check for ptrace_may_access(),\nbut instead of using EPERM return code from it use EACCES to be consistent\nwith existing proc_pid_follow_link()/proc_pid_readlink() return code.  If\nthey differ, attacker can guess what fds exist by analyzing stat() return\ncode.  Patched handlers: stat() for fd/*, stat() and read() for fdindo/*,\nreaddir() and lookup() for fd/ and fdinfo/.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "887df07891de0435c25cffb92268fea2c621f99c",
      "tree": "75773637a771f05f1aab438b7f609b2c00bb62c4",
      "parents": [
        "89e8a244b97e48f1f30e898b6f32acca477f2a13"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Nov 02 13:38:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 02 16:07:00 2011 -0700"
      },
      "message": "procfs: report EISDIR when reading sysctl dirs in proc\n\nOn reading sysctl dirs we should return -EISDIR instead of -EINVAL.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\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": "bfe8684869601dacfcb2cd69ef8cfd9045f62170",
      "tree": "4e213aaa766b26f43f0f9ec7998a7745239d9377",
      "parents": [
        "6d6b77f163c7eabedbba00ed2abb7d4a570bff76"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Oct 28 14:13:29 2011 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@serles.lst.de",
        "time": "Wed Nov 02 12:53:43 2011 +0100"
      },
      "message": "filesystems: add set_nlink()\n\nReplace remaining direct i_nlink updates with a new set_nlink()\nupdater function.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nTested-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "6d6b77f163c7eabedbba00ed2abb7d4a570bff76",
      "tree": "6ce074a7dd5a25fae28ef9de6f59ddee08ea4e61",
      "parents": [
        "dd2a981f46a0903a8770a784f213d4d40bbb6f19"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Oct 28 14:13:28 2011 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@serles.lst.de",
        "time": "Wed Nov 02 12:53:43 2011 +0100"
      },
      "message": "filesystems: add missing nlink wrappers\n\nReplace direct i_nlink updates with the respective updater function\n(inc_nlink, drop_nlink, clear_nlink, inode_dec_link_count).\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "bc3e53f682d93df677dbd5006a404722b3adfe18",
      "tree": "f386c29f13626e2b7d98d5a52525a78a9b59e447",
      "parents": [
        "f11c0ca501af89fc07b0d9f17531ba3b68a4ef39"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "cl@linux.com",
        "time": "Mon Oct 31 17:07:30 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:46 2011 -0700"
      },
      "message": "mm: distinguish between mlocked and pinned pages\n\nSome kernel components pin user space memory (infiniband and perf) (by\nincreasing the page count) and account that memory as \"mlocked\".\n\nThe difference between mlocking and pinning is:\n\nA. mlocked pages are marked with PG_mlocked and are exempt from\n   swapping. Page migration may move them around though.\n   They are kept on a special LRU list.\n\nB. Pinned pages cannot be moved because something needs to\n   directly access physical memory. They may not be on any\n   LRU list.\n\nI recently saw an mlockalled process where mm-\u003elocked_vm became\nbigger than the virtual size of the process (!) because some\nmemory was accounted for twice:\n\nOnce when the page was mlocked and once when the Infiniband\nlayer increased the refcount because it needt to pin the RDMA\nmemory.\n\nThis patch introduces a separate counter for pinned pages and\naccounts them seperately.\n\nSigned-off-by: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Mike Marciniszyn \u003cinfinipath@qlogic.com\u003e\nCc: Roland Dreier \u003croland@kernel.org\u003e\nCc: Sean Hefty \u003csean.hefty@intel.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": "c9f01245b6a7d77d17deaa71af10f6aca14fa24e",
      "tree": "13ffde591a5bcefba39cb6393f09b27f1ebc1a30",
      "parents": [
        "7b0d44fa49b1dcfdcf4897f12ddd12ddeab1a9d7"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Oct 31 17:07:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:45 2011 -0700"
      },
      "message": "oom: remove oom_disable_count\n\nThis removes mm-\u003eoom_disable_count entirely since it\u0027s unnecessary and\ncurrently buggy.  The counter was intended to be per-process but it\u0027s\ncurrently decremented in the exit path for each thread that exits, causing\nit to underflow.\n\nThe count was originally intended to prevent oom killing threads that\nshare memory with threads that cannot be killed since it doesn\u0027t lead to\nfuture memory freeing.  The counter could be fixed to represent all\nthreads sharing the same mm, but it\u0027s better to remove the count since:\n\n - it is possible that the OOM_DISABLE thread sharing memory with the\n   victim is waiting on that thread to exit and will actually cause\n   future memory freeing, and\n\n - there is no guarantee that a thread is disabled from oom killing just\n   because another thread sharing its mm is oom disabled.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Ying Han \u003cyinghan@google.com\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": "fc360bd9cdcf875639a77f07fafec26699c546f3",
      "tree": "eb4ee71bafa392d48b3fb630bd4a9baa48104332",
      "parents": [
        "6eea69dd8befeabd3d0f217400f54b157dd91fe9"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Oct 31 17:06:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:44 2011 -0700"
      },
      "message": "/proc/self/numa_maps: restore \"huge\" tag for hugetlb vmas\n\nThe display of the \"huge\" tag was accidentally removed in 29ea2f698 (\"mm:\nuse walk_page_range() instead of custom page table walking code\").\n\nReported-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nTested-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nReviewed-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "afeacc8c1f38b7bb93d4bc7b4ba04c2605061ef0",
      "tree": "e6eb248db3f932808ff2495a094e728d7d7f61e1",
      "parents": [
        "79bb1ee46ad1b76069108ca9b5467a3c14574744"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu May 26 16:00:52 2011 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Oct 31 19:30:31 2011 -0400"
      },
      "message": "fs: add export.h to files using EXPORT_SYMBOL/THIS_MODULE macros\n\nThese files were getting \u003clinux/module.h\u003e via an implicit include\npath, but we want to crush those out of existence since they cost\ntime during compiles of processing thousands of lines of headers\nfor no reason.  Give them the lightweight header that just contains\nthe EXPORT_SYMBOL infrastructure.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "39adff5f69d6849ca22353a88058c9f8630528c0",
      "tree": "b0c2d2de77ebc5c97fd19c29b81eeb03549553f8",
      "parents": [
        "8a4a8918ed6e4a361f4df19f199bbc2d0a89a46c",
        "e35f95b36e43f67a6f806172555a152c11ea0a78"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:15:03 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:15:03 2011 +0200"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)\n  time, s390: Get rid of compile warning\n  dw_apb_timer: constify clocksource name\n  time: Cleanup old CONFIG_GENERIC_TIME references that snuck in\n  time: Change jiffies_to_clock_t() argument type to unsigned long\n  alarmtimers: Fix error handling\n  clocksource: Make watchdog reset lockless\n  posix-cpu-timers: Cure SMP accounting oddities\n  s390: Use direct ktime path for s390 clockevent device\n  clockevents: Add direct ktime programming function\n  clockevents: Make minimum delay adjustments configurable\n  nohz: Remove \"Switched to NOHz mode\" debugging messages\n  proc: Consider NO_HZ when printing idle and iowait times\n  nohz: Make idle/iowait counter update conditional\n  nohz: Fix update_ts_time_stat idle accounting\n  cputime: Clean up cputime_to_usecs and usecs_to_cputime macros\n  alarmtimers: Rework RTC device selection using class interface\n  alarmtimers: Add try_to_cancel functionality\n  alarmtimers: Add more refined alarm state tracking\n  alarmtimers: Remove period from alarm structure\n  alarmtimers: Remove interval cap limit hack\n  ...\n"
    },
    {
      "commit": "32ef43848f283e0ef945d3c67e851c143fea3970",
      "tree": "dc220a36bd188772896ba27db36b243ae1718385",
      "parents": [
        "3200a8aaab0c9ccdc0f59b0dac2d4a47029137fa"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Tue Sep 20 15:19:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 21 13:15:44 2011 -0700"
      },
      "message": "teach /proc/$pid/numa_maps about transparent hugepages\n\nThis is modeled after the smaps code.\n\nIt detects transparent hugepages and then does a single gather_stats()\nfor the page as a whole.  This has two benifits:\n 1. It is more efficient since it does many pages in a single shot.\n 2. It does not have to break down the huge page.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3200a8aaab0c9ccdc0f59b0dac2d4a47029137fa",
      "tree": "33ba986eab9d2663b44082c73114e2599cd06537",
      "parents": [
        "eb4866d0066ffd5446751c102d64feb3318d8bd1"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Tue Sep 20 15:19:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 21 13:15:44 2011 -0700"
      },
      "message": "break out numa_maps gather_pte_stats() checks\n\ngather_pte_stats() does a number of checks on a target page\nto see whether it should even be considered for statistics.\nThis breaks that code out in to a separate function so that\nwe can use it in the transparent hugepage case in the next\npatch.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nReviewed-by: Christoph Lameter \u003ccl@gentwo.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb4866d0066ffd5446751c102d64feb3318d8bd1",
      "tree": "a40325308b621362938facb01b729882098e9cc2",
      "parents": [
        "38867a28a7dc9d69389990bcd42f6b7c77da3d9d"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Tue Sep 20 15:19:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 21 13:15:44 2011 -0700"
      },
      "message": "make /proc/$pid/numa_maps gather_stats() take variable page size\n\nWe need to teach the numa_maps code about transparent huge pages.  The\nfirst step is to teach gather_stats() that the pte it is dealing with\nmight represent more than one page.\n\nNote that will we use this in a moment for transparent huge pages since\nthey have use a single pmd_t which _acts_ as a \"surrogate\" for a bunch\nof smaller pte_t\u0027s.\n\nI\u0027m a _bit_ unhappy that this interface counts in hugetlbfs page sizes\nfor hugetlbfs pages and PAGE_SIZE for normal pages.  That means that to\nfigure out how many _bytes_ \"dirty\u003d1\" means, you must first know the\nhugetlbfs page size.  That\u0027s easier said than done especially if you\ndon\u0027t have visibility in to the mount.\n\nBut, that\u0027s probably a discussion for another day especially since it\nwould change behavior to fix it.  But, just in case anyone wonders why\nthis patch only passes a \u00271\u0027 in the hugetlb case...\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a25cac5198d4ff2842ccca63b423962848ad24b2",
      "tree": "b1e476f78416e522bf27502349ab6ffebd3b6147",
      "parents": [
        "09a1d34f8535ecf9a347ea76f7597730c2bc0c8d"
      ],
      "author": {
        "name": "Michal Hocko",
        "email": "mhocko@suse.cz",
        "time": "Wed Aug 24 09:40:25 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Sep 08 11:10:55 2011 +0200"
      },
      "message": "proc: Consider NO_HZ when printing idle and iowait times\n\nshow_stat handler of the /proc/stat file relies on kstat_cpu(cpu)\nstatistics when priting information about idle and iowait times.\nThis is OK if we are not using tickless kernel (CONFIG_NO_HZ) because\ncounters are updated periodically.\nWith NO_HZ things got more tricky because we are not doing idle/iowait\naccounting while we are tickless so the value might get outdated.\nUsers of /proc/stat will notice that by unchanged idle/iowait values\nwhich is then interpreted as 0% idle/iowait time. From the user space\nPOV this is an unexpected behavior and a change of the interface.\n\nLet\u0027s fix this by using get_cpu_{idle,iowait}_time_us which accounts the\ntotal idle/iowait time since boot and it doesn\u0027t rely on sampling or any\nother periodic activity. Fall back to the previous behavior if NO_HZ is\ndisabled or not configured.\n\nSigned-off-by: Michal Hocko \u003cmhocko@suse.cz\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nLink: http://lkml.kernel.org/r/39181366adac1b39cb6aa3cd53ff0f7c78d32676.1314172057.git.mhocko@suse.cz\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1117f72ea0217ba0cc19f05adbbd8b9a397f5ab7",
      "tree": "26acc637b57fb4ac6b965fd8fb4b7249aaec8755",
      "parents": [
        "c21427043dec93d40e3a1af970831d1f5f15ce5d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 11:51:33 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 11:51:33 2011 -0700"
      },
      "message": "vfs: show O_CLOEXE bit properly in /proc/\u003cpid\u003e/fdinfo/\u003cfd\u003e files\n\nThe CLOEXE bit is magical, and for performance (and semantic) reasons we\ndon\u0027t actually maintain it in the file descriptor itself, but in a\nseparate bit array.  Which means that when we show f_flags, the CLOEXE\nstatus is shown incorrectly: we show the status not as it is now, but as\nit was when the file was opened.\n\nFix that by looking up the bit properly in the \u0027fdt-\u003eclose_on_exec\u0027 bit\narray.\n\nUli needs this in order to re-implement the pfiles program:\n\n  \"For normal file descriptors (not sockets) this was the last piece of\n   information which wasn\u0027t available.  This is all part of my \u0027give\n   Solaris users no reason to not switch\u0027 effort.  I intend to offer the\n   code to the util-linux-ng maintainers.\"\n\nRequested-by: Ulrich Drepper \u003cdrepper@akkadia.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c21427043dec93d40e3a1af970831d1f5f15ce5d",
      "tree": "ad5a6fc418ffb6459f6e75bfa47ecd12c5606267",
      "parents": [
        "1eb19a12bd2214cdcad5273d472b062a4ba97fa1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 11:43:08 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 06 11:43:08 2011 -0700"
      },
      "message": "oom_ajd: don\u0027t use WARN_ONCE, just use printk_once\n\nWARN_ONCE() is very annoying, in that it shows the stack trace that we\ndon\u0027t care about at all, and also triggers various user-level \"kernel\noopsed\" logic that we really don\u0027t care about.  And it\u0027s not like the\nuser can do anything about the applications (sshd) in question, it\u0027s a\ndistro issue.\n\nRequested-by: Andi Kleen \u003candi@firstfloor.org\u003e (and many others)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "09570f914914d2beb0db29c5a9c7344934f2fa8c",
      "tree": "a93900db5e607887aca3ef2cecc2426abe007d87",
      "parents": [
        "5fd00b031530cc476240f654c078c930f1dcd6ea"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Jul 27 21:47:03 2011 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 27 12:50:45 2011 -0700"
      },
      "message": "proc: make struct proc_dir_entry::name a terminal array rather than a pointer\n\nSince __proc_create() appends the name it is given to the end of the PDE\nstructure that it allocates, there isn\u0027t a need to store a name pointer.\nInstead we can just replace the name pointer with a terminal char array of\n_unspecified_ length.  The compiler will simply append the string to statically\ndefined variables of PDE type overlapping any hole at the end of the structure\nand, unlike specifying an explicitly _zero_ length array, won\u0027t give a warning\nif you try to statically initialise it with a string of more than zero length.\n\nAlso, whilst we\u0027re at it:\n\n (1) Move namelen to end just prior to name and reduce it to a single byte\n     (name shouldn\u0027t be longer than NAME_MAX).\n\n (2) Move pde_unload_lock two places further on so that if it\u0027s four bytes in\n     size on a 64-bit machine, it won\u0027t cause an unused hole in the PDE struct.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: 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": "293eb1e7772b25a93647c798c7b89bf26c2da2e0",
      "tree": "debd49012773091732ee1e1b2388462b759525a7",
      "parents": [
        "d2857e79a2ba7c155eaa1a7d3581c8d26b31e54e"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Tue Jul 26 16:08:38 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:43 2011 -0700"
      },
      "message": "proc: fix a race in do_io_accounting()\n\nIf an inode\u0027s mode permits opening /proc/PID/io and the resulting file\ndescriptor is kept across execve() of a setuid or similar binary, the\nptrace_may_access() check tries to prevent using this fd against the\ntask with escalated privileges.\n\nUnfortunately, there is a race in the check against execve().  If\nexecve() is processed after the ptrace check, but before the actual io\ninformation gathering, io statistics will be gathered from the\nprivileged process.  At least in theory this might lead to gathering\nsensible information (like ssh/ftp password length) that wouldn\u0027t be\navailable otherwise.\n\nHolding task-\u003esignal-\u003ecred_guard_mutex while gathering the io\ninformation should protect against the race.\n\nThe order of locking is similar to the one inside of ptrace_attach():\nfirst goes cred_guard_mutex, then lock_task_sighand().\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003cstable@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": "d2857e79a2ba7c155eaa1a7d3581c8d26b31e54e",
      "tree": "6e008e65884e991c8696de2862166b7a0d603e06",
      "parents": [
        "5296f6d315bdd8f1dc97348b788638327a6ab192"
      ],
      "author": {
        "name": "Daisuke Ogino",
        "email": "ogino.daisuke@jp.fujitsu.com",
        "time": "Tue Jul 26 16:08:37 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:43 2011 -0700"
      },
      "message": "procfs: return ENOENT on opening a being-removed proc entry\n\nChange the return value to ENOENT.  This return value is then returned\nwhen opening the proc entry that have been removed.  For example,\nopen(\"/proc/bus/pci/XX/YY\") when the corresponding device is being\nhot-removed.\n\nSigned-off-by: Daisuke Ogino \u003cogino.daisuke@jp.fujitsu.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nAcked-by: Alexey Dobriyan \u003cadobriyan@gmail.com\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": "be8f684d73d8d916847e996bf69cef14352872c6",
      "tree": "7a7be6cd2030c6cdeb57f6ed51fe04dd5a137726",
      "parents": [
        "11239836c04b50ba8453ec58ca7a7bd716ef02c1"
      ],
      "author": {
        "name": "David Rientjes",
        "email": "rientjes@google.com",
        "time": "Mon Jul 25 17:12:18 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:09 2011 -0700"
      },
      "message": "oom: make deprecated use of oom_adj more verbose\n\n/proc/pid/oom_adj is deprecated and scheduled for removal in August 2012\naccording to Documentation/feature-removal-schedule.txt.\n\nThis patch makes the warning more verbose by making it appear as a more\nserious problem (the presence of a stack trace and being multiline should\nattract more attention) so that applications still using the old interface\ncan get fixed.\n\nVery popular users of the old interface have been converted since the oom\nkiller rewrite has been introduced.  udevd switched to the\n/proc/pid/oom_score_adj interface for v162, kde switched in 4.6.1, and\nopensshd switched in 5.7p1.\n\nAt the start of 2012, this should be changed into a WARN() to emit all\nsuch incidents and then finally remove the tunable in August 2012 as\nscheduled.\n\nSigned-off-by: David Rientjes \u003crientjes@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\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": "bbd9d6f7fbb0305c9a592bf05a32e87eb364a4ff",
      "tree": "12b2bb4202b05f6ae6a43c6ce830a0472043dbe5",
      "parents": [
        "8e204874db000928e37199c2db82b7eb8966cc3c",
        "5a9a43646cf709312d71eca71cef90ad802f28f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:02:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:02:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (107 commits)\n  vfs: use ERR_CAST for err-ptr tossing in lookup_instantiate_filp\n  isofs: Remove global fs lock\n  jffs2: fix IN_DELETE_SELF on overwriting rename() killing a directory\n  fix IN_DELETE_SELF on overwriting rename() on ramfs et.al.\n  mm/truncate.c: fix build for CONFIG_BLOCK not enabled\n  fs:update the NOTE of the file_operations structure\n  Remove dead code in dget_parent()\n  AFS: Fix silly characters in a comment\n  switch d_add_ci() to d_splice_alias() in \"found negative\" case as well\n  simplify gfs2_lookup()\n  jfs_lookup(): don\u0027t bother with . or ..\n  get rid of useless dget_parent() in btrfs rename() and link()\n  get rid of useless dget_parent() in fs/btrfs/ioctl.c\n  fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n  drivers: fix up various -\u003ellseek() implementations\n  fs: handle SEEK_HOLE/SEEK_DATA properly in all fs\u0027s that define their own llseek\n  Ext4: handle SEEK_HOLE/SEEK_DATA generically\n  Btrfs: implement our own -\u003ellseek\n  fs: add SEEK_HOLE and SEEK_DATA flags\n  reiserfs: make reiserfs default to barrier\u003dflush\n  ...\n\nFix up trivial conflicts in fs/xfs/linux-2.6/xfs_super.c due to the new\nshrinker callout for the inode cache, that clashed with the xfs code to\nstart the periodic workers later.\n"
    },
    {
      "commit": "8209f53d79444747782a28520187abaf689761f2",
      "tree": "726270ea29e037f026d77a99787b9d844531ac42",
      "parents": [
        "22a3b9771117d566def0150ea787fcc95f16e724",
        "eac1b5e57d7abc836e78fd3fbcf77dbeed01edc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 15:06:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 15:06:50 2011 -0700"
      },
      "message": "Merge branch \u0027ptrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc\n\n* \u0027ptrace\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/oleg/misc: (39 commits)\n  ptrace: do_wait(traced_leader_killed_by_mt_exec) can block forever\n  ptrace: fix ptrace_signal() \u0026\u0026 STOP_DEQUEUED interaction\n  connector: add an event for monitoring process tracers\n  ptrace: dont send SIGSTOP on auto-attach if PT_SEIZED\n  ptrace: mv send-SIGSTOP from do_fork() to ptrace_init_task()\n  ptrace_init_task: initialize child-\u003ejobctl explicitly\n  has_stopped_jobs: s/task_is_stopped/SIGNAL_STOP_STOPPED/\n  ptrace: make former thread ID available via PTRACE_GETEVENTMSG after PTRACE_EVENT_EXEC stop\n  ptrace: wait_consider_task: s/same_thread_group/ptrace_reparented/\n  ptrace: kill real_parent_is_ptracer() in in favor of ptrace_reparented()\n  ptrace: ptrace_reparented() should check same_thread_group()\n  redefine thread_group_leader() as exit_signal \u003e\u003d 0\n  do not change dead_task-\u003eexit_signal\n  kill task_detached()\n  reparent_leader: check EXIT_DEAD instead of task_detached()\n  make do_notify_parent() __must_check, update the callers\n  __ptrace_detach: avoid task_detached(), check do_notify_parent()\n  kill tracehook_notify_death()\n  make do_notify_parent() return bool\n  ptrace: s/tracehook_tracer_task()/ptrace_parent()/\n  ...\n"
    },
    {
      "commit": "f15146380d28b746df3c8b81b392812eb982382a",
      "tree": "bf43b38b60c21bd01b007c9636062783d406eb29",
      "parents": [
        "72c5052ddc3956d847f21c2b8d55c93664a51b2c"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Jul 12 20:48:39 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:50 2011 -0400"
      },
      "message": "fs: seq_file - add event counter to simplify poll() support\n\nMoving the event counter into the dynamically allocated \u0027struc seq_file\u0027\nallows poll() support without the need to allocate its own tracking\nstructure.\n\nAll current users are switched over to use the new counter.\n\nRequested-by: Andrew Morton akpm@linux-foundation.org\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nTested-by: Lucas De Marchi lucas.demarchi@profusion.mobi\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "10556cb21a0d0b24d95f00ea6df16f599a3345b2",
      "tree": "3d7d8dfba807805a55c154f1850717bf3b49f343",
      "parents": [
        "2830ba7f34ebb27c4e5b8b6ef408cd6d74860890"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 19:28:19 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:24 2011 -0400"
      },
      "message": "-\u003epermission() sanitizing: don\u0027t pass flags to -\u003epermission()\n\nnot used by the instances anymore.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2830ba7f34ebb27c4e5b8b6ef408cd6d74860890",
      "tree": "bbcebc14bffd000f1dfcbf37e64f56d2f49581ac",
      "parents": [
        "7e40145eb111a5192e6d819f764db9d6828d1abb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 19:16:29 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:22 2011 -0400"
      },
      "message": "-\u003epermission() sanitizing: don\u0027t pass flags to generic_permission()\n\nredundant; all callers get it duplicated in mask \u0026 MAY_NOT_BLOCK and none of\nthem removes that bit.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1fc0f78ca9f311c6277e2f1b7655bb4d43ceb311",
      "tree": "9c6a5879558b7a189f94eae97ac80268e63fe29b",
      "parents": [
        "178ea73521d64ba41d7aa5488fb9f549c6d4507d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 18:59:02 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:18 2011 -0400"
      },
      "message": "-\u003epermission() sanitizing: MAY_NOT_BLOCK\n\nDuplicate the flags argument into mask bitmap.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "178ea73521d64ba41d7aa5488fb9f549c6d4507d",
      "tree": "7fb6bfb6483577752e307a5bb2e3905658d44294",
      "parents": [
        "07b8ce1ee87d291ff564c02cf878fae973317a52"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 11:31:30 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:16 2011 -0400"
      },
      "message": "kill check_acl callback of generic_permission()\n\nits value depends only on inode and does not change; we might as\nwell store it in -\u003ei_op-\u003echeck_acl and be done with that.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1d1221f375c94ef961ba8574ac4f85c8870ddd51",
      "tree": "1e05f1c33bef03a88745c55ac9891b8423ae1795",
      "parents": [
        "b0af8dfdd67699e25083478c63eedef2e72ebd85"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Fri Jun 24 16:08:38 2011 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 28 09:39:11 2011 -0700"
      },
      "message": "proc: restrict access to /proc/PID/io\n\n/proc/PID/io may be used for gathering private information.  E.g.  for\nopenssh and vsftpd daemons wchars/rchars may be used to learn the\nprecise password length.  Restrict it to processes being able to ptrace\nthe target process.\n\nptrace_may_access() is needed to prevent keeping open file descriptor of\n\"io\" file, executing setuid binary and gathering io information of the\nsetuid\u0027ed process.\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06d984737bac0545fe20bb5447ee488b95adb531",
      "tree": "b8d89d21a53c28a025dd42598bc3406e25db5ba8",
      "parents": [
        "4b9d33e6d83cc05a8005a8f9a8b9677fa0f53626"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jun 17 16:50:40 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 22 19:26:29 2011 +0200"
      },
      "message": "ptrace: s/tracehook_tracer_task()/ptrace_parent()/\n\ntracehook.h is on the way out.  Rename tracehook_tracer_task() to\nptrace_parent() and move it from tracehook.h to ptrace.h.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: John Johansen \u003cjohn.johansen@canonical.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "1aec7036d0c2996c86ce483ca0a28f3b20807b43",
      "tree": "718103f35e7882593ec9ad8994a6e004b3757381",
      "parents": [
        "1d29b5a2ed7eb8862c9b66daf475f3e4c1a40299"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:42:00 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:45:25 2011 -0400"
      },
      "message": "proc_sys_permission() is OK in RCU mode\n\nnothing blocking there, since all instances of sysctl\n-\u003epermissions() method are non-blocking - both of them,\nthat is.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cf1279111686d9742cbc4145bc9d526c83f59fea",
      "tree": "3247223a8bef912896418bd07475cec2658fc212",
      "parents": [
        "730e908f3539066d4aa01f4720ebfc750ce4d045"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 18 20:35:23 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 20 10:44:50 2011 -0400"
      },
      "message": "proc_fd_permission() is doesn\u0027t need to bail out in RCU mode\n\nnothing blocking except generic_permission()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8b97b21e0f4f59801d05a5c536417f04ecfb5603",
      "tree": "47c95c95a4f93a4596dc57204176ceb432234eba",
      "parents": [
        "99a15e21d96f6857dafab1e5167e5e8183215c9c",
        "793925334f32e9026c22baee5c3c340f47d4ef7e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 15:02:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 16 15:02:20 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-nsfd\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-nsfd:\n  proc: Fix Oops on stat of /proc/\u003czombie pid\u003e/ns/net\n"
    },
    {
      "commit": "793925334f32e9026c22baee5c3c340f47d4ef7e",
      "tree": "56682059a84cf6ee12b664ac32b42d431f8c4be8",
      "parents": [
        "2c53b436a30867eb6b47dd7bab23ba638d1fb0d2"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jun 15 12:47:04 2011 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jun 15 14:35:29 2011 -0700"
      },
      "message": "proc: Fix Oops on stat of /proc/\u003czombie pid\u003e/ns/net\n\nDon\u0027t call iput with the inode half setup to be a namespace filedescriptor.\nInstead rearrange the code so that we don\u0027t initialize ei-\u003ens_ops until\nafter I ns_ops-\u003eget succeeds, preventing us from invoking ns_ops-\u003eput\nwhen ns_ops-\u003eget failed.\n\nReported-by: Ingo Saitz \u003cIngo.Saitz@stud.uni-hannover.de\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "ff78fca2a03c08436535d3f7152a30752d8131d1",
      "tree": "314de976604243449825241d814fb80b9a1e89b4",
      "parents": [
        "b99ca60c83a631adaba9c2fff8f2dd14d3517a61"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 12 09:42:17 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 12 17:45:28 2011 -0400"
      },
      "message": "fix leak in proc_set_super()\n\nset_anon_super() can fail...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "57ed609d4b64139b4d2cf5f3b4880a573a7905d2",
      "tree": "d824e1ebd33b28c4ccc53e9074064db479b17dc7",
      "parents": [
        "a74d70b63f1a0230831bcca3145d85ae016f9d4c",
        "f133ecca9cbb31b5e6e9bda27cbe3034fbf656df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:29:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 29 11:29:28 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:\n  arch/tile: more /proc and /sys file support\n"
    },
    {
      "commit": "f133ecca9cbb31b5e6e9bda27cbe3034fbf656df",
      "tree": "1887377b71ee9fc73d4e1226d1d9776ae5a5d7ad",
      "parents": [
        "7a0287df3e83a0012dfc496d4a8af9c1c5b126ef"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu May 26 12:40:09 2011 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri May 27 10:39:05 2011 -0400"
      },
      "message": "arch/tile: more /proc and /sys file support\n\nThis change introduces a few of the less controversial /proc and\n/proc/sys interfaces for tile, along with sysfs attributes for\nvarious things that were originally proposed as /proc/tile files.\nIt also adjusts the \"hardwall\" proc API.\n\nArnd Bergmann reviewed the initial arch/tile submission, which\nincluded a complete set of all the /proc/tile and /proc/sys/tile\nknobs that we had added in a somewhat ad hoc way during initial\ndevelopment, and provided feedback on where most of them should go.\n\nOne knob turned out to be similar enough to the existing\n/proc/sys/debug/exception-trace that it was re-implemented to use\nthat model instead.\n\nAnother knob was /proc/tile/grid, which reported the \"grid\" dimensions\nof a tile chip (e.g. 8x8 processors \u003d 64-core chip).  Arnd suggested\nlooking at sysfs for that, so this change moves that information\nto a pair of sysfs attributes (chip_width and chip_height) in the\n/sys/devices/system/cpu directory.  We also put the \"chip_serial\"\nand \"chip_revision\" information from our old /proc/tile/board file\nas attributes in /sys/devices/system/cpu.\n\nOther information collected via hypervisor APIs is now placed in\n/sys/hypervisor.  We create a /sys/hypervisor/type file (holding the\nconstant string \"tilera\") to be parallel with the Xen use of\n/sys/hypervisor/type holding \"xen\".  We create three top-level files,\n\"version\" (the hypervisor\u0027s own version), \"config_version\" (the\nversion of the configuration file), and \"hvconfig\" (the contents of\nthe configuration file).  The remaining information from our old\n/proc/tile/board and /proc/tile/switch files becomes an attribute\ngroup appearing under /sys/hypervisor/board/.\n\nFinally, after some feedback from Arnd Bergmann for the previous\nversion of this patch, the /proc/tile/hardwall file is split up into\ntwo conceptual parts.  First, a directory /proc/tile/hardwall/ which\ncontains one file per active hardwall, each file named after the\nhardwall\u0027s ID and holding a cpulist that says which cpus are enclosed by\nthe hardwall.  Second, a /proc/PID file \"hardwall\" that is either\nempty (for non-hardwall-using processes) or contains the hardwall ID.\n\nFinally, this change pushes the /proc/sys/tile/unaligned_fixup/\ndirectory, with knobs controlling the kernel code for handling the\nfixup of unaligned exceptions.\n\nReviewed-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "997c136f518c5debd63847e78e2a8694f56dcf90",
      "tree": "ac2ff48901be3e6834757675dcc177732e034a9f",
      "parents": [
        "98bc93e505c03403479c6669c4ff97301cee6199"
      ],
      "author": {
        "name": "Olaf Hering",
        "email": "olaf@aepfle.de",
        "time": "Thu May 26 16:25:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:37 2011 -0700"
      },
      "message": "fs/proc/vmcore.c: add hook to read_from_oldmem() to check for non-ram pages\n\nThe balloon driver in a Xen guest frees guest pages and marks them as\nmmio.  When the kernel crashes and the crash kernel attempts to read the\noldmem via /proc/vmcore a read from ballooned pages will generate 100%\nload in dom0 because Xen asks qemu-dm for the page content.  Since the\nreads come in as 8byte requests each ballooned page is tried 512 times.\n\nWith this change a hook can be registered which checks wether the given\npfn is really ram.  The hook has to return a value \u003e 0 for ram pages, a\nvalue \u003c 0 on error (because the hypercall is not known) and 0 for non-ram\npages.\n\nThis will reduce the time to read /proc/vmcore.  Without this change a\n512M guest with 128M crashkernel region needs 200 seconds to read it, with\nthis change it takes just 2 seconds.\n\nSigned-off-by: Olaf Hering \u003colaf@aepfle.de\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": "98bc93e505c03403479c6669c4ff97301cee6199",
      "tree": "0b6bf39cd6107d536b55fd245b9905cb5baa4e74",
      "parents": [
        "30cd8903913dac7b0918807cac46be3ecde5a5a7"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 26 16:25:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:37 2011 -0700"
      },
      "message": "proc: fix pagemap_read() error case\n\nCurrently, pagemap_read() has three error and/or corner case handling\nmistake.\n\n (1) If ppos parameter is wrong, mm refcount will be leak.\n (2) If count parameter is 0, mm refcount will be leak too.\n (3) If the current task is sleeping in kmalloc() and the system\n     is out of memory and oom-killer kill the proc associated task,\n     mm_refcount prevent the task free its memory. then system may\n     hang up.\n\n\u003cQuote Hugh\u0027s explain why we shold call kmalloc() before get_mm()\u003e\n\n  check_mem_permission gets a reference to the mm.  If we\n  __get_free_page after check_mem_permission, imagine what happens if the\n  system is out of memory, and the mm we\u0027re looking at is selected for\n  killing by the OOM killer: while we wait in __get_free_page for more\n  memory, no memory is freed from the selected mm because it cannot reach\n  exit_mmap while we hold that reference.\n\nThis patch fixes the above three.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: Jovi Zhang \u003cbookjovi@gmail.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: Stephen Wilson \u003cwilsons@start.ca\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": "30cd8903913dac7b0918807cac46be3ecde5a5a7",
      "tree": "64022195d9a384c11b93a4b1299aa944b8293deb",
      "parents": [
        "a4dbf0ec2aa3e8aca6e63f598095750c232d50f1"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 26 16:25:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:37 2011 -0700"
      },
      "message": "proc: put check_mem_permission after __get_free_page in mem_write\n\nIt whould be better if put check_mem_permission after __get_free_page in\nmem_write, to be same as function mem_read.\n\nHugh Dickins explained the reason.\n\n    check_mem_permission gets a reference to the mm.  If we __get_free_page\n    after check_mem_permission, imagine what happens if the system is out\n    of memory, and the mm we\u0027re looking at is selected for killing by the\n    OOM killer: while we wait in __get_free_page for more memory, no memory\n    is freed from the selected mm because it cannot reach exit_mmap while\n    we hold that reference.\n\nReported-by: Jovi Zhang \u003cbookjovi@gmail.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nReviewed-by: Stephen Wilson \u003cwilsons@start.ca\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": "a4dbf0ec2aa3e8aca6e63f598095750c232d50f1",
      "tree": "38ceee9851536b3f5969d642afb9614fba826f8e",
      "parents": [
        "e130aa70f438855b4a0e13a5249951da001798d4"
      ],
      "author": {
        "name": "Yuanhan Liu",
        "email": "yuanhan.liu@linux.intel.com",
        "time": "Thu May 26 16:25:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:37 2011 -0700"
      },
      "message": "proc/stat: use defined macro KMALLOC_MAX_SIZE\n\nThere is a macro for the max size kmalloc can allocate, so use it instead\nof a hardcoded number.\n\nSigned-off-by: Yuanhan Liu \u003cyuanhan.liu@linux.intel.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": "e130aa70f438855b4a0e13a5249951da001798d4",
      "tree": "12d661a9779bc764d4af89e1c8da4d190ba0db84",
      "parents": [
        "0a8cb8e34149251ad1f280fe099a4f971554639a"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu May 26 16:25:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:36 2011 -0700"
      },
      "message": "proc: constify status array\n\nNo need for this local array to be writable, so mark it const.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\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": "0a8cb8e34149251ad1f280fe099a4f971554639a",
      "tree": "9b99f0b9d7366d9049760fd06462b14b0e14a061",
      "parents": [
        "57cc083ad9e1bfeeb4a0ee831e7bb008c8865bf0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu May 26 16:25:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:36 2011 -0700"
      },
      "message": "fs/proc: convert to kstrtoX()\n\nConvert fs/proc/ from strict_strto*() to kstrto*() functions.\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": "3864601387cf4196371e3c1897fdffa5228296f9",
      "tree": "1c517a970194f9e49ef98ef434c650771ffa31e1",
      "parents": [
        "63ab25ebbc50f74550bd8d164a34724b498f6fb9"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu May 26 16:25:46 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 17:12:36 2011 -0700"
      },
      "message": "mm: extract exe_file handling from procfs\n\nSetup and cleanup of mm_struct-\u003eexe_file is currently done in fs/proc/.\nThis was because exe_file was needed only for /proc/\u003cpid\u003e/exe.  Since we\nwill need the exe_file functionality also for core dumps (so core name can\ncontain full binary path), built this functionality always into the\nkernel.\n\nTo achieve that move that out of proc FS to the kernel/ where in fact it\nshould belong.  By doing that we can make dup_mm_exe_file static.  Also we\ncan drop linux/proc_fs.h inclusion in fs/exec.c and kernel/fork.c.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Alexander 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": "ca16d140af91febe25daeb9e032bf8bd46b8c31f",
      "tree": "a093c3f244a1bdfc2a50e271a7e6df3324df0f05",
      "parents": [
        "4db70f73e56961b9bcdfd0c36c62847a18b7dbb5"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu May 26 19:16:19 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 09:20:31 2011 -0700"
      },
      "message": "mm: don\u0027t access vm_flags as \u0027int\u0027\n\nThe type of vma-\u003evm_flags is \u0027unsigned long\u0027. Neither \u0027int\u0027 nor\n\u0027unsigned int\u0027. This patch fixes such misuse.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\n[ Changed to use a typedef - we\u0027ll extend it to cover more cases\n  later, since there has been discussion about making it a 64-bit\n  type..                      - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14d74e0cab7a7779a7ff0c3863c04c8a8e507106",
      "tree": "5e27d7495f8f7ce178b637d588ec42bd7b4173d8",
      "parents": [
        "49a78d085fa6b44d6ed791923c7172a6433589c2",
        "956c920786694f51601a0ef7ee12956fd6aa216e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 18:10:16 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 18:10:16 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-nsfd\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-nsfd:\n  net: fix get_net_ns_by_fd for !CONFIG_NET_NS\n  ns proc: Return -ENOENT for a nonexistent /proc/self/ns/ entry.\n  ns: Declare sys_setns in syscalls.h\n  net: Allow setting the network namespace by fd\n  ns proc: Add support for the ipc namespace\n  ns proc: Add support for the uts namespace\n  ns proc: Add support for the network namespace.\n  ns: Introduce the setns syscall\n  ns: proc files for namespace naming policy.\n"
    },
    {
      "commit": "3f5785ec31adcb7cafa9135087297a38d9698cf8",
      "tree": "b7d06f14e1aea0292a88c4bc0305ea602f6ebd33",
      "parents": [
        "8c1c77ff9be27137fa7cbbf51efedef1a2ae915b",
        "94265cf5f731c7df29fdfde262ca3e6d51e6828c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 17:00:17 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 17:00:17 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (89 commits)\n  bonding: documentation and code cleanup for resend_igmp\n  bonding: prevent deadlock on slave store with alb mode (v3)\n  net: hold rtnl again in dump callbacks\n  Add Fujitsu 1000base-SX PCI ID to tg3\n  bnx2x: protect sequence increment with mutex\n  sch_sfq: fix peek() implementation\n  isdn: netjet - blacklist Digium TDM400P\n  via-velocity: don\u0027t annotate MAC registers as packed\n  xen: netfront: hold RTNL when updating features.\n  sctp: fix memory leak of the ASCONF queue when free asoc\n  net: make dev_disable_lro use physical device if passed a vlan dev (v2)\n  net: move is_vlan_dev into public header file (v2)\n  bug.h: Fix build with CONFIG_PRINTK disabled.\n  wireless: fix fatal kernel-doc error + warning in mac80211.h\n  wireless: fix cfg80211.h new kernel-doc warnings\n  iwlagn: dbg_fixed_rate only used when CONFIG_MAC80211_DEBUGFS enabled\n  dst: catch uninitialized metrics\n  be2net: hash key for rss-config cmd not set\n  bridge: initialize fake_rtable metrics\n  net: fix __dst_destroy_metrics_generic()\n  ...\n\nFix up trivial conflicts in drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c\n"
    },
    {
      "commit": "5b52fc890bece77bffb9fade69239f71384ef02b",
      "tree": "52848297984dba4c0f4106c5303a1a4bf0db92b0",
      "parents": [
        "f2beb7983613ecca20a61604f01ab50cc7a797e6"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Tue May 24 17:12:49 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:35 2011 -0700"
      },
      "message": "proc: allocate storage for numa_maps statistics once\n\nIn show_numa_map() we collect statistics into a numa_maps structure.\nSince the number of NUMA nodes can be very large, this structure is not a\ncandidate for stack allocation.\n\nInstead of going thru a kmalloc()+kfree() cycle each time show_numa_map()\nis invoked, perform the allocation just once when /proc/pid/numa_maps is\nopened.\n\nPerforming the allocation when numa_maps is opened, and thus before a\nreference to the target tasks mm is taken, eliminates a potential\nstalemate condition in the oom-killer as originally described by Hugh\nDickins:\n\n  ... imagine what happens if the system is out of memory, and the mm\n  we\u0027re looking at is selected for killing by the OOM killer: while\n  we wait in __get_free_page for more memory, no memory is freed\n  from the selected mm because it cannot reach exit_mmap while we hold\n  that reference.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2beb7983613ecca20a61604f01ab50cc7a797e6",
      "tree": "b8335e959493b9c97aee4a48f2c02f42144982a1",
      "parents": [
        "f69ff943df6972aae96c10733b6847fa094d8a59"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Tue May 24 17:12:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:35 2011 -0700"
      },
      "message": "proc: make struct proc_maps_private truly private\n\nNow that mm/mempolicy.c is no longer implementing /proc/pid/numa_maps\nthere is no need to export struct proc_maps_private to the world.  Move it\nto fs/proc/internal.h instead.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f69ff943df6972aae96c10733b6847fa094d8a59",
      "tree": "b0812b5e0b1376f193a9db088ebd8856deabed00",
      "parents": [
        "13057efb0a0063eb8042d99093ec88a52c4f1593"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Tue May 24 17:12:47 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 25 08:39:34 2011 -0700"
      },
      "message": "mm: proc: move show_numa_map() to fs/proc/task_mmu.c\n\nMoving show_numa_map() from mempolicy.c to task_mmu.c solves several\nissues.\n\n  - Having the show() operation \"miles away\" from the corresponding\n    seq_file iteration operations is a maintenance burden.\n\n  - The need to export ad hoc info like struct proc_maps_private is\n    eliminated.\n\n  - The implementation of show_numa_map() can be improved in a simple\n    manner by cooperating with the other seq_file operations (start,\n    stop, etc) -- something that would be messy to do without this\n    change.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chughd@google.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62ca24baf1417e56fd2ae4ff07adfe7f6a2e42fc",
      "tree": "5359e4bc30e95134d766a9ff7a074b3bf32b8a9d",
      "parents": [
        "618e724b8d79c6232daac49cb39b0723bf5c4b08"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed May 11 15:42:08 2011 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 24 15:30:33 2011 -0700"
      },
      "message": "ns proc: Return -ENOENT for a nonexistent /proc/self/ns/ entry.\n\nSpotted-by: Nathan Lynch \u003cntl@pobox.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "31ec97d9cebac804814de298592648f7c18d8281",
      "tree": "f725fcce0d5a9d6d7bd64b777de0a44e71773d0e",
      "parents": [
        "557eed603159b4e007c57d97fad1333ecebd3c2e",
        "daf8cf608d57a0b9f22276036e420cc82cf6ab4f"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 24 16:47:54 2011 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 24 16:47:54 2011 -0400"
      },
      "message": "Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "011159a0a746e03ae42d559ce5c2a70138da3129",
      "tree": "c91c05bd65fc32dde3cdb07933e07d2ba92b6d72",
      "parents": [
        "9368a9a2378ab721f82f59430a135b4ce4ff5109"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat May 14 00:12:48 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon May 16 14:25:28 2011 -0400"
      },
      "message": "airo: correct proc entry creation interfaces\n\n* use proc_mkdir_mode() instead of create_proc_entry(S_IFDIR|...),\n  export proc_mkdir_mode() for that, oh well.\n* don\u0027t supply S_IFREG to proc_create_data(), it\u0027s unnecessary\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a00eaf11a223c63fbb212369d6db69ce4c55a2d1",
      "tree": "1c38d8591c229243cb09386a0f5b3737da421cf1",
      "parents": [
        "34482e89a5218f0f9317abf1cfba3bb38b5c29dd"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Mar 07 18:48:39 2010 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 10 14:35:47 2011 -0700"
      },
      "message": "ns proc: Add support for the ipc namespace\n\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "34482e89a5218f0f9317abf1cfba3bb38b5c29dd",
      "tree": "94a2c2409fbbef8a01aae589469ee44180e6e04f",
      "parents": [
        "13b6f57623bc485e116344fe91fbcb29f149242b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Mar 07 18:43:27 2010 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 10 14:35:35 2011 -0700"
      },
      "message": "ns proc: Add support for the uts namespace\n\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "13b6f57623bc485e116344fe91fbcb29f149242b",
      "tree": "f2d43576e248ac61b967734a6ccd313b971fb430",
      "parents": [
        "0663c6f8fa37d777ede74ff991a0cba3a42fcbd7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Mar 07 18:14:23 2010 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 10 14:34:26 2011 -0700"
      },
      "message": "ns proc: Add support for the network namespace.\n\nImplementing file descriptors for the network namespace\nis simple and straight forward.\n\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "6b4e306aa3dc94a0545eb9279475b1ab6209a31f",
      "tree": "ca8c6dec0805076f0b5ba7c547e3cb2004e3aea2",
      "parents": [
        "0ee5623f9a6e52df90a78bd21179f8ab370e102e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Mar 07 16:41:34 2010 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 10 14:31:44 2011 -0700"
      },
      "message": "ns: proc files for namespace naming policy.\n\nCreate files under /proc/\u003cpid\u003e/ns/ to allow controlling the\nnamespaces of a process.\n\nThis addresses three specific problems that can make namespaces hard to\nwork with.\n- Namespaces require a dedicated process to pin them in memory.\n- It is not possible to use a namespace unless you are the child\n  of the original creator.\n- Namespaces don\u0027t have names that userspace can use to talk about\n  them.\n\nThe namespace files under /proc/\u003cpid\u003e/ns/ can be opened and the\nfile descriptor can be used to talk about a specific namespace, and\nto keep the specified namespace alive.\n\nA namespace can be kept alive by either holding the file descriptor\nopen or bind mounting the file someplace else.  aka:\nmount --bind /proc/self/ns/net /some/filesystem/path\nmount --bind /proc/self/fd/\u003cN\u003e /some/filesystem/path\n\nThis allows namespaces to be named with userspace policy.\n\nIt requires additional support to make use of these filedescriptors\nand that will be comming in the following patches.\n\nAcked-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "a09a79f66874c905af35d5bb5e5f2fdc7b6b894d",
      "tree": "9cb2ae1fef7083af91a49c19411e9871e0e59a37",
      "parents": [
        "26822eebb25500fb0776c7c256a6af041e9f538b"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mikulas@artax.karlin.mff.cuni.cz",
        "time": "Mon May 09 13:01:09 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 09 16:22:07 2011 -0700"
      },
      "message": "Don\u0027t lock guardpage if the stack is growing up\n\nLinux kernel excludes guard page when performing mlock on a VMA with\ndown-growing stack. However, some architectures have up-growing stack\nand locking the guard page should be excluded in this case too.\n\nThis patch fixes lvm2 on PA-RISC (and possibly other architectures with\nup-growing stack). lvm2 calculates number of used pages when locking and\nwhen unlocking and reports an internal error if the numbers mismatch.\n\n[ Patch changed fairly extensively to also fix /proc/\u003cpid\u003e/maps for the\n  grows-up case, and to move things around a bit to clean it all up and\n  share the infrstructure with the /proc bits.\n\n  Tested on ia64 that has both grow-up and grow-down segments  - Linus ]\n\nSigned-off-by: Mikulas Patocka \u003cmikulas@artax.karlin.mff.cuni.cz\u003e\nTested-by: Tony Luck \u003ctony.luck@gmail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d8bdc59f215e62098bc5b4256fd9928bf27053a1",
      "tree": "2f6e233afaf1b7f970e2f0ef0786dff4596dbd0a",
      "parents": [
        "c78193e9c7bcbf25b8237ad0dec82f805c4ea69b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 10:36:54 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 18 10:36:54 2011 -0700"
      },
      "message": "proc: do proper range check on readdir offset\n\nRather than pass in some random truncated offset to the pid-related\nfunctions, check that the offset is in range up-front.\n\nThis is just cleanup, the previous commit fixed the real problem.\n\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "76597cd31470fa130784c78fadb4dab2e624a723",
      "tree": "94387f243f4b8211352a95fda5b23bd12bbf8873",
      "parents": [
        "16c29dafcc86024048f1dbb8349d31cb22c7c55a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 27 19:09:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 27 19:09:29 2011 -0700"
      },
      "message": "proc: fix oops on invalid /proc/\u003cpid\u003e/maps access\n\nWhen m_start returns an error, the seq_file logic will still call m_stop\nwith that error entry, so we\u0027d better make sure that we check it before\nusing it as a vma.\n\nIntroduced by commit ec6fd8a4355c (\"report errors in /proc/*/*map*\nsanely\"), which replaced NULL with various ERR_PTR() cases.\n\n(On ia64, you happen to get a unaligned fault instead of a page fault,\nsince the address used is generally some random error code like -EPERM)\n\nReported-by: Anca Emanuel \u003canca.emanuel@gmail.com\u003e\nReported-by: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Américo Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: Stephen Wilson \u003cwilsons@start.ca\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b81a618dcd3ea99de292dbe624f41ca68f464376",
      "tree": "c5fbe44f944da9d7dc0c224116be77094d379c8a",
      "parents": [
        "2f284c846331fa44be1300a3c2c3e85800268a00",
        "a9712bc12c40c172e393f85a9b2ba8db4bf59509"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 20:51:42 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 20:51:42 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  deal with races in /proc/*/{syscall,stack,personality}\n  proc: enable writing to /proc/pid/mem\n  proc: make check_mem_permission() return an mm_struct on success\n  proc: hold cred_guard_mutex in check_mem_permission()\n  proc: disable mem_write after exec\n  mm: implement access_remote_vm\n  mm: factor out main logic of access_process_vm\n  mm: use mm_struct to resolve gate vma\u0027s in __get_user_pages\n  mm: arch: rename in_gate_area_no_task to in_gate_area_no_mm\n  mm: arch: make in_gate_area take an mm_struct instead of a task_struct\n  mm: arch: make get_gate_vma take an mm_struct instead of a task_struct\n  x86: mark associated mm when running a task in 32 bit compatibility mode\n  x86: add context tag to mark mm when running a task in 32-bit compatibility mode\n  auxv: require the target to be tracable (or yourself)\n  close race in /proc/*/environ\n  report errors in /proc/*/*map* sanely\n  pagemap: close races with suid execve\n  make sessionid permissions in /proc/*/task/* match those in /proc/*\n  fix leaks in path_lookupat()\n\nFix up trivial conflicts in fs/proc/base.c\n"
    },
    {
      "commit": "52e9fc76d0d4b1e8adeee736172c6c23180059b2",
      "tree": "61fd430bd5848fc1598373675f8f6810e4af08b4",
      "parents": [
        "4308eebbeb2026827d4492ce8c23d99f7f144a82"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Mar 23 16:43:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:58 2011 -0700"
      },
      "message": "procfs: kill the global proc_mnt variable\n\nAfter the previous cleanup in proc_get_sb() the global proc_mnt has no\nreasons to exists, kill it.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4308eebbeb2026827d4492ce8c23d99f7f144a82",
      "tree": "3781e227988b4d986bf98dcc0390df17c6fe8f10",
      "parents": [
        "45a68628d37222e655219febce9e91b6484789b2"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Mar 23 16:43:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:58 2011 -0700"
      },
      "message": "pidns: call pid_ns_prepare_proc() from create_pid_namespace()\n\nReorganize proc_get_sb() so it can be called before the struct pid of the\nfirst process is allocated.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Serge E. Hallyn \u003cserge@hallyn.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "5883f57ca0008ffc93e09cbb9847a1928e50c6f3"
}
