)]}'
{
  "log": [
    {
      "commit": "7f268f4352cd7d3d18a20268887600aaebd9d974",
      "tree": "bb9c4bc87f42a5c999666271e5295c2ed7951206",
      "parents": [
        "a6525042bfdfcab128bd91fad264de10fd24a55e",
        "54da5b3d44238eeb7417bacf792fb416d473bf4d",
        "b665967979d0e990f196e7c4ba88e17c9ed9b781",
        "a08c4743ed5b861c4fa3d75be00da7106c926296"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 13:18:57 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 15 13:18:57 2009 +0100"
      },
      "message": "Merge branches \u0027cpus4096\u0027, \u0027x86/cleanups\u0027 and \u0027x86/urgent\u0027 into x86/percpu\n"
    },
    {
      "commit": "28839855bf623f2d7eee72377d4896770a45494f",
      "tree": "e7f8b0742120b9d7401f5783a6065f004167aae1",
      "parents": [
        "ccbf04f24c55ead791dac5df8ddeb1a640fbaad8",
        "6e96281412f2f757abe623e08a9577e2bbd3402f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 13 09:02:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 13 09:02:21 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  smp_call_function_single(): be slightly less stupid, fix #2\n  lockdep, mm: fix might_fault() annotation\n"
    },
    {
      "commit": "4a046d1754ee6ebb6f399696805ed61ea0444d4c",
      "tree": "9b9e8e63d9490aea4c2f06263ad541cb8115eb63",
      "parents": [
        "e65e49d0f3714f4a6a42f6f6a19926ba33fcda75"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Jan 12 17:39:24 2009 -0800"
      },
      "committer": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Mon Jan 12 17:39:24 2009 -0800"
      },
      "message": "x86: arch_probe_nr_irqs\n\nImpact: save RAM with large NR_CPUS, get smaller nr_irqs\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\n"
    },
    {
      "commit": "37a76bd4f1b716949fc38a6842e89f0ccb8384d0",
      "tree": "6537cab6fb0e1a9508d34ca95b25808866bf04af",
      "parents": [
        "d32ad102c6d748b510fd89f1af4232eac1be8732"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Sun Jan 11 15:35:01 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 12 16:39:58 2009 -0800"
      },
      "message": "async: fix __lowest_in_progress()\n\nAt 37000 feet somewhere near Greenland I woke up from a half-sleep with the\nrealisation that __lowest_in_progress() is buggy. After landing I checked\nand there were indeed 2 problems with it; this patch fixes both:\n* The order of the list checks was wrong\n* The locking was not correct.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12847095e9c96cdf1ca6dd980ca733c38f8e9a98",
      "tree": "98dc35325c1bf3c61e2c4a2dce8e827bf0d99af5",
      "parents": [
        "1181a2449969c59f0ab6b95374fe6983cc07286d",
        "fd2ab30b65e961b974ae0bc71e0d47d6b35e0968"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 12 16:29:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 12 16:29:00 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  kernel/sched.c: add missing forward declaration for \u0027double_rq_lock\u0027\n  sched: partly revert \"sched debug: remove NULL checking in print_cfs_rt_rq()\"\n  cpumask: fix CONFIG_NUMA\u003dy sched.c\n"
    },
    {
      "commit": "6e96281412f2f757abe623e08a9577e2bbd3402f",
      "tree": "8777594e0424a39ab38fa12e091861fce981cdd5",
      "parents": [
        "95156f0051cba60ec674bbaa5cf7dc74a74c5612"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 12 16:04:37 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 12 16:04:37 2009 +0100"
      },
      "message": "smp_call_function_single(): be slightly less stupid, fix #2\n\nfix m68k build failure:\n\n tip/kernel/up.c: In function \u0027smp_call_function_single\u0027:\n tip/kernel/up.c:16: error: dereferencing pointer to incomplete type\n make[2]: *** [kernel/up.o] Error 1\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "92296c6d6e908c35fca287a21af27be814af9c75",
      "tree": "ba4a85a77b5bb3b609348dafafb710d567d1810a",
      "parents": [
        "542d865bbed4ce1f050f586e53cf1cfadda93766"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Sun Jan 11 09:22:58 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 19:13:45 2009 +0100"
      },
      "message": "cpumask, irq: non-x86 build failures\n\nIngo Molnar wrote:\n\n\u003e All non-x86 architectures fail to build:\n\u003e\n\u003e In file included from /home/mingo/tip/include/linux/random.h:11,\n\u003e                  from /home/mingo/tip/include/linux/stackprotector.h:6,\n\u003e                  from /home/mingo/tip/init/main.c:17:\n\u003e /home/mingo/tip/include/linux/irqnr.h:26:63: error: asm/irq_vectors.h: No such file or directory\n\nDo not include asm/irq_vectors.h in generic code - it\u0027s not available\non all architectures.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "542d865bbed4ce1f050f586e53cf1cfadda93766",
      "tree": "73ed6c9ef7cf7defbcc50a210aafbf1d7d914f7a",
      "parents": [
        "9332fccdedf8e09448f3b69b624211ae879f6c45"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Sat Jan 10 22:24:07 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 19:13:42 2009 +0100"
      },
      "message": "kstat: modify kstat_irqs_legacy to be variable sized\n\nImpact: reduce memory usage.\n\nAllocate kstat_irqs_legacy based on nr_cpu_ids to deal with this\nmemory usage bump when NR_CPUS bumped from 128 to 4096:\n\n     8192   +253952    262144 +3100%  kstat_irqs_legacy(.bss)\n\nThis is only when CONFIG_SPARSE_IRQS\u003dy.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\n"
    },
    {
      "commit": "9332fccdedf8e09448f3b69b624211ae879f6c45",
      "tree": "81f74838f7c5388dc83a3cfd8009a22e223b4888",
      "parents": [
        "0fa0ebbf15addc1be8f73325d809c8547a9de304"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Sat Jan 10 22:24:07 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 19:13:38 2009 +0100"
      },
      "message": "irq: initialize nr_irqs based on nr_cpu_ids\n\nImpact: Reduce memory usage.\n\nThis is the second half of the changes to make the irq_desc_ptrs be\nvariable sized based on nr_cpu_ids.  This is done by adding a new\n\"max_nr_irqs\" macro to irq_vectors.h (and a dummy in irqnr.h) to\nreturn a max NR_IRQS value based on NR_CPUS or nr_cpu_ids.\n\nThis necessitated moving the define of MAX_IO_APICS to a separate\nfile (asm/apicnum.h) so it could be included without the baggage\nof the other asm/apicdef.h declarations.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\n"
    },
    {
      "commit": "0fa0ebbf15addc1be8f73325d809c8547a9de304",
      "tree": "cd995419a3eb84d3e18e92ff205af86a7a4ed66d",
      "parents": [
        "e2f4d06545ec1f29b0e838ee34cbf3500ea5b9a4"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Sat Jan 10 22:24:06 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 19:13:35 2009 +0100"
      },
      "message": "irq: allocate irq_desc_ptrs array based on nr_irqs\n\nImpact: allocate irq_desc_ptrs in preparation for making it variable-sized.\n\nThis addresses this memory usage bump when NR_CPUS bumped from 128 to 4096:\n\n    34816   +229376    264192  +658%  irq_desc_ptrs(.data.read_mostly)\n\nThe patch is split into two parts, the first simply allocates the\nirq_desc_ptrs array.  Then next will deal with making it variable.\nThis is only when CONFIG_SPARSE_IRQS\u003dy.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\n"
    },
    {
      "commit": "e2f4d06545ec1f29b0e838ee34cbf3500ea5b9a4",
      "tree": "867881517120191e988dc9e711aa3c92fbc8757b",
      "parents": [
        "9594949b060efe86ecaa1a66839232a3b9800bc9"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Sat Jan 10 22:24:06 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 19:13:32 2009 +0100"
      },
      "message": "irq: use WARN() instead of WARN_ON().\n\nImpact: cleanup WARN msg.\n\nIngo requested:\n\u003e While at it, could you please also convert this to a WARN() construct\n\u003e instead? (in a separate commit)\n\n... and it shall be done.  ;-)\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\n"
    },
    {
      "commit": "9594949b060efe86ecaa1a66839232a3b9800bc9",
      "tree": "5d0a450fd271c23c838e22f5e6998d24f6921e3c",
      "parents": [
        "c7a3589e7a1f8fdbd2536fe1bfa60b37f5121c69"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Sat Jan 10 22:24:06 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 19:13:29 2009 +0100"
      },
      "message": "irq: change references from NR_IRQS to nr_irqs\n\nImpact: preparation, cleanup, add KERN_INFO printk\n\nModify references from NR_IRQS to nr_irqs as the later will become\nvariable-sized based on nr_cpu_ids when CONFIG_SPARSE_IRQS\u003dy.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\n"
    },
    {
      "commit": "d38b223c86db3162dc85b5a1997ac8a210e1660b",
      "tree": "3e232926a5fce47e910e4356e833be43b7b03592",
      "parents": [
        "c90e785be2fd9dfaef1f030d0314e44052553736"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Sat Jan 10 21:58:11 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 19:13:22 2009 +0100"
      },
      "message": "cpumask: reduce stack usage in find_lowest_rq\n\nImpact: reduce stack usage, cleanup\n\nUse a cpumask_var_t in find_lowest_rq() and clean up other old\ncpumask_t calls.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\n"
    },
    {
      "commit": "802bf931f2688ad125b73db597ce63cc842fb27a",
      "tree": "e3715fce62ffeaac7f06f352dc538dccac215216",
      "parents": [
        "651f8118cf0a5724f23fe1de4a3d9d36b2e01c2e"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Sat Jan 10 21:58:09 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 19:13:02 2009 +0100"
      },
      "message": "cpumask: fix bug in use cpumask_var_t in irq_desc\n\nImpact: fix bug where new irq_desc uses old cpumask pointers which are freed.\n\nAs Yinghai pointed out, init_copy_one_irq_desc() copies the old desc to\nthe new desc overwriting the cpumask pointers.  Since the old_desc and\nthe cpumask pointers are freed, then memory corruption will occur if\nthese old pointers are used.\n\nMove the allocation of these pointers to after the copy.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\n"
    },
    {
      "commit": "7f7ace0cda64c99599c23785f8979a072e118058",
      "tree": "13f2826e64e09ebaef94a3e7fd9c21cfbd31ec3f",
      "parents": [
        "c59765042f53a79a7a65585042ff463b69cb248c"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Sat Jan 10 21:58:08 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 19:12:46 2009 +0100"
      },
      "message": "cpumask: update irq_desc to use cpumask_var_t\n\nImpact: reduce memory usage, use new cpumask API.\n\nReplace the affinity and pending_masks with cpumask_var_t\u0027s.  This adds\nto the significant size reduction done with the SPARSE_IRQS changes.\n\nThe added functions (init_alloc_desc_masks \u0026 init_copy_desc_masks) are\nin the include file so they can be inlined (and optimized out for the\n!CONFIG_CPUMASKS_OFFSTACK case.)  [Naming chosen to be consistent with\nthe other init*irq functions, as well as the backwards arg declaration\nof \"from, to\" instead of the more common \"to, from\" standard.]\n\nIncludes a slight change to the declaration of struct irq_desc to embed\nthe pending_mask within ifdef(CONFIG_SMP) to be consistent with other\nreferences, and some small changes to Xen.\n\nTested: sparse/non-sparse/cpumask_offstack/non-cpumask_offstack/nonuma/nosmp on x86_64\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: virtualization@lists.osdl.org\nCc: xen-devel@lists.xensource.com\nCc: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\n"
    },
    {
      "commit": "fd2ab30b65e961b974ae0bc71e0d47d6b35e0968",
      "tree": "5d3f13b4ffc71215b232cc91668aa482dd520931",
      "parents": [
        "df051434f1dfc93ec2e1c1d186bb87cb3db9dcdf"
      ],
      "author": {
        "name": "Steven Noonan",
        "email": "steven@uplinklabs.net",
        "time": "Sun Jan 11 01:04:22 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 13:06:07 2009 +0100"
      },
      "message": "kernel/sched.c: add missing forward declaration for \u0027double_rq_lock\u0027\n\nImpact: build fix on certain configs\n\nAdded \u0027double_rq_lock\u0027 forward declaration, allowing double_rq_lock\nto be used in _double_lock_balance().\n\nSigned-off-by: Steven Noonan \u003csteven@uplinklabs.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "93423b8665f43a0c7a006a1d5be048b99db56d32",
      "tree": "6e3c9433fc729c7a52353faf0c70d7de1d3abeb3",
      "parents": [
        "53ce3d9564908794ae7dd32969089b57df5fc098"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 05:15:21 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 05:15:21 2009 +0100"
      },
      "message": "smp_call_function_single(): be slightly less stupid, fix\n\nImpact: build fix on Alpha\n\n kernel/up.c: In function \u0027smp_call_function_single\u0027:\n kernel/up.c:12: error: \u0027cpuid\u0027 undeclared (first use in this function)\n kernel/up.c:12: error: (Each undeclared identifier is reported only once\n kernel/up.c:12: error: for each function it appears in.)\n\nThe typo didnt show up on x86 because \u0027cpuid\u0027 happens to be a\nfunction address as well ...\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "53ce3d9564908794ae7dd32969089b57df5fc098",
      "tree": "d0eb540d9743155eff6d3c454db3493bf75c9023",
      "parents": [
        "abede81c4fb2e3b85d8760f25e3da39d2c69a134"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Jan 09 12:27:08 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 03:41:58 2009 +0100"
      },
      "message": "smp_call_function_single(): be slightly less stupid\n\nIf you do\n\n\tsmp_call_function_single(expression-with-side-effects, ...)\n\nthen expression-with-side-effects never gets evaluated on UP builds.\n\nAs always, implementing it in C is the correct thing to do.\n\nWhile we\u0027re there, uninline it for size and possible header dependency\nreasons.\n\nAnd create a new kernel/up.c, as a place in which to put\nuniprocessor-specific code and storage.  It should mirror kernel/smp.c.\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "abede81c4fb2e3b85d8760f25e3da39d2c69a134",
      "tree": "26c893ec108d837eb9171d678c55a1cea7b22af4",
      "parents": [
        "c9d557c19f94df42db78d4a5de4d25feee694bad",
        "c59765042f53a79a7a65585042ff463b69cb248c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 03:41:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 03:41:39 2009 +0100"
      },
      "message": "Merge commit \u0027v2.6.29-rc1\u0027 into core/urgent\n"
    },
    {
      "commit": "805194c35b91999b139e4d6b6145f4f84fd4c814",
      "tree": "7530c66ec53045858bba70ad8f1c626c450d12cc",
      "parents": [
        "62ea9ceb17a74bc7544211bfeecf4170c554ac4f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sat Jan 10 15:43:15 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 02:40:32 2009 +0100"
      },
      "message": "sched: partly revert \"sched debug: remove NULL checking in print_cfs_rt_rq()\"\n\nImpact: avoid accessing NULL tg.css-\u003ecgroup\n\nIn commit 0a0db8f5c9d4bbb9bbfcc2b6cb6bce2d0ef4d73d, I removed checking\nNULL tg.css-\u003ecgroup, but I realized I was wrong when I found reading\n/proc/sched_debug can race with cgroup_create().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "62ea9ceb17a74bc7544211bfeecf4170c554ac4f",
      "tree": "ef8f6b185463a4b68908ca23357efd3d1ddb6145",
      "parents": [
        "3d14bdad40315b54470cb7812293d14c8af2bf7d"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Sun Jan 11 01:04:16 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Jan 11 01:04:16 2009 +0100"
      },
      "message": "cpumask: fix CONFIG_NUMA\u003dy sched.c\n\nImpact: fix panic on ia64 with NR_CPUS\u003d1024\n\nstruct sched_domain is now a dangling structure; where we really want\nstatic ones, we need to use static_sched_domain.\n\n(As the FIXME in this file says, cpumask_var_t would be better, but\nthis code is hairy enough without trying to add initialization code to\nthe right places).\n\nReported-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9a100a4464917b5ffff3a8ce1c2758088fd9bb32",
      "tree": "2c0e42dd23907dbdff147fa0097ccc2ef7be9ae1",
      "parents": [
        "0d34052dfeba307ebc18d2f672e80e3f419714d4",
        "cdb80f630be5cbc23d82331f24dc4704f75b64f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 15:32:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 15:32:26 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-2\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-2:\n  async: make async a command line option for now\n  partial revert of asynchronous inode delete\n"
    },
    {
      "commit": "c40f6f8bbc4cbd2902671aacd587400ddca62627",
      "tree": "a991e5521e10943f4457fb7f494e00aec75cc7df",
      "parents": [
        "1a7d0f0bec4be078ce2cfb11538c0f4ffbbed8e5",
        "cb6ff208076b5f434db1b8c983429269d719cef5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 14:00:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 14:00:58 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-nommu\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-nommu:\n  NOMMU: Support XIP on initramfs\n  NOMMU: Teach kobjsize() about VMA regions.\n  FLAT: Don\u0027t attempt to expand the userspace stack to fill the space allocated\n  FDPIC: Don\u0027t attempt to expand the userspace stack to fill the space allocated\n  NOMMU: Improve procfs output using per-MM VMAs\n  NOMMU: Make mmap allocation page trimming behaviour configurable.\n  NOMMU: Make VMAs per MM as for MMU-mode linux\n  NOMMU: Delete askedalloc and realalloc variables\n  NOMMU: Rename ARM\u0027s struct vm_region\n  NOMMU: Fix cleanup handling in ramfs_nommu_get_umapped_area()\n"
    },
    {
      "commit": "1a7d0f0bec4be078ce2cfb11538c0f4ffbbed8e5",
      "tree": "266fafec84391c21383cfad7e6ae5ef6131f3ff1",
      "parents": [
        "7d671f3e713fc5ff18a5227a8dc16dfdb8bc0664",
        "b9456371a73871d001e67b5f4eac118c2c278e1c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 13:59:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 13:59:25 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  CRED: Fix commit_creds() on a process that has no mm\n"
    },
    {
      "commit": "cdb80f630be5cbc23d82331f24dc4704f75b64f4",
      "tree": "537545e474b5906e4887aaa28e4e832134a97fa3",
      "parents": [
        "b32714ba29358a688ef337d5297bf4bdc9f596dc"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 09 13:23:45 2009 -0800"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 09 13:23:45 2009 -0800"
      },
      "message": "async: make async a command line option for now\n\n... and have it default off.\nThis does allow people to work with it for testing.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "4ce5f24193cef2e26f182ce708e94ba1f5fafc0c",
      "tree": "300373440be70af7c8ce662d4b30d8103e7c6026",
      "parents": [
        "7c51d57e9d7fbce89f79c41dc8da383101dbe9c6",
        "a076aa4f96f40fc75451ae835a1a665ce1faf951"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 12:43:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 12:43:06 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile: (31 commits)\n  powerpc/oprofile: fix whitespaces in op_model_cell.c\n  powerpc/oprofile: IBM CELL: add SPU event profiling support\n  powerpc/oprofile: fix cell/pr_util.h\n  powerpc/oprofile: IBM CELL: cleanup and restructuring\n  oprofile: make new cpu buffer functions part of the api\n  oprofile: remove #ifdef CONFIG_OPROFILE_IBS in non-ibs code\n  ring_buffer: fix ring_buffer_event_length()\n  oprofile: use new data sample format for ibs\n  oprofile: add op_cpu_buffer_get_data()\n  oprofile: add op_cpu_buffer_add_data()\n  oprofile: rework implementation of cpu buffer events\n  oprofile: modify op_cpu_buffer_read_entry()\n  oprofile: add op_cpu_buffer_write_reserve()\n  oprofile: rename variables in add_ibs_begin()\n  oprofile: rename add_sample() in cpu_buffer.c\n  oprofile: rename variable ibs_allowed to has_ibs in op_model_amd.c\n  oprofile: making add_sample_entry() inline\n  oprofile: remove backtrace code for ibs\n  oprofile: remove unused ibs macro\n  oprofile: remove unused components in struct oprofile_cpu_buffer\n  ...\n"
    },
    {
      "commit": "a3a798c88a14b35e5d4ca30716dbc9eb9a1ddfe2",
      "tree": "393969a0f1405237483c8c29b904690f2bb90559",
      "parents": [
        "efcb3cf7f00c3c424db012380a8a974c2676a3c8",
        "d97c0defba25a959a990f6d4759f43075540832e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 11:55:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 11:55:14 2009 -0800"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (94 commits)\n  ACPICA: hide private headers\n  ACPICA: create acpica/ directory\n  ACPI: fix build warning\n  ACPI : Use RSDT instead of XSDT by adding boot option of \"acpi\u003drsdt\"\n  ACPI: Avoid array address overflow when _CST MWAIT hint bits are set\n  fujitsu-laptop: Simplify SBLL/SBL2 backlight handling\n  fujitsu-laptop: Add BL power, LED control and radio state information\n  ACPICA: delete utcache.c\n  ACPICA: delete acdisasm.h\n  ACPICA: Update version to 20081204.\n  ACPICA: FADT: Update error msgs for consistency\n  ACPICA: FADT: set acpi_gbl_use_default_register_widths to TRUE by default\n  ACPICA: FADT parsing changes and fixes\n  ACPICA: Add ACPI_MUTEX_TYPE configuration option\n  ACPICA: Fixes for various ACPI data tables\n  ACPICA: Restructure includes into public/private\n  ACPI: remove private acpica headers from driver files\n  ACPI: reboot.c: use new acpi_reset interface\n  ACPICA: New: acpi_reset interface - write to reset register\n  ACPICA: Move all public H/W interfaces to new hwxface\n  ...\n"
    },
    {
      "commit": "43529c97122f2c851126447963eedcb8cba74fbe",
      "tree": "4bcba354186ae52e84d57920012f94d47bf0f72b",
      "parents": [
        "0de336814107358bc8c4173bf9ce2d42445173fe"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 09 16:13:46 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 11:53:53 2009 -0800"
      },
      "message": "CRED: Must initialise the new creds in prepare_kernel_cred()\n\nThe newly allocated creds in prepare_kernel_cred() must be initialised\nbefore get_uid() and get_group_info() can access them.  They should be\ncopied from the old credentials.\n\nReported-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0de336814107358bc8c4173bf9ce2d42445173fe",
      "tree": "df2b34b171e1310e16b136b151551150c4060be7",
      "parents": [
        "29a41e9e029d21c306e3ad6e723700348b04706a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 09 16:13:41 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 11:53:53 2009 -0800"
      },
      "message": "CRED: Missing put_cred() in prepare_kernel_cred()\n\nMissing put_cred() in the error handling path of prepare_kernel_cred().\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b2576e1d4408e134e2188c967b1f28af39cd79d4",
      "tree": "004f3c82faab760f304ce031d6d2f572e7746a50",
      "parents": [
        "3cc8a5f4ba91f67bbdb81a43a99281a26aab8d77",
        "2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 09 03:39:43 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 09 03:39:43 2009 -0500"
      },
      "message": "Merge branch \u0027linus\u0027 into release\n"
    },
    {
      "commit": "3cc8a5f4ba91f67bbdb81a43a99281a26aab8d77",
      "tree": "82b60e24ce5457e2e21e00bfa3b2f171d7eb97ce",
      "parents": [
        "d0302bc62af7983040ea1cd1b5dd2b36e1a6a509",
        "ada9cfdd158abb8169873dc8e5ae39b1ec6ffa8c"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 09 03:38:15 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 09 03:38:15 2009 -0500"
      },
      "message": "Merge branch \u0027suspend\u0027 into release\n"
    },
    {
      "commit": "33b04b9308959af7febc1c111c766fa3fd8b1934",
      "tree": "3438b08d90973cee03f8e37e41c93c774aad5c85",
      "parents": [
        "85da1fb545e5fe51c35e0576f71780cc557f4277"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Thu Jan 08 12:35:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 12:58:09 2009 -0800"
      },
      "message": "async: make async_synchronize_full() more serializing\n\nturns out that there are real problems with allowing async\ntasks that are scheduled from async tasks to run after\nthe async_synchronize_full() returns.\n\nThis patch makes the _full more strict and a complete\nsynchronization. Later I might need to add back a lighter\nform of synchronization for other uses.. but not right now.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "df4927bf6ccf6278a97a44bd107080c71b269cb5",
      "tree": "aa84ac1dcc0c0df6e01f2b725163e4a411814bb6",
      "parents": [
        "97e133b4543c5c677e768a8538d6d704c4218ff2"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Jan 07 18:09:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:15 2009 -0800"
      },
      "message": "generic swap(): sched: remove local swap() macro\n\nUse the new generic implementation.\n\nSigned-off-by: Wu Fengguang \u003cwfg@linux.intel.com\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": "61bce0f1371cfff497fe85594fd39d1a0b15ebe1",
      "tree": "97871c4148856e39ffcc8a6ffec89495018729f1",
      "parents": [
        "f9fb860f67b9542cd78d1558dec7058092b57d8e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jan 07 18:08:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:12 2009 -0800"
      },
      "message": "pid: generalize task_active_pid_ns\n\nCurrently task_active_pid_ns is not safe to call after a task becomes a\nzombie and exit_task_namespaces is called, as nsproxy becomes NULL.  By\nreading the pid namespace from the pid of the task we can trivially solve\nthis problem at the cost of one extra memory read in what should be the\nsame cacheline as we read the namespace from.\n\nWhen moving things around I have made task_active_pid_ns out of line\nbecause keeping it in pid_namespace.h would require adding includes of\npid.h and sched.h that I don\u0027t think we want.\n\nThis change does make task_active_pid_ns unsafe to call during\ncopy_process until we attach a pid on the task_struct which seems to be a\nreasonable trade off.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Bastian Blank \u003cbastian@waldi.eu.org\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nAcked-by: Serge Hallyn \u003cserue@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": "6af866af34a96fed24a55979a78b6f73bd4e8e87",
      "tree": "e0c4b27ce3b684ebb2f6fa3685051e01a86d7354",
      "parents": [
        "300ed6cbb70718872cb4936d1d22ef295f9ba44d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:08:45 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:11 2009 -0800"
      },
      "message": "cpuset: remove remaining pointers to cpumask_t\n\nImpact: cleanups, use new cpumask API\n\nFinal trivial cleanups: mainly s/cpumask_t/struct cpumask\n\nNote there is a FIXME in generate_sched_domains(). A future patch will\nchange struct cpumask *doms to struct cpumask *doms[].\n(I suppose Rusty will do this.)\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "300ed6cbb70718872cb4936d1d22ef295f9ba44d",
      "tree": "56a1dd86be2d6e35b329131ef353a44b929bd53c",
      "parents": [
        "645fcc9d2f6946f97a41c8d00edee38f8a6f0060"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:08:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:11 2009 -0800"
      },
      "message": "cpuset: convert cpuset-\u003ecpus_allowed to cpumask_var_t\n\nImpact: use new cpumask API\n\nThis patch mainly does the following things:\n- change cs-\u003ecpus_allowed from cpumask_t to cpumask_var_t\n- call alloc_bootmem_cpumask_var() for top_cpuset in cpuset_init_early()\n- call alloc_cpumask_var() for other cpusets\n- replace cpus_xxx() to cpumask_xxx()\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "645fcc9d2f6946f97a41c8d00edee38f8a6f0060",
      "tree": "1d7ad63c9e1bace8f0ccac8814be04af92441ebf",
      "parents": [
        "2341d1b6598c7146d64a5050b53a72a5a819617f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:08:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:11 2009 -0800"
      },
      "message": "cpuset: don\u0027t allocate trial cpuset on stack\n\nImpact: cleanups, reduce stack usage\n\nThis patch prepares for the next patch.  When we convert\ncpuset.cpus_allowed to cpumask_var_t, (trialcs \u003d *cs) no longer works.\n\nAnother result of this patch is reducing stack usage of trialcs.\nsizeof(*cs) can be as large as 148 bytes on x86_64, so it\u0027s really not\ngood to have it on stack.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2341d1b6598c7146d64a5050b53a72a5a819617f",
      "tree": "1e278566d5fea4d2c02826b9ac0713ccd146fd92",
      "parents": [
        "5771f0a2236df69683e9abea87f35f522c97ff94"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:08:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:11 2009 -0800"
      },
      "message": "cpuset: convert cpuset_attach() to use cpumask_var_t\n\nImpact: reduce stack usage\n\nAllocate a global cpumask_var_t at boot, and use it in cpuset_attach(), so\nwe won\u0027t fail cpuset_attach().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5771f0a2236df69683e9abea87f35f522c97ff94",
      "tree": "afc960ceac00ab20f2139496e4fa9feeea516467",
      "parents": [
        "5a7625df725a486ad600b0036b6111dbd6321c41"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:08:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:11 2009 -0800"
      },
      "message": "cpuset: remove on stack cpumask_t in cpuset_can_attach()\n\nImpact: reduce stack usage\n\nJust use cs-\u003ecpus_allowed, and no need to allocate a cpumask_var_t.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujistu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a7625df725a486ad600b0036b6111dbd6321c41",
      "tree": "a1b9c81371a6dffbed4a313ec25df33134925af2",
      "parents": [
        "f5813d94279a18ff5936d675e24b44b44a571197"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:08:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:11 2009 -0800"
      },
      "message": "cpuset: remove on stack cpumask_t in cpuset_sprintf_cpulist()\n\nThis patchset converts cpuset to use new cpumask API, and thus\nremove on stack cpumask_t to reduce stack usage.\n\nBefore:\n # cat kernel/cpuset.c include/linux/cpuset.h | grep -c cpumask_t\n 21\nAfter:\n # cat kernel/cpuset.c include/linux/cpuset.h | grep -c cpumask_t\n 0\n\nThis patch:\n\nImpact: reduce stack usage\n\nIt\u0027s safe to call cpulist_scnprintf inside callback_mutex, and thus we can\njust remove the cpumask_t and no need to allocate a cpumask_var_t.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5813d94279a18ff5936d675e24b44b44a571197",
      "tree": "0c565bd5535f0f5623984e65403bda9c41b3a148",
      "parents": [
        "13337714f3b0307dc7f75ef5d83ecf0db2abbd65"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Wed Jan 07 18:08:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:11 2009 -0800"
      },
      "message": "cpusets: set task\u0027s cpu_allowed to cpu_possible_map when attaching it into top cpuset\n\nI found a bug on my dual-cpu box.  I created a sub cpuset in top cpuset\nand assign 1 to its cpus.  And then we attach some tasks into this sub\ncpuset.  After this, we offline CPU1.  Now, the tasks in this new cpuset\nare moved into top cpuset automatically because there is no cpu in sub\ncpuset.  Then we online CPU1, we find all the tasks which doesn\u0027t belong\nto top cpuset originally just run on CPU0.\n\nWe fix this bug by setting task\u0027s cpu_allowed to cpu_possible_map when\nattaching it into top cpuset.  This method needn\u0027t modify the current\nbehavior of cpusets on CPU hotplug, and all of tasks in top cpuset use\ncpu_possible_map to initialize their cpu_allowed.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "13337714f3b0307dc7f75ef5d83ecf0db2abbd65",
      "tree": "f76dd8961b9287b25e2ea24d2d34fecc52d2c8a0",
      "parents": [
        "e7c5ec9193d32b9559a3bb8893ceedbda85201ff"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Jan 07 18:08:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:11 2009 -0800"
      },
      "message": "cpuset: rcu_read_lock() to protect task_cs()\n\ntask_cs() calls task_subsys_state().\n\nWe must use rcu_read_lock() to protect cgroup_subsys_state().\n\nIt\u0027s correct that top_cpuset is never freed, but cgroup_subsys_state()\naccesses css_set, this css_set maybe freed when task_cs() called.\n\nWe use use rcu_read_lock() to protect it.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "e7c5ec9193d32b9559a3bb8893ceedbda85201ff",
      "tree": "fd7505c03e2c7525a110a702907c0604c233e2d9",
      "parents": [
        "2cb378c862777d050c20db903b119a029845fdcb"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Wed Jan 07 18:08:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:10 2009 -0800"
      },
      "message": "cgroups: add css_tryget()\n\nAdd css_tryget(), that obtains a counted reference on a CSS.  It is used\nin situations where the caller has a \"weak\" reference to the CSS, i.e.\none that does not protect the cgroup from removal via a reference count,\nbut would instead be cleaned up by a destroy() callback.\n\ncss_tryget() will return true on success, or false if the cgroup is being\nremoved.\n\nThis is similar to Kamezawa Hiroyuki\u0027s patch from a week or two ago, but\nwith the difference that in the event of css_tryget() racing with a\ncgroup_rmdir(), css_tryget() will only return false if the cgroup really\ndoes get removed.\n\nThis implementation is done by biasing css-\u003erefcnt, so that a refcnt of 1\nmeans \"releasable\" and 0 means \"released or releasing\".  In the event of a\nrace, css_tryget() distinguishes between \"released\" and \"releasing\" by\nchecking for the CSS_REMOVED flag in css-\u003eflags.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nTested-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "999cd8a450f8f93701669a61cac4d3b19eca07e8",
      "tree": "990e5b08e6db971d2e9943f89abf39e7c8f4cb1e",
      "parents": [
        "b5a84319a4343a0db753436fd8147e61eaafa7ea"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Wed Jan 07 18:08:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:10 2009 -0800"
      },
      "message": "cgroups: add a per-subsystem hierarchy_mutex\n\nThese patches introduce new locking/refcount support for cgroups to\nreduce the need for subsystems to call cgroup_lock(). This will\nultimately allow the atomicity of cgroup_rmdir() (which was removed\nrecently) to be restored.\n\nThese three patches give:\n\n1/3 - introduce a per-subsystem hierarchy_mutex which a subsystem can\n     use to prevent changes to its own cgroup tree\n\n2/3 - use hierarchy_mutex in place of calling cgroup_lock() in the\n     memory controller\n\n3/3 - introduce a css_tryget() function similar to the one recently\n      proposed by Kamezawa, but avoiding spurious refcount failures in\n      the event of a race between a css_tryget() and an unsuccessful\n      cgroup_rmdir()\n\nFuture patches will likely involve:\n\n- using hierarchy mutex in place of cgroup_lock() in more subsystems\n where appropriate\n\n- restoring the atomicity of cgroup_rmdir() with respect to cgroup_create()\n\nThis patch:\n\nAdd a hierarchy_mutex to the cgroup_subsys object that protects changes to\nthe hierarchy observed by that subsystem.  It is taken by the cgroup\nsubsystem (in addition to cgroup_mutex) for the following operations:\n\n- linking a cgroup into that subsystem\u0027s cgroup tree\n- unlinking a cgroup from that subsystem\u0027s cgroup tree\n- moving the subsystem to/from a hierarchy (including across the\n  bind() callback)\n\nThus if the subsystem holds its own hierarchy_mutex, it can safely\ntraverse its own hierarchy.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nTested-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "28dbc4b6a01fb579a9441c7b81e3d3413dc452df",
      "tree": "c45d94be6cd243f3e677ec8279bfec87855802d0",
      "parents": [
        "52bc0d82100cd896213a9a25ec01c1ba87b939db"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Wed Jan 07 18:08:05 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:05 2009 -0800"
      },
      "message": "memcg: memory cgroup resource counters for hierarchy\n\nAdd support for building hierarchies in resource counters.  Cgroups allows\nus to build a deep hierarchy, but we currently don\u0027t link the resource\ncounters belonging to the memory controller control groups, in the same\nfashion as the corresponding cgroup entries in the cgroup hierarchy.  This\npatch provides the infrastructure for resource counters that have the same\nhiearchy as their cgroup counter parts.\n\nThese set of patches are based on the resource counter hiearchy patches\nposted by Pavel Emelianov.\n\nNOTE: Building hiearchies is expensive, deeper hierarchies imply charging\nthe all the way up to the root.  It is known that hiearchies are\nexpensive, so the user needs to be careful and aware of the trade-offs\nbefore creating very deep ones.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Dhaval Giani \u003cdhaval@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a47295e6bc42ad35f9c15ac66f598aa24debd4e2",
      "tree": "cb765e996ef35ae88e29d60796655d0d35e8cf5e",
      "parents": [
        "e7b80bb695a5b64c92e314838e083b2f3bdf29b2"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Wed Jan 07 18:07:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:03 2009 -0800"
      },
      "message": "cgroups: make cgroup_path() RCU-safe\n\nFix races between /proc/sched_debug by freeing cgroup objects via an RCU\ncallback.  Thus any cgroup reference obtained from an RCU-safe source will\nremain valid during the RCU section.  Since dentries are also RCU-safe,\nthis allows us to traverse up the tree safely.\n\nAdditionally, make cgroup_path() check for a NULL cgrp-\u003edentry to avoid\ntrying to report a path for a partially-created cgroup.\n\n[lizf@cn.fujitsu.com: call deactive_super() in cgroup_diput()]\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nTested-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.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": "e7b80bb695a5b64c92e314838e083b2f3bdf29b2",
      "tree": "f5eafb9825a23550dbf903e5cabd71655e4e55ce",
      "parents": [
        "c12f65d4396e05c51ce3af7f159ead98574a587c"
      ],
      "author": {
        "name": "Gowrishankar M",
        "email": "gowrishankar.m@in.ibm.com",
        "time": "Wed Jan 07 18:07:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:03 2009 -0800"
      },
      "message": "cgroups: skip processes from other namespaces when listing a cgroup\n\nOnce tasks are populated from system namespace inside cgroup, container\nreplaces other namespace task with 0 while listing tasks, inside\ncontainer.\n\nThough this is expected behaviour from container end, there is no use of\nshowing unwanted 0s.\n\nIn this patch, we check if a process is in same namespace before loading\ninto pid array.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Gowrishankar M \u003cgowrishankar.m@in.ibm.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c12f65d4396e05c51ce3af7f159ead98574a587c",
      "tree": "95e4f2e4878101ca2b9e3efc0a9cc5f25ce678d7",
      "parents": [
        "33a68ac1c1b695216e873ee12e819adbe73e4d9f"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:03 2009 -0800"
      },
      "message": "cgroups: introduce link_css_set() to remove duplicate code\n\nAdd a common function link_css_set() to link a css_set to a cgroup.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "33a68ac1c1b695216e873ee12e819adbe73e4d9f",
      "tree": "0c58e50e7c528200390f740265f7eb7e7a3a87e6",
      "parents": [
        "e5f6a8609bab0c2d7543ab1505105e011832afd7"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:03 2009 -0800"
      },
      "message": "cgroups: add inactive subsystems to rootnode.subsys_list\n\nThough for an inactive hierarchy, we have subsys-\u003eroot \u003d\u003d \u0026rootnode, but\nrootnode\u0027s subsys_list is always empty.\n\nThis conflicts with the code in find_css_set():\n\n\tfor (i \u003d 0; i \u003c CGROUP_SUBSYS_COUNT; i++) {\n\t\t...\n\t\tif (ss-\u003eroot-\u003esubsys_list.next \u003d\u003d \u0026ss-\u003esibling) {\n\t\t\t...\n\t\t}\n\t}\n\tif (list_empty(\u0026rootnode.subsys_list)) {\n\t\t...\n\t}\n\nThe above code assumes rootnode.subsys_list links all inactive\nhierarchies.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "e5f6a8609bab0c2d7543ab1505105e011832afd7",
      "tree": "07591b1fb27431cee41ea4ca097b514a0e773ba7",
      "parents": [
        "7534432dcc3c654a8671b6b0cdffd1dbdbc73074"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:03 2009 -0800"
      },
      "message": "cgroups: make root_list contains active hierarchies only\n\nDon\u0027t link rootnode to the root list, so root_list contains active\nhierarchies only as the comment indicates.  And rename for_each_root() to\nfor_each_active_root().\n\nAlso remove redundant check in cgroup_kill_sb().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "7534432dcc3c654a8671b6b0cdffd1dbdbc73074",
      "tree": "65a5010c8bc5062d004fd1ede32e8f7ba64f6eec",
      "parents": [
        "77efecd9e0526327548152df715ab8644ecb5ba0"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:03 2009 -0800"
      },
      "message": "cgroups: remove rcu_read_lock() in cgroupstats_build()\n\ncgroup_iter_* do not need rcu_read_lock().\n\nIn cgroup_enable_task_cg_lists(), do_each_thread() and while_each_thread()\nare protected by RCU, it\u0027s OK, for write_lock(\u0026css_set_lock) implies\nrcu_read_lock() in non-RT kernel.\n\nIf we need explicit rcu_read_lock(), we should add rcu_read_lock() in\ncgroup_enable_task_cg_lists(), not cgroup_iter_*.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "77efecd9e0526327548152df715ab8644ecb5ba0",
      "tree": "4dd2a82fe5db454fb018e434e07c3e6f30dc9832",
      "parents": [
        "104cbd55377029e70fc2cee01089e84b9c36e5dc"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:02 2009 -0800"
      },
      "message": "cgroups: call find_css_set() safely in cgroup_attach_task()\n\nIn cgroup_attach_task(), tsk maybe exit when we call find_css_set().  and\nfind_css_set() will access to invalid css_set.\n\nThis patch increases the count before get_css_set(), and decreases it\nafter find_css_set().\n\nNOTE:\n\ncss_set\u0027s refcount is also taskcount, after this patch applied, taskcount\nmay be off-by-one WHEN cgroup_lock() is not held.  but I reviewed other\ncode which use taskcount, they are still correct.  No regression found by\nreviewing and simply testing.\n\nSo I do not use two counters in css_set.  (one counter for taskcount, the\nother for refcount.  like struct mm_struct) If this fix cause regression,\nwe will use two counters in css_set.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "104cbd55377029e70fc2cee01089e84b9c36e5dc",
      "tree": "60c7d0d9625b74f6a2733a9618cc97dc772848f5",
      "parents": [
        "b2aa30f7bb381e04c93eed106089ba55553955f1"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:02 2009 -0800"
      },
      "message": "cgroups: use task_lock() for access tsk-\u003ecgroups safe in cgroup_clone()\n\nUse task_lock() protect tsk-\u003ecgroups and get_css_set(tsk-\u003ecgroups).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "b2aa30f7bb381e04c93eed106089ba55553955f1",
      "tree": "eda632102a0bc6e325a24e77a9c2819eab5aeef3",
      "parents": [
        "2019f634ce5904c19eba4e86f51b1a119a53a9f1"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:37 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:02 2009 -0800"
      },
      "message": "cgroups: don\u0027t put struct cgroupfs_root protected by RCU\n\nWe don\u0027t access struct cgroupfs_root in fast path, so we should not put\nstruct cgroupfs_root protected by RCU\n\nBut the comment in struct cgroup_subsys.root confuse us.\n\nstruct cgroup_subsys.root is used in these places:\n\n1 find_css_set(): if (ss-\u003eroot-\u003esubsys_list.next \u003d\u003d \u0026ss-\u003esibling)\n2 rebind_subsystems(): if (ss-\u003eroot !\u003d \u0026rootnode)\n                       rcu_assign_pointer(ss-\u003eroot, root);\n                       rcu_assign_pointer(subsys[i]-\u003eroot, \u0026rootnode);\n3 cgroup_has_css_refs(): if (ss-\u003eroot !\u003d cgrp-\u003eroot)\n4 cgroup_init_subsys(): ss-\u003eroot \u003d \u0026rootnode;\n5 proc_cgroupstats_show(): ss-\u003ename, ss-\u003eroot-\u003esubsys_bits,\n                           ss-\u003eroot-\u003enumber_of_cgroups, !ss-\u003edisabled);\n6 cgroup_clone(): root \u003d subsys-\u003eroot;\n                  if ((root !\u003d subsys-\u003eroot) ||\n\nAll these place we have held cgroup_lock() or we don\u0027t dereference to\nstruct cgroupfs_root.  It\u0027s means wo don\u0027t need RCU when use struct\ncgroup_subsys.root, and we should not put struct cgroupfs_root protected\nby RCU.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "2019f634ce5904c19eba4e86f51b1a119a53a9f1",
      "tree": "040b8645c0627baa0f4e44113589b5a4894ea629",
      "parents": [
        "b12b533fa523e94e0cc9dc23274ae4f9439f1313"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:02 2009 -0800"
      },
      "message": "cgroups: fix cgroup_iter_next() bug\n\nWe access res-\u003ecgroups without the task_lock(), so res-\u003ecgroups may be\nchanged.  it\u0027s unreliable, and \"if (l \u003d\u003d \u0026res-\u003ecgroups-\u003etasks)\" may be\nfalse forever.\n\nWe don\u0027t need add any lock for fixing this bug.  we just access to struct\ncss_set by struct cg_cgroup_link, not by struct task_struct.\n\nSince we hold css_set_lock, struct cg_cgroup_link is reliable.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "b12b533fa523e94e0cc9dc23274ae4f9439f1313",
      "tree": "00a08a34388e835ae3103a6f00c96129d3fa59a4",
      "parents": [
        "c9d5409f8d46fd0d18b4a4481d9caa04076d87fc"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:02 2009 -0800"
      },
      "message": "cgroups: add lock for child-\u003ecgroups in cgroup_post_fork()\n\nWhen cgroup_post_fork() is called, child is seen by find_task_by_vpid(),\nso child-\u003ecgroups maybe be changed, It\u0027ll incorrect.\n\nchild-\u003ecgroups\u003cold\u003e\u0027s refcnt is decreased\nchild-\u003ecgroups\u003cnew\u003e\u0027s refcnt is increased\nbut child-\u003ecg_list is added to child-\u003ecgroups\u003cold\u003e\u0027s list.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "cae7a366f77ea5c9f54ae98c5fc65056877a89ed",
      "tree": "ccc298456ee5c1d1e83bcce5f66a53a9d6a1a521",
      "parents": [
        "75139b8274c3e30354daea623f14b43a482a0bb5"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:02 2009 -0800"
      },
      "message": "ns_cgroup: remove unused spinlock\n\nI happened to find the spinlock in struct ns_cgroup is never used.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@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": "75139b8274c3e30354daea623f14b43a482a0bb5",
      "tree": "0da75602e260cd565d9f8c03d789744448966171",
      "parents": [
        "18e7f1f0d34be4a39f7f47324a3e26b43fddb714"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jan 07 18:07:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "cgroups: remove some redundant NULL checks\n\n- In cgroup_clone(), if vfs_mkdir() returns successfully,\n  dentry-\u003ed_fsdata will be the pointer to the newly created\n  cgroup and won\u0027t be NULL.\n\n- a cgroup file\u0027s dentry-\u003ed_fsdata won\u0027t be NULL, guaranteed\n  by cgroup_add_file().\n\n- When walking through the subsystems of a cgroup_fs (using\n  for_each_subsys), cgrp-\u003esubsys[ss-\u003esubsys_id] won\u0027t be NULL,\n  guaranteed by cgroup_create().\n\n(Also remove 2 unused variables in cgroup_rmdir().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@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": "d2852b932f0bb5e89177aa27c7bcf07f4167e129",
      "tree": "96d975ae155ba307acd07968939fff22afedddf7",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "14f0ca8eaea42a5b5a69cfcb699665dd2618db5f"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Jan 08 14:27:34 2009 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Thu Jan 08 14:27:34 2009 +0100"
      },
      "message": "Merge branch \u0027oprofile/ring_buffer\u0027 into oprofile/oprofile-for-tip\n"
    },
    {
      "commit": "b9456371a73871d001e67b5f4eac118c2c278e1c",
      "tree": "1bfe87d83dc3d7f34b9d7edf9a9ef3a693afcf29",
      "parents": [
        "9e42d0cf5020aaf217433cad1a224745241d212a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 11:18:31 2009 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Jan 08 23:13:56 2009 +1100"
      },
      "message": "CRED: Fix commit_creds() on a process that has no mm\n\nFix commit_creds()\u0027s handling of a process that has no mm (such as one that is\ncalling or has called daemonize()).  commit_creds() should check to see if\ntask-\u003emm is not NULL before calling set_dumpable() on it.\n\nReported-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "dd8632a12e500a684478fea0951f380478d56fed",
      "tree": "1a12f441f9de14fd233faa92cf13a5fbb0319f41",
      "parents": [
        "8feae13110d60cc6287afabc2887366b0eb226c2"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "message": "NOMMU: Make mmap allocation page trimming behaviour configurable.\n\nNOMMU mmap allocates a piece of memory for an mmap that\u0027s rounded up in size to\nthe nearest power-of-2 number of pages.  Currently it then discards the excess\npages back to the page allocator, making that memory available for use by other\nthings.  This can, however, cause greater amount of fragmentation.\n\nTo counter this, a sysctl is added in order to fine-tune the trimming\nbehaviour.  The default behaviour remains to trim pages aggressively, while\nthis can either be disabled completely or set to a higher page-granular\nwatermark in order to have finer-grained control.\n\nvm region vm_top bits taken from an earlier patch by David Howells.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\n"
    },
    {
      "commit": "8feae13110d60cc6287afabc2887366b0eb226c2",
      "tree": "b3188986faab70e753e00ea8670a11ba8ec844c0",
      "parents": [
        "41836382ebb415d68d3ebc4525e78e871fe58baf"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "message": "NOMMU: Make VMAs per MM as for MMU-mode linux\n\nMake VMAs per mm_struct as for MMU-mode linux.  This solves two problems:\n\n (1) In SYSV SHM where nattch for a segment does not reflect the number of\n     shmat\u0027s (and forks) done.\n\n (2) In mmap() where the VMA\u0027s vm_mm is set to point to the parent mm by an\n     exec\u0027ing process when VM_EXECUTABLE is specified, regardless of the fact\n     that a VMA might be shared and already have its vm_mm assigned to another\n     process or a dead process.\n\nA new struct (vm_region) is introduced to track a mapped region and to remember\nthe circumstances under which it may be shared and the vm_list_struct structure\nis discarded as it\u0027s no longer required.\n\nThis patch makes the following additional changes:\n\n (1) Regions are now allocated with alloc_pages() rather than kmalloc() and\n     with no recourse to __GFP_COMP, so the pages are not composite.  Instead,\n     each page has a reference on it held by the region.  Anything else that is\n     interested in such a page will have to get a reference on it to retain it.\n     When the pages are released due to unmapping, each page is passed to\n     put_page() and will be freed when the page usage count reaches zero.\n\n (2) Excess pages are trimmed after an allocation as the allocation must be\n     made as a power-of-2 quantity of pages.\n\n (3) VMAs are added to the parent MM\u0027s R/B tree and mmap lists.  As an MM may\n     end up with overlapping VMAs within the tree, the VMA struct address is\n     appended to the sort key.\n\n (4) Non-anonymous VMAs are now added to the backing inode\u0027s prio list.\n\n (5) Holes may be punched in anonymous VMAs with munmap(), releasing parts of\n     the backing region.  The VMA and region structs will be split if\n     necessary.\n\n (6) sys_shmdt() only releases one attachment to a SYSV IPC shared memory\n     segment instead of all the attachments at that addresss.  Multiple\n     shmat()\u0027s return the same address under NOMMU-mode instead of different\n     virtual addresses as under MMU-mode.\n\n (7) Core dumping for ELF-FDPIC requires fewer exceptions for NOMMU-mode.\n\n (8) /proc/maps is now the global list of mapped regions, and may list bits\n     that aren\u0027t actually mapped anywhere.\n\n (9) /proc/meminfo gains a line (tagged \"MmapCopy\") that indicates the amount\n     of RAM currently allocated by mmap to hold mappable regions that can\u0027t be\n     mapped directly.  These are copies of the backing device or file if not\n     anonymous.\n\nThese changes make NOMMU mode more similar to MMU mode.  The downside is that\nNOMMU mode requires some extra memory to track things over NOMMU without this\npatch (VMAs are no longer shared, and there are now region structs).\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "8cfc7f9c005313ecd4e98ad1feb391d8dfce9ed2",
      "tree": "39a3a898f5a15f3c190e7b1a09815f13bbaef77c",
      "parents": [
        "b424e8d3b438e841cd1700f6433a100a5d611e4a",
        "da8d5089da6dfd54e5fd05d0c291a63c2bcf6885"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:43:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:43:58 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: fix possible recursive rq-\u003elock\n"
    },
    {
      "commit": "b424e8d3b438e841cd1700f6433a100a5d611e4a",
      "tree": "545638d0b925de4c7f740286760767cca86cb91e",
      "parents": [
        "7c7758f99d39d529a64d4f60d22129bbf2f16d74",
        "f6dc1e5e3d4b523e1616b43beddb04e4fb1d376a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:41:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:41:01 2009 -0800"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (98 commits)\n  PCI PM: Put PM callbacks in the order of execution\n  PCI PM: Run default PM callbacks for all devices using new framework\n  PCI PM: Register power state of devices during initialization\n  PCI PM: Call pci_fixup_device from legacy routines\n  PCI PM: Rearrange code in pci-driver.c\n  PCI PM: Avoid touching devices behind bridges in unknown state\n  PCI PM: Move pci_has_legacy_pm_support\n  PCI PM: Power-manage devices without drivers during suspend-resume\n  PCI PM: Add suspend counterpart of pci_reenable_device\n  PCI PM: Fix poweroff and restore callbacks\n  PCI: Use msleep instead of cpu_relax during ASPM link retraining\n  PCI: PCIe portdrv: Add kerneldoc comments to remining core funtions\n  PCI: PCIe portdrv: Rearrange code so that related things are together\n  PCI: PCIe portdrv: Fix suspend and resume of PCI Express port services\n  PCI: PCIe portdrv: Add kerneldoc comments to some core functions\n  x86/PCI: Do not use interrupt links for devices using MSI-X\n  net: sfc: Use pci_clear_master() to disable bus mastering\n  PCI: Add pci_clear_master() as opposite of pci_set_master()\n  PCI hotplug: remove redundant test in cpq hotplug\n  PCI: pciehp: cleanup register and field definitions\n  ...\n"
    },
    {
      "commit": "67acd8b4b7a3f1b183ae358e1dfdb8a80e170736",
      "tree": "4418034f6e83f954337a17bc6a872fa5ae3c4b5e",
      "parents": [
        "b13d3720ecd29d5044334fdbbae3432f26802bae",
        "ad160d23198193135cb2bcc75222e0816b5838c0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:35:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:35:47 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async:\n  async: don\u0027t do the initcall stuff post boot\n  bootchart: improve output based on Dave Jones\u0027 feedback\n  async: make the final inode deletion an asynchronous event\n  fastboot: Make libata initialization even more async\n  fastboot: make the libata port scan asynchronous\n  fastboot: make scsi probes asynchronous\n  async: Asynchronous function calls to speed up kernel boot\n"
    },
    {
      "commit": "c9d557c19f94df42db78d4a5de4d25feee694bad",
      "tree": "a52f75630be16e6abf0cc11b70c089fa49905453",
      "parents": [
        "8903709b054a8dafe4e8c6d9a6444034d7aba36f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jan 07 14:33:30 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 07 23:36:25 2009 +0100"
      },
      "message": "rcu: fix bug in rcutorture system-shutdown code\n\nThis patch fixes an rcutorture bug found by Eric Sesterhenn that\nresulted in oopses in response to \"rmmod rcutorture\".  The problem\nwas in some new code that attempted to handle the case where a system\nis shut down while rcutorture is still running, for example, when\nrcutorture is built into the kernel so that it cannot be removed.\nThe fix causes the rcutorture threads to \"park\" in an\nschedule_timeout_uninterruptible(MAX_SCHEDULE_TIMEOUT) rather than\ntrying to get them to terminate cleanly.  Concurrent shutdown and\nrmmod is illegal.\n\nI believe that this is 2.6.29 material, as it is used in some testing\nsetups.\n\nFor reference, here are the rcutorture operating modes:\n\nCONFIG_RCU_TORTURE_TEST\u003dm\n\n\tThis is the normal rcutorture build.  Use \"modprobe rcutorture\"\n\t(with optional arguments) to start, and \"rmmod rcutorture\" to\n\tstop.  If you shut the system down without doing the rmmod, you\n\tshould see console output like:\n\n\trcutorture thread rcu_torture_writer parking due to system shutdown\n\n\tOne for each rcutorture kthread.\n\nCONFIG_RCU_TORTURE_TEST\u003dy\nCONFIG_RCU_TORTURE_TEST_RUNNABLE\u003dn\n\n\tUse this if you want rcutorture built in, but don\u0027t want the\n\ttest to start running during early boot.  To start the\n\ttorturing:\n\n\t\techo 1 \u003e /proc/sys/kernel/rcutorture_runnable\n\n\tTo stop the torturing, s/1/0/\n\n\tYou will get \"parking\" console messages as noted above when\n\tyou shut the system down.\n\nCONFIG_RCU_TORTURE_TEST\u003dy\nCONFIG_RCU_TORTURE_TEST_RUNNABLE\u003dy\n\n\tSame as above, except that the torturing starts during early\n\tboot.  Only for the stout of heart and strong of stomach.\n\tThe same /proc entry noted above may be used to control the\n\ttest.\n\nLocated-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nTested-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "465634adc1d09b490c8ee31885575be39d375d53",
      "tree": "b6c119d0112b428104dbd4edbd23925d717d7119",
      "parents": [
        "1acda878e20ea0cd3708ba66dca67d52eaafdd2b"
      ],
      "author": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 15:32:11 2009 +0100"
      },
      "committer": {
        "name": "Robert Richter",
        "email": "robert.richter@amd.com",
        "time": "Wed Jan 07 22:47:40 2009 +0100"
      },
      "message": "ring_buffer: fix ring_buffer_event_length()\n\nFunction ring_buffer_event_length() provides an interface to detect\nthe length of data stored in an entry. However, the length contains\noffsets depending on the internal usage. This makes it unusable. This\npatch fixes this and now ring_buffer_event_length() returns the\nalligned length that has been used in ring_buffer_lock_reserve().\n\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Robert Richter \u003crobert.richter@amd.com\u003e\n"
    },
    {
      "commit": "a0e280e0f33f6c859a235fb69a875ed8f3420388",
      "tree": "c41b0ad22c4195bef2bfdd36437e20d232b9586b",
      "parents": [
        "30aafdba6f78619274a977d67283a681bedbcbbd"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 07 16:19:46 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:36:14 2009 -0800"
      },
      "message": "stop_machine/cpu hotplug: fix disable_nonboot_cpus\n\ndisable_nonboot_cpus calls _cpu_down. But _cpu_down requires that the\ncaller already created the stop_machine workqueue (like cpu_down does).\nOtherwise a call to stop_machine will lead to accesses to random memory\nregions.\n\nWhen introducing this new interface (9ea09af3bd3090e8349ca2899ca2011bd94cda85\n\"stop_machine: introduce stop_machine_create/destroy\") I missed the second\ncall site of _cpu_down.\nSo add the missing stop_machine_create/destroy calls to disable_nonboot_cpus\nas well.\n\nFixes suspend-to-ram/disk and also this bug:\n\n[  286.547348] BUG: unable to handle kernel paging request at 6b6b6b6b\n[  286.548940] IP: [\u003cc0150ca4\u003e] __stop_machine+0x88/0xe3\n[  286.550598] Oops: 0002 [#1] SMP\n[  286.560580] Pid: 3273, comm: halt Not tainted (2.6.28-06127-g238c6d5\n[  286.560580] EIP: is at __stop_machine+0x88/0xe3\n[  286.560580] Process halt (pid: 3273, ti\u003df1a28000 task\u003df4530f30\n[  286.560580] Call Trace:\n[  286.560580]  [\u003cc03d04e4\u003e] ? _cpu_down+0x10f/0x234\n[  286.560580]  [\u003cc012a57e\u003e] ? disable_nonboot_cpus+0x58/0xdc\n[  286.560580]  [\u003cc01360c0\u003e] ? kernel_poweroff+0x22/0x39\n[  286.560580]  [\u003cc0136301\u003e] ? sys_reboot+0xde/0x14c\n[  286.560580]  [\u003cc01331b2\u003e] ? complete_signal+0x179/0x191\n[  286.560580]  [\u003cc0133396\u003e] ? send_signal+0x1cc/0x1e1\n[  286.560580]  [\u003cc03de418\u003e] ? _spin_unlock_irqrestore+0x2d/0x3c\n[  286.560580]  [\u003cc0133b65\u003e] ? group_send_signal_info+0x58/0x61\n[  286.560580]  [\u003cc0133b9e\u003e] ? kill_pid_info+0x30/0x3a\n[  286.560580]  [\u003cc0133d49\u003e] ? sys_kill+0x75/0x13a\n[  286.560580]  [\u003cc01a06cb\u003e] ? mntput_no_expire+ox1f/0x101\n[  286.560580]  [\u003cc019b3b3\u003e] ? dput+0x1e/0x105\n[  286.560580]  [\u003cc018ef87\u003e] ?  __fput+0x150/0x158\n[  286.560580]  [\u003cc0157abf\u003e] ? audit_syscall_entry+0x137/0x159\n[  286.560580]  [\u003cc010329f\u003e] ? sysenter_do_call+0x12/0x34\n\nReported-and-tested-by: \"Justin P. Mattock\" \u003cjustinmattock@gmail.com\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "57c44c5f6fb0a8002feb258c1af58e1a744b1fcb",
      "tree": "978bd46ca765a88e9c101cb705bbb0bf46015643",
      "parents": [
        "76052749143d03006271cc0ce8205ad756917062",
        "5a9e67b1a19e08a82387709f325d26e07b891d27"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:31:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 11:31:52 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (24 commits)\n  trivial: chack -\u003e check typo fix in main Makefile\n  trivial: Add a space (and a comma) to a printk in 8250 driver\n  trivial: Fix misspelling of \"firmware\" in docs for ncr53c8xx/sym53c8xx\n  trivial: Fix misspelling of \"firmware\" in powerpc Makefile\n  trivial: Fix misspelling of \"firmware\" in usb.c\n  trivial: Fix misspelling of \"firmware\" in qla1280.c\n  trivial: Fix misspelling of \"firmware\" in a100u2w.c\n  trivial: Fix misspelling of \"firmware\" in megaraid.c\n  trivial: Fix misspelling of \"firmware\" in ql4_mbx.c\n  trivial: Fix misspelling of \"firmware\" in acpi_memhotplug.c\n  trivial: Fix misspelling of \"firmware\" in ipw2100.c\n  trivial: Fix misspelling of \"firmware\" in atmel.c\n  trivial: Fix misspelled firmware in Kconfig\n  trivial: fix an -\u003e a typos in documentation and comments\n  trivial: fix then -\u003e than typos in comments and documentation\n  trivial: update Jesper Juhl CREDITS entry with new email\n  trivial: fix singal -\u003e signal typo\n  trivial: Fix incorrect use of \"loose\" in event.c\n  trivial: printk: fix indentation of new_text_line declaration\n  trivial: rtc-stk17ta8: fix sparse warning\n  ...\n"
    },
    {
      "commit": "e8de1481fd7126ee9e93d6889da6f00c05e1e019",
      "tree": "3e0e564f6aff2f8f0f66bdf37dc2eb87d6e17cde",
      "parents": [
        "23616941914917cf25b94789856b5326b68d8ee8"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Oct 22 19:55:31 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:12:32 2009 -0800"
      },
      "message": "resource: allow MMIO exclusivity for device drivers\n\nDevice drivers that use pci_request_regions() (and similar APIs) have a\nreasonable expectation that they are the only ones accessing their device.\nAs part of the e1000e hunt, we were afraid that some userland (X or some\nbootsplash stuff) was mapping the MMIO region that the driver thought it\nhad exclusively via /dev/mem or via various sysfs resource mappings.\n\nThis patch adds the option for device drivers to cause their reserved\nregions to the \"banned from /dev/mem use\" list, so now both kernel memory\nand device-exclusive MMIO regions are banned.\nNOTE: This is only active when CONFIG_STRICT_DEVMEM is set.\n\nIn addition to the config option, a kernel parameter iomem\u003drelaxed is\nprovided for the cases where developers want to diagnose, in the field,\ndrivers issues from userspace.\n\nReviewed-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "ad160d23198193135cb2bcc75222e0816b5838c0",
      "tree": "ba7cc0e98494d63a02b10ab22f896e07efa6f509",
      "parents": [
        "24b0ecad07ac4d7ef74cb6f7da08c449fa9f6a4f"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jan 07 09:28:53 2009 -0800"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jan 07 09:31:49 2009 -0800"
      },
      "message": "async: don\u0027t do the initcall stuff post boot\n\nwhile tracking the asynchronous calls during boot using the initcall_debug\nconvention is useful, doing it once the kernel is done is actually\nbad now that we use asynchronous operations post boot as well...\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "22a9d645677feefd402befd02edd59b122289ef1",
      "tree": "9f1215cc8f7f0e1c36b03882b2926cc26ccfa5ff",
      "parents": [
        "ede6f5aea054d3fb67c78857f7abdee602302043"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jan 07 08:45:46 2009 -0800"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Jan 07 08:45:46 2009 -0800"
      },
      "message": "async: Asynchronous function calls to speed up kernel boot\n\nRight now, most of the kernel boot is strictly synchronous, such that\nvarious hardware delays are done sequentially.\n\nIn order to make the kernel boot faster, this patch introduces\ninfrastructure to allow doing some of the initialization steps\nasynchronously, which will hide significant portions of the hardware delays\nin practice.\n\nIn order to not change device order and other similar observables, this\npatch does NOT do full parallel initialization.\n\nRather, it operates more in the way an out of order CPU does; the work may\nbe done out of order and asynchronous, but the observable effects\n(instruction retiring for the CPU) are still done in the original sequence.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "da8d5089da6dfd54e5fd05d0c291a63c2bcf6885",
      "tree": "ad9f7deceed846e56e0185976af5c620722ff9ba",
      "parents": [
        "ede6f5aea054d3fb67c78857f7abdee602302043"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Jan 07 15:28:57 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 07 16:10:54 2009 +0100"
      },
      "message": "sched: fix possible recursive rq-\u003elock\n\nVaidyanathan Srinivasan reported:\n\n \u003e \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n \u003e [ INFO: possible recursive locking detected ]\n \u003e 2.6.28-autotest-tip-sv #1\n \u003e ---------------------------------------------\n \u003e klogd/5062 is trying to acquire lock:\n \u003e  (\u0026rq-\u003elock){++..}, at: [\u003cffffffff8022aca2\u003e] task_rq_lock+0x45/0x7e\n \u003e\n \u003e but task is already holding lock:\n \u003e  (\u0026rq-\u003elock){++..}, at: [\u003cffffffff805f7354\u003e] schedule+0x158/0xa31\n\nWith sched_mc at 2. (it is default-off)\n\nStrictly speaking we\u0027ll not deadlock, because ttwu will not be able to\nplace the migration task on our rq, but since the code can deal with\nboth rqs getting unlocked, this seems the easiest way out.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c861ea2cb2c25c1698734d9b0540a09e253690a1",
      "tree": "b83e5313ca07a3efbcbcdd7fe33e0f6ad6284493",
      "parents": [
        "3610639d1fceb09cb418c65fcbe9136c31eee03a",
        "ac8cc0fa5395fe2278e305a4cbed48e90d88d878"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:11:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:11:39 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #3]\n  Revert \"CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2]\"\n  SELinux: shrink sizeof av_inhert selinux_class_perm and context\n  CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2]\n  keys: fix sparse warning by adding __user annotation to cast\n  smack: Add support for unlabeled network hosts and networks\n  selinux: Deprecate and schedule the removal of the the compat_net functionality\n  netlabel: Update kernel configuration API\n"
    },
    {
      "commit": "3610639d1fceb09cb418c65fcbe9136c31eee03a",
      "tree": "78aa6de9e9495c39f8671aed927fece5adff8d24",
      "parents": [
        "cfa97f993c275d193fe82c22511dfb5f1e51b661",
        "82c5b7b527ccc4b5d3cf832437e842f9d2920a79"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:53 2009 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimer: splitout peek ahead functionality, fix\n  hrtimer: fixup comments\n  hrtimer: fix recursion deadlock by re-introducing the softirq\n  hrtimer: simplify hotplug migration\n  hrtimer: fix HOTPLUG_CPU\u003dn compile warning\n  hrtimer: splitout peek ahead functionality\n"
    },
    {
      "commit": "cfa97f993c275d193fe82c22511dfb5f1e51b661",
      "tree": "552cea5db0ef07bbcc5d53850607dcda6f9b664c",
      "parents": [
        "7238eb4ca35cd63340dc02caf757376e40c1210c",
        "db2f59c8c9b315f2b88b1dac159b988c6009034d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:33 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: fix section mismatch\n  sched: fix double kfree in failure path\n  sched: clean up arch_reinit_sched_domains()\n  sched: mark sched_create_sysfs_power_savings_entries() as __init\n  getrusage: RUSAGE_THREAD should return ru_utime and ru_stime\n  sched: fix sched_slice()\n  sched_clock: prevent scd-\u003eclock from moving backwards, take #2\n  sched: sched.c declare variables before they get used\n"
    },
    {
      "commit": "f94181da7192f4ed8ccb1b633ea4ce56954df130",
      "tree": "2e28785f2df447573a11fbdd611dc19eb3fcb794",
      "parents": [
        "932adbed6d99cc373fc3433d701b3a594fea872c",
        "fdbc0450df12cc9cb397f3497db4b0cad7c1a8ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:10:04 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rcu: fix rcutorture bug\n  rcu: eliminate synchronize_rcu_xxx macro\n  rcu: make treercu safe for suspend and resume\n  rcu: fix rcutree grace-period-latency bug on small systems\n  futex: catch certain assymetric (get|put)_futex_key calls\n  futex: make futex_(get|put)_key() calls symmetric\n  locking, percpu counters: introduce separate lock classes\n  swiotlb: clean up EXPORT_SYMBOL usage\n  swiotlb: remove unnecessary declaration\n  swiotlb: replace architecture-specific swiotlb.h with linux/swiotlb.h\n  swiotlb: add support for systems with highmem\n  swiotlb: store phys address in io_tlb_orig_addr array\n  swiotlb: add hwdev to swiotlb_phys_to_bus() / swiotlb_sg_to_bus()\n"
    },
    {
      "commit": "40d7ee5d162203b40b5f4fbb312ab016edddb97f",
      "tree": "432db33df85f7f244676127a189a828dfbf2877b",
      "parents": [
        "5fec8bdbf9a1c4df4ad3f20e52aa2d8caed490c8",
        "b8ac9fc0e8cda9f9776019c5b0464b0c6d2d4c90"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:02:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:02:07 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (60 commits)\n  uio: make uio_info\u0027s name and version const\n  UIO: Documentation for UIO ioport info handling\n  UIO: Pass information about ioports to userspace (V2)\n  UIO: uio_pdrv_genirq: allow custom irq_flags\n  UIO: use pci_ioremap_bar() in drivers/uio\n  arm: struct device - replace bus_id with dev_name(), dev_set_name()\n  libata: struct device - replace bus_id with dev_name(), dev_set_name()\n  avr: struct device - replace bus_id with dev_name(), dev_set_name()\n  block: struct device - replace bus_id with dev_name(), dev_set_name()\n  chris: struct device - replace bus_id with dev_name(), dev_set_name()\n  dmi: struct device - replace bus_id with dev_name(), dev_set_name()\n  gadget: struct device - replace bus_id with dev_name(), dev_set_name()\n  gpio: struct device - replace bus_id with dev_name(), dev_set_name()\n  gpu: struct device - replace bus_id with dev_name(), dev_set_name()\n  hwmon: struct device - replace bus_id with dev_name(), dev_set_name()\n  i2o: struct device - replace bus_id with dev_name(), dev_set_name()\n  IA64: struct device - replace bus_id with dev_name(), dev_set_name()\n  i7300_idle: struct device - replace bus_id with dev_name(), dev_set_name()\n  infiniband: struct device - replace bus_id with dev_name(), dev_set_name()\n  ISDN: struct device - replace bus_id with dev_name(), dev_set_name()\n  ...\n"
    },
    {
      "commit": "58c6d3dfe436eb8cfb451981d8fdc9044eaf42da",
      "tree": "c4f7fd8f6a24c5d242dd7bd0a876413f15e26fcd",
      "parents": [
        "eccd83e116e7f414a1da3aae3745384b7b171883"
      ],
      "author": {
        "name": "Johannes Weiner",
        "email": "hannes@cmpxchg.org",
        "time": "Tue Jan 06 14:43:10 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:31 2009 -0800"
      },
      "message": "dma-coherent: catch oversized requests to dma_alloc_from_coherent()\n\nPrevent passing an order to bitmap_find_free_region() that is larger than\nthe actual bitmap can represent.\n\nThese requests can come from device drivers that have no idea how big the\ndma region is and need to rely on dma_alloc_from_coherent() to sort it out\nfor them.\n\nReported-by: Guennadi Liakhovetski \u003clg@denx.de\u003e\nSigned-off-by: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@i-love.sakura.ne.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eccd83e116e7f414a1da3aae3745384b7b171883",
      "tree": "3cc2e2778ecafa34be3380bc85ec9d72b94b5292",
      "parents": [
        "0bef3c2dc7d0c8238330785c8f4504761b0e370b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Jan 06 14:43:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:31 2009 -0800"
      },
      "message": "dma_alloc_coherent: clean it up\n\nThis thing was rather stupidly coded.  Rework it all prior to making\nchanges.\n\nAlso, rename local variable `page\u0027: kernel readers expect something called\n`page\u0027 to have type `struct page *\u0027.\n\nCc: Guennadi Liakhovetski \u003clg@denx.de\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nCc: Tetsuo Handa \u003cpenguin-kernel@i-love.sakura.ne.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0bef3c2dc7d0c8238330785c8f4504761b0e370b",
      "tree": "f43e7c7e49f5e67823e7e077c821e8f8d2571e48",
      "parents": [
        "8375d4909aee4c18798f373ecf24a79f040f75fc"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Jan 06 14:43:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:30 2009 -0800"
      },
      "message": "dma_alloc_from_coherent(): fix fallback to generic memory\n\nIf bitmap_find_free_region() fails and DMA_MEMORY_EXCLUSIVE is not set,\nthe function will fail to write anything to *ret and will return 1.             This will cause dma_alloc_coherent() to return an uninitialised value,\ncrashing the kernel, perhaps via DMA to a random address.\n\nFix that by changing it to return zero in this case, so the caller will\nproceed to allocate the memory from the generic memory allocator.\n\nCc: Tetsuo Handa \u003cpenguin-kernel@i-love.sakura.ne.jp\u003e\nCc: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4cb0e11b15d2badad455fcd538af0cccf05dc012",
      "tree": "49975df37debdb274aa1b9b09a127ad217a405c0",
      "parents": [
        "9cd4fd10437dda6b520cb1410b28f36967a34de8"
      ],
      "author": {
        "name": "Hidehiro Kawai",
        "email": "hidehiro.kawai.ez@hitachi.com",
        "time": "Tue Jan 06 14:42:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:29 2009 -0800"
      },
      "message": "coredump_filter: permit changing of the default filter\n\nIntroduce a new kernel parameter `coredump_filter\u0027.  Setting a value to\nthis parameter causes the default bitmask of coredump_filter to be\nchanged.\n\nIt is useful for users to change coredump_filter settings for the whole\nsystem at boot time.  Without this parameter, users have to change\ncoredump_filter settings for each /proc/\u003cpid\u003e/ in an initializing script.\n\nSigned-off-by: Hidehiro Kawai \u003chidehiro.kawai.ez@hitachi.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9cd4fd10437dda6b520cb1410b28f36967a34de8",
      "tree": "1a1d5eaa0d650c1efe0e63dbadb9674cac209d9d",
      "parents": [
        "09bca05c90c639f57aae057e0c28f287e61f5a07"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@linux.vnet.ibm.com",
        "time": "Tue Jan 06 14:42:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:29 2009 -0800"
      },
      "message": "SEND_SIG_NOINFO: set si_pid to tgid instead of pid\n\nPOSIX requires the si_pid to be the process id of the sender, so -\u003esi_pid\nshould really be set to \u0027tgid\u0027.  This change does have following changes\nin behavior:\n\n\t- When sending pdeath_signal on re-parent to a sub-thread, -\u003esi_pid\n\t  cannot be used to identify the thread that did the re-parent since\n\t  it will now show the tgid instead of thread id.\n\n\t- A multi-threaded application that expects to find the specific\n\t  thread that encountered a SIGPIPE using the -\u003esi_pid will now\n\t  break.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nAcked-By: Roland McGrath \u003croland@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Pavel Emelyanov \u003cxemul@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": "09bca05c90c639f57aae057e0c28f287e61f5a07",
      "tree": "5a5d88930380da8994525da361c9c8114ebf82fc",
      "parents": [
        "ecb08d81313a3c015225236775de259d99ab47fe"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@linux.vnet.ibm.com",
        "time": "Tue Jan 06 14:42:45 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:28 2009 -0800"
      },
      "message": "SEND_SIG_NOINFO: masquerade si_pid when crossing pid-ns boundary\n\nFor SEND_SIG_NOINFO, si_pid is currently set to the pid of sender\nin sender\u0027s active pid namespace. But if the receiver is in a\nEg: when parent sends the \u0027pdeath_signal\u0027 to a child that is in\na descendant pid namespace, we should set si_pid 0.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nAcked-By: Roland McGrath \u003croland@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Pavel Emelyanov \u003cxemul@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": "bd4207c9016749f0a212faf7f7f49e5317d96d9b",
      "tree": "e2e5a6efdbadf8a73c292e5b0895a6b4e4bd837e",
      "parents": [
        "d6b54841f4ddd836c886d1e6ac381cf309ee98a3"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Jan 06 14:42:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:27 2009 -0800"
      },
      "message": "kmod: fix varargs kernel-doc\n\nFix varargs kernel-doc format in kmod.c:\nUse @... instead of @varargs.\n\nWarning(kernel/kmod.c:67): Excess function parameter or struct member \u0027varargs\u0027 description in \u0027request_module\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f24659d96f4e056125f14498285203d1427cb18e",
      "tree": "8dc1e4e0f47b10d426449e395e81a565ad6d0118",
      "parents": [
        "0deddf436a37c18ceb26c6e3b632fb9b5f58a0c1"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:55 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:21 2009 -0800"
      },
      "message": "kprobes: support probing module __init function\n\nAllow kprobes to probe module __init routines.  When __init functions are\nfreed, kprobes which probe those functions are set to \"Gone\" flag.  These\n\"Gone\" probes are disarmed from the code and never be enabled.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@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": "0deddf436a37c18ceb26c6e3b632fb9b5f58a0c1",
      "tree": "ff6e3066d76d57b22fd82eed8f8e9d2ce07cf4f0",
      "parents": [
        "49ad2fd76c97133fb396edc24ded7fe26093a578"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:21 2009 -0800"
      },
      "message": "module: add MODULE_STATE_LIVE notify\n\nAdd a module notifier call which notifies that the state of a module\nchanges from MODULE_STATE_COMING to MODULE_STATE_LIVE.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "49ad2fd76c97133fb396edc24ded7fe26093a578",
      "tree": "59cf1df91ff982f16a17d56a4a76f159920c3904",
      "parents": [
        "e8386a0cb22f4a2d439384212c494ad0bda848fe"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:21 2009 -0800"
      },
      "message": "kprobes: remove called_from argument\n\nRemove called_from argument from kprobes which had been used for\npreventing self-refering of kernel module.  However, since we don\u0027t keep\nmodule\u0027s refcount after registering kprobe any more, there is no reason to\ncheck that.\n\nThis patch also simplifies registering/unregistering functions because we\ndon\u0027t need to use __builtin_return_address(0) which was passed to\ncalled_from.\n\n[ananth@in.ibm.com: build fix]\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.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": "e8386a0cb22f4a2d439384212c494ad0bda848fe",
      "tree": "84c462bccddead49c0e2c0dcfcc0f70cd9cf60f7",
      "parents": [
        "017c39bdb1b3ac1da6db339474a77b528043c05a"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:21 2009 -0800"
      },
      "message": "kprobes: support probing module __exit function\n\nAllows kprobes to probe __exit routine.  This adds flags member to struct\nkprobe.  When module is freed(kprobes hooks module_notifier to get this\nevent), kprobes which probe the functions in that module are set to \"Gone\"\nflag to the flags member.  These \"Gone\" probes are never be enabled.\nUsers can check the GONE flag through debugfs.\n\nThis also removes mod_refcounted, because we couldn\u0027t free a module if\nkprobe incremented the refcount of that module.\n\n[akpm@linux-foundation.org: document some locking]\n[mhiramat@redhat.com: bugfix: pass aggr_kprobe to arch_remove_kprobe]\n[mhiramat@redhat.com: bugfix: release old_p\u0027s insn_slot before error return]\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@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": "017c39bdb1b3ac1da6db339474a77b528043c05a",
      "tree": "1c5271ba125e67e5bf81e4e7a6507ae08253fce1",
      "parents": [
        "129415607845d4daea11ddcba706005c69dcb942"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:51 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:20 2009 -0800"
      },
      "message": "kprobes: add __kprobes to kprobe internal functions\n\nAdd __kprobes to kprobes internal functions for protecting from probing by\nkprobes itself.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@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": "129415607845d4daea11ddcba706005c69dcb942",
      "tree": "9046ea79a0b81c8823b9d42f00fd7c158861ed5c",
      "parents": [
        "a06f6211ef9b1785922f9d0e8766d63ac4e66de1"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:20 2009 -0800"
      },
      "message": "kprobes: add kprobe_insn_mutex and cleanup arch_remove_kprobe()\n\nAdd kprobe_insn_mutex for protecting kprobe_insn_pages hlist, and remove\nkprobe_mutex from architecture dependent code.\n\nThis allows us to call arch_remove_kprobe() (and free_insn_slot) while\nholding kprobe_mutex.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a06f6211ef9b1785922f9d0e8766d63ac4e66de1",
      "tree": "4ceac7a7eda00cad3b3f02876e75c1c7af41ce23",
      "parents": [
        "12da3b888b2035bb0f106122f1cc1b6d357fad53"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:20 2009 -0800"
      },
      "message": "module: add within_module_core() and within_module_init()\n\nThis series of patches allows kprobes to probe module\u0027s __init and __exit\nfunctions.  This means, you can probe driver initialization and\nterminating.\n\nCurrently, kprobes can\u0027t probe __init function because these functions are\nfreed after module initialization.  And it also can\u0027t probe module __exit\nfunctions because kprobe increments reference count of target module and\nuser can\u0027t unload it.  this means __exit functions never be called unless\nremoving probes from the module.\n\nTo solve both cases, this series of patches introduces GONE flag and sets\nit when the target code is freed(for this purpose, kprobes hooks\nMODULE_STATE_* events).  This also removes refcount incrementing for\nallowing user to unload target module.  Users can check which probes are\nGONE by debugfs interface.  For taking timing of freeing module\u0027s .init\ntext, these also include a patch which adds module\u0027s notifier of\nMODULE_STATE_LIVE event.\n\nThis patch:\n\nAdd within_module_core() and within_module_init() for checking whether an\naddress is in the module .init.text section or .text section, and replace\nwithin() local inline functions in kernel/module.c with them.\n\nkprobes uses these functions to check where the kprobe is inserted.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12da3b888b2035bb0f106122f1cc1b6d357fad53",
      "tree": "2cc785f3b06eaed3d007c1a075540197b93b6cab",
      "parents": [
        "8e1144050e49dd4ef19c117dc5626f212cfe73cf"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:20 2009 -0800"
      },
      "message": "kprobes: add tests for register_kprobes\n\nAdd testcases for *probe batch registration (register_kprobes) to kprobes\nsanity tests.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@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": "8e1144050e49dd4ef19c117dc5626f212cfe73cf",
      "tree": "b7feb97dc6f341999fbcaf8b4964e7e660cf0317",
      "parents": [
        "bc2f70151fe7a117dbe8347edc5a877e749572a3"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:20 2009 -0800"
      },
      "message": "kprobes: indirectly call kprobe_target\n\nCall kprobe_target indirectly.  This prevents gcc to unroll a noinline\nfunction in caller function.\n\nI ported patches which had been discussed on\nhttp://sources.redhat.com/bugzilla/show_bug.cgi?id\u003d3542\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nAcked-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@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": "bc2f70151fe7a117dbe8347edc5a877e749572a3",
      "tree": "930634f100acb38baa597f840b5b12bec750c66e",
      "parents": [
        "51e911e27690aecea01d4fe9cb22d38bdd0748ac"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Jan 06 14:41:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:20 2009 -0800"
      },
      "message": "kprobes: bugfix: try_module_get even if calling_mod is NULL\n\nWhen someone called register_*probe() from kernel-core code(not from\nmodule) and that probes a kernel module, users can remove the probed\nmodule because kprobe doesn\u0027t increment reference counter of the module.\n(on the other hand, if the kernel-module calls register_*probe, kprobe\nincrements refcount of the probed module.)\n\nCurrently, we have no register_*probe() calling from kernel-core(except\nsmoke-test, but the smoke-test doesn\u0027t probe module), so there is no real\nbugs.  But the logic is wrong(or not fair) and it can causes a problem\nwhen someone might want to probe module from kernel.\n\nAfter this patch is applied, even if someone put register_*probe() call in\nthe kernel-core code, it increments the reference counter of the probed\nmodule, and it prevents user to remove the module until stopping probing\nit.\n\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "26e5438e4b77f04a51870f9415ffed68004fac1d",
      "tree": "a41fae9e95464c33835e55d6c5ff3ff5e3969193",
      "parents": [
        "d2e3192b6e372a441c18bc8cb32f89ef38f105b7"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Tue Jan 06 14:41:10 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:14 2009 -0800"
      },
      "message": "profile: don\u0027t include \u003casm/ptrace.h\u003e twice.\n\nCurrently, kernel/profile.c include \u003casm/ptrace.h\u003e twice.  It can be\nremoved.\n\nSigned-off-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": "e3d5a27d5862b6425d0879272e24abecf7245105",
      "tree": "c8a873e926d4768ae2ecac50c46c5121c8472876",
      "parents": [
        "af9379c7121d5543722c00bbd1adf7dcaa0b6448"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Tue Jan 06 14:41:02 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:13 2009 -0800"
      },
      "message": "Allow times and time system calls to return small negative values\n\nAt the moment, the times() system call will appear to fail for a period\nshortly after boot, while the value it want to return is between -4095 and\n-1.  The same thing will also happen for the time() system call on 32-bit\nplatforms some time in 2106 or so.\n\nOn some platforms, such as x86, this is unavoidable because of the system\ncall ABI, but other platforms such as powerpc have a separate error\nindication from the return value, so system calls can in fact return small\nnegative values without indicating an error.  On those platforms,\nforce_successful_syscall_return() provides a way to indicate that the\nsystem call return value should not be treated as an error even if it is\nin the range which would normally be taken as a negative error number.\n\nThis adds a force_successful_syscall_return() call to the time() and\ntimes() system calls plus their 32-bit compat versions, so that they don\u0027t\nerroneously indicate an error on those platforms whose system call ABI has\na separate error indication.  This will not affect anything on other\nplatforms.\n\nJoakim Tjernlund added the fix for time() and the compat versions of\ntime() and times(), after I did the fix for times().\n\nSigned-off-by: Joakim Tjernlund \u003cJoakim.Tjernlund@transmode.se\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d6624f996ae539344e8d748cce1117ae7af06fbf",
      "tree": "0ad5d6f26fdac9a7d75c0bbce12e74ae2d1edeba",
      "parents": [
        "e899aa823ad74860a17b541b0ad38f513728923d"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Jan 06 14:40:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:12 2009 -0800"
      },
      "message": "oops: increment the oops UUID every time we oops\n\n... because we do want repeated same-oops to be seen by automated\ntools like kerneloops.org\n\nSigned-off-by: 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": "60348802e9cb137ee86590c3e4c57c1ec2e8fc69",
      "tree": "0c8fb3de7410898643f992081650a307f17dea28",
      "parents": [
        "f1883f86dea84fe47a71a39fc1afccc005915ed8"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Tue Jan 06 14:40:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:11 2009 -0800"
      },
      "message": "fork.c: cleanup for copy_sighand()\n\nCheck CLONE_SIGHAND only is enough, because combination of CLONE_THREAD and\nCLONE_SIGHAND is already done in copy_process().\n\nImpact: cleanup, no functionality changed\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1883f86dea84fe47a71a39fc1afccc005915ed8",
      "tree": "357c50d2eb44e9e62c39c0c1025bae7b2b6eba67",
      "parents": [
        "eaccbfa564e48c87626594511f42dc8c0ad2daae"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Jan 06 14:40:45 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:11 2009 -0800"
      },
      "message": "Remove remaining unwinder code\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Gabor Gombas \u003cgombasg@sztaki.hu\u003e\nCc: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\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"
    }
  ],
  "next": "901608d9045146aec6f14a7777ea4b1501c379f0"
}
