)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "5883f57ca0008ffc93e09cbb9847a1928e50c6f3",
      "tree": "f7559549b81f1648b089ddfaa202644bf353b3b0",
      "parents": [
        "312ec7e50c4d3f40b3762af651d1aa79a67f556a"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Wed Mar 23 16:42:53 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:37 2011 -0700"
      },
      "message": "proc: protect mm start_code/end_code in /proc/pid/stat\n\nWhile mm-\u003estart_stack was protected from cross-uid viewing (commit\nf83ce3e6b02d5 (\"proc: avoid information leaks to non-privileged\nprocesses\")), the start_code and end_code values were not.  This would\nallow the text location of a PIE binary to leak, defeating ASLR.\n\nNote that the value \"1\" is used instead of \"0\" for a protected value since\n\"ps\", \"killall\", and likely other readers of /proc/pid/stat, take\nstart_code of \"0\" to mean a kernel thread and will misbehave.  Thanks to\nBrad Spengler for pointing this out.\n\nAddresses CVE-2011-0726\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.sg\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Brad Spengler \u003cspender@grsecurity.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "312ec7e50c4d3f40b3762af651d1aa79a67f556a",
      "tree": "98112d9c80aacd011e313268b5f5d8caf5b5b727",
      "parents": [
        "fc3d8767b2b6de955579852d7a150f1734265eaf"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Mar 23 16:42:52 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:37 2011 -0700"
      },
      "message": "proc: make struct proc_dir_entry::namelen unsigned int\n\n1. namelen is declared \"unsigned short\" which hints for \"maybe space savings\".\n   Indeed in 2.4 struct proc_dir_entry looked like:\n\n        struct proc_dir_entry {\n                unsigned short low_ino;\n                unsigned short namelen;\n\n   Now, low_ino is \"unsigned int\", all savings were gone for a long time.\n   \"struct proc_dir_entry\" is not that countless to worry about it\u0027s size,\n   anyway.\n\n2. converting from unsigned short to int/unsigned int can only create\n   problems, we better play it safe.\n\nSpace is not really conserved, because of natural alignment for the next\nfield.  sizeof(struct proc_dir_entry) remains the same.\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": "fc3d8767b2b6de955579852d7a150f1734265eaf",
      "tree": "282762d459af3ebdf0bf8661a9422d55fc74dbb1",
      "parents": [
        "0db0c01b53a1a421513f91573241aabafb87802a"
      ],
      "author": {
        "name": "Jovi Zhang",
        "email": "bookjovi@gmail.com",
        "time": "Wed Mar 23 16:42:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:36 2011 -0700"
      },
      "message": "procfs: fix some wrong error code usage\n\n[root@wei 1]# cat /proc/1/mem\ncat: /proc/1/mem: No such process\n\nerror code -ESRCH is wrong in this situation.  Return -EPERM instead.\n\nSigned-off-by: Jovi Zhang \u003cbookjovi@gmail.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\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": "0db0c01b53a1a421513f91573241aabafb87802a",
      "tree": "beb48c1fe733509945d6cfda2f830ebe3104aa02",
      "parents": [
        "51e031496d50f87ff519a63cfd4fc2f415f03336"
      ],
      "author": {
        "name": "Aaro Koskinen",
        "email": "aaro.koskinen@nokia.com",
        "time": "Wed Mar 23 16:42:50 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:36 2011 -0700"
      },
      "message": "procfs: fix /proc/\u003cpid\u003e/maps heap check\n\nThe current code fails to print the \"[heap]\" marking if the heap is split\ninto multiple mappings.\n\nFix the check so that the marking is displayed in all possible cases:\n\t1. vma matches exactly the heap\n\t2. the heap vma is merged e.g. with bss\n\t3. the heap vma is splitted e.g. due to locked pages\n\nTest cases. In all cases, the process should have mapping(s) with\n[heap] marking:\n\n\t(1) vma matches exactly the heap\n\n\t#include \u003cstdio.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003csys/types.h\u003e\n\n\tint main (void)\n\t{\n\t\tif (sbrk(4096) !\u003d (void *)-1) {\n\t\t\tprintf(\"check /proc/%d/maps\\n\", (int)getpid());\n\t\t\twhile (1)\n\t\t\t\tsleep(1);\n\t\t}\n\t\treturn 0;\n\t}\n\n\t# ./test1\n\tcheck /proc/553/maps\n\t[1] + Stopped                    ./test1\n\t# cat /proc/553/maps | head -4\n\t00008000-00009000 r-xp 00000000 01:00 3113640    /test1\n\t00010000-00011000 rw-p 00000000 01:00 3113640    /test1\n\t00011000-00012000 rw-p 00000000 00:00 0          [heap]\n\t4006f000-40070000 rw-p 00000000 00:00 0\n\n\t(2) the heap vma is merged\n\n\t#include \u003cstdio.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003csys/types.h\u003e\n\n\tchar foo[4096] \u003d \"foo\";\n\tchar bar[4096];\n\n\tint main (void)\n\t{\n\t\tif (sbrk(4096) !\u003d (void *)-1) {\n\t\t\tprintf(\"check /proc/%d/maps\\n\", (int)getpid());\n\t\t\twhile (1)\n\t\t\t\tsleep(1);\n\t\t}\n\t\treturn 0;\n\t}\n\n\t# ./test2\n\tcheck /proc/556/maps\n\t[2] + Stopped                    ./test2\n\t# cat /proc/556/maps | head -4\n\t00008000-00009000 r-xp 00000000 01:00 3116312    /test2\n\t00010000-00012000 rw-p 00000000 01:00 3116312    /test2\n\t00012000-00014000 rw-p 00000000 00:00 0          [heap]\n\t4004a000-4004b000 rw-p 00000000 00:00 0\n\n\t(3) the heap vma is splitted (this fails without the patch)\n\n\t#include \u003cstdio.h\u003e\n\t#include \u003cunistd.h\u003e\n\t#include \u003csys/mman.h\u003e\n\t#include \u003csys/types.h\u003e\n\n\tint main (void)\n\t{\n\t\tif ((sbrk(4096) !\u003d (void *)-1) \u0026\u0026 !mlockall(MCL_FUTURE) \u0026\u0026\n\t\t    (sbrk(4096) !\u003d (void *)-1)) {\n\t\t\tprintf(\"check /proc/%d/maps\\n\", (int)getpid());\n\t\t\twhile (1)\n\t\t\t\tsleep(1);\n\t\t}\n\t\treturn 0;\n\t}\n\n\t# ./test3\n\tcheck /proc/559/maps\n\t[1] + Stopped                    ./test3\n\t# cat /proc/559/maps|head -4\n\t00008000-00009000 r-xp 00000000 01:00 3119108    /test3\n\t00010000-00011000 rw-p 00000000 01:00 3119108    /test3\n\t00011000-00012000 rw-p 00000000 00:00 0          [heap]\n\t00012000-00013000 rw-p 00000000 00:00 0          [heap]\n\nIt looks like the bug has been there forever, and since it only results in\nsome information missing from a procfile, it does not fulfil the -stable\n\"critical issue\" criteria.\n\nSigned-off-by: Aaro Koskinen \u003caaro.koskinen@nokia.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51e031496d50f87ff519a63cfd4fc2f415f03336",
      "tree": "75c177b8aeba82fffb80960eed1c77bb4188c362",
      "parents": [
        "523fb486bfd94e3a3b16a42bcb21b1959cf14df8"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Wed Mar 23 16:42:48 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 23 19:46:36 2011 -0700"
      },
      "message": "proc: hide kernel addresses via %pK in /proc/\u003cpid\u003e/stack\n\nThis file is readable for the task owner.  Hide kernel addresses from\nunprivileged users, leave them function names and offsets.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nAcked-by: Kees Cook \u003ckees.cook@canonical.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": "a9712bc12c40c172e393f85a9b2ba8db4bf59509",
      "tree": "c40217e028ae937da7ad94e249e2247191ffcc8f",
      "parents": [
        "198214a7ee50375fa71a65e518341980cfd4b2f0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 23 15:52:50 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 23 17:01:18 2011 -0400"
      },
      "message": "deal with races in /proc/*/{syscall,stack,personality}\n\nAll of those are rw-r--r-- and all are broken for suid - if you open\na file before the target does suid-root exec, you\u0027ll be still able\nto access it.  For personality it\u0027s not a big deal, but for syscall\nand stack it\u0027s a real problem.\n\nFix: check that task is tracable for you at the time of read().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "198214a7ee50375fa71a65e518341980cfd4b2f0",
      "tree": "cfd389ba211b8742c99dcbb866b3a6c0864f2164",
      "parents": [
        "8b0db9db19858b08c46a84540acfd35f6e6487b8"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Sun Mar 13 15:49:24 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 23 16:36:59 2011 -0400"
      },
      "message": "proc: enable writing to /proc/pid/mem\n\nWith recent changes there is no longer a security hazard with writing to\n/proc/pid/mem.  Remove the #ifdef.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8b0db9db19858b08c46a84540acfd35f6e6487b8",
      "tree": "f8cad66b43b21ac8cc58c6173b86aaa9ee3d4b5f",
      "parents": [
        "18f661bcf898742212182d75f22f05b048cc04bb"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Sun Mar 13 15:49:23 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 23 16:36:59 2011 -0400"
      },
      "message": "proc: make check_mem_permission() return an mm_struct on success\n\nThis change allows us to take advantage of access_remote_vm(), which in turn\neliminates a security issue with the mem_write() implementation.\n\nThe previous implementation of mem_write() was insecure since the target task\ncould exec a setuid-root binary between the permission check and the actual\nwrite.  Holding a reference to the target mm_struct eliminates this\nvulnerability.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "18f661bcf898742212182d75f22f05b048cc04bb",
      "tree": "3a0a6edc6e4240bda06fe52d565fe4b1cb4d8b84",
      "parents": [
        "26947f8c8f9598209001cdcd31bb2162a2e54691"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Sun Mar 13 15:49:22 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 23 16:36:58 2011 -0400"
      },
      "message": "proc: hold cred_guard_mutex in check_mem_permission()\n\nAvoid a potential race when task exec\u0027s and we get a new -\u003emm but check against\nthe old credentials in ptrace_may_access().\n\nHolding of the mutex is implemented by factoring out the body of the code into a\nhelper function __check_mem_permission().  Performing this factorization now\nsimplifies upcoming changes and minimizes churn in the diff\u0027s.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "26947f8c8f9598209001cdcd31bb2162a2e54691",
      "tree": "bab014e7ad404ca3e36ae650f170f02df05705cd",
      "parents": [
        "5ddd36b9c59887c6416e21daf984fbdd9b1818df"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Sun Mar 13 15:49:21 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 23 16:36:58 2011 -0400"
      },
      "message": "proc: disable mem_write after exec\n\nThis change makes mem_write() observe the same constraints as mem_read().  This\nis particularly important for mem_write as an accidental leak of the fd across\nan exec could result in arbitrary modification of the target process\u0027 memory.\nIOW, /proc/pid/mem is implicitly close-on-exec.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "31db58b3ab432f72ea76be58b12e6ffaf627d5db",
      "tree": "c88b742e1f2c52045d5abc6d35d7492ebdf64541",
      "parents": [
        "375906f8765e131a4a159b1ffebf78c15db7b3bf"
      ],
      "author": {
        "name": "Stephen Wilson",
        "email": "wilsons@start.ca",
        "time": "Sun Mar 13 15:49:15 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 23 16:36:54 2011 -0400"
      },
      "message": "mm: arch: make get_gate_vma take an mm_struct instead of a task_struct\n\nMorally, the presence of a gate vma is more an attribute of a particular mm than\na particular task.  Moreover, dropping the dependency on task_struct will help\nmake both existing and future operations on mm\u0027s more flexible and convenient.\n\nSigned-off-by: Stephen Wilson \u003cwilsons@start.ca\u003e\nReviewed-by: Michel Lespinasse \u003cwalken@google.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2fadaef41283aad7100fa73f01998cddaca25833",
      "tree": "110c35c301a504d03d73d1aea2904abc43ccce6f",
      "parents": [
        "d6f64b89d7ff22ce05896ab4a93a653e8d0b123d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Feb 15 22:52:11 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 23 16:36:52 2011 -0400"
      },
      "message": "auxv: require the target to be tracable (or yourself)\n\nsame as for environ, except that we didn\u0027t do any checks to\nprevent access after suid execve\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d6f64b89d7ff22ce05896ab4a93a653e8d0b123d",
      "tree": "21bc9a103dade9b22ced58455dde7cd00e01cd28",
      "parents": [
        "ec6fd8a4355cda81cd9f06bebc048e83eb514ac7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Feb 15 22:26:01 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 23 16:36:51 2011 -0400"
      },
      "message": "close race in /proc/*/environ\n\nSwitch to mm_for_maps().  Maybe we ought to make it r--r--r--,\nsince we do checks on IO anyway...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ec6fd8a4355cda81cd9f06bebc048e83eb514ac7",
      "tree": "828c3f2e1b474cc0ec9768d5dc19cfa2c086898f",
      "parents": [
        "ca6b0bf0e086513b9ee5efc0aa5770ecb57778af"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Feb 15 22:22:54 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 23 16:36:50 2011 -0400"
      },
      "message": "report errors in /proc/*/*map* sanely\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ca6b0bf0e086513b9ee5efc0aa5770ecb57778af",
      "tree": "4fec50b38253288746ac4b4ea6d4bf5216b0c53b",
      "parents": [
        "26ec3c646e75ce7a69fda429d68fcbdcd5eacc62"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Feb 15 22:04:37 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 23 16:36:50 2011 -0400"
      },
      "message": "pagemap: close races with suid execve\n\njust use mm_for_maps()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "26ec3c646e75ce7a69fda429d68fcbdcd5eacc62",
      "tree": "5b5e29272fbd9a99111a9042a84522bc06f61219",
      "parents": [
        "bd23a539d0733c9f9ec3f9fc628491fad2658e82"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Feb 15 21:24:05 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 23 16:36:49 2011 -0400"
      },
      "message": "make sessionid permissions in /proc/*/task/* match those in /proc/*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4031a219d8913da40ade5a6e5b538cc61e975cc8",
      "tree": "ead7acfa743ef31f5be6dc9cae1fc70cefd72bf0",
      "parents": [
        "22e057c5923e60debad318cbeaee33033b110bc8"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Tue Mar 22 16:33:01 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:04 2011 -0700"
      },
      "message": "smaps: have smaps show transparent huge pages\n\nNow that the mere act of _looking_ at /proc/$pid/smaps will not destroy\ntransparent huge pages, tell how much of the VMA is actually mapped with\nthem.\n\nThis way, we can make sure that we\u0027re getting THPs where we\nexpect to see them.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nReviewed-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nTested-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Michael J Wolf \u003cmjwolf@us.ibm.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22e057c5923e60debad318cbeaee33033b110bc8",
      "tree": "7dd6d7b5ed93974263377cd458384b85b2847041",
      "parents": [
        "3c9acc7849b1eab7ffc75e933404c5f32865d9a2"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Tue Mar 22 16:33:00 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:04 2011 -0700"
      },
      "message": "smaps: teach smaps_pte_range() about THP pmds\n\nThis adds code to explicitly detect and handle pmd_trans_huge() pmds.  It\nthen passes HPAGE_SIZE units in to the smap_pte_entry() function instead\nof PAGE_SIZE.\n\nThis means that using /proc/$pid/smaps now will no longer cause THPs to be\nbroken down in to small pages.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nReviewed-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nTested-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nAcked-by: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Michael J Wolf \u003cmjwolf@us.ibm.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c9acc7849b1eab7ffc75e933404c5f32865d9a2",
      "tree": "7137eca693cd83bf89d30b354665ec9cf7b5f431",
      "parents": [
        "ae11c4d9f646064cf086e2f8cd4b3c475df7739c"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Tue Mar 22 16:32:59 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:04 2011 -0700"
      },
      "message": "smaps: pass pte size argument in to smaps_pte_entry()\n\nAdd an argument to the new smaps_pte_entry() function to let it account in\nthings other than PAGE_SIZE units.  I changed all of the PAGE_SIZE sites,\neven though not all of them can be reached for transparent huge pages,\njust so this will continue to work without changes as THPs are improved.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nReviewed-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nTested-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Michael J Wolf \u003cmjwolf@us.ibm.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae11c4d9f646064cf086e2f8cd4b3c475df7739c",
      "tree": "5c565c6250749daa757852a629b25815a6919476",
      "parents": [
        "033193275b3ffcfe7f3fde7b569f3d207f6cd6a0"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Tue Mar 22 16:32:58 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:04 2011 -0700"
      },
      "message": "smaps: break out smaps_pte_entry() from smaps_pte_range()\n\nWe will use smaps_pte_entry() in a moment to handle both small and\ntransparent large pages.  But, we must break it out of smaps_pte_range()\nfirst.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nReviewed-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nTested-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Michael J Wolf \u003cmjwolf@us.ibm.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "033193275b3ffcfe7f3fde7b569f3d207f6cd6a0",
      "tree": "fc65fa02248f855f0f63e087f35a507b6abb5617",
      "parents": [
        "278df9f451dc71dcd002246be48358a473504ad0"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Tue Mar 22 16:32:56 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:04 2011 -0700"
      },
      "message": "pagewalk: only split huge pages when necessary\n\nRight now, if a mm_walk has either -\u003epte_entry or -\u003epmd_entry set, it will\nunconditionally split any transparent huge pages it runs in to.  In\npractice, that means that anyone doing a\n\n\tcat /proc/$pid/smaps\n\nwill unconditionally break down every huge page in the process and depend\non khugepaged to re-collapse it later.  This is fairly suboptimal.\n\nThis patch changes that behavior.  It teaches each -\u003epmd_entry handler\n(there are five) that they must break down the THPs themselves.  Also, the\n_generic_ code will never break down a THP unless a -\u003epte_entry handler is\nactually set.\n\nThis means that the -\u003epmd_entry handlers can now choose to deal with THPs\nwithout breaking them down.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nReviewed-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nTested-by: Eric B Munson \u003cemunson@mgebm.net\u003e\nCc: Michael J Wolf \u003cmjwolf@us.ibm.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a002951c97ff8da49938c982a4c236bf2fafdc9f",
      "tree": "d43e7885ea7376df0a47a0fc8ceca66dc5bfa357",
      "parents": [
        "521cb40b0c44418a4fd36dc633f575813d59a43d",
        "c151694b2c48d956ac8c8c59c6927f89cc29ef70"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Mar 16 09:41:17 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Mar 16 09:41:17 2011 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "ae50adcb0ac4cde67a7aec8ae67249d1b2be2948",
      "tree": "757ea609da68ae08471bc2d0f689aa287ee89cbf",
      "parents": [
        "3979491701cfb2aa7477f5baf40553355391418b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Feb 16 10:04:50 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 10 03:41:53 2011 -0500"
      },
      "message": "/proc/self is never going to be invalidated...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dfef6dcd35cb4a251f6322ca9b2c06f0bb1aa1f4",
      "tree": "65e8a25d4ed913658db35c4b97ab0a021c2124eb",
      "parents": [
        "1858efd471624ecb37e6b5462cab8076f47d1cee"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 08 01:25:28 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 08 02:22:27 2011 -0500"
      },
      "message": "unfuck proc_sysctl -\u003ed_compare()\n\na) struct inode is not going to be freed under -\u003ed_compare();\nhowever, the thing PROC_I(inode)-\u003esysctl points to just might.\nFortunately, it\u0027s enough to make freeing that sucker delayed,\nprovided that we don\u0027t step on its -\u003eunregistering, clear\nthe pointer to it in PROC_I(inode) before dropping the reference\nand check if it\u0027s NULL in -\u003ed_compare().\n\nb) I\u0027m not sure that we *can* walk into NULL inode here (we recheck\ndentry-\u003eseq between verifying that it\u0027s still hashed / fetching\ndentry-\u003ed_inode and passing it to -\u003ed_compare() and there\u0027s no\nnegative hashed dentries in /proc/sys/*), but if we can walk into\nthat, we really should not have -\u003ed_compare() return 0 on it!\nSaid that, I really suspect that this check can be simply killed.\nNick?\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fe3fa43039d47ee4e22caf460b79b62a14937f79",
      "tree": "9eab8d00f1227b9fe0959f32a62d892ed35803ba",
      "parents": [
        "ee009e4a0d4555ed522a631bae9896399674f064",
        "026eb167ae77244458fa4b4b9fc171209c079ba7"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:38:10 2011 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Mar 08 11:38:10 2011 +1100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.infradead.org/users/eparis/selinux into next\n"
    },
    {
      "commit": "8aaccf7fa2a2f148db1edbe7b09e3119c3f910cf",
      "tree": "745b2a06ae4b30eae93ee87efc2621962dafb0e5",
      "parents": [
        "337fc720d85b98a71b1ff6e3a5449a24a7c33cfe"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Mon Feb 14 22:34:22 2011 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Mar 02 13:45:18 2011 -0700"
      },
      "message": "of/flattree: Drop an uninteresting message to pr_debug level\n\nThis message looks like an error (which it isn\u0027t) when booting with a\nflattened device tree.  Remove the message from normal kernel builds.\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "261cd298a8c363d7985e3482946edb4bfedacf98",
      "tree": "2b0335444f995b406ea4b9f31bc8eaffaed2e807",
      "parents": [
        "1abe3af27120a66711e00eb3112ecd4f8292a470"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Tue Feb 15 09:43:32 2011 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 15 07:34:16 2011 -0800"
      },
      "message": "s390: remove task_show_regs\n\ntask_show_regs used to be a debugging aid in the early bringup days\nof Linux on s390. /proc/\u003cpid\u003e/status is a world readable file, it\nis not a good idea to show the registers of a process. The only\ncorrect fix is to remove task_show_regs.\n\nReported-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e6c96935fcc1ed3dbebc96fddfef3f2f2395afc",
      "tree": "c26297c8ca479972010cadf2058aacd63ce1744f",
      "parents": [
        "652bb9b0d6ce007f37c098947b2cc0c45efa3f66"
      ],
      "author": {
        "name": "Lucian Adrian Grijincu",
        "email": "lucian.grijincu@gmail.com",
        "time": "Tue Feb 01 18:42:22 2011 +0200"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Feb 01 11:53:54 2011 -0500"
      },
      "message": "security/selinux: fix /proc/sys/ labeling\n\nThis fixes an old (2007) selinux regression: filesystem labeling for\n/proc/sys returned\n     -r--r--r-- unknown                          /proc/sys/fs/file-nr\ninstead of\n     -r--r--r-- system_u:object_r:sysctl_fs_t:s0 /proc/sys/fs/file-nr\n\nEvents that lead to breaking of /proc/sys/ selinux labeling:\n\n1) sysctl was reimplemented to route all calls through /proc/sys/\n\n    commit 77b14db502cb85a031fe8fde6c85d52f3e0acb63\n    [PATCH] sysctl: reimplement the sysctl proc support\n\n2) proc_dir_entry was removed from ctl_table:\n\n    commit 3fbfa98112fc3962c416452a0baf2214381030e6\n    [PATCH] sysctl: remove the proc_dir_entry member for the sysctl tables\n\n3) selinux still walked the proc_dir_entry tree to apply\n   labeling. Because ctl_tables don\u0027t have a proc_dir_entry, we did\n   not label /proc/sys/ inodes any more. To achieve this the /proc/sys/\n   inodes were marked private and private inodes were ignored by\n   selinux.\n\n    commit bbaca6c2e7ef0f663bc31be4dad7cf530f6c4962\n    [PATCH] selinux: enhance selinux to always ignore private inodes\n\n    commit 86a71dbd3e81e8870d0f0e56b87875f57e58222b\n    [PATCH] sysctl: hide the sysctl proc inodes from selinux\n\nAccess control checks have been done by means of a special sysctl hook\nthat was called for read/write accesses to any /proc/sys/ entry.\n\nWe don\u0027t have to do this because, instead of walking the\nproc_dir_entry tree we can walk the dentry tree (as done in this\npatch). With this patch:\n* we don\u0027t mark /proc/sys/ inodes as private\n* we don\u0027t need the sysclt security hook\n* we walk the dentry tree to find the path to the inode.\n\nWe have to strip the PID in /proc/PID/ entries that have a\nproc_dir_entry because selinux does not know how to label paths like\n\u0027/1/net/rpc/nfsd.fh\u0027 (and defaults to \u0027proc_t\u0027 labeling). Selinux does\nknow of \u0027/net/rpc/nfsd.fh\u0027 (and applies the \u0027sysctl_rpc_t\u0027 label).\n\nPID stripping from the path was done implicitly in the previous code\nbecause the proc_dir_entry tree had the root in \u0027/net\u0027 in the example\nfrom above. The dentry tree has the root in \u0027/1\u0027.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Lucian Adrian Grijincu \u003clucian.grijincu@gmail.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff",
      "tree": "e2d3f799e20e2cbca80891ea17af7484f21d628f",
      "parents": [
        "3689456b4bd36027022b3215eb2acba51cd0e6b5"
      ],
      "author": {
        "name": "Torben Hohn",
        "email": "torbenh@gmx.de",
        "time": "Tue Jan 25 15:07:35 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 26 10:50:06 2011 +1000"
      },
      "message": "console: rename acquire/release_console_sem() to console_lock/unlock()\n\nThe -rt patches change the console_semaphore to console_mutex.  As a\nresult, a quite large chunk of the patches changes all\nacquire/release_console_sem() to acquire/release_console_mutex()\n\nThis commit makes things use more neutral function names which dont make\nimplications about the underlying lock.\n\nThe only real change is the return value of console_trylock which is\ninverted from try_acquire_console_sem()\n\nThis patch also paves the way to switching console_sem from a semaphore to\na mutex.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: make console_trylock return 1 on success, per Geert]\nSigned-off-by: Torben Hohn \u003ctorbenh@gmx.de\u003e\nCc: Thomas Gleixner \u003ctglx@tglx.de\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "6a108a14fa356ef607be308b68337939e56ea94e"
}
