)]}'
{
  "log": [
    {
      "commit": "6622e670b26fbaa9c4ae7772a4d2d0abd3414b51",
      "tree": "0bc4da42879b0dd91f742c5fa69684b6037db05e",
      "parents": [
        "c81628848af8a01f103acc8166299c698898a8f4"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Tue Feb 02 14:41:42 2010 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 05 14:54:10 2010 +0100"
      },
      "message": "posix-timers.c: Don\u0027t export local functions\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "da15cfdae03351c689736f8d142618592e3cebc3",
      "tree": "497fe3f77e27fa9cf0a484422c7bc382031df1bd",
      "parents": [
        "8cab02dc3c58a12235c6d463ce684dded9696848"
      ],
      "author": {
        "name": "john stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Wed Aug 19 19:13:34 2009 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Aug 21 21:43:46 2009 +0200"
      },
      "message": "time: Introduce CLOCK_REALTIME_COARSE\n\nAfter talking with some application writers who want very fast, but not\nfine-grained timestamps, I decided to try to implement new clock_ids\nto clock_gettime(): CLOCK_REALTIME_COARSE and CLOCK_MONOTONIC_COARSE\nwhich returns the time at the last tick. This is very fast as we don\u0027t\nhave to access any hardware (which can be very painful if you\u0027re using\nsomething like the acpi_pm clocksource), and we can even use the vdso\nclock_gettime() method to avoid the syscall. The only trade off is you\nonly get low-res tick grained time resolution.\n\nThis isn\u0027t a new idea, I know Ingo has a patch in the -rt tree that made\nthe vsyscall gettimeofday() return coarse grained time when the\nvsyscall64 sysctrl was set to 2. However this affects all applications\non a system.\n\nWith this method, applications can choose the proper speed/granularity\ntrade-off for themselves.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: nikolag@ca.ibm.com\nCc: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nCc: arjan@infradead.org\nCc: jonathan@jonmasters.org\nLKML-Reference: \u003c1250734414.6897.5.camel@localhost.localdomain\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "70d715fd0597f18528f389b5ac59102263067744",
      "tree": "eb3a4fb2a57a19fd1b93e9e3887d9ee7f6c1e0f6",
      "parents": [
        "a33a052f19a21d727847391c8c1aff3fb221c472"
      ],
      "author": {
        "name": "Hiroshi Shimamoto",
        "email": "h-shimamoto@ct.jp.nec.com",
        "time": "Mon Aug 03 11:48:19 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 04 10:16:41 2009 +0200"
      },
      "message": "posix-timers: Fix oops in clock_nanosleep() with CLOCK_MONOTONIC_RAW\n\nPrevent calling do_nanosleep() with clockid\nCLOCK_MONOTONIC_RAW, it may cause oops, such as NULL pointer\ndereference.\n\nSigned-off-by: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\nLKML-Reference: \u003c4A764FF3.50607@ct.jp.nec.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "362e9c07c7220c0a78c88826fc0d2bf7e4a4bb68",
      "tree": "456a8d4c83c6ace345d9aae00735778eca03ab20",
      "parents": [
        "b290ebe2c46d01b742b948ce03f09e8a3efb9a92"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:07 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:20 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 05\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "32e8d18683adb322c994d1a0fe02d66380991f45",
      "tree": "1c697f6d1c042dc560b096dca76680f4acf415b3",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "0a57b783018a77ca16097198844438bdff4d012e",
        "39c04b55240342d0742ac48538d3d8c71bfc0a94",
        "b2e3c0adec918ea22b6c9d7c76193dd3aaba9bd4",
        "001474491fabeca233168a8598f721c808040f90",
        "c29541b24fb2c6301021637229ae5347c877330a",
        "8187926bdae98648db24db3391c4efd21ec669b1",
        "a5a64498c194c82ecad3a2d67cff6231cda8d3dd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 18:02:25 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 18:02:25 2008 +0100"
      },
      "message": "Merge branches \u0027timers/clocksource\u0027, \u0027timers/hpet\u0027, \u0027timers/hrtimers\u0027, \u0027timers/nohz\u0027, \u0027timers/ntp\u0027, \u0027timers/posixtimers\u0027 and \u0027timers/rtc\u0027 into timers/core\n"
    },
    {
      "commit": "3d44cc3e01ee1b40317f79ed54324e25c4f848df",
      "tree": "99feb824dd6beda01bf11c56e412ff147bf24551",
      "parents": [
        "ab65387243f47a7bc11725f733c86bf27248b326"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Dec 20 21:27:34 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 20 14:13:45 2008 -0800"
      },
      "message": "Null pointer deref with hrtimer_try_to_cancel()\n\nImpact: Prevent kernel crash with posix timer clockid CLOCK_MONOTONIC_RAW\n\ncommit 2d42244ae71d6c7b0884b5664cf2eda30fb2ae68 (clocksource:\nintroduce CLOCK_MONOTONIC_RAW) introduced a new clockid, which is only\navailable to read out the raw not NTP adjusted system time.\n\nThe above commit did not prevent that a posix timer can be created\nwith that clockid. The timer_create() syscall succeeds and initializes\nthe timer to a non existing hrtimer base. When the timer is deleted\neither by timer_delete() or by the exit() cleanup the kernel crashes.\n\nPrevent the creation of timers for CLOCK_MONOTONIC_RAW by setting the\nposix clock function to no_timer_create which returns an error code.\n\nReported-and-tested-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "899921025b406a71a8aeb2d7855658ea0cf0ed23",
      "tree": "6faf12eb15231b6a430d0e1e11a4f6fcc581874e",
      "parents": [
        "27af4245b6ce99e08c6a7c38825383bf51119cc9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Dec 01 14:18:15 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 17:00:34 2008 +0100"
      },
      "message": "posix-timers: check -\u003eit_signal instead of -\u003eit_pid to validate the timer\n\nImpact: clean up, speed up\n\n-\u003eit_pid (was -\u003eit_process) has also a special meaning: if it is NULL,\nthe timer is under deletion or it wasn\u0027t initialized yet. We can check\n-\u003eit_signal !\u003d NULL instead, this way we can\n\n\t- simplify sys_timer_create() a bit\n\n\t- remove yet another check from lock_timer()\n\n\t- move put_pid(-\u003eit_pid) into release_posix_timer() which\n\t  runs outside of -\u003eit_lock\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "27af4245b6ce99e08c6a7c38825383bf51119cc9",
      "tree": "07ab6b1da26b4d170ccaa700b2207ec1b1aff0db",
      "parents": [
        "6c34bc2976b30dc8b56392c020e25bae1f363cab"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Dec 01 14:18:13 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 12 17:00:07 2008 +0100"
      },
      "message": "posix-timers: use \"struct pid*\" instead of \"struct task_struct*\"\n\nImpact: restructure, clean up code\n\nk_itimer holds the ref to the -\u003eit_process until sys_timer_delete(). This\nallows to pin up to RLIMIT_SIGPENDING dead task_struct\u0027s. Change the code\nto use \"struct pid *\" instead.\n\nThe patch doesn\u0027t kill -\u003eit_process, it places -\u003eit_pid into the union.\n-\u003eit_process is still used by do_cpu_nanosleep() as before. It would be\ntrivial to change the nanosleep code as well, but since it uses it_process\nin a special way I think it is better to keep this field for grep.\n\nThe patch bloats the kernel by 104 bytes and it also adds the new pointer,\n-\u003eit_signal, to k_itimer. It is used by lock_timer() to verify that the\nfound timer was not created by another process. It is not clear why do we\nuse the global database (and thus the global idr_lock) for posix timers.\nWe still need the signal_struct-\u003eposix_timers which contains all useable\ntimers, perhaps it is better to use some form of per-process array\ninstead.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "268a3dcfea2077fca60d3715caa5c96f9b5e6ea7",
      "tree": "c2232774508424e677e27f296090a68c775e4669",
      "parents": [
        "c4bd822e7b12a9008241d76db45b665f2fef180c",
        "592aa999d6a272856c9bfbdaac0cfba1bb37c24c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 22 09:48:06 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 22 09:48:06 2008 +0200"
      },
      "message": "Merge branch \u0027timers/range-hrtimers\u0027 into v28-range-hrtimers-for-linus-v2\n\nConflicts:\n\n\tkernel/time/tick-sched.c\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c465a76af658b443075d6efee1c3131257643020",
      "tree": "63c28c9fab02dedec7f03cee4a3ef7fe4dc1c072",
      "parents": [
        "2d42244ae71d6c7b0884b5664cf2eda30fb2ae68",
        "1b02469088ac7a13d7e622b618b7410d0f1ce5ec",
        "fb02fbc14d17837b4b7b02dbb36142c16a7bf208",
        "d40e944c25fb4642adb2a4c580a48218a9f3f824",
        "1508487e7f16d992ad23cabd3712563ff912f413",
        "322acf6585f3c4e82ee32a246b0483ca0f6ad3f4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 13:14:06 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 20 13:14:06 2008 +0200"
      },
      "message": "Merge branches \u0027timers/clocksource\u0027, \u0027timers/hrtimers\u0027, \u0027timers/nohz\u0027, \u0027timers/ntp\u0027, \u0027timers/posixtimers\u0027 and \u0027timers/debug\u0027 into v28-timers-for-linus\n"
    },
    {
      "commit": "651dab4264e4ba0e563f5ff56f748127246e9065",
      "tree": "016630974bdcb00fe529b673f96d389e0fd6dc94",
      "parents": [
        "40b8606253552109815786e5d4b0de98782d31f5",
        "2e532d68a2b3e2aa6b19731501222069735c741c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Oct 17 09:20:26 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Oct 17 09:20:26 2008 -0700"
      },
      "message": "Merge commit \u0027linus/master\u0027 into merge-linus\n\nConflicts:\n\n\tarch/x86/kvm/i8254.c\n"
    },
    {
      "commit": "aa94fbd5ccd840c8ab26d02439ec799b03a72547",
      "tree": "37ebc732cc75d827e5779f2297b6a28c0f0eadaa",
      "parents": [
        "c0c9209ddd96bc4f1d70a8b9958710671e076080"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Oct 02 14:50:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 02 15:53:13 2008 -0700"
      },
      "message": "fix error-path NULL deref in alloc_posix_timer()\n\nFound by static checker (http://repo.or.cz/w/smatch.git).\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31d9284569e38fb97117497af3e8047a6a3c86f0",
      "tree": "a11b497fd51bdb01f42451e883a4617da3ef1d09",
      "parents": [
        "5a51b713ccf8835d5adf7217e2f86eb12b1ca851"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Sep 22 14:42:51 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 24 15:45:48 2008 +0200"
      },
      "message": "posix-timers: lock_timer: make it readable\n\nCleanup.  Imho makes the code much more understandable.  At least this\npatch lessens both the source and compiled code.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: mingo@elte.hu\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5a51b713ccf8835d5adf7217e2f86eb12b1ca851",
      "tree": "b5c67c0252bcbd5d8df9b10e9fd306d79e53e8b1",
      "parents": [
        "5a9fa73072854981a5c05eb7ba18a96d49c2804f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Sep 22 14:42:51 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 24 15:45:48 2008 +0200"
      },
      "message": "posix-timers: lock_timer: kill the bogus -\u003eit_id check\n\nlock_timer() checks that the timer found by idr_find(timer_id) has -\u003eit_id\n\u003d\u003d timer_id.  This buys nothing.  This check can fail only if\nsys_timer_create() unlocked idr_lock after idr_get_new(), but didn\u0027t set\n-\u003eit_id \u003d new_timer_id yet.  But in that case -\u003eit_process \u003d\u003d NULL so\nlock_timer() can\u0027t succeed anyway.\n\nAlso remove a couple of unneeded typecasts.\n\nNote that with or without this patch we have a small problem. \nsys_timer_create() doesn\u0027t ensure that the result of setting (say)\n-\u003eit_sigev_notify must be visible if lock_timer() succeeds.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: mingo@elte.hu\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5a9fa73072854981a5c05eb7ba18a96d49c2804f",
      "tree": "a73c0eba84744c112b794657a03d1a5159978528",
      "parents": [
        "ef864c958801768fb28bd3603cd0b098b394671c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Sep 22 14:42:50 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 24 15:45:48 2008 +0200"
      },
      "message": "posix-timers: kill -\u003eit_sigev_signo and -\u003eit_sigev_value\n\nWith the recent changes -\u003eit_sigev_signo and -\u003eit_sigev_value are only\nused in sys_timer_create(), kill them.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: mingo@elte.hu\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "ef864c958801768fb28bd3603cd0b098b394671c",
      "tree": "ea0291b5f3281b1e7d4432dd8c31e1182446cd89",
      "parents": [
        "717835d94d3e3d343a302df0a3cb9405887c3e2a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Sep 22 14:42:49 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 24 15:45:48 2008 +0200"
      },
      "message": "posix-timers: sys_timer_create: cleanup the error handling\n\nCleanup.\n\n- sys_timer_create() is big and complicated. The code above the \"out:\"\n  label relies on the fact that \"error\" must be \u003d\u003d 0. This is not very\n  robust, make the code more explicit. Remove the unneeded initialization\n  of error.\n\n- If idr_get_new() succeeds (as it normally should), we check the returned\n  value twice. Move the \"-EAGAIN\" check under \"if (error)\".\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: mingo@elte.hu\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "717835d94d3e3d343a302df0a3cb9405887c3e2a",
      "tree": "52da10bec8843d3869049440776d91cde95b04a4",
      "parents": [
        "36b2f046000b358b62b9d116cb10a2b1c5be5cbf"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Sep 22 14:42:49 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 24 15:45:48 2008 +0200"
      },
      "message": "posix-timers: move the initialization of timer-\u003esigq from send to create path\n\nposix_timer_event() always populates timer-\u003esigq with the same numbers,\nmove this code into sys_timer_create().\n\nNote that with this patch we can kill it_sigev_signo and it_sigev_value.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: mingo@elte.hu\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "36b2f046000b358b62b9d116cb10a2b1c5be5cbf",
      "tree": "577f367d2408d6ed2618d49f412afa91bcb915e8",
      "parents": [
        "2cd499e38ec241691e4bce50bddc8f57e4cc9bd0"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Sep 22 14:42:48 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 24 15:45:48 2008 +0200"
      },
      "message": "posix-timers: sys_timer_create: simplify and s/tasklist/rcu/\n\n- Change the code to do rcu_read_lock() instead of taking tasklist_lock,\n  it is safe to get_task_struct(p) if p was found under RCU.\n\n  However, now we must not use process\u0027s sighand/signal, they may be NULL.\n  We can use current-\u003esighand/signal instead, this \"process\" must belong\n  to the current\u0027s thread-group.\n\n- Factor out the common code for 2 \"if (timer_event_spec)\" branches, the\n  !timer_event_spec case can use current too.\n\n- use spin_lock_irq() instead of _irqsave(), kill \"flags\".\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: mingo@elte.hu\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2cd499e38ec241691e4bce50bddc8f57e4cc9bd0",
      "tree": "6d0b1d89b92014b5b5177a56c244ac37cfae54d0",
      "parents": [
        "918fc0372831dca73039e1577bfea0c2ce49bdb6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Sep 22 14:42:47 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 24 15:45:47 2008 +0200"
      },
      "message": "posix-timers: sys_timer_create: remove the buggy PF_EXITING check\n\nsys_timer_create() return -EINVAL if the target thread has PF_EXITING.\n\nThis doesn\u0027t really make sense, the sub-thread can die right after unlock.\nAnd in fact, this is just wrong.  Without SIGEV_THREAD_ID good_sigevent()\nreturns -\u003egroup_leader, and it is very possible that the leader is already\ndead.  This is OK, we shouldn\u0027t return the error in this case.\n\nRemove this check and the comment.  Note that the \"process\" was found\nunder tasklist_lock, it must have -\u003esighand !\u003d NULL.\n\nAlso, remove a couple of unneeded initializations.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: mingo@elte.hu\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "918fc0372831dca73039e1577bfea0c2ce49bdb6",
      "tree": "c8c11b7929fc0f0768109679a3733dd3eb6741c6",
      "parents": [
        "4aa7361179bed905fd0f35b236a5c65db683b9e0"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Sep 22 14:42:46 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 24 15:45:47 2008 +0200"
      },
      "message": "posix-timers: always do get_task_struct(timer-\u003eit_process)\n\nChange the code to get/put timer-\u003eit_process regardless of\nSIGEV_THREAD_ID.  This streamlines the create/destroy paths and allows us\nto simplify the usage of exit_itimers() in de_thread().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: mingo@elte.hu\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4aa7361179bed905fd0f35b236a5c65db683b9e0",
      "tree": "115b16f51fafc38f8a76c9fd7e71ce44884aa8e7",
      "parents": [
        "bb34d92f643086d546b49cef680f6f305ed84414"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Sep 22 14:42:46 2008 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Sep 24 15:45:47 2008 +0200"
      },
      "message": "posix-timers: don\u0027t switch to -\u003egroup_leader if -\u003eit_process dies\n\nposix_timer_event() drops SIGEV_THREAD_ID and switches to -\u003egroup_leader\nif send_sigqueue() fails.\n\nThis is not very useful and doesn\u0027t work reliably.  send_sigqueue() can\nonly fail if -\u003eit_process is dead.  But it can die before it dequeues the\nSI_TIMER signal, in that case the timer stops anyway.\n\nRemove this code.  I guess it was needed a long ago to ensure that the\ntimer is not destroyed when when its creator thread dies.\n\nQ: perhaps it makes sense to change sys_timer_settime() to return an error\nif -\u003eit_process is dead?\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: mingo@elte.hu\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cc584b213f252bf698849cf4be2377cd3ec7501a",
      "tree": "621ba11da6a2ab8598f9ed453836cd2c44192260",
      "parents": [
        "23dd7bb09bd8d7efd8a602aed97b93d52f85e675"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Sep 01 15:02:30 2008 -0700"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Sep 05 21:35:13 2008 -0700"
      },
      "message": "hrtimer: convert kernel/* to the new hrtimer apis\n\nIn order to be able to do range hrtimers we need to use accessor functions\nto the \"expire\" member of the hrtimer struct.\nThis patch converts kernel/* to these accessors.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "2d42244ae71d6c7b0884b5664cf2eda30fb2ae68",
      "tree": "947e86ec6e2d7362daa9a170a352c035f3618d64",
      "parents": [
        "9a055117d3d9cb562f83f8d4cd88772761f4cab0"
      ],
      "author": {
        "name": "John Stultz",
        "email": "johnstul@us.ibm.com",
        "time": "Wed Aug 20 16:37:30 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Aug 21 09:50:24 2008 +0200"
      },
      "message": "clocksource: introduce CLOCK_MONOTONIC_RAW\n\nIn talking with Josip Loncaric, and his work on clock synchronization (see\nbtime.sf.net), he mentioned that for really close synchronization, it is\nuseful to have access to \"hardware time\", that is a notion of time that is\nnot in any way adjusted by the clock slewing done to keep close time sync.\n\nPart of the issue is if we are using the kernel\u0027s ntp adjusted\nrepresentation of time in order to measure how we should correct time, we\ncan run into what Paul McKenney aptly described as \"Painting a road using\nthe lines we\u0027re painting as the guide\".\n\nI had been thinking of a similar problem, and was trying to come up with a\nway to give users access to a purely hardware based time representation\nthat avoided users having to know the underlying frequency and mask values\nneeded to deal with the wide variety of possible underlying hardware\ncounters.\n\nMy solution is to introduce CLOCK_MONOTONIC_RAW.  This exposes a\nnanosecond based time value, that increments starting at bootup and has no\nfrequency adjustments made to it what so ever.\n\nThe time is accessed from userspace via the posix_clock_gettime() syscall,\npassing CLOCK_MONOTONIC_RAW as the clock_id.\n\nSigned-off-by: John Stultz \u003cjohnstul@us.ibm.com\u003e\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "67a077dca4e648a662e32cbeaaba8094d2e30229",
      "tree": "2f8943838b73b0a8ea590b1aaad9294eb280ea1e",
      "parents": [
        "9b4d0bab32e18e4f72781f9fa309a81495b2aff3",
        "2106b531eaa2edd0c2dfa735a0556c08c7ba3c86"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 11 16:46:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 11 16:46:11 2008 -0700"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  posix-timers: fix posix_timer_event() vs dequeue_signal() race\n  posix-timers: do_schedule_next_timer: fix the setting of -\u003esi_overrun\n"
    },
    {
      "commit": "96347e7759e2e433c427defa0fa1adfc8cce6226",
      "tree": "0b78316c887be06b269288d7306d6cac038fe644",
      "parents": [
        "4b7a1304267bff68260ae861784b27130e805be3"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:38 2008 -0700"
      },
      "message": "posix timers: release_posix_timer: kill the bogus put_task_struct(-\u003eit_process);\n\nrelease_posix_timer() can\u0027t be called with -\u003eit_process !\u003d NULL.  Once\nsys_timer_create() sets -\u003eit_process it must not call\nrelease_posix_timer(), otherwise we can race with another thread doing\nsys_timer_delete(), this timer is visible to idr_find() and unlocked.\n\nThe same is true for two other callers (actually, for any possible\ncaller), sys_timer_delete() and itimer_delete().  They must clear\n-\u003eit_process before unlock_timer() + release_posix_timer().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b7a1304267bff68260ae861784b27130e805be3",
      "tree": "65065cc702a9d73fba4a85d0bdab5ed326a5b479",
      "parents": [
        "da5ef6bb96158b0fc0d808704237a453af449124"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Jul 25 01:47:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:38 2008 -0700"
      },
      "message": "posix timers: timer_delete: remove the bogus \"-\u003eit_process !\u003d NULL\" check\n\nsys_timer_delete() and itimer_delete() check \"timer-\u003eit_process !\u003d NULL\",\nthis looks completely bogus.  -\u003eit_process \u003d\u003d NULL means that this timer\nis already under destruction or it is not fully initialized, this must not\nhappen.\n\n\tsys_timer_delete: the timer is locked, and lock_timer() can\u0027t succeed\n\tif -\u003eit_process \u003d\u003d NULL.\n\n\titimer_delete: it is called by exit_itimers() when there are no other\n\tthreads which can play with signal_struct-\u003eposix_timers.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba661292a2bc6ddd305a212b0526e5dc22195fe7",
      "tree": "69d5749d967c67deffb6d804f61c359f5da928ad",
      "parents": [
        "54da1174922cddd4be83d5a364b2e0fdd693f513"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Jul 23 20:52:05 2008 +0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jul 24 01:26:08 2008 +0200"
      },
      "message": "posix-timers: fix posix_timer_event() vs dequeue_signal() race\n\nThe bug was reported and analysed by Mark McLoughlin \u003cmarkmc@redhat.com\u003e,\nthe patch is based on his and Roland\u0027s suggestions.\n\nposix_timer_event() always rewrites the pre-allocated siginfo before sending\nthe signal. Most of the written info is the same all the time, but memset(0)\nis very wrong. If -\u003esigq is queued we can race with collect_signal() which\ncan fail to find this siginfo looking at .si_signo, or copy_siginfo() can\ncopy the wrong .si_code/si_tid/etc.\n\nIn short, sys_timer_settime() can in fact stop the active timer, or the user\ncan receive the siginfo with the wrong .si_xxx values.\n\nMove \"memset(-\u003einfo, 0)\" from posix_timer_event() to alloc_posix_timer(),\nchange send_sigqueue() to set .si_overrun \u003d 0 when -\u003esigq is not queued.\nIt would be nice to move the whole sigq-\u003einfo initialization from send to\ncreate path, but this is not easy to do without uglifying timer_create()\nfurther.\n\nAs Roland rightly pointed out, we need more cleanups/fixes here, see the\n\"FIXME\" comment in the patch. Hopefully this patch makes sense anyway, and\nit can mask the most bad implications.\n\nReported-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nCc: Oliver Pinter \u003coliver.pntr@gmail.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: stable@kernel.org\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n kernel/posix-timers.c |   17 +++++++++++++----\n kernel/signal.c       |    1 +\n 2 files changed, 14 insertions(+), 4 deletions(-)\n\n"
    },
    {
      "commit": "54da1174922cddd4be83d5a364b2e0fdd693f513",
      "tree": "9ecd24b3fbe314421f25223b1fa738f0265d52a5",
      "parents": [
        "81d50bb254ed53a0da45a65988e4e1fa08e8a541"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Jul 23 20:52:05 2008 +0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jul 24 01:26:08 2008 +0200"
      },
      "message": "posix-timers: do_schedule_next_timer: fix the setting of -\u003esi_overrun\n\ndo_schedule_next_timer() sets info-\u003esi_overrun \u003d timr-\u003eit_overrun_last,\nthis discards the already accumulated overruns.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nCc: Oliver Pinter \u003coliver.pntr@gmail.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: stable@kernel.org\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "ac5c215383f43a106ba4ef298126bf78c126f5e9",
      "tree": "77340eea86103df7bc3b4a6c6d83f4140004bc9c",
      "parents": [
        "e62e6650e99a3dffcd0bf0d063cd818fbc13fa95"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: join send_sigqueue() with send_group_sigqueue()\n\nWe export send_sigqueue() and send_group_sigqueue() for the only user,\nposix_timer_event().  This is a bit silly, because both are just trivial\nhelpers on top of do_send_sigqueue() and because the we pass the unused\n.si_signo parameter.\n\nKill them both, rename do_send_sigqueue() to send_sigqueue(), and export it.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6550207538619bc9b90bac2e1d5e54902a432ad",
      "tree": "cc9bb9b5153810b544c2afcc7721353ff5ce957d",
      "parents": [
        "5a6483feb0c5193519625d0ea8c4254364d423cc"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Feb 26 10:47:18 2008 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Fri Apr 18 22:17:04 2008 -0400"
      },
      "message": "kernel: Remove unnecessary inclusions of asm/semaphore.h\n\nNone of these files use any of the functionality promised by\nasm/semaphore.h.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "5a7780e725d1bb4c3094fcc12f1c5c5faea1e988",
      "tree": "50fc5cde427f3854d0b84ba1037fef3fb4693e11",
      "parents": [
        "e760e716d47b48caf98da348368fd41b4a9b9e7e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 13 09:20:43 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 14 22:08:30 2008 +0100"
      },
      "message": "hrtimer: check relative timeouts for overflow\n\nVarious user space callers ask for relative timeouts. While we fixed\nthat overflow issue in hrtimer_start(), the sites which convert\nrelative user space values to absolute timeouts themself were uncovered.\n\nInstead of putting overflow checks into each place add a function\nwhich does the sanity checking and convert all affected callers to use\nit.\n\nThanks to Frans Pop, who reported the problem and tested the fixes.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Frans Pop \u003celendil@planet.nl\u003e\n\n"
    },
    {
      "commit": "080344b98805553f9b01de0f59a41b1533036d8d",
      "tree": "df56b37cca4b0ce233967682526158b58fa151b9",
      "parents": [
        "e13a2e61dd5152f5499d2003470acf9c838eab84"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Fri Feb 01 17:29:05 2008 +0300"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Feb 10 10:48:03 2008 +0100"
      },
      "message": "hrtimer: fix *rmtp handling in hrtimer_nanosleep()\n\nSpotted by Pavel Emelyanov and Alexey Dobriyan.\n\nhrtimer_nanosleep() sets restart_block-\u003earg1 \u003d rmtp, but this rmtp points to\nthe local variable which lives in the caller\u0027s stack frame. This means that\nif sys_restart_syscall() actually happens and it is interrupted as well, we\ndon\u0027t update the user-space variable, but write into the already dead stack\nframe.\n\nIntroduced by commit 04c227140fed77587432667a574b14736a06dd7f\nhrtimer: Rework hrtimer_nanosleep to make sys_compat_nanosleep easier\n\nChange the callers to pass \"__user *rmtp\" to hrtimer_nanosleep(), and change\nhrtimer_nanosleep() to use copy_to_user() to actually update *rmtp.\n\nSmall problem remains. man 2 nanosleep states that *rtmp should be written if\nnanosleep() was interrupted (it says nothing whether it is OK to update *rmtp\nif nanosleep returns 0), but (with or without this patch) we can dirty *rem\neven if nanosleep() returns 0.\n\nNOTE: this patch doesn\u0027t change compat_sys_nanosleep(), because it has other\nbugs. Fixed by the next patch.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: Pavel Emelyanov \u003cxemul@sw.ru\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Toyo Abe \u003ctoyoa@mvista.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n include/linux/hrtimer.h |    2 -\n kernel/hrtimer.c        |   51 +++++++++++++++++++++++++-----------------------\n kernel/posix-timers.c   |   14 +------------\n 3 files changed, 30 insertions(+), 37 deletions(-)\n\n"
    },
    {
      "commit": "8dc86af00612e5ccff3384c17575362a3f2a2ca0",
      "tree": "04ed08d10cc99d4a283c8ccac078c4ac544b7b94",
      "parents": [
        "20a8143eaa3300a58326156eaf43e03db0fd2cb6"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:21:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:41 2008 -0800"
      },
      "message": "Use find_task_by_vpid in posix timers\n\nAll the functions that need to lookup a task by pid in posix timers obtain\nthis pid from a user space, and thus this value refers to a task in the same\nnamespace, as the current task lives in.\n\nSo the proper behavior is to call find_task_by_vpid() here.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d672e7ac79b5ec5cdc90e450823441e20464691",
      "tree": "66da3aa0bf7f7ac80376a93f17edbb2246b2df06",
      "parents": [
        "5e05ad7d4e3b11f935998882b5d9c3b257137f1b"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Mon Feb 04 22:27:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "timerfd: new timerfd API\n\nThis is the new timerfd API as it is implemented by the following patch:\n\nint timerfd_create(int clockid, int flags);\nint timerfd_settime(int ufd, int flags,\n\t\t    const struct itimerspec *utmr,\n\t\t    struct itimerspec *otmr);\nint timerfd_gettime(int ufd, struct itimerspec *otmr);\n\nThe timerfd_create() API creates an un-programmed timerfd fd.  The \"clockid\"\nparameter can be either CLOCK_MONOTONIC or CLOCK_REALTIME.\n\nThe timerfd_settime() API give new settings by the timerfd fd, by optionally\nretrieving the previous expiration time (in case the \"otmr\" parameter is not\nNULL).\n\nThe time value specified in \"utmr\" is absolute, if the TFD_TIMER_ABSTIME bit\nis set in the \"flags\" parameter.  Otherwise it\u0027s a relative time.\n\nThe timerfd_gettime() API returns the next expiration time of the timer, or\n{0, 0} if the timerfd has not been set yet.\n\nLike the previous timerfd API implementation, read(2) and poll(2) are\nsupported (with the same interface).  Here\u0027s a simple test program I used to\nexercise the new timerfd APIs:\n\nhttp://www.xmailserver.org/timerfd-test2.c\n\n[akpm@linux-foundation.org: coding-style cleanups]\n[akpm@linux-foundation.org: fix ia64 build]\n[akpm@linux-foundation.org: fix m68k build]\n[akpm@linux-foundation.org: fix mips build]\n[akpm@linux-foundation.org: fix alpha, arm, blackfin, cris, m68k, s390, sparc and sparc64 builds]\n[heiko.carstens@de.ibm.com: fix s390]\n[akpm@linux-foundation.org: fix powerpc build]\n[akpm@linux-foundation.org: fix sparc64 more]\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b0a3e7b18b8d9894f3621672ac7bdc5320459c4",
      "tree": "5ee9be87df96c0352d0638306639965fb247c6b0",
      "parents": [
        "1e4478c325caadb135572f9a907761505dcbce39"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Feb 03 17:48:04 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 17:48:04 2008 +0200"
      },
      "message": "kernel/: Spelling fixes\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "bac0abd6174e427404dd197cdbefece31e97329b",
      "tree": "68ed6bd8619552c921c9fb99e83cb04fcb235a39",
      "parents": [
        "19b9b9b54e5f115907efd56be2c3799775a46561"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:40 2007 -0700"
      },
      "message": "Isolate some explicit usage of task-\u003etgid\n\nWith pid namespaces this field is now dangerous to use explicitly, so hide\nit behind the helpers.\n\nAlso the pid and pgrp fields o task_struct and signal_struct are to be\ndeprecated.  Unfortunately this patch cannot be sent right now as this\nleads to tons of warnings, so start isolating them, and deprecate later.\n\nActually the p-\u003etgid \u003d\u003d pid has to be changed to has_group_leader_pid(),\nbut Oleg pointed out that in case of posix cpu timers this is the same, and\nthread_group_leader() is more preferable.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04c227140fed77587432667a574b14736a06dd7f",
      "tree": "56cc470fae9f0d78d499c9ab2ab526acb35440e4",
      "parents": [
        "d85714d81cc0408daddb68c10f7fd69eafe7c213"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Mon Oct 15 16:06:04 2007 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 18 22:54:18 2007 +0200"
      },
      "message": "hrtimer: Rework hrtimer_nanosleep to make sys_compat_nanosleep easier\n\nPull the copy_to_user out of hrtimer_nanosleep and into the callers\n(common_nsleep, sys_nanosleep) in preparation for converting\ncompat_sys_nanosleep to use hrtimers.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "040b5c6f9503f2d6b35c335f8537bb3035d35547",
      "tree": "71f1693fbcaf9e2a953e66fdf13bbbc20510b60e",
      "parents": [
        "c4f3b63fe15b4629aa1ec163c95ab30423d0f76a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Oct 16 23:26:10 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:47 2007 -0700"
      },
      "message": "SLAB_PANIC more (proc, posix-timers, shmem)\n\nThese aren\u0027t modular, so SLAB_PANIC is OK.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5ba253313d014364a9b87b6fa975ce2fc9759aa6",
      "tree": "b6f7b222b980d7a28e8d73d6cf939454a77205b1",
      "parents": [
        "b4482a4b2e2ff5ed96d8d16d72e83e75064062c5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sun Oct 14 19:35:50 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Oct 14 12:41:52 2007 -0700"
      },
      "message": "more low-hanging fruits - kernel, fs, lib signedness\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d02479bdeb1c9b037892061cdcf4e730183391fa",
      "tree": "1268f3dcf973f8fc3d86c84d9b09ff9048647491",
      "parents": [
        "179394af7a2baa1d0a3cb1670075310d72247d38"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Aug 22 14:01:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Aug 22 19:52:46 2007 -0700"
      },
      "message": "posix-timers: fix creation race\n\nsys_timer_create() sets -\u003eit_process and unlocks -\u003esiglock, then checks\ntmr-\u003eit_sigev_notify to define if get_task_struct() is needed.\n\nWe already passed -\u003eit_id to the caller, another thread can delete this timer\nand free its memory in between.\n\nAs a minimal fix, move this code under -\u003esiglock, sys_timer_delete() takes it\ntoo before calling release_posix_timer().  A proper serialization would be to\ntake -\u003eit_lock, we add a partly initialized timer on posix_timers_id, not\ngood.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "179394af7a2baa1d0a3cb1670075310d72247d38",
      "tree": "f15d4ad366b1bfa7787d6a6a809816f507c4a23a",
      "parents": [
        "928923c76b393e38e5ba1d47e843e208ceef6cf9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Aug 22 14:01:37 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Aug 22 19:52:45 2007 -0700"
      },
      "message": "posix-timers: fix deletion race\n\ntimer_delete does:\n\tlock_timer();\n\ttimer-\u003eit_process \u003d NULL;\n\tunlock_timer();\n\trelease_posix_timer();\n\ntimer-\u003eit_process is checked in lock_timer() to prevent access to a\ntimer, which is on the way to be deleted, but the check happens after\nidr_lock is dropped. This allows release_posix_timer() to delete the\ntimer before the lock code can check the timer:\n\n  CPU 0\t\t\t\tCPU 1\n\n  lock_timer();\n  timer-\u003eit_process \u003d NULL;\n  unlock_timer();\n\t\t\t\tlock_timer()\n\t\t\t\t\tspin_lock(idr_lock);\n\t\t\t\t\ttimer \u003d idr_find();\n\t\t\t\t\tspin_lock(timer-\u003elock);\n\t\t\t\t\tspin_unlock(idr_lock);\n  release_posix_timer();\n\tspin_lock(idr_lock);\n\tidr_remove(timer);\n\tspin_unlock(idr_lock);\n\tfree_timer(timer);\n\t\t\t\t\tif (timer-\u003e......)\n\nChange the locking to prevent this.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "58229a18994215bbfe0bcd1c99d2e039f30b076b",
      "tree": "c910efcef828d1bc5dd3e43a9575a8164504779c",
      "parents": [
        "b9bae3402572dc50a1e084c5b1ae5117918ef0f0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 21 20:45:15 2007 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jun 21 15:57:04 2007 -0700"
      },
      "message": "posix-timers: Prevent softirq starvation by small intervals and SIG_IGN\n\nposix-timers which deliver an ignored signal are currently rearmed in\nthe timer softirq: This is necessary because the timer needs to be\ndelivered again when SIG_IGN is removed. This is not a problem, when\nthe interval is reasonable.\n\nWith high resolution timers enabled one might arm a posix timer with a\nvery small interval and ignore the signal. This might lead to a\nsoftirq starvation when the interval is so small that the timer is\nrequeued onto the softirq pending list right away.\n\nThis problem was pointed out by Jan Kiszka. Thanks Jan !\n\nThe correct solution would be to stop the timer, when the signal is\nignored and rearm it when SIG_IGN is removed. Unfortunately this\nrequires modification in sigaction and involves non trivial sighand\nlocking. It\u0027s too late in the release cycle for such a change.\n\nFor now we just keep the timer running and enforce that the timer only\nfires every jiffie. This does not break anything as we keep the\noverrun counter correct. It adds a little inaccuracy to the\ntimer_gettime() interface, but...\n\nThe more complex change is necessary anyway to fix another short\ncoming of the current implementation, which I discovered while looking\nat this problem: A pending signal is discarded when SIG_IGN is set. In\ncase that a posixtimer signal is pending then it is discarded as well,\nbut when SIG_IGN is removed later nothing rearms the timer. This is\nnot new, it\u0027s that way since posix timers have been merged. So nothing\nto worry about right now.\n\nI have a working solution to fix all of this, but the impact is too\nlarge for both stable and 2.6.22. I\u0027m going to send it out for review\nin the next days.\n\nThis should go into 2.6.21.stable as well.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Jan Kiszka \u003cjan.kiszka@web.de\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Stable Team \u003cstable@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54cdfdb47f73b5af3d1ebb0f1e383efbe70fde9e",
      "tree": "e2f76277f6b7546e53c3a1d025e31bceb10bbff5",
      "parents": [
        "d40891e75fc1f646dce57d5d3bd1349a6aaf7a0e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:28:11 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:59 2007 -0800"
      },
      "message": "[PATCH] hrtimers: add high resolution timer support\n\nImplement high resolution timers on top of the hrtimers infrastructure and the\nclockevents / tick-management framework.  This provides accurate timers for\nall hrtimer subsystem users.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9cb2e3d7c9178ab75d0942f96abb3abe0369906",
      "tree": "2d4a5470ece5efe82463653678c491c2f249d560",
      "parents": [
        "fd064b9b7770d5c7705bf9542950c7bd81c30f98"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 16 01:27:49 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 16 08:13:58 2007 -0800"
      },
      "message": "[PATCH] hrtimers: namespace and enum cleanup\n\n- hrtimers did not use the hrtimer_restart enum and relied on the implict\n  int representation. Fix the prototypes and the functions using the enums.\n- Use seperate name spaces for the enumerations\n- Convert hrtimer_restart macro to inline function\n- Add comments\n\nNo functional changes.\n\n[akpm@osdl.org: fix input driver]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: john stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c376222960ae91d5ffb9197ee36771aaed1d9f90",
      "tree": "7f431c42529fec77433d33490bd9f2a8c47ba091",
      "parents": [
        "1b135431abf5ea92e61bf4e91d93726c7b96da5f"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:45:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:27 2007 -0800"
      },
      "message": "[PATCH] Transform kmem_cache_alloc()+memset(0) -\u003e kmem_cache_zalloc().\n\nReplace appropriate pairs of \"kmem_cache_alloc()\" + \"memset(0)\" with the\ncorresponding \"kmem_cache_zalloc()\" call.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nAcked-by: Joel Becker \u003cJoel.Becker@oracle.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\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": "f30c2269544bffc7bf1b0d7c0abe5be1be83b8cb",
      "tree": "2f6140d8a555af6a133690ed6b42599e78a43c54",
      "parents": [
        "670e9f34ee3c7e052514c85014d2fdd99b672cdc"
      ],
      "author": {
        "name": "Uwe Zeisberger",
        "email": "Uwe_Zeisberger@digi.com",
        "time": "Tue Oct 03 23:01:26 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 23:01:26 2006 +0200"
      },
      "message": "fix file specification in comments\n\nMany files include the filename at the beginning, serveral used a wrong one.\n\nSigned-off-by: Uwe Zeisberger \u003cUwe_Zeisberger@digi.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "1711ef3866b0360e102327389fe4b76c849bbe83",
      "tree": "b74a2cb6167840563d450859a571d6685966b771",
      "parents": [
        "9c4751fd0eab5b8ebbfafb28cbcc8e03b0da5933"
      ],
      "author": {
        "name": "Toyo Abe",
        "email": "toyoa@mvista.com",
        "time": "Fri Sep 29 02:00:28 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:15 2006 -0700"
      },
      "message": "[PATCH] posix-timers: Fix clock_nanosleep() doesn\u0027t return the remaining time in compatibility mode\n\nThe clock_nanosleep() function does not return the time remaining when the\nsleep is interrupted by a signal.\n\nThis patch creates a new call out, compat_clock_nanosleep_restart(), which\nhandles returning the remaining time after a sleep is interrupted.  This\npatch revives clock_nanosleep_restart().  It is now accessed via the new\ncall out.  The compat_clock_nanosleep_restart() is used for compatibility\naccess.\n\nSince this is implemented in compatibility mode the normal path is\nvirtually unaffected - no real performance impact.\n\nSigned-off-by: Toyo Abe \u003ctoyoa@mvista.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "05cfb614ddbf3181540ce09d44d96486f8ba8d6a",
      "tree": "aafed98638557a4643141d906fbb2406f0764a94",
      "parents": [
        "df869b630d9d9131c10cf073fb61646048874b2f"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sun Mar 26 01:38:12 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:03 2006 -0800"
      },
      "message": "[PATCH] hrtimers: remove data field\n\nThe nanosleep cleanup allows to remove the data field of hrtimer.  The\ncallback function can use container_of() to get it\u0027s own data.  Since the\nhrtimer structure is anyway embedded in other structures, this adds no\noverhead.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3b98a5328171cebc867f70484b20bd34948cd7f6",
      "tree": "11510d45aec22c742baf6b67233dc1ebdfa17ee1",
      "parents": [
        "44f21475511bbc0135b52c66ad74dcc6a9026da3"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sun Mar 26 01:38:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:02 2006 -0800"
      },
      "message": "[PATCH] hrtimers: posix-timer: cleanup common_timer_get()\n\nCleanup common_timer_get() a little.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "44f21475511bbc0135b52c66ad74dcc6a9026da3",
      "tree": "5cbd605c9d074f40b52a877859957432311b2399",
      "parents": [
        "92127c7a45d4d167d9b015a5f9de6b41ed66f1d0"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Sun Mar 26 01:38:06 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:57:02 2006 -0800"
      },
      "message": "[PATCH] hrtimers: pass current time to hrtimer_forward()\n\nPass current time to hrtimer_forward().  This allows to use the softirq time\nin the timer base when the forward function is called from the timer callback.\n Other places pass current time with a call to timer-\u003ebase-\u003eget_time().\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "97d1f15b7ef52c1e9c28dc48b454024bb53a5fd2",
      "tree": "7bdb928096eec577e75897351f639d3f94441c87",
      "parents": [
        "e723ccd805857a46d3b63fbd20edea8579c6c541"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Thu Mar 23 03:00:24 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:10 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: kernel/\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\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": "a0a0c28c1a7109d7955815074c52cac079ab3ba5",
      "tree": "7b2497a9836f1a3c964cb02b8067af3053524c10",
      "parents": [
        "67890d7084085e29c51afa2514036d42643fd3cf"
      ],
      "author": {
        "name": "Roman Zippel",
        "email": "zippel@linux-m68k.org",
        "time": "Thu Mar 16 23:04:01 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 17 07:51:25 2006 -0800"
      },
      "message": "[PATCH] posix-timers: fix requeue accounting when signal is ignored\n\nWhen the posix-timer signal is ignored then the timer is rearmed by the\ncallback function.  The requeue pending accounting has to be fixed up else\nthe state might be wrong.\n\nSigned-off-by: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "493f01d1d0699ddafc30067d33fcc18d0b95b624",
      "tree": "0e003b5e3ae425bccb30165aaeb21e128696fc1c",
      "parents": [
        "952bbc87f01f552ef091a62ea2a721b5b2670e74"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Feb 01 03:05:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:13 2006 -0800"
      },
      "message": "[PATCH] kernel/posix-timers.c: remove do_posix_clock_notimer_create()\n\nThis function is neither used nor has any real contents.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "952bbc87f01f552ef091a62ea2a721b5b2670e74",
      "tree": "21e98d4d4c715c30987dac59cc309ecd1987f20c",
      "parents": [
        "66188fae3bf7f8dd951e2291d2a81888ed1b65de"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 01 03:05:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:13 2006 -0800"
      },
      "message": "[PATCH] hrtimers: set correct initial expiry time for relative SIGEV_NONE timers\n\nThe expiry time for relative timers with SIGEV_NONE set was never\nupdated to the correct value.\n\nPointed out by George Anzinger.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7978672c4d9a1e6a6081de3a9d9ba5e5b24904a0",
      "tree": "a7deb3a6e339e691078c770d4b9cbc05d99a2243",
      "parents": [
        "ff60a5dc4fa584d47022d2533bc5c53b80096fb5"
      ],
      "author": {
        "name": "George Anzinger",
        "email": "george@wildturkeyranch.net",
        "time": "Wed Feb 01 03:05:11 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:13 2006 -0800"
      },
      "message": "[PATCH] hrtimers: cleanups and simplifications\n\nClean up the interface to hrtimers by changing the init code to pass the mode\nas well as the clock.  This allow the init code to select the correct base and\neliminates extra timer re-init code in posix-timers.  We also simplify the\nrestart interface nanosleep use.\n\nSigned-off-by: George Anzinger \u003cgeorge@mvista.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b6557fbca805217588a412f391a65ceafcf1a1af",
      "tree": "2739d606680c2f68fc33def5d107b2862b9bfe86",
      "parents": [
        "bc1978d404befacd272d0321ef749cc3192e488b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 01 03:05:09 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:12 2006 -0800"
      },
      "message": "[PATCH] hrtimers: fix possible use of NULL pointer in posix-timers\n\nFixup the conversion of posix-timers to hrtimers.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "858119e159384308a5dde67776691a2ebf70df0f",
      "tree": "f360768f999d51edc0863917ce0bf79e88c0ec4c",
      "parents": [
        "b0a9499c3dd50d333e2aedb7e894873c58da3785"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Sat Jan 14 13:20:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Jan 14 18:27:06 2006 -0800"
      },
      "message": "[PATCH] Unlinline a bunch of other functions\n\nRemove the \"inline\" keyword from a bunch of big functions in the kernel with\nthe goal of shrinking it by 30kb to 40kb\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "becf8b5d00f4b47e847f98322cdaf8cd16243861",
      "tree": "152ba7583324c64d34ecc70d5401957ca7225761",
      "parents": [
        "97735f25d2ba898ec5e13746451525580631c834"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 09 20:52:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:39 2006 -0800"
      },
      "message": "[PATCH] hrtimer: convert posix timers completely\n\n- convert posix-timers.c to use hrtimers\n\n- remove the now obsolete abslist code\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "97735f25d2ba898ec5e13746451525580631c834",
      "tree": "a6da1078f04bec45967bd83f340b6f7bde731f5d",
      "parents": [
        "6ba1b91213e81aa92b5cf7539f7d2a94ff54947c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 09 20:52:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:38 2006 -0800"
      },
      "message": "[PATCH] hrtimer: switch clock_nanosleep to hrtimer nanosleep API\n\nSwitch clock_nanosleep to use the new nanosleep functions in hrtimer.c\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\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": "5f82b2b77e66d452c3037cc47f436d2d76fd5f06",
      "tree": "c3c5f11d7160fa4651ca1acf5d927a7546c3d725",
      "parents": [
        "2a698971941bf5e6ebe96275f7d5318b2cf91ccf"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 09 20:52:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:36 2006 -0800"
      },
      "message": "[PATCH] hrtimer: create and use timespec_valid macro\n\nadd timespec_valid(ts) [returns false if the timespec is denorm]\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\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": "a924b04ddea9788e09f387fe19ccbede5f09ddd8",
      "tree": "aa519a2427b7686d35ceae764d3e37d69a6ae5e8",
      "parents": [
        "57a558757bdbb877b54ed5ea15bd0892e02a707d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 09 20:52:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:36 2006 -0800"
      },
      "message": "[PATCH] hrtimer: make clockid_t arguments const\n\nadd const arguments to the posix-timers.h API functions\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\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": "67924be88607303a4459fe1c7dcd75527c338cf4",
      "tree": "d95bdeb27c4a57bc866c6c7c865813f076ead3dc",
      "parents": [
        "5cca7619a562c9d98a3a0123dc878d79bf3c8fb3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 09 20:52:21 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:35 2006 -0800"
      },
      "message": "[PATCH] hrtimer: remove duplicate div_long_long_rem implementation\n\nmake posix-timers.c use the generic calc64.h facility\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\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": "3f39894d1b5c253b10fcb8fbbbcf65a330f6cdc7",
      "tree": "6d166da37e874f2c0b891d4cf61b5f4b9bf5a71f",
      "parents": [
        "09e12f9f6bcd9af516d901223cebdbae58b32c9f"
      ],
      "author": {
        "name": "George Anzinger",
        "email": "george@mvista.com",
        "time": "Sun Nov 13 16:07:44 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 13 18:14:17 2005 -0800"
      },
      "message": "[PATCH] timespec: normalize off by one errors\n\nIt would appear that the timespec normalize code has an off by one error.\nFound in three places.  Thanks to Ben for spotting.\n\nSigned-off-by: George Anzinger\u003cgeorge@mvista.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4eb9af2a8a431a832830f986fead7332dab27229",
      "tree": "424d265f46c7d2e545235117e1b5dcfb074b5228",
      "parents": [
        "33430dc593f866f5d67ff6a6213b6dd6d7ea3ce1"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Oct 30 15:02:21 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:20 2005 -0800"
      },
      "message": "[PATCH] posix-timers: use schedule_timeout() in common_nsleep()\n\ncommon_nsleep() reimplements schedule_timeout_interruptible() for unknown\nreason.\n\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": "25f407f0b668f5e4ebd5d13e1fb4306ba6427ead",
      "tree": "10d8661419da9e0d6be6d22ef319582d052c4a26",
      "parents": [
        "9465bee863bc4c6cf1566c12d6f92a8133e3da5c"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Fri Oct 21 15:03:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 21 15:38:08 2005 -0700"
      },
      "message": "[PATCH] Call exit_itimers from do_exit, not __exit_signal\n\nWhen I originally moved exit_itimers into __exit_signal, that was the only\nplace where we could reliably know it was the last thread in the group\ndying, without races.  Since then we\u0027ve gotten the signal_struct.live\ncounter, and do_exit can reliably do group-wide cleanup work.\n\nThis patch moves the call to do_exit, where it\u0027s made without locks.  This\navoids the deadlock issues that the old __exit_signal code\u0027s comment talks\nabout, and the one that Oleg found recently with process CPU timers.\n\n[ This replaces e03d13e985d48ac4885382c9e3b1510c78bd047f, which is why\n  it was just reverted. ]\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e752dd6cc66a3e6a11396928998baf390cc00420",
      "tree": "b24b388d80acec6527e66b07f0d308d48319c476",
      "parents": [
        "a97c9bf33f4612e2aed6f000f6b1d268b6814f3c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Sep 06 15:17:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:33 2005 -0700"
      },
      "message": "[PATCH] fix send_sigqueue() vs thread exit race\n\nposix_timer_event() first checks that the thread (SIGEV_THREAD_ID case)\ndoes not have PF_EXITING flag, then it calls send_sigqueue() which locks\ntask list.  But if the thread exits in between the kernel will oops\n(-\u003esighand \u003d\u003d NULL after __exit_sighand).\n\nThis patch moves the PF_EXITING check into the send_sigqueue(), it must be\ndone atomically under tasklist_lock.  When send_sigqueue() detects exiting\nthread it returns -1.  In that case posix_timer_event will send the signal\nto thread group.\n\nAlso, this patch fixes task_struct use-after-free in posix_timer_event.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c306895167c8384b88bc02945a0d226a04218fa5",
      "tree": "d3f298c9cf8f36787acae2c829e64f05a392162c",
      "parents": [
        "e8ed11b9dc07df0134248542ca8e7d40751a6052"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Aug 04 16:49:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Aug 04 16:57:49 2005 -0700"
      },
      "message": "[PATCH] revert \"timer exit cleanup\"\n\nRevert this June 17 patch: it broke persistence of timers across execve().\n\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: george anzinger \u003cgeorge@mvista.com\u003e\nCc: 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": "78fa74a23b16bdb0d944272b696915c4e0bb3ee1",
      "tree": "5f0d83021afeb7adffce9b41557e1d2e3c8c08bd",
      "parents": [
        "a2d76bd8fa29f9b6dbf3ee8f6bc7bdda21bc5ce8"
      ],
      "author": {
        "name": "George Anzinger",
        "email": "george@mvista.com",
        "time": "Thu Jul 28 21:16:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 28 21:46:05 2005 -0700"
      },
      "message": "[PATCH] posix timers: fix normalization problem\n\n(We found this (after a customer complained) and it is in the kernel.org\nkernel.  Seems that for CLOCK_MONOTONIC absolute timers and clock_nanosleep\ncalls both the request time and wall_to_monotonic are subtracted prior to\nthe normalize resulting in an overflow in the existing normalize test.\nThis causes the result to be shifted ~4 seconds ahead instead of ~2 seconds\nback in time.)\n\nThe normalize code in posix-timers.c fails when the tv_nsec member is ~1.2\nseconds negative.  This can happen on absolute timers (and\nclock_nanosleeps) requested on CLOCK_MONOTONIC (both the request time and\nwall_to_monotonic are subtracted resulting in the possibility of a number\nclose to -2 seconds.)\n\nThis fix uses the set_normalized_timespec() (which does not have an\noverflow problem) to fix the problem and as a side effect makes the code\ncleaner.\n\nSigned-off-by: George Anzinger \u003cgeorge@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f972be33ce6a08b5f096ba013c7459a3a82f5f39",
      "tree": "5d495cdfc82dce1b8017244563f2f5437c395433",
      "parents": [
        "fd450b7318b75343fd76b3d95416853e34e72c95"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Thu Jun 23 00:09:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:17 2005 -0700"
      },
      "message": "[PATCH] posix-timers: use try_to_del_timer_sync()\n\nsys_timer_settime/sys_timer_delete needs to delete k_itimer-\u003ereal.timer\nsynchronously while holding -\u003eit_lock, which is also locked in\nposix_timer_fn.\n\nThis patch removes timer_active/set_timer_inactive which plays with\ntimer_list\u0027s internals in favour of using try_to_del_timer_sync(), which\nwas introduced in the previous patch.\n\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": "caf2857ac6e0ba2651e722f05d5f7d3ec8ef2615",
      "tree": "cb8e51e7c17c0964bdfd29635d51da0124d0dfe8",
      "parents": [
        "97008082eacab047c189028202e055280f799ace"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jun 17 11:36:36 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 17 10:03:50 2005 -0700"
      },
      "message": "[PATCH] timer exit cleanup\n\nDo all timer zapping in exit_itimers.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
