)]}'
{
  "log": [
    {
      "commit": "1804dc6e145f3f24a8c94deddfc0a986d380a27f",
      "tree": "965ad5f3dfa7c6dc52bdfab7d838a82f78c8ad12",
      "parents": [
        "35fc908dc0e7ab0002ef18787886cc1340028020"
      ],
      "author": {
        "name": "Clement Calmels",
        "email": "cboulte@gmail.com",
        "time": "Wed Aug 20 14:09:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 20 15:40:30 2008 -0700"
      },
      "message": "/proc/self/maps doesn\u0027t display the real file offset\n\nThis addresses\n\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11318\n\nIn function show_map (file: fs/proc/task_mmu.c), if vma-\u003evm_pgoff \u003e 2^20\nthan (vma-\u003evm_pgoff \u003c\u003c PAGE_SIZE) is greater than 2^32 (with PAGE_SIZE\nequal to 4096 (i.e.  2^12).  The next seq_printf use an unsigned long for\nthe conversion of (vma-\u003evm_pgoff \u003c\u003c PAGE_SIZE), as a result the offset\nvalue displayed in /proc/self/maps is truncated if the page offset is\ngreater than 2^20.\n\nA test that shows this issue:\n\n#define _GNU_SOURCE\n#include \u003csys/types.h\u003e\n#include \u003csys/stat.h\u003e\n#include \u003csys/mman.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cstring.h\u003e\n\n#define PAGE_SIZE (getpagesize())\n\n#if __i386__\n#   define U64_STR \"%llx\"\n#elif __x86_64\n#   define U64_STR \"%lx\"\n#else\n#   error \"Architecture Unsupported\"\n#endif\n\nint main(int argc, char *argv[])\n{\n\tint fd;\n\tchar *addr;\n\toff64_t offset \u003d 0x10000000;\n\tchar *filename \u003d \"/dev/zero\";\n\n\tfd \u003d open(filename, O_RDONLY);\n\tif (fd \u003c 0) {\n\t\tperror(\"open\");\n\t\treturn 1;\n\t}\n\n\toffset *\u003d 0x10;\n\tprintf(\"offset \u003d \" U64_STR \"\\n\", offset);\n\n\taddr \u003d (char*)mmap64(NULL, PAGE_SIZE, PROT_READ, MAP_PRIVATE, fd,\n\t\t\t     offset);\n\tif ((void*)addr \u003d\u003d MAP_FAILED) {\n\t\tperror(\"mmap64\");\n\t\treturn 1;\n\t}\n\n\t{\n\t\tFILE *fmaps;\n\t\tchar *line \u003d NULL;\n\t\tsize_t len \u003d 0;\n\t\tssize_t read;\n\t\tsize_t filename_len \u003d strlen(filename);\n\n\t\tfmaps \u003d fopen(\"/proc/self/maps\", \"r\");\n\t\tif (!fmaps) {\n\t\t\tperror(\"fopen\");\n\t\t\treturn 1;\n\t\t}\n\t\twhile ((read \u003d getline(\u0026line, \u0026len, fmaps)) !\u003d -1) {\n\t\t\tif ((read \u003e filename_len + 1)\n\t\t\t    \u0026\u0026 (strncmp(\u0026line[read - filename_len - 1], filename, filename_len) \u003d\u003d 0))\n\t\t\t\tprintf(\"%s\", line);\n\t\t}\n\n\t\tif (line)\n\t\t\tfree(line);\n\n\t\tfclose(fmaps);\n\t}\n\n\tclose(fd);\n\treturn 0;\n}\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Clement Calmels \u003ccboulte@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": "7c44319dc6deb0028ef7811670bf1e4bc6644672",
      "tree": "5904a9867ebe43153123b11a32d5389cb947596b",
      "parents": [
        "dc39778f952a820b7da45756a900a4778da343cd"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Tue Aug 05 13:01:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 05 14:33:50 2008 -0700"
      },
      "message": "proc: fix warnings\n\nproc: fix warnings\n\n fs/proc/base.c:2429: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 3 has type \u0027u64\u0027\n fs/proc/base.c:2429: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 4 has type \u0027u64\u0027\n fs/proc/base.c:2429: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 5 has type \u0027u64\u0027\n fs/proc/base.c:2429: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 6 has type \u0027u64\u0027\n fs/proc/base.c:2429: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 7 has type \u0027u64\u0027\n fs/proc/base.c:2429: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 8 has type \u0027u64\u0027\n fs/proc/base.c:2429: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 9 has type \u0027u64\u0027\n\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nAcked-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a18540915faaaadd7f71c16fa877a0c19675923",
      "tree": "d7c8d0e44c7f680e77b50bda457925d5d25d826d",
      "parents": [
        "67935df49dae836fa86621861979fafdfd37ae59"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 26 11:21:37 2008 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 11:25:28 2008 -0400"
      },
      "message": "[PATCH 2/2] proc: switch inode number allocation to IDA\n\nproc doesn\u0027t use \"associate pointer with id\" feature of IDR, so switch\nto IDA.\n\nNOTE, NOTE, NOTE:\n\tDo not apply if release_inode_number() still mantions MAX_ID_MASK!\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "67935df49dae836fa86621861979fafdfd37ae59",
      "tree": "f1f50d7e854982b302bc4be7da6bb820032b6294",
      "parents": [
        "8266602033d6adc6d10cb8811c1fd694767909b0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 26 11:18:28 2008 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Aug 01 11:25:27 2008 -0400"
      },
      "message": "[PATCH 1/2] proc: fix inode number bogorithmetic\n\nId which proc gets from IDR for inode number and id which proc removes\nfrom IDR do not match. E.g. 0x11a transforms into 0x8000011a.\n\nWhich stayed unnoticed for a long time because, surprise, idr_remove()\nmasks out that high bit before doing anything.\n\nAll of this due to \"| ~MAX_ID_MASK\" in release_inode_number().\n\nI still don\u0027t understand how it\u0027s supposed to work, because \"| ~MASK\"\nis not an inversion for \"\u0026 MAX\" operation.\n\nSo, use just one nice, working addition. Make start offset unsigned int,\nwhile I\u0027m at it. It\u0027s longness is not used anywhere.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "940389b8afad6495211614c13eb91ef7001773ec",
      "tree": "92c581cc9dc7a067899a6a28e382e4099dfe8ead",
      "parents": [
        "837b41b5de356aa67abb2cadb5eef3efc7776f91"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Mon Jul 28 00:48:12 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 16:12:28 2008 -0700"
      },
      "message": "task IO accounting: move all IO statistics in struct task_io_accounting\n\nSimplify the code of include/linux/task_io_accounting.h.\n\nIt is also more reasonable to have all the task i/o-related statistics in a\nsingle struct (task_io_accounting).\n\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5995477ab7f3522c497c9c4a1c55373e9d655574",
      "tree": "a147fb61642a7ac5441855964eb97a2ff1e37202",
      "parents": [
        "605ccb73f6a1c891a16268b3a2923208fc637958"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Sun Jul 27 17:29:15 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 27 09:58:20 2008 -0700"
      },
      "message": "task IO accounting: improve code readability\n\nPut all i/o statistics in struct proc_io_accounting and use inline functions to\ninitialize and increment statistics, removing a lot of single variable\nassignments.\n\nThis also reduces the kernel size as following (with CONFIG_TASK_XACCT\u003dy and\nCONFIG_TASK_IO_ACCOUNTING\u003dy).\n\n    text    data     bss     dec     hex filename\n   11651       0       0   11651    2d83 kernel/exit.o.before\n   11619       0       0   11619    2d63 kernel/exit.o.after\n   10886     132     136   11154    2b92 kernel/fork.o.before\n   10758     132     136   11026    2b12 kernel/fork.o.after\n\n 3082029  807968 4818600 8708597  84e1f5 vmlinux.o.before\n 3081869  807968 4818600 8708437  84e155 vmlinux.o.after\n\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nAcked-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4836e3007882984279ca63d3c42bf0b14616eb78",
      "tree": "28bf22726964e068b825491d71a141eefedbe5f8",
      "parents": [
        "5c7c204aeca51ccfad63caab4fcdc5d8026c0fd8",
        "4e1e018ecc6f7bfd10fc75b3ff9715cc8164e0a2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:23:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:23:44 2008 -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: (39 commits)\n  [PATCH] fix RLIM_NOFILE handling\n  [PATCH] get rid of corner case in dup3() entirely\n  [PATCH] remove remaining namei_{32,64}.h crap\n  [PATCH] get rid of indirect users of namei.h\n  [PATCH] get rid of __user_path_lookup_open\n  [PATCH] f_count may wrap around\n  [PATCH] dup3 fix\n  [PATCH] don\u0027t pass nameidata to __ncp_lookup_validate()\n  [PATCH] don\u0027t pass nameidata to gfs2_lookupi()\n  [PATCH] new (local) helper: user_path_parent()\n  [PATCH] sanitize __user_walk_fd() et.al.\n  [PATCH] preparation to __user_walk_fd cleanup\n  [PATCH] kill nameidata passing to permission(), rename to inode_permission()\n  [PATCH] take noexec checks to very few callers that care\n  Re: [PATCH 3/6] vfs: open_exec cleanup\n  [patch 4/4] vfs: immutable inode checking cleanup\n  [patch 3/4] fat: dont call notify_change\n  [patch 2/4] vfs: utimes cleanup\n  [patch 1/4] vfs: utimes: move owner check into inode_change_ok()\n  [PATCH] vfs: use kstrdup() and check failing allocation\n  ...\n"
    },
    {
      "commit": "b2d002dba5a8a4c0c3ec96fd1ff3c9def6bd71a1",
      "tree": "a87afab3739039531bdec50aa4f588cdd672bd02",
      "parents": [
        "6a9436d0c3cbe8941b1acd5b0736d355295cad98"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Sat Jul 26 15:22:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 20:16:47 2008 -0700"
      },
      "message": "task IO accounting: correctly account threads IO statistics\n\nOleg Nesterov points out that we should check that the task is still alive\nbefore we iterate over the threads.  This patch includes a fixup for this.\n\nAlso simplify do_io_accounting() implementation.\n\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6305c43eda10ebfd2ad9e35d6e172ccc7bb3695",
      "tree": "8a95bd0e27fb3ce895cca9ef91af2e1605e4cdab",
      "parents": [
        "1bd5191d9f5d1928c4efdf604c4164b04bb88dbe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 21:03:57 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:14 2008 -0400"
      },
      "message": "[PATCH] sanitize -\u003epermission() prototype\n\n* kill nameidata * argument; map the 3 bits in -\u003eflags anybody cares\n  about to new MAY_... ones and pass with the mask.\n* kill redundant gfs2_iop_permission()\n* sanitize ecryptfs_permission()\n* fix remaining places where -\u003epermission() instances might barf on new\n  MAY_... found in mask.\n\nThe obvious next target in that direction is permission(9)\n\nfolded fix for nfs_permission() breakage from Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9043476f726802f4b00c96d0c4f418dde48d1304",
      "tree": "9ead0294bc75e219c12b44fc7eb8996248400f2a",
      "parents": [
        "ae7edecc9b8810770a8e5cb9a466ea4bdcfa8401"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 08:54:06 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:12 2008 -0400"
      },
      "message": "[PATCH] sanitize proc_sysctl\n\n* keep references to ctl_table_head and ctl_table in /proc/sys inodes\n* grab the former during operations, use the latter for access to\n  entry if that succeeds\n* have -\u003ed_compare() check if table should be seen for one who does lookup;\n  that allows us to avoid flipping inodes - if we have the same name resolve\n  to different things, we\u0027ll just keep several dentries and -\u003ed_compare()\n  will reject the wrong ones.\n* have -\u003elookup() and -\u003ereaddir() scan the table of our inode first, then\n  walk all ctl_table_header and scan -\u003eattached_by for those that are\n  attached to our directory.\n* implement -\u003egetattr().\n* get rid of insane amounts of tree-walking\n* get rid of the need to know dentry in -\u003epermission() and of the contortions\n  induced by that.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ebcb67341fee34061430f3367f2e507e52ee051b",
      "tree": "c6790a014ead7c6432178aa2a0dac7eb41c25b40",
      "parents": [
        "bbc698636ed48b6fcd323964e0f847a6a796325d"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Jul 25 19:46:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:10 2008 -0700"
      },
      "message": "/proc/PID/syscall\n\nThis adds /proc/PID/syscall and /proc/PID/task/TID/syscall magic files.\nThese use task_current_syscall() to show the task\u0027s current system call\nnumber and argument registers, stack pointer and PC.  For a task blocked\nbut not in a syscall, the file shows \"-1\" in place of the syscall number,\nfollowed by only the SP and PC.  For a task that\u0027s not blocked, it shows\n\"running\".\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d094efeb1e98010c6b99923f1eb7e17bf1e3a74",
      "tree": "6ee271b6da5796e5321d2ab6f9d7d9ba03c300a2",
      "parents": [
        "dae33574dcf5211e1f43c7e45fa29f73ba3e00cb"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Jul 25 19:45:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:08 2008 -0700"
      },
      "message": "tracehook: tracehook_tracer_task\n\nThis adds the tracehook_tracer_task() hook to consolidate all forms of\n\"Who is using ptrace on me?\" logic.  This is used for \"TracerPid:\" in\n/proc and for permission checks.  We also clean up the selinux code the\ncalled an identical accessor.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "267e2a9c71b8e088ac307f9549f71468e86e26c1",
      "tree": "a2fc7be0ee2d712841b4564abf4e63d814642ec3",
      "parents": [
        "99fcd77d15357e8ba51005c25cc750b9c28b2688"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jul 25 19:45:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:08 2008 -0700"
      },
      "message": "Use WARN() in fs/proc/\n\nUse WARN() instead of a printk+WARN_ON() pair; this way the message\nbecomes part of the warning section for better reporting/collection.\nThis way, the entire if() {} section can collapse into the WARN() as well.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nAcked-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": "51cc50685a4275c6a02653670af9f108a64e01cf",
      "tree": "819d47bd2b0c8a9d1835d863853804b0a0242b97",
      "parents": [
        "d91958815d214ea365b98cbff6215383897edcb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 19:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "SL*B: drop kmem cache argument from constructor\n\nKmem cache passed to constructor is only needed for constructors that are\nthemselves multiplexeres.  Nobody uses this \"feature\", nor does anybody uses\npassed kmem cache in non-trivial way, so pass only pointer to object.\n\nNon-trivial places are:\n\tarch/powerpc/mm/init_64.c\n\tarch/powerpc/mm/hugetlbpage.c\n\nThis is flag day, yes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\n[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]\n[akpm@linux-foundation.org: fix mm/slab.c]\n[akpm@linux-foundation.org: fix ubifs]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "297c5d92634c809cef23d73e7b2556f2528ff7e2",
      "tree": "d006fa29daa24242c64cff3b66dd75fbb0003b0f",
      "parents": [
        "0c18d7a5df82524e634637c3aec24d4cba096442"
      ],
      "author": {
        "name": "Andrea Righi",
        "email": "righi.andrea@gmail.com",
        "time": "Fri Jul 25 01:48:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:47 2008 -0700"
      },
      "message": "task IO accounting: provide distinct tgid/tid I/O statistics\n\nReport per-thread I/O statistics in /proc/pid/task/tid/io and aggregate\nparent I/O statistics in /proc/pid/io.  This approach follows the same\nmodel used to account per-process and per-thread CPU times.\n\nAs a practial application, this allows for example to quickly find the top\nI/O consumer when a process spawns many child threads that perform the\nactual I/O work, because the aggregated I/O statistics can always be found\nin /proc/pid/io.\n\n[ Oleg Nesterov points out that we should check that the task is still\n  alive before we iterate over the threads, but also says that we can do\n  that fixup on top of this later.  - Linus ]\n\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrea Righi \u003crighi.andrea@gmail.com\u003e\nCc: Matt Heaton \u003cmatt@hostmonster.com\u003e\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nAcked-by-with-comments: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6eedf8d30d2b48e86fbcee1a32fb2fa5f42219ee",
      "tree": "adc0b6174ca3eb7d284b7daba9bf820286fac94e",
      "parents": [
        "a9bd4a3e070ba7494f154e1a11687a8a957d88dc"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 01:48:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:45 2008 -0700"
      },
      "message": "proc: move Kconfig to fs/proc/Kconfig\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": "a9bd4a3e070ba7494f154e1a11687a8a957d88dc",
      "tree": "6e2736fc369308e417f61d8d25c5079136073cb4",
      "parents": [
        "881adb85358309ea9c6f707394002719982ec607"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 01:48:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:45 2008 -0700"
      },
      "message": "proc: remove pathetic remount code\n\nMS_RMT_MASK will unmask changes in do_remount_sb() anyway.\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": "881adb85358309ea9c6f707394002719982ec607",
      "tree": "e4ffc2f6ca6013bab97bdb77b80e98b46a8d01e1",
      "parents": [
        "6e644c3126149b65460610fe5a00d8a162092abe"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 01:48:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "proc: always do -\u003erelease\n\nCurrent two-stage scheme of removing PDE emphasizes one bug in proc:\n\n\t\topen\n\t\t\t\trmmod\n\t\t\t\tremove_proc_entry\n\t\tclose\n\n-\u003erelease won\u0027t be called because -\u003eproc_fops were cleared.  In simple\ncases it\u0027s small memory leak.\n\nFor every -\u003eopen, -\u003erelease has to be done.  List of openers is introduced\nwhich is traversed at remove_proc_entry() if neeeded.\n\nDiscussions with Al long ago (sigh).\n\nSigned-off-by: 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": "6e644c3126149b65460610fe5a00d8a162092abe",
      "tree": "74d324773bc25767832d19c662c7c4cf489554b3",
      "parents": [
        "cd9a6f1078ed07fe919667b73e829f3bac485573"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Jul 25 01:48:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:44 2008 -0700"
      },
      "message": "move proc_kmsg_operations to fs/proc/internal.h\n\nThis patch moves the extern of struct proc_kmsg_operations to\nfs/proc/internal.h and adds an #include \"internal.h\" to fs/proc/kmsg.c\nso that the latter sees the former.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.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": "79885b227740b9c7d3057f2de556f4098d37cc8f",
      "tree": "8e61116e5bfd7aa50ed6f8359b8baf150d637780",
      "parents": [
        "7833351b5260b3a58b54a0c2e7065001d986d749"
      ],
      "author": {
        "name": "Edgar E. Iglesias",
        "email": "edgar.iglesias@axis.com",
        "time": "Fri Jul 25 01:48:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:42 2008 -0700"
      },
      "message": "elf: use ELF_CORE_EFLAGS for kcore ELF header flags\n\nELF_CORE_EFLAGS is already used by the binfmt_elf coredumper to set correct\narch specific ELF header flags on coredumps.  Use it for kcore dumps as well.\nAt the moment, this affects the CRIS and the H8300 arch.\n\nSigned-off-by: Edgar E. Iglesias \u003cedgar@axis.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a47a126ad5ea072aca3e611ed8f8dc6adad24bab",
      "tree": "be47608111f762eba4fc6e80c7c2fcd82ffd6fd6",
      "parents": [
        "cce770815869e9209171d819dfde89bcc738ab62"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Jul 23 21:27:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:17 2008 -0700"
      },
      "message": "vmallocinfo: add NUMA information\n\nChristoph recently added /proc/vmallocinfo file to get information about\nvmalloc allocations.\n\nThis patch adds NUMA specific information, giving number of pages\nallocated on each memory node.\n\nThis should help to check that vmalloc() is able to respect NUMA policies.\n\nExample of output on a four nodes machine (one cpu per node)\n\n1) network hash tables are evenly spreaded on four nodes (OK) (Same\n   point for inodes and dentries hash tables)\n\n2) iptables tables (x_tables) are correctly allocated on each cpu node\n   (OK).\n\n3) sys_swapon() allocates its memory from one node only.\n\n4) each loaded module is using memory on one node.\n\nSysadmins could tune their setup to change points 3) and 4) if necessary.\n\ngrep \"pages\u003d\"  /proc/vmallocinfo\n0xffffc20000000000-0xffffc20000201000 2101248 alloc_large_system_hash+0x204/0x2c0 pages\u003d512 vmalloc N0\u003d128 N1\u003d128 N2\u003d128 N3\u003d128\n0xffffc20000201000-0xffffc20000302000 1052672 alloc_large_system_hash+0x204/0x2c0 pages\u003d256 vmalloc N0\u003d64 N1\u003d64 N2\u003d64 N3\u003d64\n0xffffc2000031a000-0xffffc2000031d000   12288 alloc_large_system_hash+0x204/0x2c0 pages\u003d2 vmalloc N1\u003d1 N2\u003d1\n0xffffc2000031f000-0xffffc2000032b000   49152 cramfs_uncompress_init+0x2e/0x80 pages\u003d11 vmalloc N0\u003d3 N1\u003d3 N2\u003d2 N3\u003d3\n0xffffc2000033e000-0xffffc20000341000   12288 sys_swapon+0x640/0xac0 pages\u003d2 vmalloc N0\u003d2\n0xffffc20000341000-0xffffc20000344000   12288 xt_alloc_table_info+0xfe/0x130 [x_tables] pages\u003d2 vmalloc N0\u003d2\n0xffffc20000344000-0xffffc20000347000   12288 xt_alloc_table_info+0xfe/0x130 [x_tables] pages\u003d2 vmalloc N1\u003d2\n0xffffc20000347000-0xffffc2000034a000   12288 xt_alloc_table_info+0xfe/0x130 [x_tables] pages\u003d2 vmalloc N2\u003d2\n0xffffc2000034a000-0xffffc2000034d000   12288 xt_alloc_table_info+0xfe/0x130 [x_tables] pages\u003d2 vmalloc N3\u003d2\n0xffffc20004381000-0xffffc20004402000  528384 alloc_large_system_hash+0x204/0x2c0 pages\u003d128 vmalloc N0\u003d32 N1\u003d32 N2\u003d32 N3\u003d32\n0xffffc20004402000-0xffffc20004803000 4198400 alloc_large_system_hash+0x204/0x2c0 pages\u003d1024 vmalloc vpages N0\u003d256 N1\u003d256 N2\u003d256 N3\u003d256\n0xffffc20004803000-0xffffc20004904000 1052672 alloc_large_system_hash+0x204/0x2c0 pages\u003d256 vmalloc N0\u003d64 N1\u003d64 N2\u003d64 N3\u003d64\n0xffffc20004904000-0xffffc20004bec000 3047424 sys_swapon+0x640/0xac0 pages\u003d743 vmalloc vpages N0\u003d743\n0xffffffffa0000000-0xffffffffa000f000   61440 sys_init_module+0xc27/0x1d00 pages\u003d14 vmalloc N1\u003d14\n0xffffffffa000f000-0xffffffffa0014000   20480 sys_init_module+0xc27/0x1d00 pages\u003d4 vmalloc N0\u003d4\n0xffffffffa0014000-0xffffffffa0017000   12288 sys_init_module+0xc27/0x1d00 pages\u003d2 vmalloc N0\u003d2\n0xffffffffa0017000-0xffffffffa0022000   45056 sys_init_module+0xc27/0x1d00 pages\u003d10 vmalloc N1\u003d10\n0xffffffffa0022000-0xffffffffa0028000   24576 sys_init_module+0xc27/0x1d00 pages\u003d5 vmalloc N3\u003d5\n0xffffffffa0028000-0xffffffffa0050000  163840 sys_init_module+0xc27/0x1d00 pages\u003d39 vmalloc N1\u003d39\n0xffffffffa0050000-0xffffffffa0052000    8192 sys_init_module+0xc27/0x1d00 pages\u003d1 vmalloc N1\u003d1\n0xffffffffa0052000-0xffffffffa0056000   16384 sys_init_module+0xc27/0x1d00 pages\u003d3 vmalloc N1\u003d3\n0xffffffffa0056000-0xffffffffa0081000  176128 sys_init_module+0xc27/0x1d00 pages\u003d42 vmalloc N3\u003d42\n0xffffffffa0081000-0xffffffffa00ae000  184320 sys_init_module+0xc27/0x1d00 pages\u003d44 vmalloc N3\u003d44\n0xffffffffa00ae000-0xffffffffa00b1000   12288 sys_init_module+0xc27/0x1d00 pages\u003d2 vmalloc N3\u003d2\n0xffffffffa00b1000-0xffffffffa00b9000   32768 sys_init_module+0xc27/0x1d00 pages\u003d7 vmalloc N0\u003d7\n0xffffffffa00b9000-0xffffffffa00c4000   45056 sys_init_module+0xc27/0x1d00 pages\u003d10 vmalloc N3\u003d10\n0xffffffffa00c6000-0xffffffffa00e0000  106496 sys_init_module+0xc27/0x1d00 pages\u003d25 vmalloc N2\u003d25\n0xffffffffa00e0000-0xffffffffa00f1000   69632 sys_init_module+0xc27/0x1d00 pages\u003d16 vmalloc N2\u003d16\n0xffffffffa00f1000-0xffffffffa00f4000   12288 sys_init_module+0xc27/0x1d00 pages\u003d2 vmalloc N3\u003d2\n0xffffffffa00f4000-0xffffffffa00f7000   12288 sys_init_module+0xc27/0x1d00 pages\u003d2 vmalloc N3\u003d2\n\n[akpm@linux-foundation.org: fix comment]\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c748e1340e0de3fa7fed86f8bdf499be9242afff",
      "tree": "864d3133bb8c3f73615497ef1fc557fcf93e5f1b",
      "parents": [
        "4f5ca265788973e3f5a1129a96ee4a9cbf587f2b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Jul 23 21:27:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 24 10:47:14 2008 -0700"
      },
      "message": "mm/vmstat.c: proper externs\n\nThis patch adds proper extern declarations for five variables in\ninclude/linux/vmstat.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@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": "c010b2f76c3032e48097a6eef291d8593d5d79a6",
      "tree": "16077c83703527732991a55dea1abe330c0ccdc6",
      "parents": [
        "6069fb2ef5d4f47432359c97f350e0cfcc4d208e",
        "521c4d96e0840ecce25b956e00f416ed499ef2ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 22 19:09:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 22 19:09:51 2008 -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: (82 commits)\n  ipw2200: Call netif_*_queue() interfaces properly.\n  netxen: Needs to include linux/vmalloc.h\n  [netdrvr] atl1d: fix !CONFIG_PM build\n  r6040: rework init_one error handling\n  r6040: bump release number to 0.18\n  r6040: handle RX fifo full and no descriptor interrupts\n  r6040: change the default waiting time\n  r6040: use definitions for magic values in descriptor status\n  r6040: completely rework the RX path\n  r6040: call napi_disable when puting down the interface and set lp-\u003edev accordingly.\n  mv643xx_eth: fix NETPOLL build\n  r6040: rework the RX buffers allocation routine\n  r6040: fix scheduling while atomic in r6040_tx_timeout\n  r6040: fix null pointer access and tx timeouts\n  r6040: prefix all functions with r6040\n  rndis_host: support WM6 devices as modems\n  at91_ether: use netstats in net_device structure\n  sfc: Create one RX queue and interrupt per CPU package by default\n  sfc: Use a separate workqueue for resets\n  sfc: I2C adapter initialisation fixes\n  ...\n"
    },
    {
      "commit": "8086cd451f08f4c0f9693fc66d87754bbd18cfba",
      "tree": "4cd564e413e6cd20905befa968361302e3ea2ec8",
      "parents": [
        "cf508b1211dbe576778ff445ea1b4b0bcfa5c4ea"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jul 22 14:19:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 22 14:19:19 2008 -0700"
      },
      "message": "netns: make get_proc_net() static\n\nget_proc_net() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee1e6ab6056a8b9c19377257002da98b83819531",
      "tree": "0119b6cedbcbdc06ad3778c56e6a795bb7896ed9",
      "parents": [
        "91cd4d6ef0abb1f65e81f8fe37e7d3c10344e38c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jul 21 14:21:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 22 09:59:41 2008 -0700"
      },
      "message": "proc: fix /proc/*/pagemap some more\n\nstruct pagemap_walk was placed on stack, some hooks are initialized, the\nrest (-\u003epgd_entry, -\u003epud_entry, -\u003epte_entry) are valid but junk.\n\nReported-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Vegard Nossum\" \u003cvegard.nossum@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e [2.6.25.x, 2.6.26.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db6d8c7a4027b48d797b369a53f8470aaeed7063",
      "tree": "e140c104a89abc2154e1f41a7db8ebecbb6fa0b4",
      "parents": [
        "3a533374283aea50eab3976d8a6d30532175f009",
        "fb65a7c091529bfffb1262515252c0d0f6241c5c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:43:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:43:29 2008 -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: (1232 commits)\n  iucv: Fix bad merging.\n  net_sched: Add size table for qdiscs\n  net_sched: Add accessor function for packet length for qdiscs\n  net_sched: Add qdisc_enqueue wrapper\n  highmem: Export totalhigh_pages.\n  ipv6 mcast: Omit redundant address family checks in ip6_mc_source().\n  net: Use standard structures for generic socket address structures.\n  ipv6 netns: Make several \"global\" sysctl variables namespace aware.\n  netns: Use net_eq() to compare net-namespaces for optimization.\n  ipv6: remove unused macros from net/ipv6.h\n  ipv6: remove unused parameter from ip6_ra_control\n  tcp: fix kernel panic with listening_get_next\n  tcp: Remove redundant checks when setting eff_sacks\n  tcp: options clean up\n  tcp: Fix MD5 signatures for non-linear skbs\n  sctp: Update sctp global memory limit allocations.\n  sctp: remove unnecessary byteshifting, calculate directly in big-endian\n  sctp: Allow only 1 listening socket with SO_REUSEADDR\n  sctp: Do not leak memory on multiple listen() calls\n  sctp: Support ipv6only AF_INET6 sockets.\n  ...\n"
    },
    {
      "commit": "a352def21a642133758b868c71bee12ab34ad5c5",
      "tree": "95d0f7229f9e4afccdc6fbbf11f7f5c6dd83b0fd",
      "parents": [
        "e1e5770bb63fb9d71619a68f52cb0ba4b2ae58a6"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Wed Jul 16 21:53:12 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:12:34 2008 -0700"
      },
      "message": "tty: Ldisc revamp\n\nMove the line disciplines towards a conventional -\u003eops arrangement.  For\nthe moment the actual \u0027tty_ldisc\u0027 struct in the tty is kept as part of\nthe tty struct but this can then be changed if it turns out that when it\nall settles down we want to refcount ldiscs separately to the tty.\n\nPull the ldisc code out of /proc and put it with our ldisc code.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6fcbdb4f283f7ba67cec3cda6be23da8e959031",
      "tree": "45d72a4a5d0cce9ab2c98321f4d7d122bf982a55",
      "parents": [
        "de05c557b24c7dffc6d392e3db120cf11c9f6ae7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:07:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:07:44 2008 -0700"
      },
      "message": "proc: consolidate per-net single-release callers\n\nThey are symmetrical to single_open ones :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de05c557b24c7dffc6d392e3db120cf11c9f6ae7",
      "tree": "d1d6fe1323657afd7d416c6af8a62d6a9e1e1e66",
      "parents": [
        "60bdde95807e982a824be9cfdd35055cc721a88a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:07:21 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:07:21 2008 -0700"
      },
      "message": "proc: consolidate per-net single_open callers\n\nThere are already 7 of them - time to kill some duplicate code.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a3da5bf84a97d48cfaf66c6842470fc403da5121",
      "tree": "cdf66c0cff8c61eedd60601fc9dffdd1ed39b880",
      "parents": [
        "3b23e665b68387f5ee7b21f7b75ceea4d9acae4a",
        "d59fdcf2ac501de99c3dfb452af5e254d4342886"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 13:43:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 13:43:24 2008 -0700"
      },
      "message": "Merge branch \u0027x86/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (821 commits)\n  x86: make 64bit hpet_set_mapping to use ioremap too, v2\n  x86: get x86_phys_bits early\n  x86: max_low_pfn_mapped fix #4\n  x86: change _node_to_cpumask_ptr to return const ptr\n  x86: I/O APIC: remove an IRQ2-mask hack\n  x86: fix numaq_tsc_disable calling\n  x86, e820: remove end_user_pfn\n  x86: max_low_pfn_mapped fix, #3\n  x86: max_low_pfn_mapped fix, #2\n  x86: max_low_pfn_mapped fix, #1\n  x86_64: fix delayed signals\n  x86: remove conflicting nx6325 and nx6125 quirks\n  x86: Recover timer_ack lost in the merge of the NMI watchdog\n  x86: I/O APIC: Never configure IRQ2\n  x86: L-APIC: Always fully configure IRQ0\n  x86: L-APIC: Set IRQ0 as edge-triggered\n  x86: merge dwarf2 headers\n  x86: use AS_CFI instead of UNWIND_INFO\n  x86: use ignore macro instead of hash comment\n  x86: use matching CFI_ENDPROC\n  ...\n"
    },
    {
      "commit": "006ebb40d3d65338bd74abb03b945f8d60e362bd",
      "tree": "c548c678b54b307e1fb9acf94676fb7bfd849501",
      "parents": [
        "feb2a5b82d87fbdc01c00b7e9413e4b5f4c1f0c1"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Mon May 19 08:32:49 2008 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jul 14 15:01:47 2008 +1000"
      },
      "message": "Security: split proc ptrace checking into read vs. attach\n\nEnable security modules to distinguish reading of process state via\nproc from full ptrace access by renaming ptrace_may_attach to\nptrace_may_access and adding a mode argument indicating whether only\nread access or full attach access is requested.  This allows security\nmodules to permit access to reading process state without granting\nfull ptrace access.  The base DAC/capability checking remains unchanged.\n\nRead access to /proc/pid/mem continues to apply a full ptrace attach\ncheck since check_mem_permission() already requires the current task\nto already be ptracing the target.  The other ptrace checks within\nproc for elements like environ, maps, and fds are changed to pass the\nread mode instead of attach.\n\nIn the SELinux case, we model such reading of process state as a\nreading of a proc file labeled with the target process\u0027 label.  This\nenables SELinux policy to permit such reading of process state without\npermitting control or manipulation of the target process, as there are\na number of cases where programs probe for such information via proc\nbut do not need to be able to control the target (e.g. procps,\nlsof, PolicyKit, ConsoleKit).  At present we have to choose between\nallowing full ptrace in policy (more permissive than required/desired)\nor breaking functionality (or in some cases just silencing the denials\nvia dontaudit rules but this can hide genuine attacks).\n\nThis version of the patch incorporates comments from Casey Schaufler\n(change/replace existing ptrace_may_attach interface, pass access\nmode), and Chris Wright (provide greater consistency in the checking).\n\nNote that like their predecessors __ptrace_may_attach and\nptrace_may_attach, the __ptrace_may_access and ptrace_may_access\ninterfaces use different return value conventions from each other (0\nor -errno vs. 1 or 0).  I retained this difference to avoid any\nchanges to the caller logic but made the difference clearer by\nchanging the latter interface to return a bool rather than an int and\nby adding a comment about it to ptrace.h for any future callers.\n\nSigned-off-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "6924d1ab8b7bbe5ab416713f5701b3316b2df85b",
      "tree": "affbf0ff13f7522336f25505e8e7b5f12a34e705",
      "parents": [
        "4e78c91abe1a40b905611100a593be62784ba355",
        "25556c1699ad84dd6077adf67c92eba362aa7dc2",
        "b764a15f679942a7bc9d4f9645299e1defcc5b43",
        "437a0a54eea7b101e8a5b70688009956f6522ed0",
        "41b3eae669fb1ef6ae4acaa937b4e4617a1aa078",
        "84e65b0a84a2c856bef36f13d122047678408b0a",
        "684eb0163a98bc329193b4aa4535cdd705a5dd58",
        "93022136fff9e6130aa128a5ed8a599e93ac813c",
        "5cb04df8d3f03e37a19f2502591a84156be71772",
        "44974c8fc1d7047abe414562e0782320f4c1f511",
        "48cf937f48f68bd1e61f37c6357dbff5adb95532",
        "205f93288093df69f9ab5f6981aef27b91088b28",
        "c54f9da1c8ceee19436430afac0798a989eb886d",
        "0ed368c71aa65cba8d349432bd4dab4a9a2eb39c",
        "b478458aeebfc55fe409abec43794ac72a623c79",
        "2d144e63098be47c21ad59d68a4fd17bd73a3aaf",
        "607baf1f4ef94637ab0f7d0e258932851dc5c0a2",
        "33af9039cbf629041da2bfa0cf451208391a1ec3",
        "3557b18fcbe0e29706214f3c7cc680a7823605eb",
        "63687a528c39a67c1a213cdffa09feb0e6af9dbe",
        "009b9fc98ddd83f9139fdabb12c0d7a8535d5421",
        "f6477cc76c73833a56e97f1fafc36a7ca92927e5",
        "e6b0edef3453677b13e175a104a83eb36d062dd3",
        "400d34944c4ad82a817c06e570bc93b1114aa596"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 09:16:56 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 09:16:56 2008 +0200"
      },
      "message": "Merge branches \u0027x86/numa-fixes\u0027, \u0027x86/apic\u0027, \u0027x86/apm\u0027, \u0027x86/bitops\u0027, \u0027x86/build\u0027, \u0027x86/cleanups\u0027, \u0027x86/cpa\u0027, \u0027x86/cpu\u0027, \u0027x86/defconfig\u0027, \u0027x86/gart\u0027, \u0027x86/i8259\u0027, \u0027x86/intel\u0027, \u0027x86/irqstats\u0027, \u0027x86/kconfig\u0027, \u0027x86/ldt\u0027, \u0027x86/mce\u0027, \u0027x86/memtest\u0027, \u0027x86/pat\u0027, \u0027x86/ptemask\u0027, \u0027x86/resumetrace\u0027, \u0027x86/threadinfo\u0027, \u0027x86/timers\u0027, \u0027x86/vdso\u0027 and \u0027x86/xen\u0027 into x86/devel\n"
    },
    {
      "commit": "ce0c0e50f94e8c55b00a722e8c6e8d6c802be211",
      "tree": "cd8917c9f7917c75d2c65f2eaa2e4d4c60794bef",
      "parents": [
        "1b40a895df6c7d5a80e71f65674060b03d84bbef"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Fri May 02 11:46:49 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 08 08:11:45 2008 +0200"
      },
      "message": "x86, generic: CPA add statistics about state of direct mapping v4\n\nAdd information about the mapping state of the direct mapping to\n/proc/meminfo. I chose /proc/meminfo because that is where all the other\nmemory statistics are too and it is a generally useful metric even\noutside debugging situations. A lot of split kernel pages means the\nkernel will run slower.\n\nThis way we can see how many large pages are really used for it and how\nmany are split.\n\nUseful for general insight into the kernel.\n\nv2: Add hotplug locking to 64bit to plug a very obscure theoretical race.\n    32bit doesn\u0027t need it because it doesn\u0027t support hotadd for lowmem.\n    Fix some typos\nv3: Rename dpages_cnt\n    Add CONFIG ifdef for count update as requested by tglx\n    Expand description\nv4: Fix stupid bugs added in v3\n    Move update_page_count to pageattr.c\n\nSigned-off-by: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5d7e0d2bd98ef4f5a16ac9da1987ae655368dd6a",
      "tree": "a910f821c544bba353324c63e2783852a1b95b11",
      "parents": [
        "ca31e146d5c2fe51498e619eb3a64782d02e310a"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sat Jul 05 01:02:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 05 13:13:44 2008 -0700"
      },
      "message": "Fix pagemap_read() use of struct mm_walk\n\nFix some issues in pagemap_read noted by Alexey:\n\n- initialize pagemap_walk.mm to \"mm\" , so the code starts working as\n  advertised\n\n- initialize -\u003eprivate to \"\u0026pm\" so it wouldn\u0027t immediately oops in\n  pagemap_pte_hole()\n\n- unstatic struct pagemap_walk, so two threads won\u0027t fsckup each other\n  (including those started by root, including flipping -\u003emm when you don\u0027t\n  have permissions)\n\n- pagemap_read() contains two calls to ptrace_may_attach(), second one\n  looks unneeded.\n\n- avoid possible kmalloc(0) and integer wraparound.\n\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ Personally, I\u0027d just remove the functionality entirely  - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20cbc972617069c1ed434f62151e4de57d26ea46",
      "tree": "067d4d64badaa772a8c132c03f4e42875e35e3c4",
      "parents": [
        "fbe0825752dc34b505777fd59cde4a6ce832eb16"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sat Jul 05 12:29:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 05 13:07:56 2008 -0700"
      },
      "message": "Fix clear_refs_write() use of struct mm_walk\n\nDon\u0027t use a static entry, so as to prevent races during concurrent use\nof this function.\n\nReported-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c54f9da1c8ceee19436430afac0798a989eb886d",
      "tree": "412f51c3f2641e4205b767cec95ce6107cd39d36",
      "parents": [
        "a2eddfa95919a730e0e5ed17e9c303fe5ba249cd",
        "066519068ad2fbe98c7f45552b1f592903a9c8c8"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 11:27:53 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 16 11:27:53 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/irqstats\n"
    },
    {
      "commit": "bcf8039ed45f56013c4afea5520bca7d909e5e61",
      "tree": "2c3348eb300fdd910df9e012882bd3d2f263a390",
      "parents": [
        "2165009bdf63f79716a36ad545df14c3cdf958b7"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Thu Jun 12 15:21:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 12 18:05:41 2008 -0700"
      },
      "message": "pagemap: fix large pages in pagemap\n\nWe were walking right into huge page areas in the pagemap walker, and\ncalling the pmds pmd_bad() and clearing them.\n\nThat leaked huge pages.  Bad.\n\nThis patch at least works around that for now.  It ignores huge pages in\nthe pagemap walker for the time being, and won\u0027t leak those pages.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2165009bdf63f79716a36ad545df14c3cdf958b7",
      "tree": "83d1735f2104b6b5158be56a362856ac1079861d",
      "parents": [
        "cfc53f65f56f9f33c0cf522124045ac5a64076b3"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "dave@linux.vnet.ibm.com",
        "time": "Thu Jun 12 15:21:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 12 18:05:41 2008 -0700"
      },
      "message": "pagemap: pass mm into pagewalkers\n\nWe need this at least for huge page detection for now, because powerpc\nneeds the vm_area_struct to be able to determine whether a virtual address\nis referring to a huge page (its pmd_huge() doesn\u0027t work).\n\nIt might also come in handy for some of the other users.\n\nSigned-off-by: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "156a9ea43acb609ac89d48dbb9f0d05ee903a12e",
      "tree": "0b470e783c6f5012421a9a59aa8864c5fcc96407",
      "parents": [
        "c8d10bffdbea5f82a8e491467a23fb2cc7da921b",
        "ca05a99a54db1db5bca72eccb5866d2a86f8517f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:31:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:31:55 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/chrisw/lsm-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/chrisw/lsm-2.6:\n  capabilities: remain source compatible with 32-bit raw legacy capability support.\n  LSM: remove stale web site from MAINTAINERS\n"
    },
    {
      "commit": "4710d1ac4c491dd8a28f57946214c0b5fe73cc87",
      "tree": "8c62c8665e343be25cb1d351a0cc4075f70e7241",
      "parents": [
        "bbcdac0c20aa20d1daad41d9c138102b70e5aae4"
      ],
      "author": {
        "name": "Thomas Tuttle",
        "email": "ttuttle@google.com",
        "time": "Thu Jun 05 22:46:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:13 2008 -0700"
      },
      "message": "pagemap: return EINVAL, not EIO, for unaligned reads of kpagecount or kpageflags\n\nIf the user tries to read from a position that is not a multiple of 8, or\nread a number of bytes that is not a multiple of 8, they have passed an\ninvalid argument to read, for the purpose of reading these files.  It\u0027s\nnot an IO error because we didn\u0027t encounter any trouble finding the data\nthey asked for.\n\nSigned-off-by: Thomas Tuttle \u003cttuttle@google.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bbcdac0c20aa20d1daad41d9c138102b70e5aae4",
      "tree": "8e1f8ffdceacc788f78d21348ccff1a1f9c3cc25",
      "parents": [
        "a4fa7ef037b17f2a3b9b393cb924e571fc04e784"
      ],
      "author": {
        "name": "Thomas Tuttle",
        "email": "ttuttle@google.com",
        "time": "Thu Jun 05 22:46:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:13 2008 -0700"
      },
      "message": "pagemap: return map count, not reference count, in /proc/kpagecount\n\nSince pagemap is all about examining pages mapped into processes\u0027 memory\nspaces, it makes sense for kpagecount to return the map counts, not the\nreference counts.\n\nSigned-off-by: Thomas Tuttle \u003cttuttle@google.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aed5417593ad125283f35513573282139a8664b5",
      "tree": "8e9ba5f4d81ef3c8e8de0e0d7d6d1acaa79041f2",
      "parents": [
        "aabe188565124ee2ed060a072764d6ed34dfa4ed"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Thu Jun 05 22:46:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:13 2008 -0700"
      },
      "message": "proc: calculate the correct /proc/\u003cpid\u003e link count\n\nThis patch:\n\n  commit e9720acd728a46cb40daa52c99a979f7c4ff195c\n  Author: Pavel Emelyanov \u003cxemul@openvz.org\u003e\n  Date:   Fri Mar 7 11:08:40 2008 -0800\n\n    [NET]: Make /proc/net a symlink on /proc/self/net (v3)\n\nintroduced a /proc/self/net directory without bumping the corresponding\nlink count for /proc/self.\n\nThis patch replaces the static link count initializations with a call that\ncounts the number of directory entries in the given pid_entry table\nwhenever it is instantiated, and thus relieves the burden of manually\nkeeping the two in sync.\n\n[akpm@linux-foundation.org: cleanup]\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\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": "aae8679b0ebcaa92f99c1c3cb0cd651594a43915",
      "tree": "26d761d3c4cca09b58538a576948a7ba720f7d5a",
      "parents": [
        "d1ee2971f5bd8a16bc5ecfe1b00e14b4fe407c4f"
      ],
      "author": {
        "name": "Thomas Tuttle",
        "email": "ttuttle@google.com",
        "time": "Thu Jun 05 22:46:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 06 11:29:11 2008 -0700"
      },
      "message": "pagemap: fix bug in add_to_pagemap, require aligned-length reads of /proc/pid/pagemap\n\nFix a bug in add_to_pagemap.  Previously, since pm-\u003eout was a char *,\nput_user was only copying 1 byte of every PFN, resulting in the top 7\nbytes of each PFN not being copied.  By requiring that reads be a multiple\nof 8 bytes, I can make pm-\u003eout and pm-\u003eend u64*s instead of char*s, which\nmakes put_user work properly, and also simplifies the logic in\nadd_to_pagemap a bit.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Thomas Tuttle \u003cttuttle@google.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\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": "ca05a99a54db1db5bca72eccb5866d2a86f8517f",
      "tree": "b39fba6604da4b4f77103d2769bb783118b9b508",
      "parents": [
        "cc94bc37d5e02aaf8a6409a28e3c62bbd479b9a8"
      ],
      "author": {
        "name": "Andrew G. Morgan",
        "email": "morgan@kernel.org",
        "time": "Tue May 27 22:05:17 2008 -0700"
      },
      "committer": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Sat May 31 16:36:16 2008 -0700"
      },
      "message": "capabilities: remain source compatible with 32-bit raw legacy capability support.\n\nSource code out there hard-codes a notion of what the\n_LINUX_CAPABILITY_VERSION #define means in terms of the semantics of the\nraw capability system calls capget() and capset().  Its unfortunate, but\ntrue.\n\nSince the confusing header file has been in a released kernel, there is\nsoftware that is erroneously using 64-bit capabilities with the semantics\nof 32-bit compatibilities.  These recently compiled programs may suffer\ncorruption of their memory when sys_getcap() overwrites more memory than\nthey are coded to expect, and the raising of added capabilities when using\nsys_capset().\n\nAs such, this patch does a number of things to clean up the situation\nfor all. It\n\n  1. forces the _LINUX_CAPABILITY_VERSION define to always retain its\n     legacy value.\n\n  2. adopts a new #define strategy for the kernel\u0027s internal\n     implementation of the preferred magic.\n\n  3. deprecates v2 capability magic in favor of a new (v3) magic\n     number. The functionality of v3 is entirely equivalent to v2,\n     the only difference being that the v2 magic causes the kernel\n     to log a \"deprecated\" warning so the admin can find applications\n     that may be using v2 inappropriately.\n\n[User space code continues to be encouraged to use the libcap API which\nprotects the application from details like this.  libcap-2.10 is the first\nto support v3 capabilities.]\n\nFixes issue reported in https://bugzilla.redhat.com/show_bug.cgi?id\u003d447518.\nThanks to Bojan Smojver for the report.\n\n[akpm@linux-foundation.org: s/depreciate/deprecate/g]\n[akpm@linux-foundation.org: be robust about put_user size]\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Bojan Smojver \u003cbojan@rexursive.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\n"
    },
    {
      "commit": "a2eddfa95919a730e0e5ed17e9c303fe5ba249cd",
      "tree": "19c806c27256fed0a744d8628caa356219e6bf16",
      "parents": [
        "75d3bce2fc0a80f435fe12f2c9ed2632c8ac29e4"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Mon May 12 15:44:41 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun May 25 07:11:49 2008 +0200"
      },
      "message": "x86: make /proc/stat account for all interrupts\n\nLAPIC interrupts, which don\u0027t go through the generic interrupt handling\ncode, aren\u0027t accounted for in /proc/stat. Hence this patch adds a\nmechanism architectures can use to accordingly adjust the statistics.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c4185a0e019387f5ad6e99009804965531fa1fab",
      "tree": "c7d4e534808d4052373f5f7d4b78adaf57d051b9",
      "parents": [
        "53978d0a7a27eb036b9bf33c4caa06257a9dbed7"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri May 23 13:04:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 24 09:56:11 2008 -0700"
      },
      "message": "proc: proc_get_inode() should get module only once\n\nAny file under /proc/net opened more than once leaked the refcounter\non the module it belongs to.\n\nThe problem is that module_get is called for each file opening while\nmodule_put is called only when /proc inode is destroyed. So, lets put\nmodule counter if we are dealing with already initialised inode.\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d10737\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Robert Olsson \u003crobert.olsson@its.uu.se\u003e\nAcked-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nReported-by: Roland Kletzing \u003cdevzero@web.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "80119ef5c8153e0a6cc5edf00c083dc98a9bd348",
      "tree": "a2af11a3991b1bebe9d764ab6d4d28891e86eda2",
      "parents": [
        "6c7c6afbb8c0e60d32a563cae7c6889211e9d9d8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri May 23 13:04:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 24 09:56:09 2008 -0700"
      },
      "message": "mm: fix atomic_t overflow in vm\n\nThe atomic_t type is 32bit but a 64bit system can have more than 2^32\npages of virtual address space available.  Without this we overflow on\nludicrously large mappings\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ee650467d5bf972d10441e99688e9b48171f99c",
      "tree": "34e851884d9fed7a4a24836b85934c931d8110f5",
      "parents": [
        "f26a3988917913b3d11b2bd741601a2c64ab9204"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Tue Apr 29 15:01:13 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 17 03:27:27 2008 -0400"
      },
      "message": "[PATCH] open sessionid permissions\n\nThe current permissions on sessionid are a little too restrictive.\n\nSigned-off-by: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "289f8e27ed435dcbefad132def06f4e84351e94f",
      "tree": "e5b3f6206111d5ba1c71eb13a2f01813f4403cee",
      "parents": [
        "c8894419acf5e56851de9741c5047bebd78acd1f"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon May 12 14:02:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:24 2008 -0700"
      },
      "message": "capabilities: add bounding set to /proc/self/status\n\nThere is currently no way to query the bounding set of another task.  As there\nappears to be no security reason not to, and as Michael Kerrisk points out the\nfollowing valid reasons to do so exist:\n\n* consistency (I can see all of the other per-thread/process sets in\n  /proc/.../status)\n\n* debugging -- I could imagine that it would make the job of debugging an\n  application that uses capabilities a little simpler.\n\nthis patch adds the bounding set to /proc/self/status right after the\neffective set.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Andrew G. Morgan \u003cmorgan@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": "19566ca6dc26600bae4b75701d4dced8d8540f16",
      "tree": "5e1f732b80b0db2192cb184f11dde147b5ed1aee",
      "parents": [
        "f7c83a0aaa772f8d0189fa197d77c762caaa367a"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Thu May 08 22:36:27 2008 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 08 10:56:22 2008 -0700"
      },
      "message": "fs/proc/task_mmu.c: remove duplicated include files\n\nRemoved duplicated include files \u003clinux/ptrace.h\u003e and \u003clinux/seq_file.h\u003e in\nfs/proc/task_mmu.c.\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb28062f131b0a1da32b2554fd819af5221040de",
      "tree": "d952084a2c3258965a24f8cb22c3704f30107a1f",
      "parents": [
        "d0dcd41d7b463de955b7ae7a55f76ff4216ed665"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "cooloney@kernel.org",
        "time": "Sun May 04 23:12:55 2008 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 04 17:08:48 2008 -0700"
      },
      "message": "task_nommu: fix compile failing bug because of spilt file.h\n\n  CC      fs/proc/task_nommu.o\nfs/proc/task_nommu.c: In function ‘task_mem’:\nfs/proc/task_nommu.c:55: error: dereferencing pointer to incomplete type\nmake[2]: *** [fs/proc/task_nommu.o] Error 1\nmake[1]: *** [fs/proc] Error 2\nmake: *** [fs] Error 2\n\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f9faaace217b854ae1e1746ee4ac44688ddadbd",
      "tree": "34122d9e84349a394988d6bfc480115e4809776a",
      "parents": [
        "bf640be423d60d954b9673527e106a461a129eb8",
        "f37f2c62a28e848e06399ea2f9be1e098212625c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 03 10:18:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 03 10:18:21 2008 -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: (47 commits)\n  rose: Wrong list_lock argument in rose_node seqops\n  netns: Fix reassembly timer to use the right namespace\n  netns: Fix device renaming for sysfs\n  bnx2: Update version to 1.7.5.\n  bnx2: Update RV2P firmware for 5709.\n  bnx2: Zero out context memory for 5709.\n  bnx2: Fix register test on 5709.\n  bnx2: Fix remote PHY initial link state.\n  bnx2: Refine remote PHY locking.\n  bridge: forwarding table information for \u003e256 devices\n  tg3: Update version to 3.92\n  tg3: Add link state reporting to UMP firmware\n  tg3: Fix ethtool loopback test for 5761 BX devices\n  tg3: Fix 5761 NVRAM sizes\n  tg3: Use constant 500KHz MI clock on adapters with a CPMU\n  hci_usb.h: fix hard-to-trigger race\n  dccp: ccid2.c, ccid3.c use clamp(), clamp_t()\n  net: remove NR_CPUS arrays in net/core/dev.c\n  net: use get/put_unaligned_* helpers\n  bluetooth: use get/put_unaligned_* helpers\n  ...\n"
    },
    {
      "commit": "78e92b99ec4eb73755abd4e357b0b211eadafd88",
      "tree": "8db0049da6d0ce0a968b11fae12f3f91664881dd",
      "parents": [
        "8b169240e266d7fc58d9b9077d18d50a548d9732"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri May 02 04:12:41 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 02 04:12:41 2008 -0700"
      },
      "message": "netns: assign PDE-\u003edata before gluing entry into /proc tree\n\nIn this unfortunate case, proc_mkdir_mode wrapper can\u0027t be used anymore and\nthis is no way to reuse proc_create_data due to nlinks assignment. So,\ncopy the code from proc_mkdir and assign PDE-\u003edata at the appropriate\nmoment.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f3acc3140444a900ab280de942291959f0f615d",
      "tree": "0d7f3f9698071ff90fb9a127a4c6e86e1c37c945",
      "parents": [
        "a2dcb44c3c5a8151d2d9f6ac8ad0789efcdbe184"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 24 07:44:08 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 01 13:08:16 2008 -0400"
      },
      "message": "[PATCH] split linux/file.h\n\nInitial splitoff of the low-level stuff; taken to fdtable.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fc3ba692a4d19019387c5acaea63131f9eab05dd",
      "tree": "c86e025cb8f79c7ffc479029989b7378bcb9f285",
      "parents": [
        "dd5656e59ca7b25fb60a22f9079905ed0da5ed0c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:50 2008 -0700"
      },
      "message": "mm: Add NR_WRITEBACK_TEMP counter\n\nFuse will use temporary buffers to write back dirty data from memory mappings\n(normal writes are done synchronously).  This is needed, because there cannot\nbe any guarantee about the time in which a write will complete.\n\nBy using temporary buffers, from the MM\u0027s point if view the page is written\nback immediately.  If the writeout was due to memory pressure, this\neffectively migrates data from a full zone to a less full zone.\n\nThis patch adds a new counter (NR_WRITEBACK_TEMP) for the number of pages used\nas temporary buffers.\n\n[Lee.Schermerhorn@hp.com: add vmstat_text for NR_WRITEBACK_TEMP]\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f34d7a5b7010b82fe97da95496b9971435530062",
      "tree": "87e2abec1e33ed4fe5e63ee2fd000bc2ad745e57",
      "parents": [
        "251b8dd7eee30fda089a1dc088abf4fc9a0dee9c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:54:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:47 2008 -0700"
      },
      "message": "tty: The big operations rework\n\n- Operations are now a shared const function block as with most other Linux\n  objects\n\n- Introduce wrappers for some optional functions to get consistent behaviour\n\n- Wrap put_char which used to be patched by the tty layer\n\n- Document which functions are needed/optional\n\n- Make put_char report success/fail\n\n- Cache the driver-\u003eops pointer in the tty as tty-\u003eops\n\n- Remove various surplus lock calls we no longer need\n\n- Remove proc_write method as noted by Alexey Dobriyan\n\n- Introduce some missing sanity checks where certain driver/ldisc\n  combinations would oops as they didn\u0027t check needed methods were present\n\n[akpm@linux-foundation.org: fix fs/compat_ioctl.c build]\n[akpm@linux-foundation.org: fix isicom]\n[akpm@linux-foundation.org: fix arch/ia64/hp/sim/simserial.c build]\n[akpm@linux-foundation.org: fix kgdb]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d0fdf1e01899805b6c2c0b789a707dcb731b1ea",
      "tree": "19827c7b3cf365c0b403741ead6c7bc317cad51b",
      "parents": [
        "575537b3248ee9b7578a3bb3df33fcdda2bfc4d5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:53:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:40 2008 -0700"
      },
      "message": "tty_io: fix remaining pid struct locking\n\nThis fixes the last couple of pid struct locking failures I know about.\n\n[oleg@tv-sign.ru: clean up do_task_stat()]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06fffb1267c9d986687b69d74a46ee332a50575e",
      "tree": "bfbef85a5fa65550f40d83e75d8e23cea5238772",
      "parents": [
        "d6cf723a142f63ccb92272bc0e9bfffd3c3a5cac"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "do_task_stat: don\u0027t take rcu_read_lock()\n\nlock_task_sighand() was changed, and do_task_stat() doesn\u0027t need\nrcu_read_lock any longer.  sighand-\u003esiglock protects all \"interesting\"\nfields.\n\nExcept: it doesn\u0027t protect -\u003etty-\u003epgrp, but neither does rcu_read_lock(), this\nshould be fixed.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Pavel Emelyanov \u003cxemul@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7321cd62470b70d2717dae5a963e7a8fabff4d5",
      "tree": "1e3468e44239a310b03c3f8dabf754e64b6ad281",
      "parents": [
        "2c4c7155f25192da3511a6c911db4d08102d36c4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Apr 29 01:02:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:23 2008 -0700"
      },
      "message": "sysctl: add the -\u003epermissions callback on the ctl_table_root\n\nWhen reading from/writing to some table, a root, which this table came from,\nmay affect this table\u0027s permissions, depending on who is working with the\ntable.\n\nThe core hunk is at the bottom of this patch.  All the rest is just pushing\nthe ctl_table_root argument up to the sysctl_perm() function.\n\nThis will be mostly (only?) used in the net sysctls.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7708bfb1c855f2a076ef71cc21647deea022ebe7",
      "tree": "9e4ba2b0074217b30a684eb9e77f6619434f4577",
      "parents": [
        "1a46674b996bf9a15f0333178f5829ca2d7c32e2"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Apr 29 01:02:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:23 2008 -0700"
      },
      "message": "sysctl: merge equal proc_sys_read and proc_sys_write\n\nMany (most of) sysctls do not have a per-container sense.  E.g.\nkernel.print_fatal_signals, vm.panic_on_oom, net.core.netdev_budget and so on\nand so forth.  Besides, tuning then from inside a container is not even\nsecure.  On the other hand, hiding them completely from the container\u0027s tasks\nsometimes causes user-space to stop working.\n\nWhen developing net sysctl, the common practice was to duplicate a table and\ndrop the write bits in table-\u003emode, but this approach was not very elegant,\nlead to excessive memory consumption and was not suitable in general.\n\nHere\u0027s the alternative solution.  To facilitate the per-container sysctls\nctl_table_root-s were introduced.  Each root contains a list of\nctl_table_header-s that are visible to different namespaces.  The idea of this\nset is to add the permissions() callback on the ctl_table_root to allow ctl\nroot limit permissions to the same ctl_table-s.\n\nThe main user of this functionality is the net-namespaces code, but later this\nwill (should) be used by more and more namespaces, containers and control\ngroups.\n\nActually, this idea\u0027s core is in a single hunk in the third patch.  First two\npatches are cleanups for sysctl code, while the third one mostly extends the\narguments set of some sysctl functions.\n\nThis patch:\n\nThese -\u003eread and -\u003ewrite callbacks act in a very similar way, so merge these\npaths to reduce the number of places to patch later and shrink the .text size\n(a bit).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59b7435149eab2dd06dd678742faff6049cb655f",
      "tree": "ceadbf157a001b83a3ab2c89156426e88a782208",
      "parents": [
        "b640a89ddd742782bd2d83873da30d4776d1b9c6"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Apr 29 01:02:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:20 2008 -0700"
      },
      "message": "proc: introduce proc_create_data to setup de-\u003edata\n\nThis set of patches fixes an proc -\u003eopen\u0027less usage due to -\u003eproc_fops flip in\nthe most part of the kernel code.  The original OOPS is described in the\ncommit 2d3a4e3666325a9709cc8ea2e88151394e8f20fc:\n\n    Typical PDE creation code looks like:\n\n    \tpde \u003d create_proc_entry(\"foo\", 0, NULL);\n    \tif (pde)\n    \t\tpde-\u003eproc_fops \u003d \u0026foo_proc_fops;\n\n    Notice that PDE is first created, only then -\u003eproc_fops is set up to\n    final value. This is a problem because right after creation\n    a) PDE is fully visible in /proc , and\n    b) -\u003eproc_fops are proc_file_operations which do not have -\u003eopen callback. So, it\u0027s\n       possible to -\u003eread without -\u003eopen (see one class of oopses below).\n\n    The fix is new API called proc_create() which makes sure -\u003eproc_fops are\n    set up before gluing PDE to main tree. Typical new code looks like:\n\n    \tpde \u003d proc_create(\"foo\", 0, NULL, \u0026foo_proc_fops);\n    \tif (!pde)\n    \t\treturn -ENOMEM;\n\n    Fix most networking users for a start.\n\n    In the long run, create_proc_entry() for regular files will go.\n\nIn addition to this, proc_create_data is introduced to fix reading from\nproc without PDE-\u003edata. The race is basically the same as above.\n\ncreate_proc_entries is replaced in the entire kernel code as new method\nis also simply better.\n\nThis patch:\n\nThe problem is the same as for de-\u003eproc_fops.  Right now PDE becomes visible\nwithout data set.  So, the entry could be looked up without data.  This, in\nmost cases, will simply OOPS.\n\nproc_create_data call is created to address this issue.  proc_create now\nbecomes a wrapper around it.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Jaroslav Kysela \u003cperex@suse.cz\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Jesper Nilsson \u003cjesper.nilsson@axis.com\u003e\nCc: Karsten Keil \u003ckkeil@suse.de\u003e\nCc: Kyle McMartin \u003ckyle@parisc-linux.org\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Peter Osterlund \u003cpetero2@telia.com\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b640a89ddd742782bd2d83873da30d4776d1b9c6",
      "tree": "1aa331c52bef2eb813bd39d1738dc401a7e70f6d",
      "parents": [
        "8731f14d37825b54ad0c4c309cba2bc8fdf13a86"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:20 2008 -0700"
      },
      "message": "proc: convert /proc/tty/ldiscs to seq_file interface\n\nNote: THIS_MODULE and header addition aren\u0027t technically needed because\n      this code is not modular, but let\u0027s keep it anyway because people\n      can copy this code into modular code.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.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": "8731f14d37825b54ad0c4c309cba2bc8fdf13a86",
      "tree": "6f0d6d646ad6c1c5b4765953fea004c1758961be",
      "parents": [
        "352ced8e594091d74b92da9bcf07aea81d37ac55"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:19 2008 -0700"
      },
      "message": "proc: remove -\u003eget_info infrastructure\n\nNow that last dozen or so users of -\u003eget_info were removed, ditch it too.\nEveryone sane shouldd have switched to seq_file interface long ago.\n\nP.S.: Co-existing 3 interfaces (-\u003eget_info/-\u003eread_proc/-\u003eproc_fops) for proc\n      is long-standing crap, BTW, thus\n      a) put -\u003eread_proc/-\u003ewrite_proc/read_proc_entry() users on death row,\n      b) new such users should be rejected,\n      c) everyone is encouraged to convert his favourite -\u003eread_proc user or\n         I\u0027ll do it, lazy bastards.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c74c120a21d87b0b6925ada5830d8cac21e852d9",
      "tree": "79558a29ecadc7b71eeb5bdf0945680f0560b2ed",
      "parents": [
        "928b4d8c8963e75bdb133f562b03b07f9aa4844a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: remove proc_root from drivers\n\nRemove proc_root export.  Creation and removal works well if parent PDE is\nsupplied as NULL -- it worked always that way.\n\nSo, one useless export removed and consistency added, some drivers created\nPDEs with \u0026proc_root as parent but removed them as NULL and so on.\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": "928b4d8c8963e75bdb133f562b03b07f9aa4844a",
      "tree": "18de7e85fe403f681a954ed04254b2d9085e7fe4",
      "parents": [
        "36a5aeb8787fbf92510ed20d806e229c55726f93"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: remove proc_root_driver\n\nUse creation by full path: \"driver/foo\".\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": "36a5aeb8787fbf92510ed20d806e229c55726f93",
      "tree": "7e6efd56b357a3f66a72b3e0d7540116214db338",
      "parents": [
        "9c37066d888bf6e1b96ad12304971b3ddeabbad0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: remove proc_root_fs\n\nUse creation by full path instead: \"fs/foo\".\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": "9c37066d888bf6e1b96ad12304971b3ddeabbad0",
      "tree": "87f39924be4d36b25918cf7a90eb0db7743cba99",
      "parents": [
        "5e971dce0b2f6896e02372512df0d1fb0bfe2d55"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: remove proc_bus\n\nRemove proc_bus export and variable itself. Using pathnames works fine\nand is slightly more understandable and greppable.\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": "5e971dce0b2f6896e02372512df0d1fb0bfe2d55",
      "tree": "bce0356470331c49c92b87042103034e55beaa8e",
      "parents": [
        "7cee4e00e0f8aa7290266382ea903a5a1b92c9a1"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: drop several \"PDE valid/invalid\" checks\n\nproc-misc code is noticeably full of \"if (de)\" checks when PDE passed is\nalways valid.  Remove them.\n\nAddition of such check in proc_lookup_de() is for failed lookup case.\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": "7cee4e00e0f8aa7290266382ea903a5a1b92c9a1",
      "tree": "3d4ca2241e122f3358433b26538d952eda0226c5",
      "parents": [
        "f649d6d32605c7573884613289fb3b9fbd4f99a1"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "proc: less special case in xlate code\n\nIf valid \"parent\" is passed to proc_create/remove_proc_entry(), then name of\nPDE should consist of only one path component, otherwise creation or or\nremoval will fail.  However, if NULL is passed as parent then create/remove\naccept full path as a argument.  This is arbitrary restriction -- all\ninfrastructure is in place.\n\nSo, patch allows the following to succeed:\n\n\tcreate_proc_entry(\"foo/bar\", 0, pde_baz);\n\tremove_proc_entry(\"baz/foo/bar\", \u0026proc_root);\n\nAlso makes the following to behave identically:\n\n\tcreate_proc_entry(\"foo/bar\", 0, NULL);\n\tcreate_proc_entry(\"foo/bar\", 0, \u0026proc_root);\n\nDiscrepancy noticed by Den Lunev (IIRC).\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": "f649d6d32605c7573884613289fb3b9fbd4f99a1",
      "tree": "3fe52e6e5e93edc2f011d8047a8e3ac2eee71930",
      "parents": [
        "638fa202cdb207083a12d6f73e313605a8fc1037"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "proc: simplify locking in remove_proc_entry()\n\nproc_subdir_lock protects only modifying and walking through PDE lists, so\nafter we\u0027ve found PDE to remove and actually removed it from lists, there is\nno need to hold proc_subdir_lock for the rest of operation.\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": "638fa202cdb207083a12d6f73e313605a8fc1037",
      "tree": "e049d74e9f7e15a55149dc17482572c8b2aefa18",
      "parents": [
        "0d5c9f5f59a61cf8e98e2925cb5d81cbe7694305"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Apr 29 01:01:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "procfs: mem permission cleanup\n\nThis cleans up the permission checks done for /proc/PID/mem i/o calls.  It\nputs all the logic in a new function, check_mem_permission().\n\nThe old code repeated the (!MAY_PTRACE(task) || !ptrace_may_attach(task))\nmagical expression multiple times.  The new function does all that work in one\nplace, with clear comments.\n\nThe old code called security_ptrace() twice on successful checks, once in\nMAY_PTRACE() and once in __ptrace_may_attach().  Now it\u0027s only called once,\nand only if all other checks have succeeded.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d5c9f5f59a61cf8e98e2925cb5d81cbe7694305",
      "tree": "f0df6740f1797cd2ac76a684d29fa9162fd61816",
      "parents": [
        "925d1c401fa6cfd0df5d2e37da8981494ccdec07"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "proc: switch to proc_create()\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "925d1c401fa6cfd0df5d2e37da8981494ccdec07",
      "tree": "4f3b7a09311cd99783b822350628125e44f9902d",
      "parents": [
        "e93b4ea20adb20f1f1f07f10ba5d7dd739d2843e"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Tue Apr 29 01:01:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "procfs task exe symlink\n\nThe kernel implements readlink of /proc/pid/exe by getting the file from\nthe first executable VMA.  Then the path to the file is reconstructed and\nreported as the result.\n\nBecause of the VMA walk the code is slightly different on nommu systems.\nThis patch avoids separate /proc/pid/exe code on nommu systems.  Instead of\nwalking the VMAs to find the first executable file-backed VMA we store a\nreference to the exec\u0027d file in the mm_struct.\n\nThat reference would prevent the filesystem holding the executable file\nfrom being unmounted even after unmapping the VMAs.  So we track the number\nof VM_EXECUTABLE VMAs and drop the new reference when the last one is\nunmapped.  This avoids pinning the mounted filesystem.\n\n[akpm@linux-foundation.org: improve comments]\n[yamamoto@valinux.co.jp: fix dup_mmap]\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc:\"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e93b4ea20adb20f1f1f07f10ba5d7dd739d2843e",
      "tree": "69afed8fb7a13a0dd9e1f1e1dbfc663620d78363",
      "parents": [
        "7249db2c281ac688977ecc6862cdee9969d310e2"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Apr 29 01:01:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "proc: print more information when removing non-empty directories\n\nThis usually saves one recompile to insert similar printk like below. :)\n\nSample nastygram:\n\nremove_proc_entry: removing non-empty directory \u0027/proc/foo\u0027, leaking at least \u0027bar\u0027\n------------[ cut here ]------------\nWARNING: at fs/proc/generic.c:776 remove_proc_entry+0x18a/0x200()\nModules linked in: foo(-) container fan battery dock sbs ac sbshc backlight ipv6 loop af_packet amd_rng sr_mod i2c_amd8111 i2c_amd756 cdrom i2c_core button thermal processor\nPid: 3034, comm: rmmod Tainted: G   M     2.6.25-rc1 #5\n\nCall Trace:\n [\u003cffffffff80231974\u003e] warn_on_slowpath+0x64/0x90\n [\u003cffffffff80232a6e\u003e] printk+0x4e/0x60\n [\u003cffffffff802d6c8a\u003e] remove_proc_entry+0x18a/0x200\n [\u003cffffffff8045cd88\u003e] mutex_lock_nested+0x1c8/0x2d0\n [\u003cffffffff8025f0f0\u003e] __try_stop_module+0x0/0x40\n [\u003cffffffff8025effd\u003e] sys_delete_module+0x14d/0x200\n [\u003cffffffff8045df3d\u003e] lockdep_sys_exit_thunk+0x35/0x67\n [\u003cffffffff8031c307\u003e] __up_read+0x27/0xa0\n [\u003cffffffff8045decc\u003e] trace_hardirqs_on_thunk+0x35/0x3a\n [\u003cffffffff8020b6ab\u003e] system_call_after_swapgs+0x7b/0x80\n\n---[ end trace 10ef850597e89c54 ]---\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "214e471ff99064726b2d8af3aa0e24a73c775531",
      "tree": "a78674e56c27db43490cac0ef7c121e845051b62",
      "parents": [
        "e20b8cca760ed2a6abcfe37ef56f2306790db648"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Apr 28 02:12:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:22 2008 -0700"
      },
      "message": "smaps: account swap entries\n\nShow the amount of swap for each vma.  This can be used to see where all the\nswap goes.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nAcked-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a10aa579878fc6f9cd17455067380bbdf1d53c91",
      "tree": "c42fbb1e9422e5334c2207cafed4a2b5b1ad16c4",
      "parents": [
        "b45445684198a946b587732265692e6495993abf"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Apr 28 02:12:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:21 2008 -0700"
      },
      "message": "vmalloc: show vmalloced areas via /proc/vmallocinfo\n\nImplement a new proc file that allows the display of the currently allocated\nvmalloc memory.\n\nIt allows to see the users of vmalloc.  That is important if vmalloc space is\nscarce (i386 for example).\n\nAnd it\u0027s going to be important for the compound page fallback to vmalloc.\nMany of the current users can be switched to use compound pages with fallback.\n This means that the number of users of vmalloc is reduced and page tables no\nlonger necessary to access the memory.  /proc/vmallocinfo allows to review how\nthat reduction occurs.\n\nIf memory becomes fragmented and larger order allocations are no longer\npossible then /proc/vmallocinfo allows to see which compound page allocations\nfell back to virtual compound pages.  That is important for new users of\nvirtual compound pages.  Such as order 1 stack allocation etc that may\nfallback to virtual compound pages in the future.\n\n/proc/vmallocinfo permissions are made readable-only-by-root to avoid possible\ninformation leakage.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: CONFIG_MMU\u003dn build fix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d02dbc8137759e4c2f91db0b7f9c8a1ec2a9276",
      "tree": "f08ac5f852d81afb593f80e7bbd0a0a7cff3fb2f",
      "parents": [
        "3c18ddd160d1fcd46d1131d9ad6c594dd8e9af99"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Apr 28 02:12:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:18 2008 -0700"
      },
      "message": "make swap_pte_to_pagemap_entry() static\n\nMake the needlessly global swap_pte_to_pagemap_entry() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d4d4864ac08caff5c204a752bd004eed4f08760",
      "tree": "a8907c33afae589146fdcd06eacd740aff48c6a1",
      "parents": [
        "a1a2c409b666befc58c2db9c7fbddf200f153470"
      ],
      "author": {
        "name": "Ram Pai",
        "email": "linuxram@us.ibm.com",
        "time": "Thu Mar 27 13:06:25 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:05:03 2008 -0400"
      },
      "message": "[patch 6/7] vfs: mountinfo: add /proc/\u003cpid\u003e/mountinfo\n\n[mszeredi@suse.cz] rewrite and split big patch into managable chunks\n\n/proc/mounts in its current form lacks important information:\n\n - propagation state\n - root of mount for bind mounts\n - the st_dev value used within the filesystem\n - identifier for each mount and it\u0027s parent\n\nIt also suffers from the following problems:\n\n - not easily extendable\n - ambiguity of mountpoints within a chrooted environment\n - doesn\u0027t distinguish between filesystem dependent and independent options\n - doesn\u0027t distinguish between per mount and per super block options\n\nThis patch introduces /proc/\u003cpid\u003e/mountinfo which attempts to address\nall these deficiencies.\n\nCode shared between /proc/\u003cpid\u003e/mounts and /proc/\u003cpid\u003e/mountinfo is\nextracted into separate functions.\n\nThanks to Al Viro for the help in getting the design right.\n\nSigned-off-by: Ram Pai \u003clinuxram@us.ibm.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a1a2c409b666befc58c2db9c7fbddf200f153470",
      "tree": "3ea8e4c8f1311436939492d70de23dcf185994de",
      "parents": [
        "719f5d7f0b90ac2c8f8ca4232eb322b266fea01e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Mar 27 13:06:24 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 23 00:04:57 2008 -0400"
      },
      "message": "[patch 5/7] vfs: mountinfo: allow using process root\n\nAllow /proc/\u003cpid\u003e/mountinfo to use the root of \u003cpid\u003e to calculate\nmountpoints.\n\n - move definition of \u0027struct proc_mounts\u0027 to \u003clinux/mnt_namespace.h\u003e\n - add the process\u0027s namespace and root to this structure\n - pass a pointer to \u0027struct proc_mounts\u0027 into seq_operations\n\nIn addition the following cleanups are made:\n\n - use a common open function for /proc/\u003cpid\u003e/{mounts,mountstat}\n - surround namespace.c part of these proc files with #ifdef CONFIG_PROC_FS\n - make the seq_operations structures const\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9b4f526cdc0f95f635607dfba6ac788b3deca188",
      "tree": "f9f324dbd88856fdaeff1d0146059806bacba26f",
      "parents": [
        "ed1524371716466e9c762808b02601d0d0276a92"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 01:32:44 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 22 19:55:03 2008 -0400"
      },
      "message": "[PATCH] proc_readfd_common() race fix\n\nSince we drop the rcu_read_lock inside the loop, we can\u0027t assume\nthat files-\u003efdt will remain unchanged (and not freed) between\niterations.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3bb5da3837cc1aa17736b05139c9a22c3794851a",
      "tree": "c92d5684a866542b1cb20641607ac1643ce03a47",
      "parents": [
        "7feb49c82a74bc7c091b8ab2a3f96baa33d08ece",
        "9597362d354f8655ece324b01d0c640a0e99c077"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:33:42 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:33:42 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "856f6ff7a3132c8e412b23a7b9157b68ac9a2baf",
      "tree": "750014db3db30a0bf51f0d35389c59d45c5d673c",
      "parents": [
        "225c0a0107735597100dc4133cd88c5ed10d9e63"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Apr 02 00:10:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 02 00:10:04 2008 -0700"
      },
      "message": "[NETNS]: Remove ifdef CONFIG_NET braces in fs/proc/proc_net.c.\n\nThey are redundant as this file is linked in iff CONFIG_NET is turned\non.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e5f8be1388093edc324a78ebf241170b258eba3",
      "tree": "1b5491f78edba6bc3d463e4190deff22f10dff74",
      "parents": [
        "5983a3dff0036d7ef6a2139473564f4f3e7b2a11"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Mar 27 14:25:53 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 27 14:25:53 2008 -0700"
      },
      "message": "[NETNS]: Compile NET /proc support only if CONFIG_NET is set.\n\nThis fix broken compilation for \u0027allnoconfig\u0027. This was introduced by\nIntroduced by commit 1218854afa6f659be90b748cf1bc7badee954a35 (\"[NET]\nNETNS: Omit seq_net_private-\u003enet without CONFIG_NET_NS.\")\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1218854afa6f659be90b748cf1bc7badee954a35",
      "tree": "78b83e3941fa7e5a03c04e2e4f6ddb1a08ea38a0",
      "parents": [
        "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:36:06 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:56 2008 +0900"
      },
      "message": "[NET] NETNS: Omit seq_net_private-\u003enet without CONFIG_NET_NS.\n\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists,\nno need to store net in seq_net_private.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "f16278c679aa72e28288435b313ba2d4494d6be5",
      "tree": "00bf8421f056748a5725f2aa165614f69672cc4e",
      "parents": [
        "51ec92e295d563dd5712d198a7e46c2ae5ccccb2"
      ],
      "author": {
        "name": "Hans Rosenfeld",
        "email": "hans.rosenfeld@amd.com",
        "time": "Fri Mar 21 18:46:59 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 22 17:03:10 2008 -0700"
      },
      "message": "Change pagemap output format to allow for future reporting of huge pages\n\nChange pagemap output format to allow for future reporting of huge pages.\n\n(Format comment and minor cleanups: mpm@selenic.com)\n\nSigned-off-by: Hans Rosenfeld \u003chans.rosenfeld@amd.com\u003e\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d3628b230ecbdc29566c18bc7800ff8ed66a71f",
      "tree": "eac1bff40bdb655fdfdeaf1e22ce12a81296f1fb",
      "parents": [
        "2c7871982cf27caaddbaeb7e2121ce1374b520ff",
        "94833dfb8c98ed4ca1944dd2c1339d88a2d1c758"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 21 07:57:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 21 07:57:45 2008 -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: (46 commits)\n  [NET] ifb: set separate lockdep classes for queue locks\n  [IPV6] KCONFIG: Fix description about IPV6_TUNNEL.\n  [TCP]: Fix shrinking windows with window scaling\n  netpoll: zap_completion_queue: adjust skb-\u003eusers counter\n  bridge: use time_before() in br_fdb_cleanup()\n  [TG3]: Fix build warning on sparc32.\n  MAINTAINERS: bluez-devel is subscribers-only\n  audit: netlink socket can be auto-bound to pid other than current-\u003epid (v2)\n  [NET]: Fix permissions of /proc/net\n  [SCTP]: Fix a race between module load and protosw access\n  [NETFILTER]: ipt_recent: sanity check hit count\n  [NETFILTER]: nf_conntrack_h323: logical-bitwise \u0026 confusion in process_setup()\n  [RT2X00] drivers/net/wireless/rt2x00/rt2x00dev.c: remove dead code, fix warning\n  [IPV4]: esp_output() misannotations\n  [8021Q]: vlan_dev misannotations\n  xfrm: -\u003eeth_proto is __be16\n  [IPV4]: ipv4_is_lbcast() misannotations\n  [SUNRPC]: net/* NULL noise\n  [SCTP]: fix misannotated __sctp_rcv_asconf_lookup()\n  [PKT_SCHED]: annotate cls_u32\n  ...\n"
    },
    {
      "commit": "4f42c288e66a3395e94158badbd182b2dae8eccb",
      "tree": "647a3d4fdeabdd36b29de8b4e8197123ee133fe6",
      "parents": [
        "270637abff0cdf848b910b9f96ad342e1da61c66"
      ],
      "author": {
        "name": "Andre Noll",
        "email": "maan@systemlinux.org",
        "time": "Thu Mar 20 15:27:28 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 20 15:27:28 2008 -0700"
      },
      "message": "[NET]: Fix permissions of /proc/net\n\ncommit e9720ac ([NET]: Make /proc/net a symlink on /proc/self/net (v3))\nbroke ganglia and probably other applications that read /proc/net/dev.\n\nThis is due to the change of permissions of /proc/net that was\nintroduced in that commit.\n\nBefore: dr-xr-xr-x 5 root root 0 Mar 19 11:30 /proc/net\nAfter: dr-xr--r-- 5 root root 0 Mar 19 11:29 /proc/self/net\n\nThis patch restores the permissions to the old value which makes\nganglia happy again.\n\nPavel Emelyanov says:\n\n\tThis also broke the postfix, as it was reported in bug #10286\n\tand described in detail by Benjamin.\n\nSigned-off-by: Andre Noll \u003cmaan@systemlinux.org\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e0bd7550ea9cf474b1ad4c6ff5729a507f75fdc",
      "tree": "06e2df8c0f07339e55f7c410e43094dd91a99892",
      "parents": [
        "bde4f8fa8db2abd5ac9c542d76012d0fedab050f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Mar 13 08:15:31 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 18 10:51:22 2008 -0400"
      },
      "message": "[PATCH] export sessionid alongside the loginuid in procfs\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fb39380b8d683b55630ba5ba381f4e43e417420e",
      "tree": "4fa4386d054b2af1b66651f8cc3d87eeb48ebf73",
      "parents": [
        "b500ce8d24d1f14426643da5f6fada28c1f60533"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "marcelo@kvack.org",
        "time": "Thu Mar 13 12:32:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 13 13:11:43 2008 -0700"
      },
      "message": "pagemap: proper read error handling\n\nFix pagemap_read() error handling by releasing acquired resources and checking\nfor get_user_pages() partial failure.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "609eb39c8d8a8d2930780428f6cbe2f63eb84734",
      "tree": "0cf74a0e6e64531b31c5a1c9d45fbcb88f5e4d1f",
      "parents": [
        "123d43acd2e55cd7db792d17c7e906db42cada42",
        "22626216c46f2ec86287e75ea86dd9ac3df54265"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 12 13:08:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 12 13:08:09 2008 -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: (47 commits)\n  [SCTP]: Fix local_addr deletions during list traversals.\n  net: fix build with CONFIG_NET\u003dn\n  [TCP]: Prevent sending past receiver window with TSO (at last skb)\n  rt2x00: Add new D-Link USB ID\n  rt2x00: never disable multicast because it disables broadcast too\n  libertas: fix the \u0027compare command with itself\u0027 properly\n  drivers/net/Kconfig: fix whitespace for GELIC_WIRELESS entry\n  [NETFILTER]: nf_queue: don\u0027t return error when unregistering a non-existant handler\n  [NETFILTER]: nfnetlink_queue: fix EPERM when binding/unbinding and instance 0 exists\n  [NETFILTER]: nfnetlink_log: fix EPERM when binding/unbinding and instance 0 exists\n  [NETFILTER]: nf_conntrack: replace horrible hack with ksize()\n  [NETFILTER]: nf_conntrack: add \\n to \"expectation table full\" message\n  [NETFILTER]: xt_time: fix failure to match on Sundays\n  [NETFILTER]: nfnetlink_log: fix computation of netlink skb size\n  [NETFILTER]: nfnetlink_queue: fix computation of allocated size for netlink skb.\n  [NETFILTER]: nfnetlink: fix ifdef in nfnetlink_compat.h\n  [NET]: include \u003clinux/types.h\u003e into linux/ethtool.h for __u* typedef\n  [NET]: Make /proc/net a symlink on /proc/self/net (v3)\n  RxRPC: fix rxrpc_recvmsg()\u0027s returning of msg_name\n  net/enc28j60: oops fix\n  ...\n"
    },
    {
      "commit": "b2211a361a4289c83971f89da53fe2eb9e72769d",
      "tree": "e73ba46c7d54199ccef2ec378569d29501179bf5",
      "parents": [
        "5ea3a7480606cef06321cd85bc5113c72d2c7c68"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Mar 11 18:03:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 11 18:03:35 2008 -0700"
      },
      "message": "net: fix build with CONFIG_NET\u003dn\n\nfs/built-in.o:(.rodata+0x1134): undefined reference to `proc_net_inode_operations\u0027\nfs/built-in.o:(.rodata+0x1138): undefined reference to `proc_net_operations\u0027\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9720acd728a46cb40daa52c99a979f7c4ff195c",
      "tree": "01380f601384cf93f30dedb64afe80359fecb807",
      "parents": [
        "1ff82fe0024e8070c38346b8abc1ff09612dea4c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Mar 07 11:08:40 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 07 11:08:40 2008 -0800"
      },
      "message": "[NET]: Make /proc/net a symlink on /proc/self/net (v3)\n\nCurrent /proc/net is done with so called \"shadows\", but current\nimplementation is broken and has little chances to get fixed.\n\nThe problem is that dentries subtree of /proc/net directory has\nfancy revalidation rules to make processes living in different\nnet namespaces see different entries in /proc/net subtree, but\ncurrently, tasks see in the /proc/net subdir the contents of any\nother namespace, depending on who opened the file first.\n\nThe proposed fix is to turn /proc/net into a symlink, which points\nto /proc/self/net, which in turn shows what previously was in\n/proc/net - the network-related info, from the net namespace the\nappropriate task lives in.\n\n# ls -l /proc/net\nlrwxrwxrwx  1 root root 8 Mar  5 15:17 /proc/net -\u003e self/net\n\nIn other words - this behaves like /proc/mounts, but unlike\n\"mounts\", \"net\" is not a file, but a directory.\n\nChanges from v2:\n* Fixed discrepancy of /proc/net nlink count and selinux labeling\n  screwup pointed out by Stephen.\n\n  To get the correct nlink count the -\u003egetattr callback for /proc/net\n  is overridden to read one from the net-\u003eproc_net entry.\n\n  To make selinux still work the net-\u003eproc_net entry is initialized\n  properly, i.e. with the \"net\" name and the proc_net parent.\n\nSelinux fixes are\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\n\nChanges from v1:\n* Fixed a task_struct leak in get_proc_task_net, pointed out by Paul.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0db701a6bf767320e4471bd55e70702d230f6fb",
      "tree": "dee103b4f56be01e908ee39edada7c26450dcc8e",
      "parents": [
        "bec419404afe8b0d60000118ca90ada4c69a3a6d"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Mar 04 11:23:50 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 04 11:28:36 2008 +0100"
      },
      "message": "block/genhd.c: proper externs\n\nThis patch adds proper externs for two structs in include/linux/genhd.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "13d77c37cab2bb906022309e1e7182c327e49916",
      "tree": "e63f3a56dc443f3a2807b85102464d04934d06db",
      "parents": [
        "d6643d12cb0885d06a1491b16c1476abcbd53d40"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Wed Feb 20 16:53:29 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 25 16:34:18 2008 +0100"
      },
      "message": "latencytop: change /proc task_struct access method\n\nChange getting task_struct by get_proc_task() at read or write time,\nand returns -ESRCH if get_proc_task() returns NULL.\nThis is same behavior as other /proc files.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d6643d12cb0885d06a1491b16c1476abcbd53d40",
      "tree": "f342c01a278486e47a973cc84ffac72c43b57c64",
      "parents": [
        "ae0027869db7d28563cd783865fab04ffd18419c"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Thu Feb 14 10:27:00 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 25 16:34:17 2008 +0100"
      },
      "message": "latencytop: fix memory leak on latency proc file\n\nAt lstats_open(), calling get_proc_task() gets task struct, but it never put.\nput_task_struct() should be called when releasing.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ae0027869db7d28563cd783865fab04ffd18419c",
      "tree": "9d57da1dd823e9413fd539a4a60e09df6fe630f8",
      "parents": [
        "2d07b255c7b8a9723010e5c74778e058dc05162e"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Thu Feb 14 10:26:24 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 25 16:34:17 2008 +0100"
      },
      "message": "latencytop: fix kernel panic while reading latency proc file\n\nReading /proc/\u003cpid\u003e/latency or /proc/\u003cpid\u003e/task/\u003ctid\u003e/latency could cause\nNULL pointer dereference.\n\nIn lstats_open(), get_proc_task() can return NULL, in which case the kernel\nwill oops at lstats_show_proc() because m-\u003eprivate is NULL.\n\nWhen get_proc_task() returns NULL, the kernel should return -ENOENT.\n\nThis can be reproduced by the following script.\nwhile :\ndo\n        date\n        bash -c \u0027ls \u003e ls.$$\u0027 \u0026\n        pid\u003d$!\n        cat /proc/$pid/latency \u0026\n        cat /proc/$pid/latency \u0026\n        cat /proc/$pid/latency \u0026\n        cat /proc/$pid/latency\ndone\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8808117ca571fd63e188a2306baae86cca9fce7a",
      "tree": "2cccec386bb732f0a14378dac298846f40fd691d",
      "parents": [
        "45254b4fb2aef51c94a7397df1e481c4137b4b97"
      ],
      "author": {
        "name": "Eugene Teo",
        "email": "eugeneteo@kernel.sg",
        "time": "Sat Feb 23 15:23:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:12:15 2008 -0800"
      },
      "message": "proc: add RLIMIT_RTTIME to /proc/\u003cpid\u003e/limits\n\nRLIMIT_RTTIME was introduced to allow the user to set a runtime timeout on\nreal-time tasks: http://lkml.org/lkml/2007/12/18/218. This patch updates\n/proc/\u003cpid\u003e/limits with the new rlimit.\n\nSigned-off-by: Eugene Teo \u003ceugeneteo@kernel.sg\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "745329c4a2a25efbf5ba6cd7842e07840e4e9775",
      "tree": "832467aaac5c2a7905cd0d08a47026e5158fb35d",
      "parents": [
        "8936b6dba234c994dc4c168818376197abc2faac"
      ],
      "author": {
        "name": "Hans Rosenfeld",
        "email": "hans.rosenfeld@amd.com",
        "time": "Sat Feb 23 15:23:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:12:13 2008 -0800"
      },
      "message": "/proc/pid/pagemap: fix PM_SPECIAL macro\n\nThere seems to be a bug in the PM_SPECIAL macro for /proc/pid/pagemap.  I\nthink masking out those other bits makes more sense then setting all those\nmask bits.\n\nSigned-off-by: Hans Rosenfeld \u003cHans.Rosenfeld@amd.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf28b4863f9ee8f122e8ff3ac0d403e07ba9c6d9",
      "tree": "65c91f6911b34c32e517938289621ce0e7baeaf3",
      "parents": [
        "c32c2f63a9d6c953aaf168c0b2551da9734f76d2"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:38:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:17:09 2008 -0800"
      },
      "message": "d_path: Make d_path() use a struct path\n\nd_path() is used on a \u003cdentry,vfsmount\u003e pair.  Lets use a struct path to\nreflect this.\n\n[akpm@linux-foundation.org: fix build in mm/memory.c]\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c32c2f63a9d6c953aaf168c0b2551da9734f76d2",
      "tree": "14eca3083f3de4a87a95359ab66109c10add1ae7",
      "parents": [
        "e83aece3afad4d56cc01abe069d3519e851cd2de"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Thu Feb 14 19:38:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 14 21:17:08 2008 -0800"
      },
      "message": "d_path: Make seq_path() use a struct path argument\n\nseq_path() is always called with a dentry and a vfsmount from a struct path.\nMake seq_path() take it directly as an argument.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "3dcd25f37cfe2943beca93f41f50994108248a60"
}
