)]}'
{
  "log": [
    {
      "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"
    }
  ]
}
