)]}'
{
  "log": [
    {
      "commit": "f3dc3630f687aa4664b663143f69d99d83195c54",
      "tree": "928dd4c1b2ddc7970e6bfebe17911271e1417597",
      "parents": [
        "d1c057e31734426ba385e02291d97bdf06ba0c1d"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@pengutronix.de",
        "time": "Wed Feb 06 01:39:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:15 2008 -0800"
      },
      "message": "gpio: rename pca953x symbols\n\nThis second part of an extension to support more pca953x chips renames the C\nand Kconfig symbols.  All affected files were updated by sed, except for a\ncouple of obvious exceptions.  It also updates the Kconfig helptext.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@pengutronix.de\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1c057e31734426ba385e02291d97bdf06ba0c1d",
      "tree": "46d85c501626fdc8db60f30a7bc6c3c45eef89dd",
      "parents": [
        "ad8dc96e3b2c3e28854e0de4ab49351ed547b30c"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@pengutronix.de",
        "time": "Wed Feb 06 01:39:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:15 2008 -0800"
      },
      "message": "gpio: rename pca9539 driver\n\nFirst part of an extension to let the pca9539 driver support more chips,\nstarting with pca9534, pca9535, pca9536, pca9537, and pca9538.\n\nThis renames the files and modifies the Makefile.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@pengutronix.de\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad8dc96e3b2c3e28854e0de4ab49351ed547b30c",
      "tree": "6faab05e76206f130333ccff4c080600ed00d332",
      "parents": [
        "4cdf854f7d60498bbda436068a118b95059b244b"
      ],
      "author": {
        "name": "Ville Syrjala",
        "email": "syrjala@sci.fi",
        "time": "Wed Feb 06 01:39:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:15 2008 -0800"
      },
      "message": "w1-gpio: add GPIO w1 bus master driver\n\nAdd a GPIO 1-wire bus master driver.  The driver used the GPIO API to\ncontrol the wire and the GPIO pin can be specified using platform data\nsimilar to i2c-gpio.  The driver was tested with AT91SAM9260 + DS2401.\n\nSigned-off-by: Ville Syrjala \u003csyrjala@sci.fi\u003e\nCc: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f47cd9b553aaada602449204513b5a5b29cba263",
      "tree": "079ddd399b1aa00a8c413ef51f3b8681a19a6e7e",
      "parents": [
        "5beec4aa2ac261b0b4992fb41df40a7ab91e4fad"
      ],
      "author": {
        "name": "Abhishek Sagar",
        "email": "sagar.abhishek@gmail.com",
        "time": "Wed Feb 06 01:38:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:11 2008 -0800"
      },
      "message": "kprobes: kretprobe user entry-handler\n\nProvide support to add an optional user defined callback to be run at\nfunction entry of a kretprobe\u0027d function.  Also modify the kprobe smoke\ntests to include an entry-handler during the kretprobe sanity test.\n\nSigned-off-by: Abhishek Sagar \u003csagar.abhishek@gmail.com\u003e\nCc: Prasanna S Panchamukhi \u003cprasanna@in.ibm.com\u003e\nCc: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nCc: Anil S Keshavamurthy \u003canil.s.keshavamurthy@intel.com\u003e\nAcked-by: Jim Keniston \u003cjkenisto@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ffc787a4492ac627315aaeafdfdc0a5c3028582",
      "tree": "bb557076ead94695cd148c4b7b065d44e77e62a3",
      "parents": [
        "82f560874e88bd1fd8c98a6254d65a1dffab3876"
      ],
      "author": {
        "name": "David Fries",
        "email": "david@fries.net",
        "time": "Wed Feb 06 01:38:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:10 2008 -0800"
      },
      "message": "system timer: fix crash in \u003c100Hz system timer\n\nThe kernel has a divide by zero crash when trying to run the system timer\nless than 100Hz.  The problem is x/(HZ/USER_HZ) and related.  Now\nx*(USER_HZ/HZ) will be used if HZ\u003cUSER_HZ.\n\nI\u0027m running the Linux kernel under qemu and went to run a slower system\ntimer to take less CPU (and battery) on the host.  I found that the kernel\npaniced under emulation because of a divide by zero in three places.  Here\nis the patch.  The base git was updated today 01-05-2008.  I went for a\n20Hz system time by adding config HZ_20 etc to kernel/Kconfig.hz.  With\nthis patch I verified the system timer by looking at /proc/interrupts.\n\n[akpm@linux-foundation.org: partially clean up the macro maze]\nSigned-off-by: David Fries \u003cdavid@fries.net\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1bf47346d75790ebd2563d909d48046961c7ffd5",
      "tree": "0f478764beb8dc4e0c71c5f3d6a657535579fe3a",
      "parents": [
        "6b2fb3c65844452bb9e8b449d50863d1b36c5dc0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Feb 06 01:37:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:09 2008 -0800"
      },
      "message": "kernel/sys.c: get rid of expensive divides in groups_sort()\n\ngroups_sort() can be quite long if user loads a large gid table.\n\nThis is because GROUP_AT(group_info, some_integer) uses an integer divide.\nSo having to do XXX thousand divides during one syscall can lead to very\nhigh latencies.  (NGROUPS_MAX\u003d65536)\n\nIn the past (25 Mar 2006), an analog problem was found in groups_search()\n(commit d74beb9f33a5f16d2965f11b275e401f225c949d ) and at that time I\nchanged some variables to unsigned int.\n\nI believe that a more generic fix is to make sure NGROUPS_PER_BLOCK is\nunsigned.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc999159bbc1c542f310160c56ed8b701a7d6252",
      "tree": "79f8ad0ef400345953cfbe3699aec6b47bd23bf3",
      "parents": [
        "a8e3eff4668e3a4d6dbe7985a780f91de38a3c71"
      ],
      "author": {
        "name": "Luís P Mendes",
        "email": "luis.p.mendes@gmail.com",
        "time": "Wed Feb 06 01:37:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:08 2008 -0800"
      },
      "message": "parport: add support for the Quatech SPPXP-100 Parallel port PCI ExpressCard\n\nAdded pci device id for the Quatech SPPXP-100 ExpressCard - 0x278 - to\ninclude/linux/pci_id.h\n\nModified drivers/parport/parport_pc.c to support the Quatech SPPXP-100 Parallel port PCI ExpressCard\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Luís P Mendes \u003cluis.p.mendes@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a669c2f16d478cb7f4452e5fb8d09320831f4a1",
      "tree": "b13f0aa0aebc51d1795203658053484b7c97b8cb",
      "parents": [
        "941d2380e979dfefb6c824452e9f42be3ef948ee"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Feb 06 01:37:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:07 2008 -0800"
      },
      "message": "Add arch_ptrace_stop\n\nThis adds support to allow asm/ptrace.h to define two new macros,\narch_ptrace_stop_needed and arch_ptrace_stop.  These control special\nmachine-specific actions to be done before a ptrace stop.  The new code\ncompiles away to nothing when the new macros are not defined.  This is the\ncase on all machines to begin with.\n\nOn ia64, these macros will be defined to solve the long-standing issue of\nptrace vs register backing store.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Petr Tesarik \u003cptesarik@suse.cz\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4749380ed688884a3bd3328b1bf32529d96aa49b",
      "tree": "63bc3dd637b47e057ea96e4442aee927662cc57c",
      "parents": [
        "eb31005eaf3ca0705b404a78eb92f714c9449276"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Wed Feb 06 01:37:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:07 2008 -0800"
      },
      "message": "drivers/isdn/i4l/isdn_tty.c: remove write_sem\n\nI couldn\u0027t find any users, so removing it..\n\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\u003e\nCc: Karsten Keil \u003ckkeil@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eb31005eaf3ca0705b404a78eb92f714c9449276",
      "tree": "4515cc3579c0184ead833c5cfa60b719f39f3006",
      "parents": [
        "d156042f9fdffcb0171dc20f0d8b6df3fbf779c4"
      ],
      "author": {
        "name": "Daniel Walker",
        "email": "dwalker@mvista.com",
        "time": "Wed Feb 06 01:37:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:07 2008 -0800"
      },
      "message": "drivers/char/tty_io.c: remove pty_sem\n\nI couldn\u0027t find any users, so removing it..\n\nSigned-off-by: Daniel Walker \u003cdwalker@mvista.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d99c4f6b13b3149bc83703ab1493beaeaaaf8a2d",
      "tree": "32e09d76cb46755d7420e6ad9a6e0802dab47963",
      "parents": [
        "ba6f867f114760d4e43f0f93abe280ee0a0d696e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Feb 06 01:37:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:06 2008 -0800"
      },
      "message": "Remove rcu_assign_pointer() penalty for NULL pointers\n\nThe rcu_assign_pointer() primitive currently unconditionally executes a\nmemory barrier, even when a NULL pointer is being assigned.  This has lead\nsome to avoid using rcu_assign_pointer() for NULL pointers, which loses the\nself-documenting advantages of rcu_assign_pointer() This patch uses\n__builtin_const_p() to omit needless memory barriers for NULL-pointer\nassignments at compile time with no runtime penalty, as discussed in the\nfollowing thread:\n\n\thttp://www.mail-archive.com/netdev@vger.kernel.org/msg54852.html\n\nTested on x86_64 and ppc64, also compiled the four cases (NULL/non-NULL\nand const/non-const) with gcc version 4.1.2, and hand-checked the\nassembly output.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9cfe015aa424b3c003baba3841a60dd9b5ad319b",
      "tree": "5575e06efcf91018f860f2db43979e8e91aba1c3",
      "parents": [
        "774ed22c21ab95d582dfff38560f11cf290baeb4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Feb 06 01:37:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:06 2008 -0800"
      },
      "message": "get rid of NR_OPEN and introduce a sysctl_nr_open\n\nNR_OPEN (historically set to 1024*1024) actually forbids processes to open\nmore than 1024*1024 handles.\n\nUnfortunatly some production servers hit the not so \u0027ridiculously high\nvalue\u0027 of 1024*1024 file descriptors per process.\n\nChanging NR_OPEN is not considered safe because of vmalloc space potential\nexhaust.\n\nThis patch introduces a new sysctl (/proc/sys/fs/nr_open) wich defaults to\n1024*1024, so that admins can decide to change this limit if their workload\nneeds it.\n\n[akpm@linux-foundation.org: export it for sparc64]\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ece95912db94d98e202cbedb8f35206deb29d83d",
      "tree": "7900aa32e8f8ee26f708471664a5b4024997be40",
      "parents": [
        "6d9851618104a21dbf5ee8260b5f2d4b5229c77e"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Feb 06 01:37:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:05 2008 -0800"
      },
      "message": "inotify: send IN_ATTRIB events when link count changes\n\nCurrently, no notification event has been sent when inode\u0027s link count\nchanged.  This is inconvenient for the application in some cases:\n\nSuppose you have the following directory structure\n\n    foo/test\n    bar/\n\nand you watch test.  If someone does \"mv foo/test bar/\", you get event\nIN_MOVE_SELF and you know something has happened with the file \"test\".\nHowever if someone does \"ln foo/test bar/test\" and \"rm foo/test\" you get no\ninotify event for the file \"test\" (only directories \"foo\" and \"bar\" receive\nevents).\n\nFurthermore it could be argued that link count belongs to file\u0027s metadata and\nthus IN_ATTRIB should be sent when it changes.\n\nThe following patch implements sending of IN_ATTRIB inotify events when link\ncount of the inode changes, i.e., when a hardlink to the inode is created or\nwhen it is removed.  This event is sent in addition to all the events sent so\nfar.  In particular, when a last link to a file is removed, IN_ATTRIB event is\nsent in addition to IN_DELETE_SELF event.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: Morten Welinder \u003cmwelinder@gmail.com\u003e\nCc: Robert Love \u003crlove@google.com\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "797074e44d78835adbde2ca527718b0e50226b95",
      "tree": "7a54757b7201f4e0085ad1a654fa319eb7e07816",
      "parents": [
        "e8462caa915d4d12846db7aae2557b6db7c054d5"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Feb 06 01:37:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:05 2008 -0800"
      },
      "message": "fs: use list_for_each_entry_reverse and kill sb_entry\n\nUse list_for_each_entry_reverse for super_blocks list and remove\nunused sb_entry macro.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f10db6277dfd6dffb80b2182a256d35adb3134bc",
      "tree": "a86607ebc3567c2e4098907f986466e07a74f268",
      "parents": [
        "b0940003f25dd3d2c54c4879809a432a35197f54"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Feb 06 01:37:05 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:04 2008 -0800"
      },
      "message": "Avoid divide in IS_ALIGN\n\nI was happy to discover the brand new IS_ALIGN macro and quickly used it in\nmy code.  To my dismay I found that the generated code used division to\nperform the test.\n\nThis patch fixes it by changing the % test to an \u0026.  This avoids the\ndivision.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3242151906372f30f57feaa43b4cac96a23edb1",
      "tree": "d258219aa13dfeae8d9fb5db1fd220a0664a680d",
      "parents": [
        "e7ca2d41a029577a8cff453d1445951d4f96bfd8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Feb 06 01:37:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:04 2008 -0800"
      },
      "message": "PERCPU : __percpu_alloc_mask() can dynamically size percpu_data storage\n\nInstead of allocating a fix sized array of NR_CPUS pointers for percpu_data,\nwe can use nr_cpu_ids, which is generally \u003c NR_CPUS.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7ca2d41a029577a8cff453d1445951d4f96bfd8",
      "tree": "60262e34e937ea9bfae7709a913ca940b928eae3",
      "parents": [
        "20420bba13bf79c86cab1e5bdfc4c938d9e44bc9"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Wed Feb 06 01:36:59 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:03 2008 -0800"
      },
      "message": "Document I_SYNC and I_DATASYNC\n\nAfter some archeology (see http://logfs.org/logfs/inode_state_bits) I\nfinally figured out what the three I_DIRTY bits do.  Maybe others would\nprefer less effort to reach this insight.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0321155926b32cbc46f6603c6cc455e046b4d9b2",
      "tree": "01ca7e2709582dfd754bee427cf1959adbff52b2",
      "parents": [
        "de9330d13eac1f331e63ab1d18c506365b0151f3"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "olsajiri@gmail.com",
        "time": "Wed Feb 06 01:36:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:03 2008 -0800"
      },
      "message": "fs: remove dead config CONFIG_HAS_COMPAT_EPOLL_EVENT symbol\n\nRemove dead config CONFIG_HAS_COMPAT_EPOLL_EVENT symbol.\n\nSigned-off-by: Jiri Olsa \u003colsajiri@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": "de9330d13eac1f331e63ab1d18c506365b0151f3",
      "tree": "67fc0eb97f706d8cb39485dba50da9f9918c3f3f",
      "parents": [
        "582539e5a0480f1e00e3b9ffbe50bd5b2f59a16f"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Feb 06 01:36:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:03 2008 -0800"
      },
      "message": "log2.h: Define order_base_2() macro for convenience.\n\nGiven a number of places in the tree that need to calculate this value\nexplicitly, might as well just create a macro for it.\n\n(akpm: must be implemented as a macro for callee typeof() usage)\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "26464378c4af9f7461b9d9e359f98dbd34ab3544",
      "tree": "0b30d044efb49eac5b6899cbc62beaeaf4296596",
      "parents": [
        "7747cdb2f8302c2e1121f6d604b62a060fb04603"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:36:49 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:03 2008 -0800"
      },
      "message": "proper prototype for vty_init()\n\nAdd a proper prototype for vty_init() in include/linux/vt_kern.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "011e3fcd1e1f14ef54db30b93404ab7caa726477",
      "tree": "2d8b5dc618f370cb8f2aafd16f15e324fca872bb",
      "parents": [
        "c166f23cb56a76983ce860739d95c8296e57d6b3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:36:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:02 2008 -0800"
      },
      "message": "proper prototype for get_filesystem_list()\n\nAd a proper prototype for migration_init() in include/linux/fs.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a1c9eea9e56a7196c6891f6426b799c4598b38e2",
      "tree": "30beda8a7c7f45e77f96d0a49008e84e227a7ae6",
      "parents": [
        "ce88cc5ed80de746f5bd2d8242291c87e7b87f63"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:36:44 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:02 2008 -0800"
      },
      "message": "proper prototype for signals_init()\n\nAdd a proper prototype for signals_init() in include/linux/signal.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "941e492bdb1239d2ca8f5736cdfd3ff83d00cb90",
      "tree": "6c048ee92ec94cbced1881308e14c2541321f077",
      "parents": [
        "83bad1d764b836a482b88e0a1f44d7a5c3e1fee0"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Feb 06 01:36:42 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:02 2008 -0800"
      },
      "message": "read_current_timer() cleanups\n\n- All implementations can be __devinit\n\n- The function prototypes were in asm/timex.h but they all must be the same,\n  so create a single declaration in linux/timex.h.\n\n- uninline the sparc64 version to match the other architectures\n\n- Don\u0027t bother #defining ARCH_HAS_READ_CURRENT_TIMER to a particular value.\n\n[ezk@cs.sunysb.edu: fix build]\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "83bad1d764b836a482b88e0a1f44d7a5c3e1fee0",
      "tree": "2fe0844d81a178ab51c22f41accef9b332ea86b6",
      "parents": [
        "b4cf9c342a2887f425780c23ad2be3077949cee2"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:36:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:02 2008 -0800"
      },
      "message": "scheduled OSS driver removal\n\nThis patch contains the scheduled removal of OSS drivers whose config\noptions have been removed in 2.6.23.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f74596d07957235ad9da5120029348b372224a27",
      "tree": "72089ad3368af0e674952866dd9db69b1bcb42f9",
      "parents": [
        "0b03cfb25fa944bc106e816146846dcb48b2e907"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:36:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:02 2008 -0800"
      },
      "message": "proper show_interrupts() prototype\n\nAdd a proper prototype for show_interrupts() in include/linux/interrupt.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96c5865559cee0f9cbc5173f3c949f6ce3525581",
      "tree": "bbcfa89faeae5e5b1334a8f537b6bdb7caa992d8",
      "parents": [
        "a3b81113fb6658629f4ebaabf8dd3067cd341020"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Feb 06 01:36:27 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:01 2008 -0800"
      },
      "message": "Allow auto-destruction of loop devices\n\nThis allows a flag to be set on loop devices so that when they are\nclosed for the last time, they\u0027ll self-destruct.\n\nIn general, so that we can automatically allocate loop devices (as with\nlosetup -f) and have them disappear when we\u0027re done with them.\n\nIn particular, right now, so that we can stop relying on the hackish\nspecial-case in umount(8) which kills off loop devices which were set up by\n\u0027mount -oloop\u0027.  That means we can stop putting crap in /etc/mtab which\ndoesn\u0027t belong there, which means it can be a symlink to /proc/mounts, which\nmeans yet another writable file on the root filesystem is eliminated and the\n\u0027stateless\u0027 folks get happier...  and OLPC trac #356 can be closed.\n\nThe mount(8) side of that is at\nhttp://marc.info/?l\u003dutil-linux-ng\u0026m\u003d119362955431694\u0026w\u003d2\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Bernardo Innocenti \u003cbernie@codewiz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a5dcb51770be3cd0202d6b90a07996fb40130b6",
      "tree": "75ac6d5c64be71369126e8ad05b62b59576df4e7",
      "parents": [
        "8f47f0b688bba7642dac4e979896e4692177670b"
      ],
      "author": {
        "name": "Matthias Kaehlcke",
        "email": "matthias.kaehlcke@gmail.com",
        "time": "Wed Feb 06 01:36:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:01 2008 -0800"
      },
      "message": "Parallel port: convert port_mutex to the mutex API\n\nParallel port: Convert port_mutex to the mutex API\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Matthias Kaehlcke \u003cmatthias.kaehlcke@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e701482d1d7b90c358e2bd244bb71623f767120",
      "tree": "a054f87e31645eba4d9e2c76396c54afbe6fa895",
      "parents": [
        "d9ae90ac4bdce769ddb27c2e24c3351a30c3daf8"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Wed Feb 06 01:36:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:00 2008 -0800"
      },
      "message": "hash: add explicit u32 and u64 versions of hash\n\nThe 32-bit version is more efficient (and apparently gives better hash\nresults than the 64-bit version), so users who are only hashing a 32-bit\nquantity can now opt to use the 32-bit version explicitly, rather than\npromoting to a long.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "64a57fe4393bae920d03c253173f59d8a7ec8e25",
      "tree": "bfbac6fa370401d519a6fd9433a330dd55efe68d",
      "parents": [
        "c47137a99c597330b69057158b26061a360c0e09"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 06 02:57:51 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 06 02:57:51 2008 +0100"
      },
      "message": "ide: add ide_read_error() inline helper\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "c47137a99c597330b69057158b26061a360c0e09",
      "tree": "aacd4cb968b8d7bdebdcbcce19f110469a977243",
      "parents": [
        "29dd59755a849cc6475faa6a75f3b804e23a6fc2"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 06 02:57:51 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 06 02:57:51 2008 +0100"
      },
      "message": "ide: add ide_read_[alt]status() inline helpers\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "29dd59755a849cc6475faa6a75f3b804e23a6fc2",
      "tree": "007f73aed935c22438e69cb2d2438b93f249d955",
      "parents": [
        "f2694b7e3bad75436b47b6840de352f7b7f53feb"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 06 02:57:50 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 06 02:57:50 2008 +0100"
      },
      "message": "ide: remove ide_setup_ports()\n\nide-cris.c:\n* Add cris_setup_ports() helper and use it instead of ide_setup_ports()\n  (fixes random value being set in -\u003eio_ports[IDE_IRQ_OFFSET]).\n\nbuddha.c:\n* Add buddha_setup_ports() helper and use it instead of ide_setup_ports().\n\nfalconide.c:\n* Add falconide_setup_ports() helper and use it instead of ide_setup_ports(),\n  also fix return value of falconide_init() while at it.\n\ngayle.c:\n* Add gayle_setup_ports() helper and use it instead of ide_setup_ports().\n\nmacide.c:\n* Add macide_setup_ports() helper and use it instead of ide_setup_ports()\n  (fixes incorrect value being set in -\u003eio_ports[IDE_IRQ_OFFSET]).\n\nq40ide.c:\n* Fix q40_ide_setup_ports() comments.\n\nide.c:\n* Remove no longer needed ide_setup_ports().\n\nCc: Mikael Starvik \u003cstarvik@axis.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "afdd360c95632b0c882790a7b25ff505664adcd0",
      "tree": "47a2d689d4de0e32fd15afc07cd6937d707faa1e",
      "parents": [
        "34394e45c3387bd66619d9a51b4be507e4222b02"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 06 02:57:50 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 06 02:57:50 2008 +0100"
      },
      "message": "ide: remove write-only -\u003esata_misc[] from ide_hwif_t\n\n* Remove write-only -\u003esata_misc[] from ide_hwif_t.\n\n* Remove no longer used SATA_{MISC,PHY,IEN}_OFFSET defines.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "7c7e92a9268965e08bba853ecdb94fa55e886741",
      "tree": "62d4be36537b8456ef9d09c7deb0b44204f35562",
      "parents": [
        "b2a53bc636b0e7e9ce4c899ad605432339ef5861"
      ],
      "author": {
        "name": "Anton Salnikov",
        "email": "asalnikov@ru.mvista.com",
        "time": "Wed Feb 06 02:57:48 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Feb 06 02:57:48 2008 +0100"
      },
      "message": "Palmchip BK3710 IDE driver\n\nThis is Palmchip BK3710 IDE controller support.\n\nThe IDE controller logic supports PIO, MultiWord-DMA and Ultra-DMA modes.\nSupports interface to Compact Flash (CF) configured in True-IDE mode.\n\nBart:\n- remove dead code\n- fix ide_hwif_setup_dma() build problem\n\nSigned-off-by: Anton Salnikov \u003casalnikov@ru.mvista.com\u003e\nReviewed-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nReviewed-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "3d412f60b71e588544e7b75861084f12aa1d7acd",
      "tree": "cd527e396da9e85dcf85e14c4fabfe29e61ff5d0",
      "parents": [
        "3098a1801f8b92575a5cd69c77d9fa94ea504dde",
        "3113e88c3cb3c0a22920b621f8e4d1f2ccc07f1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 10:09:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 10:09:07 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)\n  [PKT_SCHED]: vlan tag match\n  [NET]: Add if_addrlabel.h to sanitized headers.\n  [NET] rtnetlink.c: remove no longer used functions\n  [ICMP]: Restore pskb_pull calls in receive function\n  [INET]: Fix accidentally broken inet(6)_hash_connect\u0027s port offset calculations.\n  [NET]: Remove further references to net-modules.txt\n  bluetooth rfcomm tty: destroy before tty_close()\n  bluetooth: blacklist another Broadcom BCM2035 device\n  drivers/bluetooth/btsdio.c: fix double-free\n  drivers/bluetooth/bpa10x.c: fix memleak\n  bluetooth: uninlining\n  bluetooth: hidp_process_hid_control remove unnecessary parameter dealing\n  tun: impossible to deassert IFF_ONE_QUEUE or IFF_NO_PI\n  hamradio: fix dmascc section mismatch\n  [SCTP]: Fix kernel panic while received AUTH chunk with BAD shared key identifier\n  [SCTP]: Fix kernel panic while received AUTH chunk while enabled auth\n  [IPV4]: Formatting fix for /proc/net/fib_trie.\n  [IPV6]: Fix sysctl compilation error.\n  [NET_SCHED]: Add #ifdef CONFIG_NET_EMATCH in net/sched/cls_flow.c (latest git broken build)\n  [IPV4]: Fix compile error building without CONFIG_FS_PROC\n  ...\n"
    },
    {
      "commit": "9914712e2e0f80ddcc00c928d3f7a5848d925e1e",
      "tree": "08862da0b2c7f20d920acddb5df157e17e0da234",
      "parents": [
        "488823f114a3cef58e7eb932cac977440a2a59cb",
        "bc894606e8843808c232319f69c26c18f6eaa662"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:54:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:54:10 2008 -0800"
      },
      "message": "Merge branch \u0027agp-patches\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6\n\n* \u0027agp-patches\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6:\n  agp: remove flush_agp_mappings calls from new flush handling code\n  intel-agp: introduce IS_I915 and do some cleanups..\n  [intel_agp] fix name for G35 chipset\n  intel-agp: fixup resource handling in flush code.\n  intel-agp: add new chipset ID\n  agp: remove unnecessary pci_dev_put\n  agp: remove uid comparison as security check\n  fix AGP warning\n  agp/intel: Add chipset flushing support for i8xx chipsets.\n  intel-agp: add chipset flushing support\n  agp: add chipset flushing support to AGP interface\n"
    },
    {
      "commit": "57dfee7c3f1fcac24e986b69bdfdccc8ea025813",
      "tree": "405d4e39233bc593b0d975c869d8684c15ccd043",
      "parents": [
        "00bf59ca9bfe4085e6ee546128a71b82d061ab04"
      ],
      "author": {
        "name": "Finn Thain",
        "email": "fthain@telegraphics.com.au",
        "time": "Mon Feb 04 22:30:30 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:24 2008 -0800"
      },
      "message": "mac68k: add nubus card definitions and a typo fix\n\nAdd some new card definitions and fix a typo (from Eugen Paiuc).\n\nSigned-off-by: Finn Thain \u003cfthain@telegraphics.com.au\u003e\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\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": "fa23f5cce8cda2095013afc837ccf74b352f9f7b",
      "tree": "bdb22c6966b9e60eb90c97086f3ceed453223f97",
      "parents": [
        "a41e3dc4060cca2599afa14fbd4c745763746ba8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Feb 04 22:30:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:23 2008 -0800"
      },
      "message": "leds: add possibility to remove leds classdevs during suspend/resume\n\nMake it possible to unregister a led classdev object in a safe way during a\nsuspend/resume cycle.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a41e3dc4060cca2599afa14fbd4c745763746ba8",
      "tree": "c97d189602b6564054f348dbfc2c865baafecd96",
      "parents": [
        "533354d4ac48b7df99f18f952e5d51c3f59ba56c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Feb 04 22:30:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:23 2008 -0800"
      },
      "message": "HWRNG: add possibility to remove hwrng devices during suspend/resume\n\nMake it possible to unregister a Hardware Random Number Generator\ndevice object in a safe way during a suspend/resume cycle.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "533354d4ac48b7df99f18f952e5d51c3f59ba56c",
      "tree": "d1d5616e39d58ce8f27127901d43d4b0b0f69fa5",
      "parents": [
        "f011e2e2df3393c16b0fdc48e855e909b7e021ee"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Feb 04 22:30:11 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:23 2008 -0800"
      },
      "message": "Misc: Add possibility to remove misc devices during suspend/resume\n\nMake it possible to unregister a misc device object in a safe way during a\nsuspend/resume cycle.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f011e2e2df3393c16b0fdc48e855e909b7e021ee",
      "tree": "1ad56011597c739336d7068c8182fd9cfdddad5b",
      "parents": [
        "d82b35186eaa816267f044bd70cc0acb3c7971a3"
      ],
      "author": {
        "name": "Mark Gross",
        "email": "mgross@linux.intel.com",
        "time": "Mon Feb 04 22:30:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:22 2008 -0800"
      },
      "message": "latency.c: use QoS infrastructure\n\nReplace latency.c use with pm_qos_params use.\n\nSigned-off-by: mark gross \u003cmgross@linux.intel.com\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Jaroslav Kysela \u003cperex@suse.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d82b35186eaa816267f044bd70cc0acb3c7971a3",
      "tree": "e8de56c122fd8040086e974895afbb8299045c0f",
      "parents": [
        "4ef7229ffa93695e346d510b871452811509ea65"
      ],
      "author": {
        "name": "Mark Gross",
        "email": "mgross@linux.intel.com",
        "time": "Mon Feb 04 22:30:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:22 2008 -0800"
      },
      "message": "pm qos infrastructure and interface\n\nThe following patch is a generalization of the latency.c implementation done\nby Arjan last year.  It provides infrastructure for more than one parameter,\nand exposes a user mode interface for processes to register pm_qos\nexpectations of processes.\n\nThis interface provides a kernel and user mode interface for registering\nperformance expectations by drivers, subsystems and user space applications on\none of the parameters.\n\nCurrently we have {cpu_dma_latency, network_latency, network_throughput} as\nthe initial set of pm_qos parameters.\n\nThe infrastructure exposes multiple misc device nodes one per implemented\nparameter.  The set of parameters implement is defined by pm_qos_power_init()\nand pm_qos_params.h.  This is done because having the available parameters\nbeing runtime configurable or changeable from a driver was seen as too easy to\nabuse.\n\nFor each parameter a list of performance requirements is maintained along with\nan aggregated target value.  The aggregated target value is updated with\nchanges to the requirement list or elements of the list.  Typically the\naggregated target value is simply the max or min of the requirement values\nheld in the parameter list elements.\n\n\u003eFrom kernel mode the use of this interface is simple:\n\npm_qos_add_requirement(param_id, name, target_value):\n\n  Will insert a named element in the list for that identified PM_QOS\n  parameter with the target value.  Upon change to this list the new target is\n  recomputed and any registered notifiers are called only if the target value\n  is now different.\n\npm_qos_update_requirement(param_id, name, new_target_value):\n\n  Will search the list identified by the param_id for the named list element\n  and then update its target value, calling the notification tree if the\n  aggregated target is changed.  with that name is already registered.\n\npm_qos_remove_requirement(param_id, name):\n\n  Will search the identified list for the named element and remove it, after\n  removal it will update the aggregate target and call the notification tree\n  if the target was changed as a result of removing the named requirement.\n\n\u003eFrom user mode:\n\n  Only processes can register a pm_qos requirement.  To provide for\n  automatic cleanup for process the interface requires the process to register\n  its parameter requirements in the following way:\n\n  To register the default pm_qos target for the specific parameter, the\n  process must open one of /dev/[cpu_dma_latency, network_latency,\n  network_throughput]\n\n  As long as the device node is held open that process has a registered\n  requirement on the parameter.  The name of the requirement is\n  \"process_\u003cPID\u003e\" derived from the current-\u003epid from within the open system\n  call.\n\n  To change the requested target value the process needs to write a s32\n  value to the open device node.  This translates to a\n  pm_qos_update_requirement call.\n\n  To remove the user mode request for a target value simply close the device\n  node.\n\n[akpm@linux-foundation.org: fix warnings]\n[akpm@linux-foundation.org: fix build]\n[akpm@linux-foundation.org: fix build again]\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: mark gross \u003cmgross@linux.intel.com\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Jaroslav Kysela \u003cperex@suse.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Venki Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Adam Belay \u003cabelay@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4ef7229ffa93695e346d510b871452811509ea65",
      "tree": "052adef3a8cc1e8d502525f3355e99d5e8d9dcda",
      "parents": [
        "47a460d5a307e639d6c9cdf9bb4857e2f5f3cb76"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Feb 04 22:30:06 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:22 2008 -0800"
      },
      "message": "make kernel_shutdown_prepare() static\n\nkernel_shutdown_prepare() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e114e473771c848c3cfec05f0123e70f1cdbdc99",
      "tree": "933b840f3ccac6860da56291c742094f9b5a20cb",
      "parents": [
        "eda61d32e8ad1d9102872f9a0abf3344bf9c5e67"
      ],
      "author": {
        "name": "Casey Schaufler",
        "email": "casey@schaufler-ca.com",
        "time": "Mon Feb 04 22:29:50 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "Smack: Simplified Mandatory Access Control Kernel\n\nSmack is the Simplified Mandatory Access Control Kernel.\n\nSmack implements mandatory access control (MAC) using labels\nattached to tasks and data containers, including files, SVIPC,\nand other tasks. Smack is a kernel based scheme that requires\nan absolute minimum of application support and a very small\namount of configuration data.\n\nSmack uses extended attributes and\nprovides a set of general mount options, borrowing technics used\nelsewhere. Smack uses netlabel for CIPSO labeling. Smack provides\na pseudo-filesystem smackfs that is used for manipulation of\nsystem Smack attributes.\n\nThe patch, patches for ls and sshd, a README, a startup script,\nand x86 binaries for ls and sshd are also available on\n\n    http://www.schaufler-ca.com\n\nDevelopment has been done using Fedora Core 7 in a virtual machine\nenvironment and on an old Sony laptop.\n\nSmack provides mandatory access controls based on the label attached\nto a task and the label attached to the object it is attempting to\naccess. Smack labels are deliberately short (1-23 characters) text\nstrings. Single character labels using special characters are reserved\nfor system use. The only operation applied to Smack labels is equality\ncomparison. No wildcards or expressions, regular or otherwise, are\nused. Smack labels are composed of printable characters and may not\ninclude \"/\".\n\nA file always gets the Smack label of the task that created it.\n\nSmack defines and uses these labels:\n\n    \"*\" - pronounced \"star\"\n    \"_\" - pronounced \"floor\"\n    \"^\" - pronounced \"hat\"\n    \"?\" - pronounced \"huh\"\n\nThe access rules enforced by Smack are, in order:\n\n1. Any access requested by a task labeled \"*\" is denied.\n2. A read or execute access requested by a task labeled \"^\"\n   is permitted.\n3. A read or execute access requested on an object labeled \"_\"\n   is permitted.\n4. Any access requested on an object labeled \"*\" is permitted.\n5. Any access requested by a task on an object with the same\n   label is permitted.\n6. Any access requested that is explicitly defined in the loaded\n   rule set is permitted.\n7. Any other access is denied.\n\nRules may be explicitly defined by writing subject,object,access\ntriples to /smack/load.\n\nSmack rule sets can be easily defined that describe Bell\u0026LaPadula\nsensitivity, Biba integrity, and a variety of interesting\nconfigurations. Smack rule sets can be modified on the fly to\naccommodate changes in the operating environment or even the time\nof day.\n\nSome practical use cases:\n\nHierarchical levels. The less common of the two usual uses\nfor MLS systems is to define hierarchical levels, often\nunclassified, confidential, secret, and so on. To set up smack\nto support this, these rules could be defined:\n\n   C        Unclass rx\n   S        C       rx\n   S        Unclass rx\n   TS       S       rx\n   TS       C       rx\n   TS       Unclass rx\n\nA TS process can read S, C, and Unclass data, but cannot write it.\nAn S process can read C and Unclass. Note that specifying that\nTS can read S and S can read C does not imply TS can read C, it\nhas to be explicitly stated.\n\nNon-hierarchical categories. This is the more common of the\nusual uses for an MLS system. Since the default rule is that a\nsubject cannot access an object with a different label no\naccess rules are required to implement compartmentalization.\n\nA case that the Bell \u0026 LaPadula policy does not allow is demonstrated\nwith this Smack access rule:\n\nA case that Bell\u0026LaPadula does not allow that Smack does:\n\n    ESPN    ABC   r\n    ABC     ESPN  r\n\nOn my portable video device I have two applications, one that\nshows ABC programming and the other ESPN programming. ESPN wants\nto show me sport stories that show up as news, and ABC will\nonly provide minimal information about a sports story if ESPN\nis covering it. Each side can look at the other\u0027s info, neither\ncan change the other. Neither can see what FOX is up to, which\nis just as well all things considered.\n\nAnother case that I especially like:\n\n    SatData Guard   w\n    Guard   Publish w\n\nA program running with the Guard label opens a UDP socket and\naccepts messages sent by a program running with a SatData label.\nThe Guard program inspects the message to ensure it is wholesome\nand if it is sends it to a program running with the Publish label.\nThis program then puts the information passed in an appropriate\nplace. Note that the Guard program cannot write to a Publish\nfile system object because file system semanitic require read as\nwell as write.\n\nThe four cases (categories, levels, mutual read, guardbox) here\nare all quite real, and problems I\u0027ve been asked to solve over\nthe years. The first two are easy to do with traditonal MLS systems\nwhile the last two you can\u0027t without invoking privilege, at least\nfor a while.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nCc: Joshua Brindle \u003cmethod@manicmethod.com\u003e\nCc: Paul Moore \u003cpaul.moore@hp.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: \"Ahmed S. Darwish\" \u003cdarwish.07@gmail.com\u003e\nCc: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b7391de67da515c91f48aa371de77cb6cc5c07e",
      "tree": "22b9f5d9d1c36b374eb5765219aca3c7e1f23486",
      "parents": [
        "46c383cc4530ccc438cb325e92e11eb21dd3d4fc"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Mon Feb 04 22:29:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "capabilities: introduce per-process capability bounding set\n\nThe capability bounding set is a set beyond which capabilities cannot grow.\n Currently cap_bset is per-system.  It can be manipulated through sysctl,\nbut only init can add capabilities.  Root can remove capabilities.  By\ndefault it includes all caps except CAP_SETPCAP.\n\nThis patch makes the bounding set per-process when file capabilities are\nenabled.  It is inherited at fork from parent.  Noone can add elements,\nCAP_SETPCAP is required to remove them.\n\nOne example use of this is to start a safer container.  For instance, until\ndevice namespaces or per-container device whitelists are introduced, it is\nbest to take CAP_MKNOD away from a container.\n\nThe bounding set will not affect pP and pE immediately.  It will only\naffect pP\u0027 and pE\u0027 after subsequent exec()s.  It also does not affect pI,\nand exec() does not constrain pI\u0027.  So to really start a shell with no way\nof regain CAP_MKNOD, you would do\n\n\tprctl(PR_CAPBSET_DROP, CAP_MKNOD);\n\tcap_t cap \u003d cap_get_proc();\n\tcap_value_t caparray[1];\n\tcaparray[0] \u003d CAP_MKNOD;\n\tcap_set_flag(cap, CAP_INHERITABLE, 1, caparray, CAP_DROP);\n\tcap_set_proc(cap);\n\tcap_free(cap);\n\nThe following test program will get and set the bounding\nset (but not pI).  For instance\n\n\t./bset get\n\t\t(lists capabilities in bset)\n\t./bset drop cap_net_raw\n\t\t(starts shell with new bset)\n\t\t(use capset, setuid binary, or binary with\n\t\tfile capabilities to try to increase caps)\n\n************************************************************\ncap_bound.c\n************************************************************\n #include \u003csys/prctl.h\u003e\n #include \u003clinux/capability.h\u003e\n #include \u003csys/types.h\u003e\n #include \u003cunistd.h\u003e\n #include \u003cstdio.h\u003e\n #include \u003cstdlib.h\u003e\n #include \u003cstring.h\u003e\n\n #ifndef PR_CAPBSET_READ\n #define PR_CAPBSET_READ 23\n #endif\n\n #ifndef PR_CAPBSET_DROP\n #define PR_CAPBSET_DROP 24\n #endif\n\nint usage(char *me)\n{\n\tprintf(\"Usage: %s get\\n\", me);\n\tprintf(\"       %s drop \u003ccapability\u003e\\n\", me);\n\treturn 1;\n}\n\n #define numcaps 32\nchar *captable[numcaps] \u003d {\n\t\"cap_chown\",\n\t\"cap_dac_override\",\n\t\"cap_dac_read_search\",\n\t\"cap_fowner\",\n\t\"cap_fsetid\",\n\t\"cap_kill\",\n\t\"cap_setgid\",\n\t\"cap_setuid\",\n\t\"cap_setpcap\",\n\t\"cap_linux_immutable\",\n\t\"cap_net_bind_service\",\n\t\"cap_net_broadcast\",\n\t\"cap_net_admin\",\n\t\"cap_net_raw\",\n\t\"cap_ipc_lock\",\n\t\"cap_ipc_owner\",\n\t\"cap_sys_module\",\n\t\"cap_sys_rawio\",\n\t\"cap_sys_chroot\",\n\t\"cap_sys_ptrace\",\n\t\"cap_sys_pacct\",\n\t\"cap_sys_admin\",\n\t\"cap_sys_boot\",\n\t\"cap_sys_nice\",\n\t\"cap_sys_resource\",\n\t\"cap_sys_time\",\n\t\"cap_sys_tty_config\",\n\t\"cap_mknod\",\n\t\"cap_lease\",\n\t\"cap_audit_write\",\n\t\"cap_audit_control\",\n\t\"cap_setfcap\"\n};\n\nint getbcap(void)\n{\n\tint comma\u003d0;\n\tunsigned long i;\n\tint ret;\n\n\tprintf(\"i know of %d capabilities\\n\", numcaps);\n\tprintf(\"capability bounding set:\");\n\tfor (i\u003d0; i\u003cnumcaps; i++) {\n\t\tret \u003d prctl(PR_CAPBSET_READ, i);\n\t\tif (ret \u003c 0)\n\t\t\tperror(\"prctl\");\n\t\telse if (ret\u003d\u003d1)\n\t\t\tprintf(\"%s%s\", (comma++) ? \", \" : \" \", captable[i]);\n\t}\n\tprintf(\"\\n\");\n\treturn 0;\n}\n\nint capdrop(char *str)\n{\n\tunsigned long i;\n\n\tint found\u003d0;\n\tfor (i\u003d0; i\u003cnumcaps; i++) {\n\t\tif (strcmp(captable[i], str) \u003d\u003d 0) {\n\t\t\tfound\u003d1;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (!found)\n\t\treturn 1;\n\tif (prctl(PR_CAPBSET_DROP, i)) {\n\t\tperror(\"prctl\");\n\t\treturn 1;\n\t}\n\treturn 0;\n}\n\nint main(int argc, char *argv[])\n{\n\tif (argc\u003c2)\n\t\treturn usage(argv[0]);\n\tif (strcmp(argv[1], \"get\")\u003d\u003d0)\n\t\treturn getbcap();\n\tif (strcmp(argv[1], \"drop\")!\u003d0 || argc\u003c3)\n\t\treturn usage(argv[0]);\n\tif (capdrop(argv[2])) {\n\t\tprintf(\"unknown capability\\n\");\n\t\treturn 1;\n\t}\n\treturn execl(\"/bin/bash\", \"/bin/bash\", NULL);\n}\n************************************************************\n\n[serue@us.ibm.com: fix typo]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003ea\nSigned-off-by: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nTested-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46c383cc4530ccc438cb325e92e11eb21dd3d4fc",
      "tree": "882b84078780844dffa3fc107adf2a053a25cc7f",
      "parents": [
        "e338d263a76af78fe8f38a72131188b58fceb591"
      ],
      "author": {
        "name": "Andrew Morgan",
        "email": "andrew@nagrom.org",
        "time": "Mon Feb 04 22:29:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "Remove unnecessary include from include/linux/capability.h\n\nKaiGai Kohei observed that this line in the linux header is not needed.\n\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nCc: KaiGai Kohei \u003ckaigai@kaigai.gr.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e338d263a76af78fe8f38a72131188b58fceb591",
      "tree": "f3f046fc6fd66de43de7191830f0daf3bc4ec8eb",
      "parents": [
        "8f6936f4d29aa14e54a2470b954a2e1f96322988"
      ],
      "author": {
        "name": "Andrew Morgan",
        "email": "morgan@kernel.org",
        "time": "Mon Feb 04 22:29:42 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "Add 64-bit capability support to the kernel\n\nThe patch supports legacy (32-bit) capability userspace, and where possible\ntranslates 32-bit capabilities to/from userspace and the VFS to 64-bit\nkernel space capabilities.  If a capability set cannot be compressed into\n32-bits for consumption by user space, the system call fails, with -ERANGE.\n\nFWIW libcap-2.00 supports this change (and earlier capability formats)\n\n http://www.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.6/\n\n[akpm@linux-foundation.org: coding-syle fixes]\n[akpm@linux-foundation.org: use get_task_comm()]\n[ezk@cs.sunysb.edu: build fix]\n[akpm@linux-foundation.org: do not initialise statics to 0 or NULL]\n[akpm@linux-foundation.org: unused var]\n[serue@us.ibm.com: export __cap_ symbols]\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f6936f4d29aa14e54a2470b954a2e1f96322988",
      "tree": "63e1bca33b783cf819b356f3ffd45cfe7b226654",
      "parents": [
        "4bea58053f206be9a89ca35850f9ad295dac2042"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Feb 04 22:29:41 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "revert \"capabilities: clean up file capability reading\"\n\nRevert b68680e4731abbd78863063aaa0dca2a6d8cc723 to make way for the next\npatch: \"Add 64-bit capability support to the kernel\".\n\nWe want to keep the vfs_cap_data.data[] structure, using two \u0027data\u0027s for\n64-bit caps (and later three for 96-bit caps), whereas\nb68680e4731abbd78863063aaa0dca2a6d8cc723 had gotten rid of the \u0027data\u0027 struct\nmade its members inline.\n\nThe 64-bit caps patch keeps the stack abuse fix at get_file_caps(), which was\nthe more important part of that patch.\n\n[akpm@linux-foundation.org: coding-style fixes]\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nCc: Andrew Morgan \u003cmorgan@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42492594043d621a7910ff5877c3eb9202870b45",
      "tree": "9188d112c019a189606847dc1d90ccc63c1bacf2",
      "parents": [
        "3729145821e3088a0c3c4183037fde356204bf97"
      ],
      "author": {
        "name": "David P. Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Mon Feb 04 22:29:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "VFS/Security: Rework inode_getsecurity and callers to return resulting buffer\n\nThis patch modifies the interface to inode_getsecurity to have the function\nreturn a buffer containing the security blob and its length via parameters\ninstead of relying on the calling function to give it an appropriately sized\nbuffer.\n\nSecurity blobs obtained with this function should be freed using the\nrelease_secctx LSM hook.  This alleviates the problem of the caller having to\nguess a length and preallocate a buffer for this function allowing it to be\nused elsewhere for Labeled NFS.\n\nThe patch also removed the unused err parameter.  The conversion is similar to\nthe one performed by Al Viro for the security_getprocattr hook.\n\nSigned-off-by: David P. Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bc3be2751b4f74ab90a446da1912fd8204d53f7",
      "tree": "2bc514025a906203244d98de70fb6bd87f3ac9ac",
      "parents": [
        "a322f8ab66f50b6c0dcdb59abae84fede7a5fded"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Mon Feb 04 22:29:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:19 2008 -0800"
      },
      "message": "writeback: speed up writeback of big dirty files\n\nAfter making dirty a 100M file, the normal behavior is to start the\nwriteback for all data after 30s delays.  But sometimes the following\nhappens instead:\n\n\t- after 30s:    ~4M\n\t- after 5s:     ~4M\n\t- after 5s:     all remaining 92M\n\nSome analyze shows that the internal io dispatch queues goes like this:\n\n\t\ts_io            s_more_io\n\t\t-------------------------\n\t1)\t100M,1K         0\n\t2)\t1K              96M\n\t3)\t0               96M\n1) initial state with a 100M file and a 1K file\n\n2) 4M written, nr_to_write \u003c\u003d 0, so write more\n\n3) 1K written, nr_to_write \u003e 0, no more writes(BUG)\n\nnr_to_write \u003e 0 in (3) fools the upper layer to think that data have all\nbeen written out.  The big dirty file is actually still sitting in\ns_more_io.  We cannot simply splice s_more_io back to s_io as soon as s_io\nbecomes empty, and let the loop in generic_sync_sb_inodes() continue: this\nmay starve newly expired inodes in s_dirty.  It is also not an option to\ndraw inodes from both s_more_io and s_dirty, an let the loop go on: this\nmight lead to live locks, and might also starve other superblocks in sync\ntime(well kupdate may still starve some superblocks, that\u0027s another bug).\n\nWe have to return when a full scan of s_io completes.  So nr_to_write \u003e 0\ndoes not necessarily mean that \"all data are written\".  This patch\nintroduces a flag writeback_control.more_io to indicate that more io should\nbe done.  With it the big dirty file no longer has to wait for the next\nkupdate invokation 5s later.\n\nIn sync_sb_inodes() we only set more_io on super_blocks we actually\nvisited.  This avoids the interaction between two pdflush deamons.\n\nAlso in __sync_single_inode() we don\u0027t blindly keep requeuing the io if the\nfilesystem cannot progress.  Failing to do so may lead to 100% iowait.\n\nTested-by: Mike Snitzer \u003csnitzer@gmail.com\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ed361dec36945f3116ee1338638ada9a8920905",
      "tree": "3e0fc6319ef49f6cac82e8203a8aa199302ab9c5",
      "parents": [
        "62e1c55300f306e06478f460a7eefba085206e0b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Feb 04 22:29:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:19 2008 -0800"
      },
      "message": "mm: fix PageUptodate data race\n\nAfter running SetPageUptodate, preceeding stores to the page contents to\nactually bring it uptodate may not be ordered with the store to set the\npage uptodate.\n\nTherefore, another CPU which checks PageUptodate is true, then reads the\npage contents can get stale data.\n\nFix this by having an smp_wmb before SetPageUptodate, and smp_rmb after\nPageUptodate.\n\nMany places that test PageUptodate, do so with the page locked, and this\nwould be enough to ensure memory ordering in those places if\nSetPageUptodate were only called while the page is locked.  Unfortunately\nthat is not always the case for some filesystems, but it could be an idea\nfor the future.\n\nAlso bring the handling of anonymous page uptodateness in line with that of\nfile backed page management, by marking anon pages as uptodate when they\n_are_ uptodate, rather than when our implementation requires that they be\nmarked as such.  Doing allows us to get rid of the smp_wmb\u0027s in the page\ncopying functions, which were especially added for anonymous pages for an\nanalogous memory ordering problem.  Both file and anonymous pages are\nhandled with the same barriers.\n\nFAQ:\nQ. Why not do this in flush_dcache_page?\nA. Firstly, flush_dcache_page handles only one side (the smb side) of the\nordering protocol; we\u0027d still need smp_rmb somewhere. Secondly, hiding away\nmemory barriers in a completely unrelated function is nasty; at least in the\nPageUptodate macros, they are located together with (half) the operations\ninvolved in the ordering. Thirdly, the smp_wmb is only required when first\nbringing the page uptodate, wheras flush_dcache_page should be called each time\nit is written to through the kernel mapping. It is logically the wrong place to\nput it.\n\nQ. Why does this increase my text size / reduce my performance / etc.\nA. Because it is adding the necessary instructions to eliminate the data-race.\n\nQ. Can it be improved?\nA. Yes, eg. if you were to create a rule that all SetPageUptodate operations\nrun under the page lock, we could avoid the smp_rmb places where PageUptodate\nis queried under the page lock. Requires audit of all filesystems and at least\nsome would need reworking. That\u0027s great you\u0027re interested, I\u0027m eagerly awaiting\nyour patches.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "195cf453d2c3d789cbe80e3735755f860c2fb222",
      "tree": "fad48a8167744b6c091c8ca499bc78b859af8957",
      "parents": [
        "3dfa5721f12c3d5a441448086bee156887daa961"
      ],
      "author": {
        "name": "Bron Gondwana",
        "email": "brong@fastmail.fm",
        "time": "Mon Feb 04 22:29:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:18 2008 -0800"
      },
      "message": "mm/page-writeback: highmem_is_dirtyable option\n\nAdd vm.highmem_is_dirtyable toggle\n\nA 32 bit machine with HIGHMEM64 enabled running DCC has an MMAPed file of\napproximately 2Gb size which contains a hash format that is written\nrandomly by the dbclean process.  On 2.6.16 this process took a few\nminutes.  With lowmem only accounting of dirty ratios, this takes about 12\nhours of 100% disk IO, all random writes.\n\nInclude a toggle in /proc/sys/vm/highmem_is_dirtyable which can be set to 1 to\nadd the highmem back to the total available memory count.\n\n[akpm@linux-foundation.org: Fix the CONFIG_DETECT_SOFTLOCKUP\u003dy build]\nSigned-off-by: Bron Gondwana \u003cbrong@fastmail.fm\u003e\nCc: Ethan Solomita \u003csolo@google.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: WU Fengguang \u003cwfg@mail.ustc.edu.cn\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3dfa5721f12c3d5a441448086bee156887daa961",
      "tree": "8ace8c3f842f8b626b762bb9d2a9b24d8e3bd130",
      "parents": [
        "5dc331852848a38ca00a2817e5b98a1d0561b116"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:29:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:18 2008 -0800"
      },
      "message": "Page allocator: get rid of the list of cold pages\n\nWe have repeatedly discussed if the cold pages still have a point. There is\none way to join the two lists: Use a single list and put the cold pages at the\nend and the hot pages at the beginning. That way a single list can serve for\nboth types of allocations.\n\nThe discussion of the RFC for this and Mel\u0027s measurements indicate that\nthere may not be too much of a point left to having separate lists for\nhot and cold pages (see http://marc.info/?t\u003d119492914200001\u0026r\u003d1\u0026w\u003d2).\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Martin Bligh \u003cmbligh@mbligh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f8f2172537de7af0b0fbd33502d18d52b1339bc",
      "tree": "273c86583ed0295059c5526d3bd6927520a20add",
      "parents": [
        "e2848a0efedef4dad52d1334d37f8719cd6268fd"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:29:11 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:17 2008 -0800"
      },
      "message": "Page allocator: clean up pcp draining functions\n\n- Add comments explaing how drain_pages() works.\n\n- Eliminate useless functions\n\n- Rename drain_all_local_pages to drain_all_pages(). It does drain\n  all pages not only those of the local processor.\n\n- Eliminate useless interrupt off / on sequences. drain_pages()\n  disables interrupts on its own. The execution thread is\n  pinned to processor by the caller. So there is no need to\n  disable interrupts.\n\n- Put drain_all_pages() declaration in gfp.h and remove the\n  declarations from suspend.h and from mm/memory_hotplug.c\n\n- Make software suspend call drain_all_pages(). The draining\n  of processor local pages is may not the right approach if\n  software suspend wants to support SMP. If they call drain_all_pages\n  then we can make drain_pages() static.\n\n[akpm@linux-foundation.org: fix build]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Daniel Walker \u003cdwalker@mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f248dcb34d7b7ac255db70071a20be9d9c6ad491",
      "tree": "ec7c7fb115e40b4a337af98a6f9f2ad5db9af1f0",
      "parents": [
        "4752c369789250eafcd7813e11c8fb689235b0d2"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: move clear_refs code to task_mmu.c\n\nThis puts all the clear_refs code where it belongs and probably lets things\ncompile on MMU-less systems as well.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6473092bd9116583ce9ab8cf1b6570e1aa6fc83",
      "tree": "e91a7ca6ce89f24a4a2d500d748dabf727c61887",
      "parents": [
        "698dd4ba6b12e34e1e432c944c01478c0b2cd773"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: introduce a generic page walker\n\nIntroduce a general page table walker\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "698dd4ba6b12e34e1e432c944c01478c0b2cd773",
      "tree": "fe524e3ae12b54968b363314ad45841abbd55d98",
      "parents": [
        "824552574162ac00ae636fa41386b1072379ea4a"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:00 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: move is_swap_pte\n\nMove is_swap_pte helper function to swapops.h for use by pagemap code\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "824552574162ac00ae636fa41386b1072379ea4a",
      "tree": "85c595275c6007115ad002c56dbb7eb51ab67064",
      "parents": [
        "ec4dd3eb35759f9fbeb5c1abb01403b2fde64cc9"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Mon Feb 04 22:28:59 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: rework TASK_SIZE macros\n\nThe following replaces the earlier patches sent.  It should address\nDavid Rientjes\u0027s comments, and has been compile tested on all the\narchitectures that it touches, save for parisc.\n\nFor the /proc/\u003cpid\u003e/pagemap code[1], we need to able to query how\nmuch virtual address space a particular task has.  The trick is\nthat we do it through /proc and can\u0027t use TASK_SIZE since it\nreferences \"current\" on some arches.  The process opening the\n/proc file might be a 32-bit process opening a 64-bit process\u0027s\npagemap file.\n\nx86_64 already has a TASK_SIZE_OF() macro:\n\n#define TASK_SIZE_OF(child)     ((test_tsk_thread_flag(child, TIF_IA32)) ? IA32_PAGE_OFFSET : TASK_SIZE64)\n\nI\u0027d like to have that for other architectures.  So, add it\nfor all the architectures that actually use \"current\" in\ntheir TASK_SIZE.  For the others, just add a quick #define\nin sched.h to use plain old TASK_SIZE.\n\n1. http://www.linuxworld.com/news/2007/042407-kernel.html\n\n- MIPS portion from Ralf Baechle \u003cralf@linux-mips.org\u003e\n\n[akpm@linux-foundation.org: fix mips build]\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73b1262fa43a778b1e154deea632cdef5009d6a1",
      "tree": "409f14e78e23cd999e8c3d1e0945f0fa9b67048f",
      "parents": [
        "f000944d03a5b74ab3c92b2fcdf0e944cc898065"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Feb 04 22:28:50 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:15 2008 -0800"
      },
      "message": "tmpfs: move swap swizzling into shmem\n\nmove_to_swap_cache and move_from_swap_cache functions (which swizzle a page\nbetween tmpfs page cache and swap cache, to avoid page copying) are only used\nby shmem.c; and our subsequent fix for unionfs needs different treatments in\nthe two instances of move_from_swap_cache.  Move them from swap_state.c into\ntheir callsites shmem_writepage, shmem_unuse_inode and shmem_getpage, making\nadd_to_swap_cache externally visible.\n\nshmem.c likes to say set_page_dirty where swap_state.c liked to say\nSetPageDirty: respect that diversity, which __set_page_dirty_no_writeback\nmakes moot (and implies we should lose that \"shift page from clean_pages to\ndirty_pages list\" comment: it\u0027s on neither).\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02098feaa42b2e0087fbbe6c6ab9a23e4653b16a",
      "tree": "494eaf13f204c9384d4316202fd76cd1b5d960ad",
      "parents": [
        "46017e954826ac59e91df76341a3f76b45467847"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Feb 04 22:28:42 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "swapin needs gfp_mask for loop on tmpfs\n\nBuilding in a filesystem on a loop device on a tmpfs file can hang when\nswapping, the loop thread caught in that infamous throttle_vm_writeout.\n\nIn theory this is a long standing problem, which I\u0027ve either never seen in\npractice, or long ago suppressed the recollection, after discounting my load\nand my tmpfs size as unrealistically high.  But now, with the new aops, it has\nbecome easy to hang on one machine.\n\nLoop used to grab_cache_page before the old prepare_write to tmpfs, which\nseems to have been enough to free up some memory for any swapin needed; but\nthe new write_begin lets tmpfs find or allocate the page (much nicer, since\ngrab_cache_page missed tmpfs pages in swapcache).\n\nWhen allocating a fresh page, tmpfs respects loop\u0027s mapping_gfp_mask, which\nhas __GFP_IO|__GFP_FS stripped off, and throttle_vm_writeout is designed to\nbreak out when __GFP_IO or GFP_FS is unset; but when tmfps swaps in,\nread_swap_cache_async allocates with GFP_HIGHUSER_MOVABLE regardless of the\nmapping_gfp_mask - hence the hang.\n\nSo, pass gfp_mask down the line from shmem_getpage to shmem_swapin to\nswapin_readahead to read_swap_cache_async to add_to_swap_cache.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46017e954826ac59e91df76341a3f76b45467847",
      "tree": "711a35e3936118665d0eac2afeef8758b4f4e95f",
      "parents": [
        "c4cc6d07b2f465fbf5efd99bbe772a49c515f3f2"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Mon Feb 04 22:28:41 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "swapin_readahead: move and rearrange args\n\nswapin_readahead has never sat well in mm/memory.c: move it to mm/swap_state.c\nbeside its kindred read_swap_cache_async.  Why were its args in a different\norder?  rearrange them.  And since it was always followed by a\nread_swap_cache_async of the target page, fold that in and return struct\npage*.  Then CONFIG_SWAP\u003dn no longer needs valid_swaphandles and\nread_swap_cache_async stubs.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nAcked-by: Rik van Riel \u003criel@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": "aec2c3ed01ed54d0cdf7f6b7c4be217c045ac5ea",
      "tree": "b4fcc3f69567eafe956d2fd0af37ba5ca008c531",
      "parents": [
        "bf53d6f8fa467397a16de2a2500312ae26528d34"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "VM: allow get_page_unless_zero on compound pages\n\nBoth slab defrag and the large blocksize patches need to ability to take\nrefcounts on compound pages.  May be useful in other places as well.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e2779fa281cfda13ac060753d674bbcaa23367e",
      "tree": "e2af17d69b71e0f8b3f00fe949cb8abfba4298ed",
      "parents": [
        "0b7a96114bd5991d355a1f1c1d3d9c0c9d9c1cfc"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "is_vmalloc_addr(): Check if an address is within the vmalloc boundaries\n\nChecking if an address is a vmalloc address is done in a couple of places.\nDefine a common version in mm.h and replace the other checks.\n\nAgain the include structures suck.  The definition of VMALLOC_START and\nVMALLOC_END is not available in vmalloc.h since highmem.c cannot be included\nthere.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3bdda02aa547a0753b4fdbc105e86ef9046b30b",
      "tree": "969557274d94bd0a8e3c638b796c0a13f3e3afd2",
      "parents": [
        "48667e7a43c1a1e0ba743f93ae946f8cb34ff2f9"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "vmalloc: add const to void* parameters\n\nMake vmalloc functions work the same way as kfree() and friends that\ntake a const void * argument.\n\n[akpm@linux-foundation.org: fix consts, coding-style]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48667e7a43c1a1e0ba743f93ae946f8cb34ff2f9",
      "tree": "b2fb79d16fbac46a859f8332cf95852b73839e07",
      "parents": [
        "eebd2aa355692afaf9906f62118620f1a1c19dbb"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:13 2008 -0800"
      },
      "message": "Move vmalloc_to_page() to mm/vmalloc.\n\nWe already have page table manipulation for vmalloc in vmalloc.c. Move the\nvmalloc_to_page() function there as well.\n\nMove the definitions for vmalloc related functions in mm.h to a newly created\nsection.  A better place would be vmalloc.h but mm.h is basic and may depend\non these functions.  An alternative would be to include vmalloc.h in mm.h\n(like done for vmstat.h).\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eebd2aa355692afaf9906f62118620f1a1c19dbb",
      "tree": "207eead3a736963c3e50942038c463f2f611ccce",
      "parents": [
        "b98348bdd08dc4ec11828aa98a78edde15c53cfa"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:13 2008 -0800"
      },
      "message": "Pagecache zeroing: zero_user_segment, zero_user_segments and zero_user\n\nSimplify page cache zeroing of segments of pages through 3 functions\n\nzero_user_segments(page, start1, end1, start2, end2)\n\n        Zeros two segments of the page. It takes the position where to\n        start and end the zeroing which avoids length calculations and\n\tmakes code clearer.\n\nzero_user_segment(page, start, end)\n\n        Same for a single segment.\n\nzero_user(page, start, length)\n\n        Length variant for the case where we know the length.\n\nWe remove the zero_user_page macro. Issues:\n\n1. Its a macro. Inline functions are preferable.\n\n2. The KM_USER0 macro is only defined for HIGHMEM.\n\n   Having to treat this special case everywhere makes the\n   code needlessly complex. The parameter for zeroing is always\n   KM_USER0 except in one single case that we open code.\n\nAvoiding KM_USER0 makes a lot of code not having to be dealing\nwith the special casing for HIGHMEM anymore. Dealing with\nkmap is only necessary for HIGHMEM configurations. In those\nconfigurations we use KM_USER0 like we do for a series of other\nfunctions defined in highmem.h.\n\nSince KM_USER0 is depends on HIGHMEM the existing zero_user_page\nfunction could not be a macro. zero_user_* functions introduced\nhere can be be inline because that constant is not used when these\nfunctions are called.\n\nAlso extract the flushing of the caches to be outside of the kmap.\n\n[akpm@linux-foundation.org: fix nfs and ntfs build]\n[akpm@linux-foundation.org: fix ntfs build some more]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e60fdcf0c2905d7a8fc4cb2b3711ea5c5acaae1",
      "tree": "c90417ab0e2079d0355ffb553985d9a0f2348bab",
      "parents": [
        "e58b9e2762a6ef99e20dba47aba21b911658541d"
      ],
      "author": {
        "name": "eric miao",
        "email": "eric.miao@marvell.com",
        "time": "Mon Feb 04 22:28:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:13 2008 -0800"
      },
      "message": "gpiolib: pca9539 i2c gpio expander support\n\nThis adds a new-style I2C driver with basic support for the sixteen bit\nPCA9539 GPIO expanders.  These chips have multiple registers, push-pull output\ndrivers, and (not supported in this patch) pin change interrupts.\n\nBoard-specific code must provide \"pca9539_platform_data\" with each chip\u0027s\n\"i2c_board_info\".  That provides the GPIO numbers to be used by that chip, and\ncallbacks for board-specific setup/teardown logic.\n\nDerived from drivers/i2c/chips/pca9539.c (which has no current known users).\nThis is faster and simpler; it uses 16-bit register access, and cache the\nOUTPUT and DIRECTION registers for fast access\n\nSigned-off-by: eric miao \u003ceric.miao@marvell.com\u003e\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Philipp Zabel \u003cphilipp.zabel@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ben Gardner \u003cbgardner@wabtec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e58b9e2762a6ef99e20dba47aba21b911658541d",
      "tree": "0097fbe262bb4d1944bfb3c9a922ec36b90851c5",
      "parents": [
        "15fae37d9f5f21571a9618d8353164b6ddfea6f6"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Mon Feb 04 22:28:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:13 2008 -0800"
      },
      "message": "mcp23s08 spi gpio expander support\n\nBasic driver for 8-bit SPI based MCP23S08 GPIO expander, without support for\nIRQs or the shared chipselect mechanism.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Eric Miao \u003ceric.miao@marvell.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Philipp Zabel \u003cphilipp.zabel@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ben Gardner \u003cbgardner@wabtec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15fae37d9f5f21571a9618d8353164b6ddfea6f6",
      "tree": "13b4fb5479cf3a9522c6673cc6ccae20b6658e55",
      "parents": [
        "1c44f5f16fee880b294f8068354bfb9dddf1349b"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Mon Feb 04 22:28:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:13 2008 -0800"
      },
      "message": "gpiolib: pcf857x i2c gpio expander support\n\nThis is a new-style I2C driver for most common 8 and 16 bit I2C based\n\"quasi-bidirectional\" GPIO expanders: pcf8574 or pcf8575, and several\ncompatible models (mostly faster, supporting I2C at up to 1 MHz).\n\nThe driver exposes the GPIO signals using the platform-neutral GPIO\nprogramming interface, so they are easily accessed by other kernel code.  The\nlack of such a flexible kernel API has been a big factor in the proliferation\nof board-specific drivers for these chips...  stuff that rarely makes it\nupstream since it\u0027s so ugly.  This driver will let such boards use standard\ncalls.\n\nSince it\u0027s a new-style driver, these devices must be configured as part of\nboard-specific init.  That eliminates the need for error-prone manual\nconfiguration of module parameters, and makes compatibility with legacy\ndrivers (pcf8574.c, pc8575.c) for these chips easier (there\u0027s a clear\neither/or disjunction).\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nCc: Eric Miao \u003ceric.miao@marvell.com\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Philipp Zabel \u003cphilipp.zabel@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ben Gardner \u003cbgardner@wabtec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59fc67dedb46c29442989e52af39da67aea52512",
      "tree": "d75eb8ce840e1f9d2a2e2dd939e28396750186fb",
      "parents": [
        "d22a6966b8029913fac37d078ab2403898d94c63"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Mon Feb 04 22:28:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:12 2008 -0800"
      },
      "message": "iommu sg merging: PCI: add dma segment boundary support\n\nThis adds PCI\u0027s accessor for segment_boundary_mask in device_dma_parameters.\n\nThe default segment_boundary is set to 0xffffffff, same to the block layer\u0027s\ndefault value (and the scsi mid layer uses the same value).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d22a6966b8029913fac37d078ab2403898d94c63",
      "tree": "f8bf9155b805781cef04ccb6c8de688ab6ea21e1",
      "parents": [
        "67ec11cf968241c9ae907f8817b6ac74d4dd71d7"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Mon Feb 04 22:28:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:11 2008 -0800"
      },
      "message": "iommu sg merging: add accessors for segment_boundary_mask in device_dma_parameters()\n\nThis adds new accessors for segment_boundary_mask in device_dma_parameters\nstructure in the same way I did for max_segment_size.  So we can easily change\nwhere to place struct device_dma_parameters in the future.\n\ndma_get_segment boundary returns 0xffffffff if dma_parms in struct device\nisn\u0027t set up properly.  0xffffffff is the default value used in the block\nlayer and the scsi mid layer.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0291df8cc9dac09c303d21d5bcd2ad73762c836a",
      "tree": "5a79187b309cc1a2115a94bc7927c85dd3c67ac9",
      "parents": [
        "0c95fdc59640824d7e0b017be295fb912ceef4ab"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Mon Feb 04 22:28:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:11 2008 -0800"
      },
      "message": "iommu sg: add IOMMU helper functions for the free area management\n\nThis adds IOMMU helper functions for the free area management.  These\nfunctions take care of LLD\u0027s segment boundary limit for IOMMUs.  They would be\nuseful for IOMMUs that use bitmap for the free area management.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Jens Axboe \u003cjens.axboe@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": "4d57cdfacaa1c207bf4c071f89835e0368766a50",
      "tree": "b0b617efcd2e228573e42e7efbea4a95955ddf70",
      "parents": [
        "6b7b651055221127304a4e373ee9b762398d54d7"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Mon Feb 04 22:27:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:10 2008 -0800"
      },
      "message": "iommu sg merging: PCI: add device_dma_parameters support\n\nThis adds struct device_dma_parameters in struct pci_dev and properly\nsets up a pointer in struct device.\n\nThe default max_segment_size is set to 64K, same to the block layer\u0027s\ndefault value.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nMostly-acked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@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": "6b7b651055221127304a4e373ee9b762398d54d7",
      "tree": "06a8383d5d20011a5ffe04b4e78234a8fcc98f51",
      "parents": [
        "7bbdc3d51cf793dd81c38f794f4cb73df58d1527"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Mon Feb 04 22:27:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:10 2008 -0800"
      },
      "message": "iommu sg merging: add device_dma_parameters structure\n\nIOMMUs merges scatter/gather segments without considering a low level\ndriver\u0027s restrictions. The problem is that IOMMUs can\u0027t access to the\nlimitations because they are in request_queue.\n\nThis patchset introduces a new structure, device_dma_parameters,\nincluding dma information. A pointer to device_dma_parameters is added\nto struct device. The bus specific structures (like pci_dev) includes\ndevice_dma_parameters. Low level drivers can use dma_set_max_seg_size\nto tell IOMMUs about the restrictions.\n\nWe can move more dma stuff in struct device (like dma_mask) to struct\ndevice_dma_parameters later (needs some cleanups before that).\n\nThis includes patches for all the IOMMUs that could merge sg (x86_64,\nppc, IA64, alpha, sparc64, and parisc) though only the ppc patch was\ntested. The patches for other IOMMUs are only compile tested.\n\nThis patch:\n\nAdd a new structure, device_dma_parameters, including dma information.  A\npointer to device_dma_parameters is added to struct device.\n\n- there are only max_segment_size and segment_boundary_mask there but we\u0027ll\n  move more dma stuff in struct device (like dma_mask) to struct\n  device_dma_parameters later.  segment_boundary_mask is not supported yet.\n\n- new accessors for the dma parameters are added.  So we can easily change\n  where to place struct device_dma_parameters in the future.\n\n- dma_get_max_seg_size returns 64K if dma_parms in struct device isn\u0027t set\n  up properly.  64K is the default max_segment_size in the block layer.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@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": "74a197417240120d638d67d74f48655fb7f46f16",
      "tree": "903eea1331d4fbea110806f7ca4e4a96c128724a",
      "parents": [
        "02c9b5cf9acd8a85313b892dc5196ccf133d4884"
      ],
      "author": {
        "name": "Will Newton",
        "email": "will.newton@gmail.com",
        "time": "Mon Feb 04 22:27:50 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:09 2008 -0800"
      },
      "message": "8250.c: support specifying DW APB UARTs in device platform_data\n\nAllow the private_data field to be specified in platform_data for the\nstandard 8250/16550 UART.  This field is used by DW APB type UARTs and\nwithout this patch it\u0027s only possible to set this field when registering\nthe port by hand.  If private_data is not set then the driver will\npotentially oops with a NULL pointer dereference.\n\nSigned-off-by: Will Newton \u003cwill.newton@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "02c9b5cf9acd8a85313b892dc5196ccf133d4884",
      "tree": "7feb5cf1c34ed8cc602171f66cbe9adfe2eb19d3",
      "parents": [
        "1452750afc923b838a76e23150d5f1b4fc718b11"
      ],
      "author": {
        "name": "Krauth.Julien",
        "email": "Krauth.Julien@addi-data.com",
        "time": "Mon Feb 04 22:27:49 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:09 2008 -0800"
      },
      "message": "serial: add ADDI-DATA GmbH Communication cardsin8250_pci.c and pci_ids.h\n\nAdd ADDI-DATA GmbH communication cards to 8250_pci driver.  Supported cards\nare:\n\nAPCI-7300, APCI-7420, APCI-7500, APCI-7800 APCI-7300-2, APCI-7420-2,\nAPCI-7500-2 APCI-7300-3, APCI-7420-3, APCI-7500-3, APCI-7800-3\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Krauth J. \u003ckrauth.julien@addi-data.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7492d4a416d68ab4bd254b36ffcc4e0138daa8ff",
      "tree": "f6d2f168c668771b04a984ac1cc426d146b8559b",
      "parents": [
        "f79c343e2e5ba82b9661e7287a42fac596bf367a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Mon Feb 04 22:27:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:08 2008 -0800"
      },
      "message": "sdio: fix module device table definition for m68k\n\nFATAL: drivers/bluetooth/btsdio: sizeof(struct sdio_device_id)\u003d12 is not a modulo of the size of section __mod_sdio_device_table\u003d30.\nFix definition of struct sdio_device_id in mod_devicetable.h\n\nm68k has 16bit alignment for unsigned long.\n\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\nCC: Marcel Holtmann \u003cmarcel@holtmann.org\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": "5e05ad7d4e3b11f935998882b5d9c3b257137f1b",
      "tree": "63b1b197f1ee68e656878257394d1ec8796ff3ea",
      "parents": [
        "ed5d2cac114202fe2978a9cbcab8f5032796d538"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Mon Feb 04 22:27:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "timerfd: introduce a new hrtimer_forward_now() function\n\nI think that advancing the timer against the timer\u0027s current \"now\" can be a\npretty common usage, so, w/out exposing hrtimer\u0027s internals, we add a new\nhrtimer_forward_now() function.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\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": "ed5d2cac114202fe2978a9cbcab8f5032796d538",
      "tree": "aa9aaea1aa0945bd9159685d1b04897d105a90c9",
      "parents": [
        "f558b7e408026eb3c6afcd0e8fc1f7fe31195a6a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Feb 04 22:27:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "exec: rework the group exit and fix the race with kill\n\nAs Roland pointed out, we have the very old problem with exec.  de_thread()\nsets SIGNAL_GROUP_EXIT, kills other threads, changes -\u003egroup_leader and then\nclears signal-\u003eflags.  All signals (even fatal ones) sent in this window\n(which is not too small) will be lost.\n\nWith this patch exec doesn\u0027t abuse SIGNAL_GROUP_EXIT.  signal_group_exit(),\nthe new helper, should be used to detect exit_group() or exec() in progress.\nIt can have more users, but this patch does only strictly necessary changes.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Robin Holt \u003cholt@sgi.com\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": "59714d65dfbc86d5cb93adc5bac57a921cc2fa84",
      "tree": "10eda85ccab88fb707d6c6b4f4fb7f2e9bd1f4e1",
      "parents": [
        "0ccf831cbee94df9c5006dd46248c0f07847dd7c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Feb 04 22:27:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "get_task_comm(): return the result\n\nIt was dumb to make get_task_comm() return void.  Change it to return a\npointer to the resulting output for caller convenience.\n\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\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": "0ccf831cbee94df9c5006dd46248c0f07847dd7c",
      "tree": "4de8d53c51dc4aff80f35a95cdd185229f0df79e",
      "parents": [
        "96cf49a2c13e8dcf442abaadf6645f6a1fb3ae92"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 04 22:27:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "lockdep: annotate epoll\n\nOn Sat, 2008-01-05 at 13:35 -0800, Davide Libenzi wrote:\n\n\u003e I remember I talked with Arjan about this time ago. Basically, since 1)\n\u003e you can drop an epoll fd inside another epoll fd 2) callback-based wakeups\n\u003e are used, you can see a wake_up() from inside another wake_up(), but they\n\u003e will never refer to the same lock instance.\n\u003e Think about:\n\u003e\n\u003e \tdfd \u003d socket(...);\n\u003e \tefd1 \u003d epoll_create();\n\u003e \tefd2 \u003d epoll_create();\n\u003e \tepoll_ctl(efd1, EPOLL_CTL_ADD, dfd, ...);\n\u003e \tepoll_ctl(efd2, EPOLL_CTL_ADD, efd1, ...);\n\u003e\n\u003e When a packet arrives to the device underneath \"dfd\", the net code will\n\u003e issue a wake_up() on its poll wake list. Epoll (efd1) has installed a\n\u003e callback wakeup entry on that queue, and the wake_up() performed by the\n\u003e \"dfd\" net code will end up in ep_poll_callback(). At this point epoll\n\u003e (efd1) notices that it may have some event ready, so it needs to wake up\n\u003e the waiters on its poll wait list (efd2). So it calls ep_poll_safewake()\n\u003e that ends up in another wake_up(), after having checked about the\n\u003e recursion constraints. That are, no more than EP_MAX_POLLWAKE_NESTS, to\n\u003e avoid stack blasting. Never hit the same queue, to avoid loops like:\n\u003e\n\u003e \tepoll_ctl(efd2, EPOLL_CTL_ADD, efd1, ...);\n\u003e \tepoll_ctl(efd3, EPOLL_CTL_ADD, efd2, ...);\n\u003e \tepoll_ctl(efd4, EPOLL_CTL_ADD, efd3, ...);\n\u003e \tepoll_ctl(efd1, EPOLL_CTL_ADD, efd4, ...);\n\u003e\n\u003e The code \"if (tncur-\u003ewq \u003d\u003d wq || ...\" prevents re-entering the same\n\u003e queue/lock.\n\nSince the epoll code is very careful to not nest same instance locks\nallow the recursion.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3113e88c3cb3c0a22920b621f8e4d1f2ccc07f1e",
      "tree": "241192a6492a5254cd1a2fb8fff8e87969ef0420",
      "parents": [
        "dded91611a728d65721cdab3dd41d801a356fa15"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Feb 05 03:20:13 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:20:13 2008 -0800"
      },
      "message": "[PKT_SCHED]: vlan tag match\n\nProvide a way to use tc filters on vlan tag even if tag is buried in\nskb due to hardware acceleration.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dded91611a728d65721cdab3dd41d801a356fa15",
      "tree": "24a5b8d21586ff1cac17ec0ae13a30f6a53caa84",
      "parents": [
        "03245ce2f03228d681580c30c435225efadca602"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "stephen.hemminger@vyatta.com",
        "time": "Tue Feb 05 03:18:51 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:18:51 2008 -0800"
      },
      "message": "[NET]: Add if_addrlabel.h to sanitized headers.\n\nif_addrlabel.h is needed for iproute2 usage.\n\nSigned-off-by: Stephen Hemminger \u003cstephen.hemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "03245ce2f03228d681580c30c435225efadca602",
      "tree": "0126ae58202d2b8152992eb39b99a85b5b5806c0",
      "parents": [
        "8cf229437fd826c32a44546899412b1eb3e1db6f"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Feb 05 03:17:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:17:22 2008 -0800"
      },
      "message": "[NET] rtnetlink.c: remove no longer used functions\n\nThis patch removes the following no longer used functions:\n- rtattr_parse()\n- rtattr_strlcpy()\n- __rtattr_parse_nested_compat()\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a13af4b4d842da6d7065b8c73fa8f0ac58fea1b6",
      "tree": "3269002c62ee1f10728cfa5a9782225329166d6b",
      "parents": [
        "9ef9dc69d4167276c04590d67ee55de8380bc1ad"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Mon Oct 29 15:14:03 2007 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Feb 05 14:33:32 2008 +1000"
      },
      "message": "agp: add chipset flushing support to AGP interface\n\nThis bumps the AGP interface to 0.103.\n\nCertain Intel chipsets contains a global write buffer, and this can require\nflushing from the drm or X.org to make sure all data has hit RAM before\ninitiating a GPU transfer, due to a lack of coherency with the integrated\ngraphics device and this buffer.\n\nThis just adds generic support to the AGP interfaces, a follow-on patch\nwill add support to the Intel driver to use this interface.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "9ef9dc69d4167276c04590d67ee55de8380bc1ad",
      "tree": "f0afd03cd9184eda2fe14c41f09daec79a62682e",
      "parents": [
        "2c8296f8cf0ec40867965dddef3dfe92f73b38f4",
        "0d899e1b0000ddf78a75d7dcf9a9029d6f7f8091"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 15:29:53 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 15:29:53 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027for-linus\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (44 commits)\n  [ARM] 4822/1: RealView: Change the REALVIEW_MPCORE configuration option\n  [ARM] 4821/1: RealView: Remove the platform dependencies from localtimer.c\n  [ARM] 4820/1: RealView: Select the timer IRQ at run-time\n  [ARM] 4819/1: RealView: Fix entry-macro.S to work with multiple platforms\n  [ARM] 4818/1: RealView: Add core-tile detection\n  [ARM] 4817/1: RealView: Move the AMBA resource definitions to realview_eb.c\n  [ARM] 4816/1: RealView: Move the platform-specific definitions into board-eb.h\n  [ARM] 4815/1: RealView: Add clockevents suport for the local timers\n  [ARM] 4814/1: RealView: Add broadcasting clockevents support for ARM11MPCore\n  [ARM] 4813/1: Add SMP helper functions for clockevents support\n  [ARM] 4812/1: RealView: clockevents support for the RealView platforms\n  [ARM] 4811/1: RealView: clocksource support for the RealView platforms\n  [ARM] 4736/1: Export atags to userspace and allow kexec to use customised atags\n  [ARM] 4798/1: pcm027: fix missing header file\n  [ARM] 4803/1: pxa: fix building issue of poodle.c caused by patch 4737/1\n  [ARM] 4801/1: pxa: fix building issues of missing pxa2xx-regs.h\n  [ARM] pxa: introduce sysdev for pxa3xx static memory controller\n  [ARM] pxa: add preliminary suspend/resume code for pxa3xx\n  [ARM] pxa: introduce sysdev for GPIO register saving/restoring\n  [ARM] pxa: introduce sysdev for IRQ register saving/restoring\n  ...\n"
    },
    {
      "commit": "2c8296f8cf0ec40867965dddef3dfe92f73b38f4",
      "tree": "9d50fb09cd08a2677b3590668cbd49a7aa7f7a63",
      "parents": [
        "d2fc0bacd5c438cb459fdf531eff00ab18422a00",
        "da89b79ed06bac8e9b5b6874d4efc5382e1091de"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 12:14:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 12:14:55 2008 -0800"
      },
      "message": "Merge branch \u0027slub-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm\n\n* \u0027slub-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm:\n  Explain kmem_cache_cpu fields\n  SLUB: Do not upset lockdep\n  SLUB: Fix coding style violations\n  Add parameter to add_partial to avoid having two functions\n  SLUB: rename defrag to remote_node_defrag_ratio\n  Move count_partial before kmem_cache_shrink\n  SLUB: Fix sysfs refcounting\n  slub: fix shadowed variable sparse warnings\n"
    },
    {
      "commit": "da89b79ed06bac8e9b5b6874d4efc5382e1091de",
      "tree": "17cdde891b893f0bbad296cbd1cf12eb0d37b3b4",
      "parents": [
        "ba84c73c7ae21fc891a3c2576fa3be42752fce53"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Jan 07 23:20:31 2008 -0800"
      },
      "committer": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 10:56:03 2008 -0800"
      },
      "message": "Explain kmem_cache_cpu fields\n\nAdd some comments explaining the fields of the kmem_cache_cpu structure.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9824601ead957a29e35d539e43266c003f7b085b",
      "tree": "13df23987102e39fce77d64f60e499401444a905",
      "parents": [
        "f61396aed90acb033952531c522d1010f87e24f4"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Jan 07 23:20:26 2008 -0800"
      },
      "committer": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 10:56:02 2008 -0800"
      },
      "message": "SLUB: rename defrag to remote_node_defrag_ratio\n\nThe NUMA defrag works by allocating objects from partial slabs on remote\nnodes.  Rename it to\n\n\tremote_node_defrag_ratio\n\nto be clear about this.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93890b71a34f9490673a6edd56b61c2124215e46",
      "tree": "c5d82620f2cb69f0bf43639e63f54b0c0e2eb744",
      "parents": [
        "f5bb3a5e9dcdb8435471562b6cada89525cf4df1",
        "6b35e40767c6c1ac783330109ae8e0c09ea6bc82"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 08:00:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 08:00:54 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (25 commits)\n  virtio: balloon driver\n  virtio: Use PCI revision field to indicate virtio PCI ABI version\n  virtio: PCI device\n  virtio_blk: implement naming for vda-vdz,vdaa-vdzz,vdaaa-vdzzz\n  virtio_blk: Dont waste major numbers\n  virtio_blk: provide getgeo\n  virtio_net: parametrize the napi_weight for virtio receive queue.\n  virtio: free transmit skbs when notified, not on next xmit.\n  virtio: flush buffers on open\n  virtnet: remove double ether_setup\n  virtio: Allow virtio to be modular and used by modules\n  virtio: Use the sg_phys convenience function.\n  virtio: Put the virtio under the virtualization menu\n  virtio: handle interrupts after callbacks turned off\n  virtio: reset function\n  virtio: populate network rings in the probe routine, not open\n  virtio: Tweak virtio_net defines\n  virtio: Net header needs hdr_len\n  virtio: remove unused id field from struct virtio_blk_outhdr\n  virtio: clarify NO_NOTIFY flag usage\n  ...\n"
    },
    {
      "commit": "f5bb3a5e9dcdb8435471562b6cada89525cf4df1",
      "tree": "7b7cf9b90bacd0e2fe07cb3387516e9243f1ab66",
      "parents": [
        "9853832c49dc1685587abeb4e1decd4be690d256",
        "1560a79a2c2ea0c3826150da8029991d685de990"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:52 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (79 commits)\n  Jesper Juhl is the new trivial patches maintainer\n  Documentation: mention email-clients.txt in SubmittingPatches\n  fs/binfmt_elf.c: spello fix\n  do_invalidatepage() comment typo fix\n  Documentation/filesystems/porting fixes\n  typo fixes in net/core/net_namespace.c\n  typo fix in net/rfkill/rfkill.c\n  typo fixes in net/sctp/sm_statefuns.c\n  lib/: Spelling fixes\n  kernel/: Spelling fixes\n  include/scsi/: Spelling fixes\n  include/linux/: Spelling fixes\n  include/asm-m68knommu/: Spelling fixes\n  include/asm-frv/: Spelling fixes\n  fs/: Spelling fixes\n  drivers/watchdog/: Spelling fixes\n  drivers/video/: Spelling fixes\n  drivers/ssb/: Spelling fixes\n  drivers/serial/: Spelling fixes\n  drivers/scsi/: Spelling fixes\n  ...\n"
    },
    {
      "commit": "9853832c49dc1685587abeb4e1decd4be690d256",
      "tree": "13510327f85b8d8c238728b47ae74e0fa5299e17",
      "parents": [
        "b21761ff18c0eba67e8f2886b3c0b9cae79b5249",
        "ab1f16116527e42dec8aee176d673a41a881b809"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:03 2008 -0800"
      },
      "message": "Merge branch \u0027locks\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027locks\u0027 of git://linux-nfs.org/~bfields/linux:\n  pid-namespaces-vs-locks-interaction\n  file locks: Use wait_event_interruptible_timeout()\n  locks: clarify posix_locks_deadlock\n"
    },
    {
      "commit": "519cb688072008363e091be3f291c1b5779e2ba8",
      "tree": "dc5e251ff0eac8ae2f022858c0d7526299235f1d",
      "parents": [
        "2f98735c9c24ea1f0d40a364d4e63611b689b795",
        "8891fec65ac5b5a74b50c705e31b66c92c3eddeb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:56:17 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:56:17 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:\n  scsi: fix dependency bug in aic7 Makefile\n  kbuild: add svn revision information to setlocalversion\n  kbuild: do not warn about __*init/__*exit symbols being exported\n  Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig\n  Add HAVE_KPROBES\n  Add HAVE_OPROFILE\n  Create arch/Kconfig\n  Fix ARM to play nicely with generic Instrumentation menu\n  kconfig: ignore select of unknown symbol\n  kconfig: mark config as changed when loading an alternate config\n  kbuild: Spelling/grammar fixes for config DEBUG_SECTION_MISMATCH\n  Remove __INIT_REFOK and __INITDATA_REFOK\n  kbuild: print only total number of section mismatces found\n"
    },
    {
      "commit": "a2e4e108c511738fb3bc2bb2fedd593da9913764",
      "tree": "49e4084a383ed43e2d86a36176e197f6b7412a45",
      "parents": [
        "a6cc48eeea438b9d9e05943beebc31c52e76d32f",
        "a80f509f4a4f41ea8693733124470ad63a12664a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:43:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:43:36 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (77 commits)\n  [IPV6]: Reorg struct ifmcaddr6 to save some bytes\n  [INET_TIMEWAIT_SOCK]: Reorganize struct inet_timewait_sock to save some bytes\n  [DCCP]: Reorganize struct dccp_sock to save 8 bytes\n  [INET6]: Reorganize struct inet6_dev to save 8 bytes\n  [SOCK] proto: Add hashinfo member to struct proto\n  EMAC driver: Fix bug: The clock divisor is set to all ones at reset.\n  EMAC driver: fix bug - invalidate data cache of new_skb-\u003edata range when cache is WB\n  EMAC driver: add power down mode\n  EMAC driver: ADSP-BF52x arch/mach support\n  EMAC driver: use simpler comment headers and strip out information that is maintained in the scm\u0027s log\n  EMAC driver: bf537 MAC multicast hash filtering patch\n  EMAC driver: define MDC_CLK\u003d2.5MHz and caculate mdc_div according to SCLK.\n  EMAC driver: shorten the mdelay value to solve netperf performance issue\n  [netdrvr] sis190: build fix\n  sky2: fix Wake On Lan interaction with BIOS\n  sky2: restore multicast addresses after recovery\n  pci-skeleton: Misc fixes to build neatly\n  phylib: Add Realtek 821x eth PHY support\n  natsemi: Update locking documentation\n  PHYLIB: Locking fixes for PHY I/O potentially sleeping\n  ...\n"
    },
    {
      "commit": "a6cc48eeea438b9d9e05943beebc31c52e76d32f",
      "tree": "425f824849d5e8b0c7ffc36f9d70c1b21ba10695",
      "parents": [
        "7cf7669143db087e5cb36d1e07143938ff467147",
        "0c98b19fe571ede1f14bd95b855bcbe2cca99bcf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:42:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:42:46 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:\n  Driver core: Remove unneeded get_{device,driver}() calls.\n  Driver core: Update some prototypes in platform.txt\n  driver core: convert to use class_find_device api\n  PM: Export device_pm_schedule_removal\n  nozomi: finish constification\n  nozomi: constify driver\n  nozomi driver update\n  Add ja_JP translation of stable_kernel_rules.txt\n  kobject: kerneldoc comment fix\n  kobject: Always build in kernel/ksysfs.o.\n"
    },
    {
      "commit": "7cf7669143db087e5cb36d1e07143938ff467147",
      "tree": "30bd5643d4f799badeb37a6a7cc47500d4a4eb36",
      "parents": [
        "9135f1901ee6449dfe338adf6e40e9c2025b8150",
        "451124a7cc6c89fcb83d48082c7290f16f652f1c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:42:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:42:16 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6:\n  PCI: fix 4x section mismatch warnings\n  PCI: fix section mismatch warnings referring to pci_do_scan_bus\n  pci: pci_enable_device_bars() fix for lpfc driver\n  Revert \"PCI: PCIE ASPM support\"\n"
    },
    {
      "commit": "fa3218d8594869b38b1a170ea36d176ac455b897",
      "tree": "54e3423313f34fb144aa30c58f1d24018d604fce",
      "parents": [
        "e83aff58bf1b7e6b355a0cfa206e9d3aebe5623f"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "lg@denx.de",
        "time": "Tue Jan 29 15:43:13 2008 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Mon Feb 04 13:16:39 2008 +0000"
      },
      "message": "[ARM] 4660/3: at91: allow selecting UART for early kernel messages\n\nCurrently early kernel messages, i.e., those from uncompression, go to the\ndebugging UART. And if it is enabled in the platform configuration, but\nnot initialized by the bootloader, the machine hangs, waiting for UART\nstatus change. Besides, having those messages on another UART - typically\nthe console UART - may be preferrable. This patch allows selecting the\nUART in kernel configuration.\n\nSigned-off-by: Guennadi Liakhovetski \u003clg@denx.de\u003e\nAcked-by: Andrew Victor \u003clinux@maxim.org.za\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b35e40767c6c1ac783330109ae8e0c09ea6bc82",
      "tree": "e820d770894cb945c3070fa6739b0149b1bfa2f9",
      "parents": [
        "55a7c066041e7850948d29ed813f62821a9ec046"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Feb 04 23:50:12 2008 -0500"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Feb 04 23:50:13 2008 +1100"
      },
      "message": "virtio: balloon driver\n\nAfter discussions with Anthony Liguori, it seems that the virtio\nballoon can be made even simpler.  Here\u0027s my attempt.\n\nThe device configuration tells the driver how much memory it should\ntake from the guest (ie. balloon size).  The guest feeds the page\nnumbers it has taken via one virtqueue.\n\nA second virtqueue feeds the page numbers the driver wants back: if\nthe device has the VIRTIO_BALLOON_F_MUST_TELL_HOST bit, then this\nqueue is compulsory, otherwise it\u0027s advisory (and the guest can simply\nfault the pages back in).\n\nThis driver can be enhanced later to deflate the balloon via a\nshrinker, oom callback or we could even go for a complete set of\nin-guest regulators.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "55a7c066041e7850948d29ed813f62821a9ec046",
      "tree": "ea4ef20c8014d5222957cef83d4fc62b75c58fd6",
      "parents": [
        "3343660d8c62c6b00b2f15324ef3fcb6be207bfa"
      ],
      "author": {
        "name": "Anthony Liguori",
        "email": "aliguori@us.ibm.com",
        "time": "Mon Jan 28 09:59:59 2008 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Feb 04 23:50:12 2008 +1100"
      },
      "message": "virtio: Use PCI revision field to indicate virtio PCI ABI version\n\nAs Avi pointed out, as we continue to massage the virtio PCI ABI, we can make\nthings a little more friendly to users by utilizing the PCI revision field to\nindicate which version of the ABI we\u0027re using.  This is a hard ABI version\nand incrementing it will cause the guest driver to break.\n\nThis is the necessary changes to virtio_pci to support this.\n\nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "3343660d8c62c6b00b2f15324ef3fcb6be207bfa",
      "tree": "06d86446da65fc1814edad944e43aeb62f092422",
      "parents": [
        "d50ed907dc3db5bf2dd0a05b4e199a65793a3788"
      ],
      "author": {
        "name": "Anthony Liguori",
        "email": "aliguori@us.ibm.com",
        "time": "Mon Nov 12 21:30:26 2007 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Mon Feb 04 23:50:11 2008 +1100"
      },
      "message": "virtio: PCI device\n\nThis is a PCI device that implements a transport for virtio.  It allows virtio\ndevices to be used by QEMU based VMMs like KVM or Xen.\n\nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    }
  ],
  "next": "6e5aa7efb27aec7e55b6463fa2c8db594c4226fa"
}
