)]}'
{
  "log": [
    {
      "commit": "e6f47f978bcd5413fff610613b18e9e0eab9bc1b",
      "tree": "bf9e698cb76a0e958a8c9157fba74fb6d8255298",
      "parents": [
        "3d5631e0631a11633c649bc995a6537ec21b67b4"
      ],
      "author": {
        "name": "Anil S Keshavamurthy",
        "email": "anil.s.keshavamurthy@intel.com",
        "time": "Mon Jun 26 00:25:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:22 2006 -0700"
      },
      "message": "[PATCH] Notify page fault call chain\n\nWith this patch Kprobes now registers for page fault notifications only when\ntheir is an active probe registered.  Once all the active probes are\nunregistered their is no need to be notified of page faults and kprobes\nunregisters itself from the page fault notifications.  Hence we will have ZERO\nside effects when no probes are active.\n\nSigned-off-by: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3d5631e0631a11633c649bc995a6537ec21b67b4",
      "tree": "84924f8c647c2d67b9a1113408efd24e48dabf66",
      "parents": [
        "d98f8f05188b45168db43df8ddc9feeb0b1cd512"
      ],
      "author": {
        "name": "Anil S Keshavamurthy",
        "email": "anil.s.keshavamurthy@intel.com",
        "time": "Mon Jun 26 00:25:28 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:22 2006 -0700"
      },
      "message": "[PATCH] Kprobes registers for notify page fault\n\nKprobes now registers for page fault notifications.\n\nSigned-off-by: Anil S Keshavamurthy \u003canil.s.keshavmurthy@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "36721656776f177280ccb50477a02e86e6444292",
      "tree": "20cb06eb08e98636e97703d6e0df77790ede23cf",
      "parents": [
        "585deacaca3e7bfc63580623f0344d1fa9c47f11"
      ],
      "author": {
        "name": "mao, bibo",
        "email": "bibo.mao@intel.com",
        "time": "Mon Jun 26 00:25:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:22 2006 -0700"
      },
      "message": "[PATCH] Kprobe: multi kprobe posthandler for booster\n\nIf there are multi kprobes on the same probepoint, there will be one extra\naggr_kprobe on the head of kprobe list.  The aggr_kprobe has\naggr_post_handler/aggr_break_handler whether the other kprobe\npost_hander/break_handler is NULL or not.  This patch modifies this, only\nwhen there is one or more kprobe in the list whose post_handler is not\nNULL, post_handler of aggr_kprobe will be set as aggr_post_handler.\n\n[soshima@redhat.com: !CONFIG_PREEMPT fix]\nSigned-off-by: bibo, mao \u003cbibo.mao@intel.com\u003e\nCc: Masami Hiramatsu \u003chiramatu@sdl.hitachi.co.jp\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: \"Keshavamurthy, Anil S\" \u003canil.s.keshavamurthy@intel.com\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nCc: Yumiko Sugita \u003csugita@sdl.hitachi.co.jp\u003e\nCc: Hideo Aoki \u003chaoki@redhat.com\u003e\nSigned-off-by: Satoshi Oshima \u003csoshima@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "19923c190e0932bf0ac1e1d06a48f5c3678dd0de",
      "tree": "2a32f5f16b3bbebd74c0f4910493c7f28a70fd84",
      "parents": [
        "6415ce9a922a1446e7ee0ac9b016082232ebe373"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Mon Jun 26 00:25:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:21 2006 -0700"
      },
      "message": "[PATCH] fix and optimize clock source update\n\nThis fixes the clock source updates in update_wall_time() to correctly\ntrack the time coming in via current_tick_length().  Optimize the fast\npaths to be as short as possible to keep the overhead low.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nAcked-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a275254975a29c51929ee175b92ac471ac2a0043",
      "tree": "42ec41bf74c0c601f05ed12ff674539f4bf6f505",
      "parents": [
        "5d0cf410e94b1f1ff852c3f210d22cc6c5a27ffa"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:21 2006 -0700"
      },
      "message": "[PATCH] time: rename clocksource functions\n\nAs suggested by Roman Zippel, change clocksource functions to use\nclocksource_xyz rather then xyz_clocksource to avoid polluting the\nnamespace.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5d0cf410e94b1f1ff852c3f210d22cc6c5a27ffa",
      "tree": "a30cd6d201295945f401fd1f2731493f68db9ee9",
      "parents": [
        "61743fe445213b87fb55a389c8d073785323ca3e"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:21 2006 -0700"
      },
      "message": "[PATCH] Time: i386 Clocksource Drivers\n\nImplement the time sources for i386 (acpi_pm, cyclone, hpet, pit, and tsc).\nWith this patch, the conversion of the i386 arch to the generic timekeeping\ncode should be complete.\n\nThe patch should be fairly straight forward, only adding the new clocksources.\n\n[hirofumi@mail.parknet.co.jp: acpi_pm cleanup]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cf3c769b4b0dd1146da84d5cf045dcfe53bd0f13",
      "tree": "caeb91eff6538ed5910e673a40a9f2bd9a022afa",
      "parents": [
        "5eb6d20533d14a432df714520939a6181e28f099"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:20 2006 -0700"
      },
      "message": "[PATCH] Time: Introduce arch generic time accessors\n\nIntroduces clocksource switching code and the arch generic time accessor\nfunctions that use the clocksource infrastructure.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5eb6d20533d14a432df714520939a6181e28f099",
      "tree": "b032147620a8e213356658783f8037d2f5623b57",
      "parents": [
        "260a42309b31cbc54eb4b6b85649e412bcad053f"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:20 2006 -0700"
      },
      "message": "[PATCH] Time: Use clocksource abstraction for NTP adjustments\n\nInstead of incrementing xtime by tick_nsec + ntp adjustments, use the\nclocksource abstraction to increment and scale time.  Using the clocksource\nabstraction allows other clocksources to be used consistently in the face of\nlate or lost ticks, while preserving the existing behavior via the jiffies\nclocksource.\n\nThis removes the need to keep time_phase adjustments as we just use the\ncurrent_tick_length() function as the NTP interface and accumulate time using\nshifted nanoseconds.\n\nThe basics of this design was by Roman Zippel, however it is my own\ninterpretation and implementation, so the credit should go to him and the\nblame to me.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "260a42309b31cbc54eb4b6b85649e412bcad053f",
      "tree": "51efc7bb51075b0d25d0e8465d3c056e6a57fe16",
      "parents": [
        "ad596171ed635c51a9eef829187af100cbf8dcf7"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:20 2006 -0700"
      },
      "message": "[PATCH] Time: Let user request precision from current_tick_length()\n\nChange the current_tick_length() function so it takes an argument which\nspecifies how much precision to return in shifted nanoseconds.  This provides\na simple way to convert between NTPs internal nanoseconds shifted by\n(SHIFT_SCALE - 10) to other shifted nanosecond units that are used by the\nclocksource abstraction.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ad596171ed635c51a9eef829187af100cbf8dcf7",
      "tree": "24b19bec1b1abd8bd110064226569aa42dde0b3b",
      "parents": [
        "734efb467b31e56c2f9430590a9aa867ecf3eea1"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:20 2006 -0700"
      },
      "message": "[PATCH] Time: Use clocksource infrastructure for update_wall_time\n\nModify the update_wall_time function so it increments time using the\nclocksource abstraction instead of jiffies.  Since the only clocksource driver\ncurrently provided is the jiffies clocksource, this should result in no\nfunctional change.  Additionally, a timekeeping_init and timekeeping_resume\nfunction has been added to initialize and maintain some of the new timekeping\nstate.\n\n[hirofumi@mail.parknet.co.jp: fixlet]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "734efb467b31e56c2f9430590a9aa867ecf3eea1",
      "tree": "30bf6b52d1e67128e656fb9a01cd7e6e13b7755e",
      "parents": [
        "ade1a29e168ba08b699a418ff5e762315fa33f70"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Mon Jun 26 00:25:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:20 2006 -0700"
      },
      "message": "[PATCH] Time: Clocksource Infrastructure\n\nThis introduces the clocksource management infrastructure.  A clocksource is a\ndriver-like architecture generic abstraction of a free-running counter.  This\ncode defines the clocksource structure, and provides management code for\nregistering, selecting, accessing and scaling clocksources.\n\nAdditionally, this includes the trivial jiffies clocksource, a lowest common\ndenominator clocksource, provided mainly for use as an example.\n\n[hirofumi@mail.parknet.co.jp: Don\u0027t enable IRQ too early]\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "81615b624a45621b758380ec45d750483eae281d",
      "tree": "9373ca3e4a484fe4fdac48ae6e6d204c7e560121",
      "parents": [
        "1fb00c6cbd8356f43b46322742f3c01c2a1f02da"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 26 00:24:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:16 2006 -0700"
      },
      "message": "[PATCH] Convert kernel/cpu.c to mutexes\n\nConvert kernel/cpu.c from semaphore to mutex.\n\nI\u0027ve reviewed all lock_cpu_hotplug() critical sections, and they all seem to\nfit mutex semantics.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1fb00c6cbd8356f43b46322742f3c01c2a1f02da",
      "tree": "d337fb8dca27a719221d9012292e72c55e7267d1",
      "parents": [
        "20c5426f8155a89b6df06325f9b278f5052b8c7e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 26 00:24:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:16 2006 -0700"
      },
      "message": "[PATCH] work around ppc64 bootup bug by making mutex-debugging save/restore irqs\n\nIt seems ppc64 wants to lock mutexes in early bootup code, with interrupts\ndisabled, and they expect interrupts to stay disabled, else they crash.\n\nWork around this bug by making mutex debugging variants save/restore irq\nflags.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3448097fccdce4ea8f0fcad4f37f502a8cd72e68",
      "tree": "583ee97128a9e2657d5bf73def841c460371804a",
      "parents": [
        "5503967307f3fa443f5770a4df5ea4fbe9fb3917"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 18:41:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 18:41:00 2006 -0700"
      },
      "message": "Revert \"swsusp special saveable pages support\" commits\n\nThis reverts commits\n\n  3e3318dee0878d42ed62a19c292a2ac284135db3 [PATCH] swsusp: x86_64 mark special saveable/unsaveable pages\n  b6370d96e09944c6e3ae8d5743ca8a8ab1f79f6c [PATCH] swsusp: i386 mark special saveable/unsaveable pages\n  ce4ab0012b32c1a4a1d6e934aeb73bf3151c48d9 [PATCH] swsusp: add architecture special saveable pages support\n\nbecause not only do they apparently cause page faults on x86, the\ninfrastructure doesn\u0027t compile on powerpc.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "72cf2709bf8e0410800f118c4298bfbf8715b303",
      "tree": "ef6cb4d1cffc56583ebc3233cf836ae4cb67c8e9",
      "parents": [
        "1eec00565d849ceda67f425e089c3233e3ef2ca2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:04:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:04:15 2006 -0700"
      },
      "message": "Fix PM_TRACE dependency: works only on 32-bit x86 for now\n\nNot that x86-64 and other architecture support should be difficult to\nadd (trivial fixups to the data format and add the proper linker script\nentry).\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "77787bfb44da6e6166af088226707aeccee27968",
      "tree": "ada770c2f4f2d913c8f96f2eec3125d4cfb22011",
      "parents": [
        "f6ec29a42d7ac3b309a9cef179b686d23986ab98"
      ],
      "author": {
        "name": "KaiGai Kohei",
        "email": "kaigai@ak.jp.nec.com",
        "time": "Sun Jun 25 05:49:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:25 2006 -0700"
      },
      "message": "[PATCH] pacct: none-delayed process accounting accumulation\n\nIn current 2.6.17 implementation, signal_struct refered from task_struct is\nused for per-process data structure.  The pacct facility also uses it as a\nper-process data structure to store stime, utime, minflt, majflt.  But those\nmembers are saved in __exit_signal().  It\u0027s too late.\n\nFor example, if some threads exits at same time, pacct facility has a\npossibility to drop accountings for a part of those threads.  (see, the\nfollowing \u0027The results of original 2.6.17 kernel\u0027) I think accounting\ninformation should be completely collected into the per-process data structure\nbefore writing out an accounting record.\n\nThis patch fixes this matter.  Accumulation of stime, utime, minflt and majflt\nare done before generating accounting record.\n\n[mingo@elte.hu: fix acct_collect() siglock bug found by lockdep]\nSigned-off-by: KaiGai Kohei \u003ckaigai@ak.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f6ec29a42d7ac3b309a9cef179b686d23986ab98",
      "tree": "5150d4f403833ac18b468bd0e0e0a9a7cdd9f4be",
      "parents": [
        "0e4648141af02331f21aabcd34940c70f09a2d04"
      ],
      "author": {
        "name": "KaiGai Kohei",
        "email": "kaigai@ak.jp.nec.com",
        "time": "Sun Jun 25 05:49:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:25 2006 -0700"
      },
      "message": "[PATCH] pacct: avoidance to refer the last thread as a representation of the process\n\nWhen pacct facility generate an \u0027ac_flag\u0027 field in accounting record, it\nrefers a task_struct of the thread which died last in the process.  But any\nother task_structs are ignored.\n\nTherefore, pacct facility drops ASU flag even if root-privilege operations are\nused by any other threads except the last one.  In addition, AFORK flag is\nalways set when the thread of group-leader didn\u0027t die last, although this\nprocess has called execve() after fork().\n\nWe have a same matter in ac_exitcode.  The recorded ac_exitcode is an exit\ncode of the last thread in the process.  There is a possibility this exitcode\nis not the group leader\u0027s one.\n"
    },
    {
      "commit": "0e4648141af02331f21aabcd34940c70f09a2d04",
      "tree": "3e4dea992a8e3f3194be04a0fd3e14c24a313ee7",
      "parents": [
        "6bc392741d661eb84be503d1fdf14b6746615e4c"
      ],
      "author": {
        "name": "KaiGai Kohei",
        "email": "kaigai@ak.jp.nec.com",
        "time": "Sun Jun 25 05:49:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:25 2006 -0700"
      },
      "message": "[PATCH] pacct: add pacct_struct to fix some pacct bugs.\n\nThe pacct facility need an i/o operation when an accounting record is\ngenerated.  There is a possibility to wake OOM killer up.  If OOM killer is\nactivated, it kills some processes to make them release process memory\nregions.\n\nBut acct_process() is called in the killed processes context before calling\nexit_mm(), so those processes cannot release own memory.  In the results, any\nprocesses stop in this point and it finally cause a system stall.\n"
    },
    {
      "commit": "9e37bd301ee130598fa1406c1281caa159473bf8",
      "tree": "c52de7a4eea72353e95c26266ad692a0cc0a8546",
      "parents": [
        "b0ef371e3f9fa3b2571058be366a6780827ec0bf"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sun Jun 25 05:49:19 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:24 2006 -0700"
      },
      "message": "[PATCH] kthread: move kernel-doc and put it into DocBook\n\nMove kthread API kernel-doc from kthread.h to kthread.c \u0026 fix it.\nAdd kthread API to kernel-api DocBook.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fa9799e33d362aeca4555cd6318735bab1c04d16",
      "tree": "3fbef83fe505f34950f4b30fb4158e2e599ce92f",
      "parents": [
        "9dc65576d67dc45e529062e41ca34066e02f03e5"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sun Jun 25 05:49:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:23 2006 -0700"
      },
      "message": "[PATCH] ktime/hrtimer: fix kernel-doc comments\n\nFix kernel-doc formatting in ktime.h and hrtimer.[ch] files.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fc75cdfa5b43ac4d3232b490800cd35063adafd3",
      "tree": "0529ffd9633667457d5340a09b3cb352d09436d2",
      "parents": [
        "04a3446c90137a473837288b04b517b19dc67a0d"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Sun Jun 25 05:49:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:22 2006 -0700"
      },
      "message": "[PATCH] cpu hotplug: fix CPU_UP_CANCEL handling\n\nIf a cpu hotplug callback fails on CPU_UP_PREPARE, all callbacks will be\ncalled with CPU_UP_CANCELED.  A few of these callbacks assume that on\nCPU_UP_PREPARE a pointer to task has been stored in a percpu array.  This\nassumption is not true if CPU_UP_PREPARE fails and the following calls to\nkthread_bind() in CPU_UP_CANCELED will cause an addressing exception\nbecause of passing a NULL pointer.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Ashok Raj \u003cashok.raj@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8bdd1d1250d55afe403ac4affa6ccc5f9e60468f",
      "tree": "b7ffa764ccaa88e07753f9a75d837ea47ea9ea01",
      "parents": [
        "2b943cf09d75c0dfbfd22548988df48f6c24c727"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Sun Jun 25 05:49:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:22 2006 -0700"
      },
      "message": "[PATCH] kthread: convert stop_machine into a kthread\n\n- Update stop_machine.c to spawn stop_machine as kthreads rather than the\n  deprecated kernel_threads.\n\n- Update stop_machine to use the more efficient kthread_bind() before\n  running task in place of set_cpus_allowed() after.\n\n[akpm@osdl.org: remove now-wrong set_cpus_allowed()]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2aa92581fb13e04e1440e5041b412cc06c782e0e",
      "tree": "a39761477a300c8abcb69102f75511374df3b881",
      "parents": [
        "165d6c78ee24127dde5c750b2af0a239f9c11d1a"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Sun Jun 25 05:48:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:17 2006 -0700"
      },
      "message": "[PATCH] Link error when futexes are disabled on 64bit architectures\n\nIf futexes are disabled we fail to link on ppc64.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "838cd153a5250a79a302f6c5d68a4794b70c4ccb",
      "tree": "9122d37d7521c9345779aa84e2ca8d754d997475",
      "parents": [
        "92eeccd8badbfebe12383b6e5326b27dc707601d"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Sun Jun 25 05:48:35 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:15 2006 -0700"
      },
      "message": "[PATCH] N32 sigset and __COMPAT_ENDIAN_SWAP__\n\nI\u0027m testing glibc on MIPS64, little-endian, N32, O32 and N64 multilibs.\n\nAmong the NPTL test failures seen are some arising from sigsuspend problems\nfor N32: it blocks the wrong signals, so SIGCANCEL (SIGRTMIN) is blocked\ndespite glibc\u0027s carefully excluding it from sets of signals to block.\nSpecifically, testing suggests it blocks signal N^32 instead of signal N,\nso (in the example tested) blocking SIGUSR1 (17) blocks signal 49 instead.\n\nglibc\u0027s sigset_t uses an array of unsigned long, as does the kernel.\nIn both cases, signal N+1 is represented as\n(1UL \u003c\u003c (N % (8 * sizeof (unsigned long)))) in word number\n(N / (8 * sizeof (unsigned long))).\n\nThus the N32 glibc uses an array of 32-bit words and the N64 kernel uses an\narray of 64-bit words.  For little-endian, the layout is the same, with\nsignals 1-32 in the first 4 bytes, signals 33-64 in the second, etc.; for\nbig-endian, userspace has that layout while in the kernel each 8 bytes have\nthe two halves swapped from the userspace layout.\n\nThe N32 sigsuspend syscall uses sigset_from_compat to convert the userspace\nsigset to kernel format.  If __COMPAT_ENDIAN_SWAP__ is *not* set, this uses\nlogic of the form\n\n  set-\u003esig[0] \u003d compat-\u003esig[0] | (((long)compat-\u003esig[1]) \u003c\u003c 32 )\n\nto convert the userspace sigset to a kernel one.  This looks correct to me\nfor both big and little endian, given that in userspace compat-\u003esig[1] will\nrepresent signals 33-64, and so will the high 32 bits of set-\u003esig[0] in the\nkernel.  If however __COMPAT_ENDIAN_SWAP__ *is* set, as it is for\n__MIPSEL__, it uses\n\n  set-\u003esig[0] \u003d compat-\u003esig[1] | (((long)compat-\u003esig[0]) \u003c\u003c 32 );\n\nwhich seems incorrect for both big and little endian, and would\nexplain the observed symptoms.\n\nThis code is the only use of __COMPAT_ENDIAN_SWAP__, so if incorrect\nthen that macro serves no purpose, in which case something like the\nfollowing patch would seem appropriate to remove it.\n\nSigned-off-by: Joseph Myers \u003cjoseph@codesourcery.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eab03ac7bd3e0da99eb9dc068772a85a5e3f3577",
      "tree": "042447058f59b2e485a24a5175a6d7ab83baa9e1",
      "parents": [
        "8ad2914d9cc55be651ef3bd676981a72c9001a47"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Sun Jun 25 05:48:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:15 2006 -0700"
      },
      "message": "[PATCH] Get rid of /proc/sys/proc\n\nThe table is empty, why does it still exist?\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3b9c04106b70e46803c69d13d5da32f6129fa76d",
      "tree": "b0405d1823ea30cdc07cd5ab5361d39b262e531e",
      "parents": [
        "e5dcd90b53d601a04482db9800336a0ccf190880"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@linux01.gwdg.de",
        "time": "Sun Jun 25 05:48:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:13 2006 -0700"
      },
      "message": "[PATCH] printk time parameter\n\nCurrently, enabling/disabling printk timestamps is only possible through\nreboot (bootparam) or recompile.  I normally do not run with timestamps\n(since syslog handles that in a good manner), but for measuring small\nkernel delays (e.g.  irq probing - see parport thread) I needed subsecond\nprecision, but then again, just for some minutes rather than all kernel\nmessages to come.  The following patch adds a module_param() with which the\ntimestamps can be en-/disabled in a live system through\n/sys/modules/printk/parameters/printk_time.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "11e64757f9fb32f13f51596bbf01988f42fca764",
      "tree": "9fab5ffe96db5dae318d04f8979a3883ff35df5b",
      "parents": [
        "7c12d81134b130ccd4c286b434ca48c4cda71a2f"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Sun Jun 25 05:48:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:09 2006 -0700"
      },
      "message": "[PATCH] Remove unecessary NULL check in kernel/acct.c\n\ncopy_process() appears to be the only caller of acct_clear_integrals() and\ndoes not pass in NULL task pointers.  Remove the unecessary check.\n\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3b364b8d584b94777f8446a943b3c65e75e758f8",
      "tree": "423b5a0f5b8ea77deffa053443911b226fcb0ab1",
      "parents": [
        "43b0bc00fdbf2f1503a57f0c2c1338438c5d2805"
      ],
      "author": {
        "name": "Andreas Mohr",
        "email": "andi@rhlx01.fht-esslingen.de",
        "time": "Sun Jun 25 05:47:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:08 2006 -0700"
      },
      "message": "[PATCH] constify parts of kernel/power/\n\nSigned-off-by: Andreas Mohr \u003candi@lisas.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b61367732fc273977cc3fb85c272ce1a7bb1f533",
      "tree": "92aa6fc7f58b65f322f32612741c64347bc57152",
      "parents": [
        "232acbcf5304c29f5bb03b0dddeaefd0f98ef45e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Jun 25 05:47:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:07 2006 -0700"
      },
      "message": "[PATCH] schedule_on_each_cpu(): reduce kmalloc() size\n\nschedule_on_each_cpu() presently does a large kmalloc - 96 kbytes on 1024 CPU\n64-bit.\n\nRework it so that we do one 8192-byte allocation and then a pile of tiny ones,\nvia alloc_percpu().  This has a much higher chance of success (100% in the\ncurrent VM).\n\nThis also has the effect of reducing the memory requirements from NR_CPUS*n to\nnum_possible_cpus()*n.\n\nCc: Christoph Lameter \u003cclameter@engr.sgi.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "83cc5ed3c4c65fc4c3729a5cec2111ede1ebf85e",
      "tree": "ea2b6b04117ad88c41a5059bdaf36a7a505808c0",
      "parents": [
        "76a8ad293912cd2f01eca075d80cd0ddec30c627"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Jun 25 05:47:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:06 2006 -0700"
      },
      "message": "[PATCH] kernel/sys.c: cleanups\n\n- proper prototypes for the following functions:\n  - ctrl_alt_del()  (in include/linux/reboot.h)\n  - getrusage()     (in include/linux/resource.h)\n- make the following needlessly global functions static:\n  - kernel_restart_prepare()\n  - kernel_kexec()\n\n[akpm@osdl.org: compile fix]\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "76a8ad293912cd2f01eca075d80cd0ddec30c627",
      "tree": "1ff683dcd5b1351b403d3efe701d0dd9eddcd773",
      "parents": [
        "8ae6e163c1b637e1cb125613726ffbd31ca44fdf"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Sun Jun 25 05:47:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:05 2006 -0700"
      },
      "message": "[PATCH] Make printk work for really early debugging\n\nCurrently printk is no use for early debugging because it refuses to\nactually print anything to the console unless\ncpu_online(smp_processor_id()) is true.\n\nThe stated explanation is that console drivers may require per-cpu\nresources, or otherwise barf, because the system is not yet setup\ncorrectly.  Fair enough.\n\nHowever some console drivers might be quite happy running early during\nboot, in fact we have one, and so it\u0027d be nice if printk understood that.\n\nSo I added a flag (which I would have called CON_BOOT, but that\u0027s taken)\ncalled CON_ANYTIME, which indicates that a console is happy to be called\nanytime, even if the cpu is not yet online.\n\nTested on a Power 5 machine, with both a CON_ANYTIME driver and a bogus\nconsole driver that BUG()s if called while offline.  No problems AFAICT.\nBuilt for i386 UP \u0026 SMP.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bbb1747d4e44ce49acc73daa8d66e5f6bd546f1b",
      "tree": "28e9192804d3335e7585dd34bd4d5d9f236afc27",
      "parents": [
        "bfe5d834195b3089b8846577311340376cc0f450"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Sun Jun 25 05:47:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:01 2006 -0700"
      },
      "message": "[PATCH] Allow raw_notifier callouts to unregister themselves\n\nSince raw_notifier chains don\u0027t benefit from any centralized locking\nprotections, they shouldn\u0027t suffer from the associated limitations.  Under\nsome circumstances it might make sense for a raw_notifier callout routine\nto unregister itself from the notifier chain.  This patch (as678) changes\nthe notifier core to allow for such things.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfe5d834195b3089b8846577311340376cc0f450",
      "tree": "52470de0fe87ff8372700e3472735cd5c14cee9d",
      "parents": [
        "6ceab8a936c302c0cea2bfe55617c76e2f5746fa"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Jun 25 05:47:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:01 2006 -0700"
      },
      "message": "[PATCH] Define __raw_get_cpu_var and use it\n\nThere are several instances of per_cpu(foo, raw_smp_processor_id()), which\nis semantically equivalent to __get_cpu_var(foo) but without the warning\nthat smp_processor_id() can give if CONFIG_DEBUG_PREEMPT is enabled.  For\nthose architectures with optimized per-cpu implementations, namely ia64,\npowerpc, s390, sparc64 and x86_64, per_cpu() turns into more and slower\ncode than __get_cpu_var(), so it would be preferable to use __get_cpu_var\non those platforms.\n\nThis defines a __raw_get_cpu_var(x) macro which turns into per_cpu(x,\nraw_smp_processor_id()) on architectures that use the generic per-cpu\nimplementation, and turns into __get_cpu_var(x) on the architectures that\nhave an optimized per-cpu implementation.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f867d2a2e5f3f0ce6356f452cc27b70d577de7c7",
      "tree": "2c098f197a80847510b7f0e98ca2209e89dfd32f",
      "parents": [
        "5474c120aafe78ca54bf272f7a01107c42da2b21"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Sun Jun 25 05:47:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:00:59 2006 -0700"
      },
      "message": "[PATCH] ensure NULL deref can\u0027t possibly happen in is_exported()\n\nIf CONFIG_KALLSYMS is defined and if it should happen that is_exported() is\ngiven a NULL \u0027mod\u0027 and lookup_symbol(name, __start___ksymtab,\n__stop___ksymtab) returns 0, then we\u0027ll end up dereferencing a NULL\npointer.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eb71c87a492b7090ff9e8ac46912c480a1687e38",
      "tree": "1136213dee0f942866b6c2c65de7e7c63ca94fda",
      "parents": [
        "d384ea691fe4ea8c2dd5b9b8d9042eb181776f18"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jun 24 14:27:42 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jun 24 14:44:01 2006 -0700"
      },
      "message": "Add some basic resume trace facilities\n\nConsidering that there isn\u0027t a lot of hw we can depend on during resume,\nthis is about as good as it gets.\n\nThis is x86-only for now, although the basic concept (and most of the\ncode) will certainly work on almost any platform.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "125e18745f16685f69a34fd6130d47598fc4bf54",
      "tree": "c97ed94b0525a572efa1bd4990a55b18be5d781d",
      "parents": [
        "78ce89c92bc6eaf5933b5664bff64253a7103bd7"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Fri Jun 23 02:06:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:08 2006 -0700"
      },
      "message": "[PATCH] More BUG_ON conversion\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cB.Zolnierkiewicz@elka.pw.edu.pl\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nAcked-by: \"Salyzyn, Mark\" \u003cmark_salyzyn@adaptec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "908dcecda1d18803b5823f30e6c47d2882dc0cf1",
      "tree": "2e40b7484baa65af9aa4460ae958d445725f484f",
      "parents": [
        "a5d6839b75ca4a29b5e0a5595914a8715e8f746d"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Fri Jun 23 02:06:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:08 2006 -0700"
      },
      "message": "[PATCH] adjust handle_IRR_event() return type\n\nCorrect the return type of handle_IRQ_event() (inconsistency noticed during\nXen development), and remove redundant declarations.  The return type\nadjustment required breaking out the definition of irqreturn_t into a\nseparate header, in order to satisfy current include order dependencies.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\n\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Hirokazu Takata \u003ctakata.hirokazu@renesas.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Miles Bader \u003cuclinux-v850@lsi.nec.co.jp\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3439dd86e34580384d3b58cf8d54a9283cd7a342",
      "tree": "b421244c25d96e83a744576ad543587339e581fb",
      "parents": [
        "626ab0e69d376fa07599af669af8ba92d58e87c1"
      ],
      "author": {
        "name": "Porpoise",
        "email": "porpoise.chiang@gmail.com",
        "time": "Fri Jun 23 02:05:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:08 2006 -0700"
      },
      "message": "[PATCH] When CONFIG_BASE_SMALL\u003d1, cascade() may enter an infinite loop\n\nWhen CONFIG_BASE_SAMLL\u003d1, cascade() in may enter the infinite loop.\nBecause of CONFIG_BASE_SMALL\u003d1(TVR_BITS\u003d6 and TVN_BITS\u003d4), the list\nbase-\u003etv5 may cascade into base-\u003etv5.  So, the kernel enters the infinite\nloop in the function cascade().\n\nI created a test module to verify this bug, and a patch to fix it.\n\n#include \u003clinux/kernel.h\u003e\n#include \u003clinux/module.h\u003e\n#include \u003clinux/init.h\u003e\n#include \u003clinux/timer.h\u003e\n#if 0\n#include \u003clinux/kdb.h\u003e\n#else\n#define kdb_printf printk\n#endif\n\n#define TVN_BITS (CONFIG_BASE_SMALL ? 4 : 6)\n#define TVR_BITS (CONFIG_BASE_SMALL ? 6 : 8)\n#define TVN_SIZE (1 \u003c\u003c TVN_BITS)\n#define TVR_SIZE (1 \u003c\u003c TVR_BITS)\n#define TVN_MASK (TVN_SIZE - 1)\n#define TVR_MASK (TVR_SIZE - 1)\n\n#define TV_SIZE(N)  (N*TVN_BITS  + TVR_BITS)\n\nstruct timer_list timer0;\nstruct timer_list dummy_timer1;\nstruct timer_list dummy_timer2;\n\nvoid dummy_timer_fun(unsigned long data) {\n}\nunsigned long j\u003d0;\nvoid check_timer_base(unsigned long data)\n{\n        kdb_printf(\"check_timer_base %08x\\n\",jiffies);\n        mod_timer(\u0026timer0,(jiffies \u0026 (~0xFFF)) + 0x1FFF);\n}\n\nint init_module(void)\n{\n        init_timer(\u0026timer0);\n        timer0.data \u003d (unsigned long)0;\n        timer0.function \u003d check_timer_base;\n        mod_timer(\u0026timer0,jiffies+1);\n\n        init_timer(\u0026dummy_timer1);\n        dummy_timer1.data \u003d (unsigned long)0;\n        dummy_timer1.function \u003d dummy_timer_fun;\n\n        init_timer(\u0026dummy_timer2);\n        dummy_timer2.data \u003d (unsigned long)0;\n        dummy_timer2.function \u003d dummy_timer_fun;\n\n        j\u003djiffies;\n        j\u0026\u003d(~((1\u003c\u003cTV_SIZE(3))-1));\n        j+\u003d(1\u003c\u003cTV_SIZE(3));\n        j+\u003d(1\u003c\u003cTV_SIZE(4));\n\n        kdb_printf(\"mod_timer %08x\\n\",j);\n\n        mod_timer(\u0026dummy_timer1, j );\n        mod_timer(\u0026dummy_timer2, j );\n\n        return 0;\n}\n\nvoid cleanup_module()\n{\n        del_timer_sync(\u0026timer0);\n        del_timer_sync(\u0026dummy_timer1);\n        del_timer_sync(\u0026dummy_timer2);\n}\n\n(Cleanups from Oleg)\n\n[oleg@tv-sign.ru: use list_replace_init()]\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "626ab0e69d376fa07599af669af8ba92d58e87c1",
      "tree": "a995e0231e61fab63568bc7bade81dc20c1dae09",
      "parents": [
        "54e73770357142e297c916c7865f5fca7499f69c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jun 23 02:05:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:07 2006 -0700"
      },
      "message": "[PATCH] list: use list_replace_init() instead of list_splice_init()\n\nlist_splice_init(list, head) does unneeded job if it is known that\nlist_empty(head) \u003d\u003d 1.  We can use list_replace_init() instead.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "862f5f0133f1c8a179dd93adc03d43f8f7e8bac5",
      "tree": "51ef137f4a648859c339988413a19ab3567c032e",
      "parents": [
        "d83015b8f62ee3fcd338f6f009051ed57f77a531"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Fri Jun 23 02:05:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:07 2006 -0700"
      },
      "message": "[PATCH] Doc: add audit \u0026 acct to DocBook\n\nFix one audit kernel-doc description (one parameter was missing).\nAdd audit*.c interfaces to DocBook.\nAdd BSD accounting interfaces to DocBook.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d83015b8f62ee3fcd338f6f009051ed57f77a531",
      "tree": "11e30548e6b07045f8a17aa4661e1cde6f374b18",
      "parents": [
        "55f4e8d156d23709739029afb108932ef94cac94"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@us.ibm.com",
        "time": "Fri Jun 23 02:05:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:07 2006 -0700"
      },
      "message": "[PATCH] Make RCU API inaccessible to non-GPL Linux kernel modules\n\nRemove synchronize_kernel() (deprecated 2-APR-2005 in\nhttp://lkml.org/lkml/2005/4/3/11) and makes the RCU API inaccessible to\nnon-GPL Linux kernel modules (as was announced more than one year ago in\nhttp://lkml.org/lkml/2005/4/3/8).  Tested on x86 and ppc64.\n\nSigned-off-by: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "55f4e8d156d23709739029afb108932ef94cac94",
      "tree": "b8877b3e23dbb82b3fd1fb93ed319a3c5cb1148d",
      "parents": [
        "915a56d2394f4ef70e9cb7115a9bdad778276338"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Fri Jun 23 02:05:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:07 2006 -0700"
      },
      "message": "[PATCH] kernel/sys.c doesn\u0027t need init.h\n\nkernel/sys.c doesn\u0027t have anything in it relying on linux/init.h -\nremove the include.\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "57ae2508610d50893cb3e3bbb869ff70ff724a2a",
      "tree": "33109c6d78be1b6e5db085a57a4509fcfd88ee95",
      "parents": [
        "deb0e9b234af24f4a827757fae9ff5542a3d2a12"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jun 23 02:05:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:06 2006 -0700"
      },
      "message": "[PATCH] CONFIG_NET\u003dn build fix\n\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "83d4e6e7fba0b2a01092f0cf14ba2e33bd1253e9",
      "tree": "4fa75ffb35970e27762623edbc1f725171d2b0b5",
      "parents": [
        "e6022603b9aa7d61d20b392e69edcdbbc1789969"
      ],
      "author": {
        "name": "Andreas Mohr",
        "email": "andi@rhlx01.fht-esslingen.de",
        "time": "Fri Jun 23 02:05:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:05 2006 -0700"
      },
      "message": "[PATCH] make noirqdebug/irqfixup __read_mostly, add (un)likely()\n\nSigned-off-by: Andreas Mohr \u003candi@lisas.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "89d0cf01c0aa9e8241cc3703a359ecd6abf3c28a",
      "tree": "149611b8bbd430d482299f5b976da6a6cfc1e718",
      "parents": [
        "d20d04bc9befbd752092b4aa42bb8254a1af0776"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Fri Jun 23 02:05:29 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:04 2006 -0700"
      },
      "message": "[PATCH] invert irq/migration.c brach prediction\n\nIf you get to that point in the code it means that desc-\u003emove_irq is set,\npending_irq_cpumask[irq] and cpu_online_map should have a value.  Still\npretty good chance anding those two you\u0027ll still have a value.  So these\ntwo branch predictors should be inverted.\n\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8e0a43d8fa953179505869ec28de78550246e795",
      "tree": "1fc56d6337c487952ab008b8ff063b2a2d48ee02",
      "parents": [
        "6e6672604773b9bae44d88d38afdf0763c104b1c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 23 02:05:23 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:04 2006 -0700"
      },
      "message": "[PATCH] cond_resched() might_sleep() fix\n\nadd the __might_sleep() check back to cond_resched().\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6e6672604773b9bae44d88d38afdf0763c104b1c",
      "tree": "fa597c1b9d46d3f7ed6743f2230a0ac9813693a7",
      "parents": [
        "538c5902b81cc384e93ad3834b6d4a0b3fcb2285"
      ],
      "author": {
        "name": "Prasanna Meda",
        "email": "mlp@google.com",
        "time": "Fri Jun 23 02:05:23 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:04 2006 -0700"
      },
      "message": "[PATCH] dup fd error fix\n\nSet errorp in dup_fd, it will be used in sys_unshare also.\n\nSigned-off-by: Prasanna Meda \u003cmlp@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0ae26f1b3159f3acb21ae1e866c3c7e16edd450f",
      "tree": "28a86cc8682ad5b247f597773572e410b9457d72",
      "parents": [
        "32797f976d62af709943aae38a9457b5a6dbcd8a"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Fri Jun 23 02:05:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:03 2006 -0700"
      },
      "message": "[PATCH] mmput() might sleep\n\nexit_aio() and exit_mmap() can sleep.  But it\u0027s easy to accidentally call\nmmput() from inside locks.\n\nCc: Dave Peterson \u003cdsp@llnl.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c330dda908b5a46469a997eea90b66f2f9f02b34",
      "tree": "aad52aa4e127c366ca185c2122650d7dbb3437a0",
      "parents": [
        "24bbb1faf3f0420eb252dd0fdc1e477b1d4d73bd"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Fri Jun 23 02:05:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:02 2006 -0700"
      },
      "message": "[PATCH] Add a sysfs file to determine if a kexec kernel is loaded\n\nCreate two files in /sys/kernel, kexec_loaded and kexec_crash_loaded.  Each\nfile contains a simple boolean value indicating whether the relevant kernel\nhas been loaded into memory.  The motivation for this is geared around\nsupport.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "968808b8956e332e556b1eae9b4f7df77518f53b",
      "tree": "e90598c5640df24a250aa0beb3e526f2571ed6e2",
      "parents": [
        "7bff24e255ee11ecbc304315a252fcbd84f9ffce"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 23 02:04:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:00 2006 -0700"
      },
      "message": "[PATCH] swsusp: use less memory during resume\n\nMake swsusp allocate only as much memory as needed to store the image data\nand metadata during resume.\n\nWithout this patch swsusp additionally allocates many page frames that will\nconflict with the \"original\" locations of the image data and are considered\nas \"unsafe\", treating them as \"eaten\" pages (ie.  allocated but unusable).\n\nThe patch makes swsusp allocate as many pages as it\u0027ll need to store the\ndata read from the image in one shot, creating a list of allocated \"safe\"\npages, and use the observation that all pages allocated by it are marked\nwith the PG_nosave and PG_nosave_free flags set.   Namely, when it\u0027s about\nto load an image page, swsusp can check whether the page frame\ncorresponding to the \"original\" location of this page has been allocated\n(ie.  if the page frame has the PG_nosave and PG_nosave_free flags set) and\nif so, it can load the page directly into this page frame.   Otherwise it\nuses an allocated \"safe\" page from the list to store the data that will be\ncopied to their \"original\" location later on.\n\nThis allows us to save many page copyings and page allocations during\nresume and in the future it may allow us to load images greater than 50% of\nthe normal zone.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: \"Pavel Machek\" \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7bff24e255ee11ecbc304315a252fcbd84f9ffce",
      "tree": "23397d27bad855d8b46da23ffc3d9ae5cc0c596c",
      "parents": [
        "a938c356d5b007fe6d28251c0ddbf6c11d0d92b5"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 23 02:04:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:59 2006 -0700"
      },
      "message": "[PATCH] kernel/power/snapshot.c: cleanups\n\n- make needlessly global functions static\n- make dummy functions static inline\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a938c356d5b007fe6d28251c0ddbf6c11d0d92b5",
      "tree": "e55827ad27bf0a1b3a0cae821219a863c25173b7",
      "parents": [
        "3e3318dee0878d42ed62a19c292a2ac284135db3"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 23 02:04:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:59 2006 -0700"
      },
      "message": "[PATCH] swsusp: take lowmem reserves into account\n\nswsusp allocates memory from the normal zone, so it cannot use lowmem\nreserve pages from the lower zones.  Therefore it should not count these\npages as available to it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ce4ab0012b32c1a4a1d6e934aeb73bf3151c48d9",
      "tree": "83b5ba44e93eeb8b72fe14028ac25943f77844fe",
      "parents": [
        "82dcaafc92fdfbe2c1d6c50b9f5e17d533caf950"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Fri Jun 23 02:04:44 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:59 2006 -0700"
      },
      "message": "[PATCH] swsusp: add architecture special saveable pages support\n\n1. Add architecture specific pages save/restore support.  Next two patches\n   will use this to save/restore \u0027ACPI NVS\u0027 pages.\n\n2. Allow reserved pages \u0027nosave\u0027.  This could avoid save/restore BIOS\n   reserved pages.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Nigel Cunningham \u003cnigel@suspend2.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1b61b910e99059abdd54c93aa70e84e076e33d16",
      "tree": "fe2cd431dc39521a0f2d30e22c9bd3eb3e1bc317",
      "parents": [
        "afa024c3dbccf026e45121f4b9de54cda48edbea"
      ],
      "author": {
        "name": "Zhang Yanmin",
        "email": "yanmin.zhang@intel.com",
        "time": "Fri Jun 23 02:04:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:57 2006 -0700"
      },
      "message": "[PATCH] x86: kernel irq balance doesn\u0027t work\n\nOn i386, kernel irq balance doesn\u0027t work.\n\n1) In function do_irq_balance, after kernel finds the min_loaded cpu but\n   before calling set_pending_irq to really pin the selected_irq to the\n   target cpu, kernel does a cpus_and with irq_affinity[selected_irq].\n   Later on, when the irq is acked, kernel would calls\n   move_native_irq\u003d\u003edesc-\u003ehandler-\u003eset_affinity to change the irq affinity.\n    However, every function pointed by\n   hw_interrupt_type-\u003eset_affinity(unsigned int irq, cpumask_t cpumask)\n   always changes irq_affinity[irq] to cpumask.  Next time when recalling\n   do_irq_balance, it has to do cpu_ands again with\n   irq_affinity[selected_irq], but irq_affinity[selected_irq] already\n   becomes one cpu selected by the first irq balance.\n\n2) Function balance_irq in file arch/i386/kernel/io_apic.c has the same\n   issue.\n\n[akpm@osdl.org: cleanups]\nSigned-off-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "22fb52dd736a62e24c44c50739007496265dc38c",
      "tree": "06cc6dcff21df6e18f189c6895cf6aa313e7a8ea",
      "parents": [
        "e7834f8fccd791225a1cf91c2c3e740ad8e2e145"
      ],
      "author": {
        "name": "David Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Fri Jun 23 02:04:00 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:54 2006 -0700"
      },
      "message": "[PATCH] SELinux: add security hook call to mediate attach_task (kernel/cpuset.c)\n\nAdd a security hook call to enable security modules to control the ability\nto attach a task to a cpuset.  While limited control over this operation is\npossible via permission checks on the pseudo fs interface, those checks are\nnot sufficient to control access to the target task, which is looked up in\nthis function.  The existing task_setscheduler hook is re-used for this\noperation since this falls under the same class of operations.\n\nSigned-off-by: David Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e7834f8fccd791225a1cf91c2c3e740ad8e2e145",
      "tree": "8f48d03d7b1dc32d326825fef1d1c54117a06ac8",
      "parents": [
        "03e68060636e05989ea94bcb671ab633948f328c"
      ],
      "author": {
        "name": "David Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Fri Jun 23 02:03:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:53 2006 -0700"
      },
      "message": "[PATCH] SELinux: add security hooks to {get,set}affinity\n\nThis patch adds LSM hooks into the setaffinity and getaffinity functions to\nenable security modules to control these operations between tasks with\ntask_setscheduler and task_getscheduler LSM hooks.\n\nSigned-off-by: David Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nAcked-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9216dfad4fc97ab639ef0885efc713f3d7a20d5b",
      "tree": "546e301f3181f56133509327f9c5ed035dd4b50d",
      "parents": [
        "1b2db9fb7adc4d67d9ce7d16ce79c41ee84730fe"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 23 02:03:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:53 2006 -0700"
      },
      "message": "[PATCH] move_pages: fix 32 -\u003e 64 bit compat function\n\nThe definition of the third parameter is a pointer to an array of virtual\naddresses which give us some trouble.  The existing code calculated the\nwrong address in the array since I used void to avoid having to specify a\ntype.\n\nI now use the correct type \"compat_uptr_t __user *\" in the definition of\nthe function in kernel/compat.c.\n\nHowever, I used __u32 in syscalls.h.  Would have to include compat.h there\nin order to provide the same definition which would generate an ugly\ninclude situation.\n\nOn both ia64 and x86_64 compat_uptr_t is u32. So this works although\nparameter declarations differ.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1b2db9fb7adc4d67d9ce7d16ce79c41ee84730fe",
      "tree": "d3fc0962ada099d741717d36a3f658c15b20c65a",
      "parents": [
        "b63d64a324056cf3c2f7a1a1fe8134100edbb058"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 23 02:03:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:53 2006 -0700"
      },
      "message": "[PATCH] sys_move_pages: 32bit support (i386, x86_64)\n\nsys_move_pages() support for 32bit (i386 plus x86_64 compat layer)\n\nAdd support for move_pages() on i386 and also add the compat functions\nnecessary to run 32 bit binaries on x86_64.\n\nAdd compat_sys_move_pages to the x86_64 32bit binary layer.  Note that it is\nnot up to date so I added the missing pieces.  Not sure if this is done the\nright way.\n\n[akpm@osdl.org: compile fix]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "742755a1d8ce2b548428f7aacf1758b4bba50080",
      "tree": "53426657e14dc19a694d418274c9a6f4dcb8a997",
      "parents": [
        "95a402c3847cc16f4ba03013cd01404fa0f14c2e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Fri Jun 23 02:03:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:53 2006 -0700"
      },
      "message": "[PATCH] page migration: sys_move_pages(): support moving of individual pages\n\nmove_pages() is used to move individual pages of a process. The function can\nbe used to determine the location of pages and to move them onto the desired\nnode. move_pages() returns status information for each page.\n\nlong move_pages(pid, number_of_pages_to_move,\n\t\taddresses_of_pages[],\n\t\tnodes[] or NULL,\n\t\tstatus[],\n\t\tflags);\n\nThe addresses of pages is an array of void * pointing to the\npages to be moved.\n\nThe nodes array contains the node numbers that the pages should be moved\nto. If a NULL is passed instead of an array then no pages are moved but\nthe status array is updated. The status request may be used to determine\nthe page state before issuing another move_pages() to move pages.\n\nThe status array will contain the state of all individual page migration\nattempts when the function terminates. The status array is only valid if\nmove_pages() completed successfullly.\n\nPossible page states in status[]:\n\n0..MAX_NUMNODES\tThe page is now on the indicated node.\n\n-ENOENT\t\tPage is not present\n\n-EACCES\t\tPage is mapped by multiple processes and can only\n\t\tbe moved if MPOL_MF_MOVE_ALL is specified.\n\n-EPERM\t\tThe page has been mlocked by a process/driver and\n\t\tcannot be moved.\n\n-EBUSY\t\tPage is busy and cannot be moved. Try again later.\n\n-EFAULT\t\tInvalid address (no VMA or zero page).\n\n-ENOMEM\t\tUnable to allocate memory on target node.\n\n-EIO\t\tUnable to write back page. The page must be written\n\t\tback in order to move it since the page is dirty and the\n\t\tfilesystem does not provide a migration function that\n\t\twould allow the moving of dirty pages.\n\n-EINVAL\t\tA dirty page cannot be moved. The filesystem does not provide\n\t\ta migration function and has no ability to write back pages.\n\nThe flags parameter indicates what types of pages to move:\n\nMPOL_MF_MOVE\tMove pages that are only mapped by the process.\n\nMPOL_MF_MOVE_ALL Also move pages that are mapped by multiple processes.\n\t\tRequires sufficient capabilities.\n\nPossible return codes from move_pages()\n\n-ENOENT\t\tNo pages found that would require moving. All pages\n\t\tare either already on the target node, not present, had an\n\t\tinvalid address or could not be moved because they were\n\t\tmapped by multiple processes.\n\n-EINVAL\t\tFlags other than MPOL_MF_MOVE(_ALL) specified or an attempt\n\t\tto migrate pages in a kernel thread.\n\n-EPERM\t\tMPOL_MF_MOVE_ALL specified without sufficient priviledges.\n\t\tor an attempt to move a process belonging to another user.\n\n-EACCES\t\tOne of the target nodes is not allowed by the current cpuset.\n\n-ENODEV\t\tOne of the target nodes is not online.\n\n-ESRCH\t\tProcess does not exist.\n\n-E2BIG\t\tToo many pages to move.\n\n-ENOMEM\t\tNot enough memory to allocate control array.\n\n-EFAULT\t\tParameters could not be accessed.\n\nA test program for move_pages() may be found with the patches\non ftp.kernel.org:/pub/linux/kernel/people/christoph/pmig/patches-2.6.17-rc4-mm3\n\nFrom: Christoph Lameter \u003cclameter@sgi.com\u003e\n\n  Detailed results for sys_move_pages()\n\n  Pass a pointer to an integer to get_new_page() that may be used to\n  indicate where the completion status of a migration operation should be\n  placed.  This allows sys_move_pags() to report back exactly what happened to\n  each page.\n\n  Wish there would be a better way to do this. Looks a bit hacky.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Jes Sorensen \u003cjes@trained-monkey.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d6277db4ab271862ed599da08d78961c70f00002",
      "tree": "f11b2f82200c95d17e10779b44a6da37bc03965f",
      "parents": [
        "7a7c381d25067b9a2bfe025dfcb16459daec0373"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jun 23 02:03:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:48 2006 -0700"
      },
      "message": "[PATCH] swsusp: rework memory shrinker\n\nRework the swsusp\u0027s memory shrinker in the following way:\n\n- Simplify balance_pgdat() by removing all of the swsusp-related code\n  from it.\n\n- Make shrink_all_memory() use shrink_slab() and a new function\n  shrink_all_zones() which calls shrink_active_list() and\n  shrink_inactive_list() directly for each zone in a way that\u0027s optimized\n  for suspend.\n\nIn shrink_all_memory() we try to free exactly as many pages as the caller\nasks for, preferably in one shot, starting from easier targets.   If slab\ncaches are huge, they are most likely to have enough pages to reclaim.\n The inactive lists are next (the zones with more inactive pages go first)\netc.\n\nEach time shrink_all_memory() attempts to shrink the active and inactive\nlists for each zone in 5 passes.   In the first pass, only the inactive\nlists are taken into consideration.   In the next two passes the active\nlists are also shrunk, but mapped pages are not reclaimed.   In the last\ntwo passes the active and inactive lists are shrunk and mapped pages are\nreclaimed as well.  The aim of this is to alter the reclaim logic to choose\nthe best pages to keep on resume and improve the responsiveness of the\nresumed system.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fadd8fbd153c12963f8fe3c9ef7f8967f286f98b",
      "tree": "547cdee6203b769773521118a4dd19e95a7ef3fd",
      "parents": [
        "67de648211fa041fe08a0c25241a4980bbb90698"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Fri Jun 23 02:03:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:47 2006 -0700"
      },
      "message": "[PATCH] support for panic at OOM\n\nThis patch adds panic_on_oom sysctl under sys.vm.\n\nWhen sysctl vm.panic_on_oom \u003d 1, the kernel panics intead of killing rogue\nprocesses.  And if vm.panic_on_oom is 0 the kernel will do oom_kill() in\nthe same way as it does today.  Of course, the default value is 0 and only\nroot can modifies it.\n\nIn general, oom_killer works well and kill rogue processes.  So the whole\nsystem can survive.  But there are environments where panic is preferable\nrather than kill some processes.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "726c334223180e3c0197cc980a432681370d4baf",
      "tree": "8327b354bb3dc959a6606051ae6f8d4d035e38a2",
      "parents": [
        "454e2398be9b9fa30433fccc548db34d19aa9958"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to perform statfs with a known root dentry\n\nGive the statfs superblock operation a dentry pointer rather than a superblock\npointer.\n\nThis complements the get_sb() patch.  That reduced the significance of\nsb-\u003es_root, allowing NFS to place a fake root there.  However, NFS does\nrequire a dentry to use as a target for the statfs operation.  This permits\nthe root in the vfsmount to be used instead.\n\nlinux/mount.h has been added where necessary to make allyesconfig build\nsuccessfully.\n\nInterest has also been expressed for use with the FUSE and XFS filesystems.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "454e2398be9b9fa30433fccc548db34d19aa9958",
      "tree": "1f61cb0c3716a33b661cfc8977e9beeb480a322c",
      "parents": [
        "1ad5544098a69d7dc1fa508cbb17e13a7a952fd8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jun 23 02:02:57 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:42:45 2006 -0700"
      },
      "message": "[PATCH] VFS: Permit filesystem to override root dentry on mount\n\nExtend the get_sb() filesystem operation to take an extra argument that\npermits the VFS to pass in the target vfsmount that defines the mountpoint.\n\nThe filesystem is then required to manually set the superblock and root dentry\npointers.  For most filesystems, this should be done with simple_set_mnt()\nwhich will set the superblock pointer and then set the root dentry to the\nsuperblock\u0027s s_root (as per the old default behaviour).\n\nThe get_sb() op now returns an integer as there\u0027s now no need to return the\nsuperblock pointer.\n\nThis patch permits a superblock to be implicitly shared amongst several mount\npoints, such as can be done with NFS to avoid potential inode aliasing.  In\nsuch a case, simple_set_mnt() would not be called, and instead the mnt_root\nand mnt_sb would be set directly.\n\nThe patch also makes the following changes:\n\n (*) the get_sb_*() convenience functions in the core kernel now take a vfsmount\n     pointer argument and return an integer, so most filesystems have to change\n     very little.\n\n (*) If one of the convenience function is not used, then get_sb() should\n     normally call simple_set_mnt() to instantiate the vfsmount. This will\n     always return 0, and so can be tail-called from get_sb().\n\n (*) generic_shutdown_super() now calls shrink_dcache_sb() to clean up the\n     dcache upon superblock destruction rather than shrink_dcache_anon().\n\n     This is required because the superblock may now have multiple trees that\n     aren\u0027t actually bound to s_root, but that still need to be cleaned up. The\n     currently called functions assume that the whole tree is rooted at s_root,\n     and that anonymous dentries are not the roots of trees which results in\n     dentries being left unculled.\n\n     However, with the way NFS superblock sharing are currently set to be\n     implemented, these assumptions are violated: the root of the filesystem is\n     simply a dummy dentry and inode (the real inode for \u0027/\u0027 may well be\n     inaccessible), and all the vfsmounts are rooted on anonymous[*] dentries\n     with child trees.\n\n     [*] Anonymous until discovered from another tree.\n\n (*) The documentation has been adjusted, including the additional bit of\n     changing ext2_* into foo_* in the documentation.\n\n[akpm@osdl.org: convert ipath_fs, do other stuff]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Nathan Scott \u003cnathans@sgi.com\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "45c091bb2d453ce4a8b06cf19872ec7a77fc4799",
      "tree": "06fb2e05518ebfba163f8424e028e7faf5672d66",
      "parents": [
        "d588fcbe5a7ba8bba2cebf7799ab2d573717a806",
        "2191fe3e39159e3375f4b7ec1420df149f154101"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 22:11:30 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 22:11:30 2006 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (139 commits)\n  [POWERPC] re-enable OProfile for iSeries, using timer interrupt\n  [POWERPC] support ibm,extended-*-frequency properties\n  [POWERPC] Extra sanity check in EEH code\n  [POWERPC] Dont look for class-code in pci children\n  [POWERPC] Fix mdelay badness on shared processor partitions\n  [POWERPC] disable floating point exceptions for init\n  [POWERPC] Unify ppc syscall tables\n  [POWERPC] mpic: add support for serial mode interrupts\n  [POWERPC] pseries: Print PCI slot location code on failure\n  [POWERPC] spufs: one more fix for 64k pages\n  [POWERPC] spufs: fail spu_create with invalid flags\n  [POWERPC] spufs: clear class2 interrupt status before wakeup\n  [POWERPC] spufs: fix Makefile for \"make clean\"\n  [POWERPC] spufs: remove stop_code from struct spu\n  [POWERPC] spufs: fix spu irq affinity setting\n  [POWERPC] spufs: further abstract priv1 register access\n  [POWERPC] spufs: split the Cell BE support into generic and platform dependant parts\n  [POWERPC] spufs: dont try to access SPE channel 1 count\n  [POWERPC] spufs: use kzalloc in create_spu\n  [POWERPC] spufs: fix initial state of wbox file\n  ...\n\nManually resolved conflicts in:\n\tdrivers/net/phy/Makefile\n\tinclude/asm-powerpc/spu.h\n"
    },
    {
      "commit": "de047c1bcd7f7bcfbdc29eb5b439fb332594da3f",
      "tree": "ff0d52044559971b8d68aaeb00fc7b6a876b3a3d",
      "parents": [
        "c89681ed7d0e4a61d35bdc12c06c6733b718b2cb"
      ],
      "author": {
        "name": "Ravikiran G Thirumalai",
        "email": "kiran@scalex86.org",
        "time": "Thu Jun 22 14:47:26 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:05:57 2006 -0700"
      },
      "message": "[PATCH] avoid tasklist_lock at getrusage for multithreaded case too\n\nAvoid taking tasklist_lock for at getrusage for the multithreaded case too.\nWe don\u0027t need to take the tasklist lock for thread traversal of a process\nsince Oleg\u0027s do-__unhash_process-under-siglock.patch and related work.\n\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6cc0719181a7aa8883855140541e7892250e66af",
      "tree": "e5c740230abef71bb4d8367b68602fd294284e89",
      "parents": [
        "04c567d9313e4927b9835361d8ac0318ce65af6b"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Jun 22 14:47:18 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:05:56 2006 -0700"
      },
      "message": "[PATCH] suspend_console() warning fix\n\nkernel/power/main.c: In function \u0027suspend_prepare\u0027:\nkernel/power/main.c:89: warning: implicit declaration of function \u0027suspend_console\u0027\nkernel/power/main.c: In function \u0027suspend_finish\u0027:\nkernel/power/main.c:137: warning: implicit declaration of function \u0027resume_console\u0027\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d720024e94de4e8b7f10ee83c532926f3ad5d708",
      "tree": "8f21613c29a26bfbeb334cb0104b8b998b09fbdc",
      "parents": [
        "f893afbe1262e27e91234506f72e17716190dd2f"
      ],
      "author": {
        "name": "Michael LeMay",
        "email": "mdlemay@epoch.ncsc.mil",
        "time": "Thu Jun 22 14:47:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 22 15:05:55 2006 -0700"
      },
      "message": "[PATCH] selinux: add hooks for key subsystem\n\nIntroduce SELinux hooks to support the access key retention subsystem\nwithin the kernel.  Incorporate new flask headers from a modified version\nof the SELinux reference policy, with support for the new security class\nrepresenting retained keys.  Extend the \"key_alloc\" security hook with a\ntask parameter representing the intended ownership context for the key\nbeing allocated.  Attach security information to root\u0027s default keyrings\nwithin the SELinux initialization routine.\n\nHas passed David\u0027s testsuite.\n\nSigned-off-by: Michael LeMay \u003cmdlemay@epoch.ncsc.mil\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d9eaec9e295a84a80b663996d0489fcff3a1dca9",
      "tree": "85cfc09bb5f0eb42d3be7dfbddaad31353307796",
      "parents": [
        "cee4cca740d209bcb4b9857baa2253d5ba4e3fbe",
        "41757106b9ca7867dafb2404d618f947b4786fd7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 15:37:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 15:37:56 2006 -0700"
      },
      "message": "Merge branch \u0027audit.b21\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b21\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: (25 commits)\n  [PATCH] make set_loginuid obey audit_enabled\n  [PATCH] log more info for directory entry change events\n  [PATCH] fix AUDIT_FILTER_PREPEND handling\n  [PATCH] validate rule fields\u0027 types\n  [PATCH] audit: path-based rules\n  [PATCH] Audit of POSIX Message Queue Syscalls v.2\n  [PATCH] fix se_sen audit filter\n  [PATCH] deprecate AUDIT_POSSBILE\n  [PATCH] inline more audit helpers\n  [PATCH] proc_loginuid_write() uses simple_strtoul() on non-terminated array\n  [PATCH] update of IPC audit record cleanup\n  [PATCH] minor audit updates\n  [PATCH] fix audit_krule_to_{rule,data} return values\n  [PATCH] add filtering by ppid\n  [PATCH] log ppid\n  [PATCH] collect sid of those who send signals to auditd\n  [PATCH] execve argument logging\n  [PATCH] fix deadlocks in AUDIT_LIST/AUDIT_LIST_RULES\n  [PATCH] audit_panic() is audit-internal\n  [PATCH] inotify (5/5): update kernel documentation\n  ...\n\nManual fixup of conflict in unclude/linux/inotify.h\n"
    },
    {
      "commit": "2edc322d420a4cec8dbc184a1220ecd7fa9f8ae6",
      "tree": "e7be2cf442626316b6b6fb212960fe1f77ff2725",
      "parents": [
        "be967b7e2f7747a5ebf2a07ee627d9338491e784",
        "2f3243aebd8df4d9eecaeca04bbff6c7dbfb2142"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 14:51:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 14:51:22 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/~dwmw2/rbtree-2.6\n\n* git://git.infradead.org/~dwmw2/rbtree-2.6:\n  [RBTREE] Switch rb_colour() et al to en_US spelling of \u0027color\u0027 for consistency\n  Update UML kernel/physmem.c to use rb_parent() accessor macro\n  [RBTREE] Update hrtimers to use rb_parent() accessor macro.\n  [RBTREE] Add explicit alignment to sizeof(long) for struct rb_node.\n  [RBTREE] Merge colour and parent fields of struct rb_node.\n  [RBTREE] Remove dead code in rb_erase()\n  [RBTREE] Update JFFS2 to use rb_parent() accessor macro.\n  [RBTREE] Update eventpoll.c to use rb_parent() accessor macro.\n  [RBTREE] Update key.c to use rb_parent() accessor macro.\n  [RBTREE] Update ext3 to use rb_parent() accessor macro.\n  [RBTREE] Change rbtree off-tree marking in I/O schedulers.\n  [RBTREE] Add accessor macros for colour and parent fields of rb_node\n"
    },
    {
      "commit": "be967b7e2f7747a5ebf2a07ee627d9338491e784",
      "tree": "f42b82601209a52b8ee478e36d8b21543ab03060",
      "parents": [
        "eef11427edcb821b63920219f89379fab84198b9",
        "7bc3312bef4d6f220812500c0de7868fb7625a41"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 14:50:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 14:50:31 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (199 commits)\n  [MTD] NAND: Fix breakage all over the place\n  [PATCH] NAND: fix remaining OOB length calculation\n  [MTD] NAND Fixup NDFC merge brokeness\n  [MTD NAND] S3C2410 driver cleanup\n  [MTD NAND] s3c24x0 board: Fix clock handling, ensure proper initialisation.\n  [JFFS2] Check CRC32 on dirent and data nodes each time they\u0027re read\n  [JFFS2] When retiring nextblock, allocate a node_ref for the wasted space\n  [JFFS2] Mark XATTR support as experimental, for now\n  [JFFS2] Don\u0027t trust node headers before the CRC is checked.\n  [MTD] Restore MTD_ROM and MTD_RAM types\n  [MTD] assume mtd-\u003ewritesize is 1 for NOR flashes\n  [MTD NAND] Fix s3c2410 NAND driver so it at least _looks_ like it compiles\n  [MTD] Prepare physmap for 64-bit-resources\n  [JFFS2] Fix more breakage caused by janitorial meddling.\n  [JFFS2] Remove stray __exit from jffs2_compressors_exit()\n  [MTD] Allow alternate JFFS2 mount variant for root filesystem.\n  [MTD] Disconnect struct mtd_info from ABI\n  [MTD] replace MTD_RAM with MTD_GENERIC_TYPE\n  [MTD] replace MTD_ROM with MTD_GENERIC_TYPE\n  [MTD] remove a forgotten MTD_XIP\n  ...\n"
    },
    {
      "commit": "41757106b9ca7867dafb2404d618f947b4786fd7",
      "tree": "6feff3fade7d842e58d535eef4f397ebfb8ae19e",
      "parents": [
        "9c937dcc71021f2dbf78f904f03d962dd9bcc130"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Mon Jun 12 07:48:28 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:29 2006 -0400"
      },
      "message": "[PATCH] make set_loginuid obey audit_enabled\n\nHi,\n\nI was doing some testing and noticed that when the audit system was disabled,\nI was still getting messages about the loginuid being set. The following patch\nmakes audit_set_loginuid look at in_syscall to determine if it should create\nan audit event. The loginuid will continue to be set as long as there is a context.\n\nSigned-off-by: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9c937dcc71021f2dbf78f904f03d962dd9bcc130",
      "tree": "6ab53c1cf1235515307d521cecc4f76afa34e137",
      "parents": [
        "6a2bceec0ea7fdc47aef9a3f2f771c201eaabe5d"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Thu Jun 08 23:19:31 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:28 2006 -0400"
      },
      "message": "[PATCH] log more info for directory entry change events\n\nWhen an audit event involves changes to a directory entry, include\na PATH record for the directory itself.  A few other notable changes:\n\n    - fixed audit_inode_child() hooks in fsnotify_move()\n    - removed unused flags arg from audit_inode()\n    - added audit log routines for logging a portion of a string\n\nHere\u0027s some sample output.\n\nbefore patch:\ntype\u003dSYSCALL msg\u003daudit(1149821605.320:26): arch\u003d40000003 syscall\u003d39 success\u003dyes exit\u003d0 a0\u003dbf8d3c7c a1\u003d1ff a2\u003d804e1b8 a3\u003dbf8d3c7c items\u003d1 ppid\u003d739 pid\u003d800 auid\u003d0 uid\u003d0 gid\u003d0 euid\u003d0 suid\u003d0 fsuid\u003d0 egid\u003d0 sgid\u003d0 fsgid\u003d0 tty\u003dttyS0 comm\u003d\"mkdir\" exe\u003d\"/bin/mkdir\" subj\u003droot:system_r:unconfined_t:s0-s0:c0.c255\ntype\u003dCWD msg\u003daudit(1149821605.320:26):  cwd\u003d\"/root\"\ntype\u003dPATH msg\u003daudit(1149821605.320:26): item\u003d0 name\u003d\"foo\" parent\u003d164068 inode\u003d164010 dev\u003d03:00 mode\u003d040755 ouid\u003d0 ogid\u003d0 rdev\u003d00:00 obj\u003droot:object_r:user_home_t:s0\n\nafter patch:\ntype\u003dSYSCALL msg\u003daudit(1149822032.332:24): arch\u003d40000003 syscall\u003d39 success\u003dyes exit\u003d0 a0\u003dbfdd9c7c a1\u003d1ff a2\u003d804e1b8 a3\u003dbfdd9c7c items\u003d2 ppid\u003d714 pid\u003d777 auid\u003d0 uid\u003d0 gid\u003d0 euid\u003d0 suid\u003d0 fsuid\u003d0 egid\u003d0 sgid\u003d0 fsgid\u003d0 tty\u003dttyS0 comm\u003d\"mkdir\" exe\u003d\"/bin/mkdir\" subj\u003droot:system_r:unconfined_t:s0-s0:c0.c255\ntype\u003dCWD msg\u003daudit(1149822032.332:24):  cwd\u003d\"/root\"\ntype\u003dPATH msg\u003daudit(1149822032.332:24): item\u003d0 name\u003d\"/root\" inode\u003d164068 dev\u003d03:00 mode\u003d040750 ouid\u003d0 ogid\u003d0 rdev\u003d00:00 obj\u003droot:object_r:user_home_dir_t:s0\ntype\u003dPATH msg\u003daudit(1149822032.332:24): item\u003d1 name\u003d\"foo\" inode\u003d164010 dev\u003d03:00 mode\u003d040755 ouid\u003d0 ogid\u003d0 rdev\u003d00:00 obj\u003droot:object_r:user_home_t:s0\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6a2bceec0ea7fdc47aef9a3f2f771c201eaabe5d",
      "tree": "9496dcc64e7cf94f4e87f01957ef41ed18b13e40",
      "parents": [
        "0a73dccc4fd472e65887eae6fbf4afc030541709"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Fri Jun 02 13:16:01 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:28 2006 -0400"
      },
      "message": "[PATCH] fix AUDIT_FILTER_PREPEND handling\n\nClear AUDIT_FILTER_PREPEND flag after adding rule to list.  This\nfixes three problems when a rule is added with the -A syntax:\n\n    - auditctl displays filter list as \"(null)\"\n    - the rule cannot be removed using -d\n    - a duplicate rule can be added with -a\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0a73dccc4fd472e65887eae6fbf4afc030541709",
      "tree": "e9578332e31d0e88c681ac710acf2b196293ba8e",
      "parents": [
        "f368c07d7214a7c41dfceb76c8db473b850f0229"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 05 08:15:59 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:27 2006 -0400"
      },
      "message": "[PATCH] validate rule fields\u0027 types\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f368c07d7214a7c41dfceb76c8db473b850f0229",
      "tree": "e3f1e2d1a6ffbe61bf99ece51b906654728db4c9",
      "parents": [
        "20ca73bc792be9625af184cbec36e1372611d1c3"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Fri Apr 07 16:55:56 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:27 2006 -0400"
      },
      "message": "[PATCH] audit: path-based rules\n\nIn this implementation, audit registers inotify watches on the parent\ndirectories of paths specified in audit rules.  When audit\u0027s inotify\nevent handler is called, it updates any affected rules based on the\nfilesystem event.  If the parent directory is renamed, removed, or its\nfilesystem is unmounted, audit removes all rules referencing that\ninotify watch.\n\nTo keep things simple, this implementation limits location-based\nauditing to the directory entries in an existing directory.  Given\na path-based rule for /foo/bar/passwd, the following table applies:\n\n    passwd modified -- audit event logged\n    passwd replaced -- audit event logged, rules list updated\n    bar renamed     -- rule removed\n    foo renamed     -- untracked, meaning that the rule now applies to\n\t\t       the new location\n\nAudit users typically want to have many rules referencing filesystem\nobjects, which can significantly impact filtering performance.  This\npatch also adds an inode-number-based rule hash to mitigate this\nsituation.\n\nThe patch is relative to the audit git tree:\nhttp://kernel.org/git/?p\u003dlinux/kernel/git/viro/audit-current.git;a\u003dsummary\nand uses the inotify kernel API:\nhttp://lkml.org/lkml/2006/6/1/145\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "20ca73bc792be9625af184cbec36e1372611d1c3",
      "tree": "98a1232ad3c9baa14676b2b48fab79a3df4a20b0",
      "parents": [
        "8ba8e0fbe6321961f6ba04e2fd7215b37d935c83"
      ],
      "author": {
        "name": "George C. Wilson",
        "email": "ltcgcw@us.ibm.com",
        "time": "Wed May 24 16:09:55 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:26 2006 -0400"
      },
      "message": "[PATCH] Audit of POSIX Message Queue Syscalls v.2\n\nThis patch adds audit support to POSIX message queues.  It applies cleanly to\nthe lspp.b15 branch of Al Viro\u0027s git tree.  There are new auxiliary data\nstructures, and collection and emission routines in kernel/auditsc.c.  New hooks\nin ipc/mqueue.c collect arguments from the syscalls.\n\nI tested the patch by building the examples from the POSIX MQ library tarball.\nBuild them -lrt, not against the old MQ library in the tarball.  Here\u0027s the URL:\nhttp://www.geocities.com/wronski12/posix_ipc/libmqueue-4.41.tar.gz\nDo auditctl -a exit,always -S for mq_open, mq_timedsend, mq_timedreceive,\nmq_notify, mq_getsetattr.  mq_unlink has no new hooks.  Please see the\ncorresponding userspace patch to get correct output from auditd for the new\nrecord types.\n\n[fixes folded]\n\nSigned-off-by: George Wilson \u003cltcgcw@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "014149cce19c5acb19014e57a5b739b7f64e6fbf",
      "tree": "eb92d3e25264e1ff89bffcedaca88c44ff7efae2",
      "parents": [
        "d8945bb51a2bb6623cfa36b9ff63594f46d513aa"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 23 01:36:13 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:25 2006 -0400"
      },
      "message": "[PATCH] deprecate AUDIT_POSSBILE\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d8945bb51a2bb6623cfa36b9ff63594f46d513aa",
      "tree": "b369c9b853e90790a04baa70ee66a2ef9e15fd18",
      "parents": [
        "e0182909297da8d38a5d473ae7bee3d0324632a1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 18 16:01:30 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:25 2006 -0400"
      },
      "message": "[PATCH] inline more audit helpers\n\npull checks for -\u003eaudit_context into inlined wrappers\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ac03221a4fdda9bfdabf99bcd129847f20fc1d80",
      "tree": "9b65ede238b03007bfe5e25f46efca68ec0994e0",
      "parents": [
        "5d136a010de3bc16fe595987feb9ef8868f064c2"
      ],
      "author": {
        "name": "Linda Knippers",
        "email": "linda.knippers@hp.com",
        "time": "Tue May 16 22:03:48 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:24 2006 -0400"
      },
      "message": "[PATCH] update of IPC audit record cleanup\n\nThe following patch addresses most of the issues with the IPC_SET_PERM\nrecords as described in:\nhttps://www.redhat.com/archives/linux-audit/2006-May/msg00010.html\nand addresses the comments I received on the record field names.\n\nTo summarize, I made the following changes:\n\n1. Changed sys_msgctl() and semctl_down() so that an IPC_SET_PERM\n   record is emitted in the failure case as well as the success case.\n   This matches the behavior in sys_shmctl().  I could simplify the\n   code in sys_msgctl() and semctl_down() slightly but it would mean\n   that in some error cases we could get an IPC_SET_PERM record\n   without an IPC record and that seemed odd.\n\n2. No change to the IPC record type, given no feedback on the backward\n   compatibility question.\n\n3. Removed the qbytes field from the IPC record.  It wasn\u0027t being\n   set and when audit_ipc_obj() is called from ipcperms(), the\n   information isn\u0027t available.  If we want the information in the IPC\n   record, more extensive changes will be necessary.  Since it only\n   applies to message queues and it isn\u0027t really permission related, it\n   doesn\u0027t seem worth it.\n\n4. Removed the obj field from the IPC_SET_PERM record.  This means that\n   the kern_ipc_perm argument is no longer needed.\n\n5. Removed the spaces and renamed the IPC_SET_PERM field names.  Replaced iuid and\n   igid fields with ouid and ogid in the IPC record.\n\nI tested this with the lspp.22 kernel on an x86_64 box.  I believe it\napplies cleanly on the latest kernel.\n\n-- ljk\n\nSigned-off-by: Linda Knippers \u003clinda.knippers@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5d136a010de3bc16fe595987feb9ef8868f064c2",
      "tree": "ce0dbf3d5da61bc9b69fa557f0f578cd980f3147",
      "parents": [
        "0a3b483e83edb6aa6d3c49db70eeb6f1cd9f6c6b"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Thu Apr 27 16:45:14 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:23 2006 -0400"
      },
      "message": "[PATCH] minor audit updates\n\nJust a few minor proposed updates.  Only the last one will\nactually affect behavior.  The rest are just misleading\ncode.\n\nSeveral AUDIT_SET functions return \u0027old\u0027 value, but only\nreturn value \u003c0 is checked for.  So just return 0.\n\npropagate audit_set_rate_limit and audit_set_backlog_limit\nerror values\n\nIn audit_buffer_free, the audit_freelist_count was being\nincremented even when we discard the return buffer, so\naudit_freelist_count can end up wrong.  This could cause\nthe actual freelist to shrink over time, eventually\nthreatening to degrate audit performance.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0a3b483e83edb6aa6d3c49db70eeb6f1cd9f6c6b",
      "tree": "d8714c7953e2eb5f1e12243fe8098127b4e7cada",
      "parents": [
        "3c66251e573219a0532a5a07381b2f60a412d9eb"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Tue May 02 15:06:01 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:23 2006 -0400"
      },
      "message": "[PATCH] fix audit_krule_to_{rule,data} return values\n\nDon\u0027t return -ENOMEM when callers of these functions are checking for\na NULL return.  Bug noticed by Serge Hallyn.\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3c66251e573219a0532a5a07381b2f60a412d9eb",
      "tree": "b047b25d28ae1abe6bb81daba886e44e0a82094f",
      "parents": [
        "f46038ff7d23ae092d61b366332c05aab8227b48"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 06 08:26:27 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:22 2006 -0400"
      },
      "message": "[PATCH] add filtering by ppid\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f46038ff7d23ae092d61b366332c05aab8227b48",
      "tree": "b1615e261d90cd6f83065b3d8350a6b2cd7176a2",
      "parents": [
        "e1396065e0489f98b35021b97907ab4edbfb24e1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 06 08:22:52 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:22 2006 -0400"
      },
      "message": "[PATCH] log ppid\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e1396065e0489f98b35021b97907ab4edbfb24e1",
      "tree": "a276ea0a2ece9132d435adf1a1f82d0ada1ae938",
      "parents": [
        "473ae30bc7b1dda5c5791c773f95e9424ddfead9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 25 10:19:47 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:21 2006 -0400"
      },
      "message": "[PATCH] collect sid of those who send signals to auditd\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "473ae30bc7b1dda5c5791c773f95e9424ddfead9",
      "tree": "541f6f20b9131fcfb650ca491e291d3c6b148a1b",
      "parents": [
        "9044e6bca5a4a575d3c068dfccb5651a2d6a13bc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Apr 26 14:04:08 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:21 2006 -0400"
      },
      "message": "[PATCH] execve argument logging\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9044e6bca5a4a575d3c068dfccb5651a2d6a13bc",
      "tree": "e0fa2beb83c3ef4e52cc6c6b28ce3173656f4276",
      "parents": [
        "bc0f3b8ebba611291fdaa2864dbffd2d29336c64"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 22 01:09:24 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:20 2006 -0400"
      },
      "message": "[PATCH] fix deadlocks in AUDIT_LIST/AUDIT_LIST_RULES\n\nWe should not send a pile of replies while holding audit_netlink_mutex\nsince we hold the same mutex when we receive commands.  As the result,\nwe can get blocked while sending and sit there holding the mutex while\nauditctl is unable to send the next command and get around to receiving\nwhat we\u0027d sent.\n\nSolution: create skb and put them into a queue instead of sending;\nonce we are done, send what we\u0027ve got on the list.  The former can\nbe done synchronously while we are handling AUDIT_LIST or AUDIT_LIST_RULES;\nwe are holding audit_netlink_mutex at that point.  The latter is done\nasynchronously and without messing with audit_netlink_mutex.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2d9048e201bfb67ba21f05e647b1286b8a4a5667",
      "tree": "1df2ca6780d403f3209cf445f8b0b27f45098434",
      "parents": [
        "90204e0b7b51e9f2a6905adca12dc331128602c7"
      ],
      "author": {
        "name": "Amy Griffis",
        "email": "amy.griffis@hp.com",
        "time": "Thu Jun 01 13:10:59 2006 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 20 05:25:17 2006 -0400"
      },
      "message": "[PATCH] inotify (1/5): split kernel API from userspace support\n\nThe following series of patches introduces a kernel API for inotify,\nmaking it possible for kernel modules to benefit from inotify\u0027s\nmechanism for watching inodes.  With these patches, inotify will\nmaintain for each caller a list of watches (via an embedded struct\ninotify_watch), where each inotify_watch is associated with a\ncorresponding struct inode.  The caller registers an event handler and\nspecifies for which filesystem events their event handler should be\ncalled per inotify_watch.\n\nSigned-off-by: Amy Griffis \u003camy.griffis@hp.com\u003e\nAcked-by: Robert Love \u003crml@novell.com\u003e\nAcked-by: John McCutchan \u003cjohn@johnmccutchan.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "557240b48e2dc4f6fa878afc3fc767ad745ca7ed",
      "tree": "354e9de17c28b438db675f6a2b779415f1634c45",
      "parents": [
        "5603509137940f4cbc577281cee62110d4097b1b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 19 18:16:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 19 18:16:01 2006 -0700"
      },
      "message": "Add support for suspending and resuming the whole console subsystem\n\nTrying to suspend/resume with console messages flying all around is\ndoomed to failure, when the devices that the messages are trying to\ngo to are being shut down.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f53ae1dc3429529a58aa538e0a860d713c7079c3",
      "tree": "fa40b981c48269274183da0bebc9db3cad2c2f92",
      "parents": [
        "30f1e3dd8c72abda343bcf415f7d8894a02b4290"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu Jun 15 20:12:02 2006 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jun 17 10:52:13 2006 -0700"
      },
      "message": "[PATCH] arm_timer: remove a racy and obsolete PF_EXITING check\n\narm_timer() checks PF_EXITING to prevent BUG_ON(-\u003eexit_state)\nin run_posix_cpu_timers().\n\nHowever, for some reason it does so only for CPUCLOCK_PERTHREAD\ncase (which is imho wrong).\n\nAlso, this check is not reliable, PF_EXITING could be set on\nanother cpu without any locks/barriers just after the check,\nso it can\u0027t prevent from attaching the timer to the exiting\ntask.\n\nThe previous patch makes this check unneeded.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "30f1e3dd8c72abda343bcf415f7d8894a02b4290",
      "tree": "68ef326814e3b8e6ba0159cc451cef4b71695ea3",
      "parents": [
        "8f17fc20bfb75bcec4cfeda789738979c8338fdc"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu Jun 15 20:11:43 2006 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jun 17 10:52:13 2006 -0700"
      },
      "message": "[PATCH] run_posix_cpu_timers: remove a bogus BUG_ON()\n\ndo_exit() clears -\u003eit_##clock##_expires, but nothing prevents\nanother cpu to attach the timer to exiting process after that.\narm_timer() tries to protect against this race, but the check\nis racy.\n\nAfter exit_notify() does \u0027write_unlock_irq(\u0026tasklist_lock)\u0027 and\nbefore do_exit() calls \u0027schedule() local timer interrupt can find\ntsk-\u003eexit_state !\u003d 0. If that state was EXIT_DEAD (or another cpu\ndoes sys_wait4) interrupted task has -\u003esignal \u003d\u003d NULL.\n\nAt this moment exiting task has no pending cpu timers, they were\ncleanuped in __exit_signal()-\u003eposix_cpu_timers_exit{,_group}(),\nso we can just return from irq.\n\nJohn Stultz recently confirmed this bug, see\n\n\thttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d115015841413687\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8f17fc20bfb75bcec4cfeda789738979c8338fdc",
      "tree": "ec84c5222de58b4d26507c892d0b8f828a6dce7e",
      "parents": [
        "88d113601ca19c82feb038438c8c5db502d146f9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu Jun 15 20:11:15 2006 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jun 17 10:52:13 2006 -0700"
      },
      "message": "[PATCH] check_process_timers: fix possible lockup\n\nIf the local timer interrupt happens just after do_exit() sets PF_EXITING\n(and before it clears -\u003eit_xxx_expires) run_posix_cpu_timers() will call\ncheck_process_timers() with tasklist_lock + -\u003esiglock held and\n\n\tcheck_process_timers:\n\n\t\tt \u003d tsk;\n\t\tdo {\n\t\t\t....\n\n\t\t\tdo {\n\t\t\t\tt \u003d next_thread(t);\n\t\t\t} while (unlikely(t-\u003eflags \u0026 PF_EXITING));\n\t\t} while (t !\u003d tsk);\n\nthe outer loop will never stop.\n\nActually, the window is bigger.  Another process can attach the timer\nafter -\u003eit_xxx_expires was cleared (see the next commit) and the \u0027if\n(PF_EXITING)\u0027 check in arm_timer() is racy (see the one after that).\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "651d765d0b2c72d33430487c8b6ef64c60cd2134",
      "tree": "3a7253dc0b80585a03ddd581e0c00fc0f8bda7a0",
      "parents": [
        "3b5e905ee3bd23e9311951890aba57a0dbc81ca4"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Jun 07 16:10:19 2006 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Fri Jun 09 21:24:13 2006 +1000"
      },
      "message": "[PATCH] Add a prctl to change the endianness of a process.\n\nThis new prctl is intended for changing the execution mode of the\nprocessor, on processors that support both a little-endian mode and a\nbig-endian mode.  It is intended for use by programs such as\ninstruction set emulators (for example an x86 emulator on PowerPC),\nwhich may find it convenient to use the processor in an alternate\nendianness mode when executing translated instructions.\n\nNote that this does not imply the existence of a fully-fledged ABI for\nboth endiannesses, or of compatibility code for converting system\ncalls done in the non-native endianness mode.  The program is expected\nto arrange for all of its system call arguments to be presented in the\nnative endianness.\n\nSwitching between big and little-endian mode will require some care in\nconstructing the instruction sequence for the switch.  Generally the\ninstructions up to the instruction that invokes the prctl system call\nwill have to be in the old endianness, and subsequent instructions\nwill have to be in the new endianness.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "8d16b76421f0b3216012ee2d7819355e1cb847e5",
      "tree": "a2e82e62bfcf5ea0f58b17faadc4504ec6dfc933",
      "parents": [
        "760f1fce030ccc620ec430a8aff8fc604e7891ed"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Tue May 30 21:26:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed May 31 16:27:11 2006 -0700"
      },
      "message": "[PATCH] hrtimer: export symbols\n\nFrom: Stephen Hemminger \u003cshemminger@osdl.org\u003e\n\nI want to use the hrtimer\u0027s in the netem (Network Emulator) qdisc.  But the\nnecessary symbols aren\u0027t exported for module use.\n\nAlso needed by SystemTap.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"Stone, Joshua I\" \u003cjoshua.i.stone@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f1adad78dd2fc8edaa513e0bde92b4c64340245c",
      "tree": "a2cd5c53b08fa80c953147ee22b62e7bbff7ddcd",
      "parents": [
        "c9d20af62c59e49684f3882503351153964ff14b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun May 21 18:54:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun May 21 18:54:09 2006 -0700"
      },
      "message": "Revert \"[PATCH] sched: fix interactive task starvation\"\n\nThis reverts commit 5ce74abe788a26698876e66b9c9ce7e7acc25413 (and its\ndependent commit 8a5bc075b8d8cf7a87b3f08fad2fba0f5d13295e), because of\naudio underruns.\n\nReported by Rene Herman \u003crene.herman@keyaccess.nl\u003e, who also pinpointed\nthe exact cause of the underruns:\n\n  \"Audio underruns galore, with only ogg123 and firefox (browsing the\n   GIT tree online is also a nice trigger by the way).\n\n   If I back it out, everything is fine for me again.\"\n\nCc: Rene Herman \u003crene.herman@keyaccess.nl\u003e\nCc: Mike Galbraith \u003cefault@gmx.de\u003e\nAcked-by: Con Kolivas \u003ckernel@kolivas.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0662b71322e211dba9a4bc0e6fbca7861a2b5a7d",
      "tree": "bffce074929b6a36b7b1e00a485df7a5fe95cc22",
      "parents": [
        "8b1ea24c6cc529f6860c458b1c0872f22e74c950"
      ],
      "author": {
        "name": "Zachary Amsden",
        "email": "zach@vmware.com",
        "time": "Sat May 20 15:00:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun May 21 12:59:21 2006 -0700"
      },
      "message": "[PATCH] Fix a NO_IDLE_HZ timer bug\n\nUnder certain timing conditions, a race during boot occurs where timer\nticks are being processed on remote CPUs.  The remote timer ticks can\nincrement jiffies, and if this happens during a window when a timeout is\nvery close to expiring but a local tick has not yet been delivered, you can\nend up with\n\n1) No softirq pending\n2) A local timer wheel which is not synced to jiffies\n3) No high resolution timer active\n4) A local timer which is supposed to fire before the current jiffies value.\n\nIn this circumstance, the comparison in next_timer_interrupt overflows,\nbecause the base of the comparison for high resolution timers is jiffies,\nbut for the softirq timer wheel, it is relative the the current base of the\nwheel (jiffies_base).\n\nSigned-off-by: Zachary Amsden \u003czach@vmware.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "92d1dbd27417c54c23aac6a84c285e256f6118b6",
      "tree": "bab665935a47bb6889ddc3c92a9bee68f1f6f532",
      "parents": [
        "36be57ffe39e03aab9fbe857f70c7a6a15bd9e08"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Sat May 20 15:00:11 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun May 21 12:59:18 2006 -0700"
      },
      "message": "[PATCH] cpuset: might_sleep_if check in cpuset_zones_allowed\n\nIt\u0027s too easy to incorrectly call cpuset_zone_allowed() in an atomic\ncontext without __GFP_HARDWALL set, and when done, it is not noticed until\na tight memory situation forces allocations to be tried outside the current\ncpuset.\n\nAdd a \u0027might_sleep_if()\u0027 check, to catch this earlier on, instead of\nwaiting for a similar check in the mutex_lock() code, which is only rarely\ninvoked.\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "36be57ffe39e03aab9fbe857f70c7a6a15bd9e08",
      "tree": "8062e9a9e49fd942fab35e17a2b5afe571a74f63",
      "parents": [
        "bdd804f478a0cc74bf7db8e9f9d5fd379d1b31ca"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Sat May 20 15:00:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun May 21 12:59:18 2006 -0700"
      },
      "message": "[PATCH] cpuset: update cpuset_zones_allowed comment\n\nUpdate the kernel/cpuset.c:cpuset_zone_allowed() comment.\n\nThe rule for when mm/page_alloc.c should call cpuset_zone_allowed()\nwas intended to be:\n\n  Don\u0027t call cpuset_zone_allowed() if you can\u0027t sleep, unless you\n  pass in the __GFP_HARDWALL flag set in gfp_flag, which disables\n  the code that might scan up ancestor cpusets and sleep.\n\nThe explanation of this rule in the comment above cpuset_zone_allowed() was\nstale, as a result of a restructuring of some __alloc_pages() code in\nNovember 2005.\n\nRewrite that comment ...\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "18594822fcb01d4b35e05b9018f770a0b4156d1a",
      "tree": "38d35c38086a564beaac215f8e52694cdbfab1c3",
      "parents": [
        "5b5ffbc1e6d62d89747f3f59c09b2e488a7d7fce",
        "c4694c76ce28dd7e415b4f3014d8c6e580b5f3d2"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue May 16 01:19:52 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue May 16 01:19:52 2006 +0100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "5e376613899076396d0c97de67ad072587267370",
      "tree": "ecc15c25ee4da7754aa7d137dccebab68820399e",
      "parents": [
        "0159677857c5ada0a0a2c03a4dd59312382b73d0"
      ],
      "author": {
        "name": "Trent Piepho",
        "email": "xyzzy@speakeasy.org",
        "time": "Mon May 15 09:44:06 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 15 11:20:55 2006 -0700"
      },
      "message": "[PATCH] symbol_put_addr() locks kernel\n\nEven since a previous patch:\n\nFix race between CONFIG_DEBUG_SLABALLOC and modules\nSun, 27 Jun 2004 17:55:19 +0000 (17:55 +0000)\nhttp://www.kernel.org/git/?p\u003dlinux/kernel/git/torvalds/old-2.6-bkcvs.git;a\u003dcommit;h\u003d92b3db26d31cf21b70e3c1eadc56c179506d8fbe\n\nThe function symbol_put_addr() will deadlock the kernel.\n\nsymbol_put_addr() would acquire modlist_lock, then while holding the lock call\ntwo functions kernel_text_address() and module_text_address() which also try\nto acquire the same lock.  This deadlocks the kernel of course.\n\nThis patch changes symbol_put_addr() to not acquire the modlist_lock, it\ndoesn\u0027t need it since it never looks at the module list directly.  Also, it\nnow uses core_kernel_text() instead of kernel_text_address().  The latter has\nan additional check for addr inside a module, but we don\u0027t need to do that\nsince we call module_text_address() (the same function kernel_text_address\nuses) ourselves.\n\nSigned-off-by: Trent Piepho \u003cxyzzy@speakeasy.org\u003e\nCc: Zwane Mwaikambo \u003czwane@fsmlabs.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Johannes Stezenbach \u003cjs@linuxtv.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "986733e01d258c26107f1da9d8d47c718349ad2f",
      "tree": "5e0f04a707b8c341f79927ba6fffd0ad55d85c29",
      "parents": [
        "3b7c8108273bed41a2fc04533cc9f2026ff38c8e"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon May 15 09:43:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 15 11:20:55 2006 -0700"
      },
      "message": "[PATCH] RCU: introduce rcu_needs_cpu() interface\n\nWith \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\n\nIntroduce rcu_needs_cpu() interface.  This can be used to tell if there\nwill be a new rcu batch on a cpu soon by looking at the curlist pointer.\nThis can be used to avoid to enter a tickless idle state where the cpu\nwould miss that a new batch is ready when rcu_start_batch would be called\non a different cpu.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "f358166a9405e4f1d8e50d8f415c26d95505b6de"
}
