)]}'
{
  "log": [
    {
      "commit": "3699c53c485bf0168e6500d0ed18bf931584dd7c",
      "tree": "eee63a8ddbdb0665bc6a4a053a2405ca7a5b867f",
      "parents": [
        "29881c4502ba05f46bc12ae8053d4e08d7e2615c"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jan 06 22:27:01 2009 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 07 09:38:48 2009 +1100"
      },
      "message": "CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #3]\n\nFix a regression in cap_capable() due to:\n\n\tcommit 3b11a1decef07c19443d24ae926982bc8ec9f4c0\n\tAuthor: David Howells \u003cdhowells@redhat.com\u003e\n\tDate:   Fri Nov 14 10:39:26 2008 +1100\n\n\t    CRED: Differentiate objective and effective subjective credentials on a task\n\nThe problem is that the above patch allows a process to have two sets of\ncredentials, and for the most part uses the subjective credentials when\naccessing current\u0027s creds.\n\nThere is, however, one exception: cap_capable(), and thus capable(), uses the\nreal/objective credentials of the target task, whether or not it is the current\ntask.\n\nOrdinarily this doesn\u0027t matter, since usually the two cred pointers in current\npoint to the same set of creds.  However, sys_faccessat() makes use of this\nfacility to override the credentials of the calling process to make its test,\nwithout affecting the creds as seen from other processes.\n\nOne of the things sys_faccessat() does is to make an adjustment to the\neffective capabilities mask, which cap_capable(), as it stands, then ignores.\n\nThe affected capability check is in generic_permission():\n\n\tif (!(mask \u0026 MAY_EXEC) || execute_ok(inode))\n\t\tif (capable(CAP_DAC_OVERRIDE))\n\t\t\treturn 0;\n\nThis change passes the set of credentials to be tested down into the commoncap\nand SELinux code.  The security functions called by capable() and\nhas_capability() select the appropriate set of credentials from the process\nbeing checked.\n\nThis can be tested by compiling the following program from the XFS testsuite:\n\n/*\n *  t_access_root.c - trivial test program to show permission bug.\n *\n *  Written by Michael Kerrisk - copyright ownership not pursued.\n *  Sourced from: http://linux.derkeiler.com/Mailing-Lists/Kernel/2003-10/6030.html\n */\n#include \u003climits.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003csys/stat.h\u003e\n\n#define UID 500\n#define GID 100\n#define PERM 0\n#define TESTPATH \"/tmp/t_access\"\n\nstatic void\nerrExit(char *msg)\n{\n    perror(msg);\n    exit(EXIT_FAILURE);\n} /* errExit */\n\nstatic void\naccessTest(char *file, int mask, char *mstr)\n{\n    printf(\"access(%s, %s) returns %d\\n\", file, mstr, access(file, mask));\n} /* accessTest */\n\nint\nmain(int argc, char *argv[])\n{\n    int fd, perm, uid, gid;\n    char *testpath;\n    char cmd[PATH_MAX + 20];\n\n    testpath \u003d (argc \u003e 1) ? argv[1] : TESTPATH;\n    perm \u003d (argc \u003e 2) ? strtoul(argv[2], NULL, 8) : PERM;\n    uid \u003d (argc \u003e 3) ? atoi(argv[3]) : UID;\n    gid \u003d (argc \u003e 4) ? atoi(argv[4]) : GID;\n\n    unlink(testpath);\n\n    fd \u003d open(testpath, O_RDWR | O_CREAT, 0);\n    if (fd \u003d\u003d -1) errExit(\"open\");\n\n    if (fchown(fd, uid, gid) \u003d\u003d -1) errExit(\"fchown\");\n    if (fchmod(fd, perm) \u003d\u003d -1) errExit(\"fchmod\");\n    close(fd);\n\n    snprintf(cmd, sizeof(cmd), \"ls -l %s\", testpath);\n    system(cmd);\n\n    if (seteuid(uid) \u003d\u003d -1) errExit(\"seteuid\");\n\n    accessTest(testpath, 0, \"0\");\n    accessTest(testpath, R_OK, \"R_OK\");\n    accessTest(testpath, W_OK, \"W_OK\");\n    accessTest(testpath, X_OK, \"X_OK\");\n    accessTest(testpath, R_OK | W_OK, \"R_OK | W_OK\");\n    accessTest(testpath, R_OK | X_OK, \"R_OK | X_OK\");\n    accessTest(testpath, W_OK | X_OK, \"W_OK | X_OK\");\n    accessTest(testpath, R_OK | W_OK | X_OK, \"R_OK | W_OK | X_OK\");\n\n    exit(EXIT_SUCCESS);\n} /* main */\n\nThis can be run against an Ext3 filesystem as well as against an XFS\nfilesystem.  If successful, it will show:\n\n\t[root@andromeda src]# ./t_access_root /tmp/xxx 0 4043 4043\n\t---------- 1 dhowells dhowells 0 2008-12-31 03:00 /tmp/xxx\n\taccess(/tmp/xxx, 0) returns 0\n\taccess(/tmp/xxx, R_OK) returns 0\n\taccess(/tmp/xxx, W_OK) returns 0\n\taccess(/tmp/xxx, X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK) returns 0\n\taccess(/tmp/xxx, R_OK | X_OK) returns -1\n\taccess(/tmp/xxx, W_OK | X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK | X_OK) returns -1\n\nIf unsuccessful, it will show:\n\n\t[root@andromeda src]# ./t_access_root /tmp/xxx 0 4043 4043\n\t---------- 1 dhowells dhowells 0 2008-12-31 02:56 /tmp/xxx\n\taccess(/tmp/xxx, 0) returns 0\n\taccess(/tmp/xxx, R_OK) returns -1\n\taccess(/tmp/xxx, W_OK) returns -1\n\taccess(/tmp/xxx, X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK) returns -1\n\taccess(/tmp/xxx, R_OK | X_OK) returns -1\n\taccess(/tmp/xxx, W_OK | X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK | X_OK) returns -1\n\nI\u0027ve also tested the fix with the SELinux and syscalls LTP testsuites.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "29881c4502ba05f46bc12ae8053d4e08d7e2615c",
      "tree": "536ea4ac63554e836438bd5f370ddecaa343f1f4",
      "parents": [
        "76f7ba35d4b5219fcc4cb072134c020ec77d030d"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 07 09:21:54 2009 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jan 07 09:21:54 2009 +1100"
      },
      "message": "Revert \"CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2]\"\n\nThis reverts commit 14eaddc967b16017d4a1a24d2be6c28ecbe06ed8.\n\nDavid has a better version to come.\n"
    },
    {
      "commit": "14eaddc967b16017d4a1a24d2be6c28ecbe06ed8",
      "tree": "ce10216d592f0fa89ae02c4e4e9e9497010e7714",
      "parents": [
        "5c8c40be4b5a2944483bfc1a45d6c3fa02551af3"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Dec 31 15:15:42 2008 +0000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jan 05 11:17:04 2009 +1100"
      },
      "message": "CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2]\n\nFix a regression in cap_capable() due to:\n\n\tcommit 5ff7711e635b32f0a1e558227d030c7e45b4a465\n\tAuthor: David Howells \u003cdhowells@redhat.com\u003e\n\tDate:   Wed Dec 31 02:52:28 2008 +0000\n\n\t    CRED: Differentiate objective and effective subjective credentials on a task\n\nThe problem is that the above patch allows a process to have two sets of\ncredentials, and for the most part uses the subjective credentials when\naccessing current\u0027s creds.\n\nThere is, however, one exception: cap_capable(), and thus capable(), uses the\nreal/objective credentials of the target task, whether or not it is the current\ntask.\n\nOrdinarily this doesn\u0027t matter, since usually the two cred pointers in current\npoint to the same set of creds.  However, sys_faccessat() makes use of this\nfacility to override the credentials of the calling process to make its test,\nwithout affecting the creds as seen from other processes.\n\nOne of the things sys_faccessat() does is to make an adjustment to the\neffective capabilities mask, which cap_capable(), as it stands, then ignores.\n\nThe affected capability check is in generic_permission():\n\n\tif (!(mask \u0026 MAY_EXEC) || execute_ok(inode))\n\t\tif (capable(CAP_DAC_OVERRIDE))\n\t\t\treturn 0;\n\nThis change splits capable() from has_capability() down into the commoncap and\nSELinux code.  The capable() security op now only deals with the current\nprocess, and uses the current process\u0027s subjective creds.  A new security op -\ntask_capable() - is introduced that can check any task\u0027s objective creds.\n\nstrictly the capable() security op is superfluous with the presence of the\ntask_capable() op, however it should be faster to call the capable() op since\ntwo fewer arguments need be passed down through the various layers.\n\nThis can be tested by compiling the following program from the XFS testsuite:\n\n/*\n *  t_access_root.c - trivial test program to show permission bug.\n *\n *  Written by Michael Kerrisk - copyright ownership not pursued.\n *  Sourced from: http://linux.derkeiler.com/Mailing-Lists/Kernel/2003-10/6030.html\n */\n#include \u003climits.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cstdio.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003cfcntl.h\u003e\n#include \u003csys/stat.h\u003e\n\n#define UID 500\n#define GID 100\n#define PERM 0\n#define TESTPATH \"/tmp/t_access\"\n\nstatic void\nerrExit(char *msg)\n{\n    perror(msg);\n    exit(EXIT_FAILURE);\n} /* errExit */\n\nstatic void\naccessTest(char *file, int mask, char *mstr)\n{\n    printf(\"access(%s, %s) returns %d\\n\", file, mstr, access(file, mask));\n} /* accessTest */\n\nint\nmain(int argc, char *argv[])\n{\n    int fd, perm, uid, gid;\n    char *testpath;\n    char cmd[PATH_MAX + 20];\n\n    testpath \u003d (argc \u003e 1) ? argv[1] : TESTPATH;\n    perm \u003d (argc \u003e 2) ? strtoul(argv[2], NULL, 8) : PERM;\n    uid \u003d (argc \u003e 3) ? atoi(argv[3]) : UID;\n    gid \u003d (argc \u003e 4) ? atoi(argv[4]) : GID;\n\n    unlink(testpath);\n\n    fd \u003d open(testpath, O_RDWR | O_CREAT, 0);\n    if (fd \u003d\u003d -1) errExit(\"open\");\n\n    if (fchown(fd, uid, gid) \u003d\u003d -1) errExit(\"fchown\");\n    if (fchmod(fd, perm) \u003d\u003d -1) errExit(\"fchmod\");\n    close(fd);\n\n    snprintf(cmd, sizeof(cmd), \"ls -l %s\", testpath);\n    system(cmd);\n\n    if (seteuid(uid) \u003d\u003d -1) errExit(\"seteuid\");\n\n    accessTest(testpath, 0, \"0\");\n    accessTest(testpath, R_OK, \"R_OK\");\n    accessTest(testpath, W_OK, \"W_OK\");\n    accessTest(testpath, X_OK, \"X_OK\");\n    accessTest(testpath, R_OK | W_OK, \"R_OK | W_OK\");\n    accessTest(testpath, R_OK | X_OK, \"R_OK | X_OK\");\n    accessTest(testpath, W_OK | X_OK, \"W_OK | X_OK\");\n    accessTest(testpath, R_OK | W_OK | X_OK, \"R_OK | W_OK | X_OK\");\n\n    exit(EXIT_SUCCESS);\n} /* main */\n\nThis can be run against an Ext3 filesystem as well as against an XFS\nfilesystem.  If successful, it will show:\n\n\t[root@andromeda src]# ./t_access_root /tmp/xxx 0 4043 4043\n\t---------- 1 dhowells dhowells 0 2008-12-31 03:00 /tmp/xxx\n\taccess(/tmp/xxx, 0) returns 0\n\taccess(/tmp/xxx, R_OK) returns 0\n\taccess(/tmp/xxx, W_OK) returns 0\n\taccess(/tmp/xxx, X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK) returns 0\n\taccess(/tmp/xxx, R_OK | X_OK) returns -1\n\taccess(/tmp/xxx, W_OK | X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK | X_OK) returns -1\n\nIf unsuccessful, it will show:\n\n\t[root@andromeda src]# ./t_access_root /tmp/xxx 0 4043 4043\n\t---------- 1 dhowells dhowells 0 2008-12-31 02:56 /tmp/xxx\n\taccess(/tmp/xxx, 0) returns 0\n\taccess(/tmp/xxx, R_OK) returns -1\n\taccess(/tmp/xxx, W_OK) returns -1\n\taccess(/tmp/xxx, X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK) returns -1\n\taccess(/tmp/xxx, R_OK | X_OK) returns -1\n\taccess(/tmp/xxx, W_OK | X_OK) returns -1\n\taccess(/tmp/xxx, R_OK | W_OK | X_OK) returns -1\n\nI\u0027ve also tested the fix with the SELinux and syscalls LTP testsuites.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "6a94cb73064c952255336cc57731904174b2c58f",
      "tree": "d19cc835db0a21e01909a92772868e1ad96f99ff",
      "parents": [
        "f57fa1d6a6b3414e853d3d17e339ac48816e4406",
        "0a8c5395f90f06d128247844b2515c8bf3f2826b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:48:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:48:25 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs: (184 commits)\n  [XFS] Fix race in xfs_write() between direct and buffered I/O with DMAPI\n  [XFS] handle unaligned data in xfs_bmbt_disk_get_all\n  [XFS] avoid memory allocations in xfs_fs_vcmn_err\n  [XFS] Fix speculative allocation beyond eof\n  [XFS] Remove XFS_BUF_SHUT() and friends\n  [XFS] Use the incore inode size in xfs_file_readdir()\n  [XFS] set b_error from bio error in xfs_buf_bio_end_io\n  [XFS] use inode_change_ok for setattr permission checking\n  [XFS] add a FMODE flag to make XFS invisible I/O less hacky\n  [XFS] resync headers with libxfs\n  [XFS] simplify projid check in xfs_rename\n  [XFS] replace b_fspriv with b_mount\n  [XFS] Remove unused tracing code\n  [XFS] Remove unnecessary assertion\n  [XFS] Remove unused variable in ktrace_free()\n  [XFS] Check return value of xfs_buf_get_noaddr()\n  [XFS] Fix hang after disallowed rename across directory quota domains\n  [XFS] Fix compile with CONFIG_COMPAT enabled\n  move inode tracing out of xfs_vnode.\n  move vn_iowait / vn_iowake into xfs_aops.c\n  ...\n"
    },
    {
      "commit": "f57fa1d6a6b3414e853d3d17e339ac48816e4406",
      "tree": "e1d3acdb12f902e916765915a4f9a65cbae909cc",
      "parents": [
        "6094c85a935f7eadb4c607c6dc6d86c0a9f09a4b",
        "08cc36cbd1ee7d86422713bb21551eed1326b894"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:45:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:45:45 2008 -0800"
      },
      "message": "Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (70 commits)\n  fs/nfs/nfs4proc.c: make nfs4_map_errors() static\n  rpc: add service field to new upcall\n  rpc: add target field to new upcall\n  nfsd: support callbacks with gss flavors\n  rpc: allow gss callbacks to client\n  rpc: pass target name down to rpc level on callbacks\n  nfsd: pass client principal name in rsc downcall\n  rpc: implement new upcall\n  rpc: store pointer to pipe inode in gss upcall message\n  rpc: use count of pipe openers to wait for first open\n  rpc: track number of users of the gss upcall pipe\n  rpc: call release_pipe only on last close\n  rpc: add an rpc_pipe_open method\n  rpc: minor gss_alloc_msg cleanup\n  rpc: factor out warning code from gss_pipe_destroy_msg\n  rpc: remove unnecessary assignment\n  NFS: remove unused status from encode routines\n  NFS: increment number of operations in each encode routine\n  NFS: fix comment placement in nfs4xdr.c\n  NFS: fix tabs in nfs4xdr.c\n  ...\n"
    },
    {
      "commit": "f54a6ec0fd85002d94d05b4bb679508eeb066683",
      "tree": "0f24dd66cce563d2c5e7656c2489e5b96eef31f9",
      "parents": [
        "5ed1836814d908f45cafde0e79cb85314ab9d41d",
        "134179823b3ca9c8b98e0631906459dbb022ff9b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:41:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:41:32 2008 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (583 commits)\n  V4L/DVB (10130): use USB API functions rather than constants\n  V4L/DVB (10129): dvb: remove deprecated use of RW_LOCK_UNLOCKED in frontends\n  V4L/DVB (10128): modify V4L documentation to be a valid XHTML\n  V4L/DVB (10127): stv06xx: Avoid having y unitialized\n  V4L/DVB (10125): em28xx: Don\u0027t do AC97 vendor detection for i2s audio devices\n  V4L/DVB (10124): em28xx: expand output formats available\n  V4L/DVB (10123): em28xx: fix reversed definitions of I2S audio modes\n  V4L/DVB (10122): em28xx: don\u0027t load em28xx-alsa for em2870 based devices\n  V4L/DVB (10121): em28xx: remove worthless Pinnacle PCTV HD Mini 80e device profile\n  V4L/DVB (10120): em28xx: remove redundant Pinnacle Dazzle DVC 100 profile\n  V4L/DVB (10119): em28xx: fix corrupted XCLK value\n  V4L/DVB (10118): zoran: fix warning for a variable not used\n  V4L/DVB (10116): af9013: Fix gcc false warnings\n  V4L/DVB (10111a): usbvideo.h: remove an useless blank line\n  V4L/DVB (10111): quickcam_messenger.c: fix a warning\n  V4L/DVB (10110): v4l2-ioctl: Fix warnings when using .unlocked_ioctl \u003d __video_ioctl2\n  V4L/DVB (10109): anysee: Fix usage of an unitialized function\n  V4L/DVB (10104): uvcvideo: Add support for video output devices\n  V4L/DVB (10102): uvcvideo: Ignore interrupt endpoint for built-in iSight webcams.\n  V4L/DVB (10101): uvcvideo: Fix bulk URB processing when the header is erroneous\n  ...\n"
    },
    {
      "commit": "ab70537c32a3245325b48774664da588904e47f2",
      "tree": "fdb4447e520bd34dd8696fdd3b976075414d8555",
      "parents": [
        "14a3c4ab0e58d143c7928c9eb2f2610205e13bf2",
        "bda53cd510b6777ced652ba279020bb7b414b744"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:37:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:37:25 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:\n  lguest: struct device - replace bus_id with dev_name()\n  lguest: move the initial guest page table creation code to the host\n  kvm-s390: implement config_changed for virtio on s390\n  virtio_console: support console resizing\n  virtio: add PCI device release() function\n  virtio_blk: fix type warning\n  virtio: block: dynamic maximum segments\n  virtio: set max_segment_size and max_sectors to infinite.\n  virtio: avoid implicit use of Linux page size in balloon interface\n  virtio: hand virtio ring alignment as argument to vring_new_virtqueue\n  virtio: use KVM_S390_VIRTIO_RING_ALIGN instead of relying on pagesize\n  virtio: use LGUEST_VRING_ALIGN instead of relying on pagesize\n  virtio: Don\u0027t use PAGE_SIZE for vring alignment in virtio_pci.\n  virtio: rename \u0027pagesize\u0027 arg to vring_init/vring_size\n  virtio: Don\u0027t use PAGE_SIZE in virtio_pci.c\n  virtio: struct device - replace bus_id with dev_name(), dev_set_name()\n  virtio-pci queue allocation not page-aligned\n"
    },
    {
      "commit": "14a3c4ab0e58d143c7928c9eb2f2610205e13bf2",
      "tree": "885992999d7a1a2fd3586efcf32ebcbcbc3a72aa",
      "parents": [
        "1af237a099a3b8ff56aa384f605c6a68af7bf288",
        "47992cbdaef2f18a47871b2ed01ad27f568c8b73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:36:49 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:36:49 2008 -0800"
      },
      "message": "Merge branch \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027devel\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (407 commits)\n  [ARM] pxafb: add support for overlay1 and overlay2 as framebuffer devices\n  [ARM] pxafb: cleanup of the timing checking code\n  [ARM] pxafb: cleanup of the color format manipulation code\n  [ARM] pxafb: add palette format support for LCCR4_PAL_FOR_3\n  [ARM] pxafb: add support for FBIOPAN_DISPLAY by dma braching\n  [ARM] pxafb: allow pxafb_set_par() to start from arbitrary yoffset\n  [ARM] pxafb: allow video memory size to be configurable\n  [ARM] pxa: add document on the MFP design and how to use it\n  [ARM] sa1100_wdt: don\u0027t assume CLOCK_TICK_RATE to be a constant\n  [ARM] rtc-sa1100: don\u0027t assume CLOCK_TICK_RATE to be a constant\n  [ARM] pxa/tavorevb: update board support (smartpanel LCD + keypad)\n  [ARM] pxa: Update eseries defconfig\n  [ARM] 5352/1: add w90p910-plat config file\n  [ARM] s3c: S3C options should depend on PLAT_S3C\n  [ARM] mv78xx0: implement GPIO and GPIO interrupt support\n  [ARM] Kirkwood: implement GPIO and GPIO interrupt support\n  [ARM] Orion: share GPIO IRQ handling code\n  [ARM] Orion: share GPIO handling code\n  [ARM] s3c: define __io using the typesafe version\n  [ARM] S3C64XX: Ensure CPU_V6 is selected\n  ...\n"
    },
    {
      "commit": "74a6d0f064cd9106599ce3f1d924309669e83582",
      "tree": "4d46d554d1235c95c6de37e9b60384580aacd3b3",
      "parents": [
        "14eeee88bfb439a3dc9449f94c23a21930cbe35b",
        "519d68082e56fe4a5a7d273465323a95cbe5a33f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:34:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:34:37 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (33 commits)\n  ide-cd: remove dead dsc_overlap setting\n  ide: push local_irq_{save,restore}() to do_identify()\n  ide: remove superfluous local_irq_{save,restore}() from ide_dump_status()\n  ide: move legacy ISA/VLB ports handling to ide-legacy.c (v2)\n  ide: move Power Management support to ide-pm.c\n  ide: use ATA_DMA_* defines in ide-dma-sff.c\n  ide: checkpatch.pl fixes for ide-lib.c\n  ide: remove inline tags from ide-probe.c\n  ide: remove redundant code from ide_end_drive_cmd()\n  ide: struct device - replace bus_id with dev_name(), dev_set_name()\n  ide: rework handling of serialized ports (v2)\n  cy82c693: remove superfluous ide_cy82c693 chipset type\n  trm290: add IDE_HFLAG_TRM290 host flag\n  ide: add -\u003emax_sectors field to struct ide_port_info\n  rz1000: apply chipset quirks early (v2)\n  ide: always set nIEN on idle devices\n  ide: fix -\u003equirk_list checking in ide_do_request()\n  gayle: set IDE_HFLAG_SERIALIZE explictly\n  cmd64x: set IDE_HFLAG_SERIALIZE explictly for CMD646\n  ali14xx: doesn\u0027t use shared IRQs\n  ...\n"
    },
    {
      "commit": "5b8f258758494315b69d568661a2823e24d4ad6f",
      "tree": "7640e4e3d7e30392ac471420b09afbaf70d28c0d",
      "parents": [
        "526ea064f953fc5ad2fb905b537f490b9374a0f0",
        "c7e324f1bd17b25fcdca33bdad01cf6eb8be4933"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:32:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:32:25 2008 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  sata_sil: add Large Block Transfer support\n  [libata] ata_piix: cleanup dmi strings checking\n  DMI: add dmi_match\n  libata: blacklist NCQ on OCZ CORE 2 SSD (resend)\n  [libata] Update kernel-doc comments to match source code\n  libata: perform port detach in EH\n  libata: when restoring SControl during detach do the PMP links first\n  libata: beef up iterators\n"
    },
    {
      "commit": "526ea064f953fc5ad2fb905b537f490b9374a0f0",
      "tree": "c4ff0cb65ce6442863c7c342f641a41f0995329a",
      "parents": [
        "db5e53fbf0abf5cadc83be57032242e5e7c6c394",
        "d69d59f49763e6bd047c591c6c1f84c8e13da931"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:31:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:31:25 2008 -0800"
      },
      "message": "Merge branch \u0027oprofile-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027oprofile-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  oprofile: select RING_BUFFER\n  ring_buffer: adding EXPORT_SYMBOLs\n  oprofile: fix lost sample counter\n  oprofile: remove nr_available_slots()\n  oprofile: port to the new ring_buffer\n  ring_buffer: add remaining cpu functions to ring_buffer.h\n  oprofile: moving cpu_buffer_reset() to cpu_buffer.h\n  oprofile: adding cpu_buffer_entries()\n  oprofile: adding cpu_buffer_write_commit()\n  oprofile: adding cpu buffer r/w access functions\n  ftrace: remove unused function arg in trace_iterator_increment()\n  ring_buffer: update description for ring_buffer_alloc()\n  oprofile: set values to default when creating oprofilefs\n  oprofile: implement switch/case in buffer_sync.c\n  x86/oprofile: cleanup IBS init/exit functions in op_model_amd.c\n  x86/oprofile: reordering IBS code in op_model_amd.c\n  oprofile: fix typo\n  oprofile: whitspace changes only\n  oprofile: update comment for oprofile_add_sample()\n  oprofile: comment cleanup\n"
    },
    {
      "commit": "db5e53fbf0abf5cadc83be57032242e5e7c6c394",
      "tree": "e391aebab8b81a68fe36e5fef8a729062f643259",
      "parents": [
        "3f4b5c5d275608d42ff54c4981307f9a5c75ea4a",
        "3c506efd7e0f615bd9603ce8c06bc4a896952599"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:28:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:28:09 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slub: avoid leaking caches or refcounts on sysfs error\n  slab: Fix comment on #endif\n  slab: remove GFP_THISNODE clearing from alloc_slabmgmt()\n  slub: Add might_sleep_if() to slab_alloc()\n  SLUB: failslab support\n  slub: Fix incorrect use of loose\n  slab: Update the kmem_cache_create documentation regarding the name parameter\n  slub: make early_kmem_cache_node_alloc void\n  slab: unsigned slabp-\u003einuse cannot be less than 0\n  slub - fix get_object_page comment\n  SLUB: Replace __builtin_return_address(0) with _RET_IP_.\n  SLUB: cleanup - define macros instead of hardcoded numbers\n"
    },
    {
      "commit": "3f4b5c5d275608d42ff54c4981307f9a5c75ea4a",
      "tree": "748b347885b1b62d1a135892cb025d3485444215",
      "parents": [
        "a4ba2e9e36d10ace6f5ca222c1ff3e5024d75f1a",
        "aa5966296675a5092505f68d72563d5939a92353"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:25:49 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:25:49 2008 -0800"
      },
      "message": "Merge branch \u0027drm-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (37 commits)\n  drm/i915: fix modeset devname allocation + agp init return check.\n  drm/i915: Remove redundant test in error path.\n  drm: Add a debug node for vblank state.\n  drm: Avoid use-before-null-test on dev in drm_cleanup().\n  drm/i915: Don\u0027t print to dmesg when taking signal during object_pin.\n  drm: pin new and unpin old buffer when setting a mode.\n  drm/i915: un-EXPORT and make \u0027intelfb_panic\u0027 static\n  drm/i915: Delete unused, pointless i915_driver_firstopen.\n  drm/i915: fix sparse warnings: returning void-valued expression\n  drm/i915: fix sparse warnings: move \u0027extern\u0027 decls to header file\n  drm/i915: fix sparse warnings: make symbols static\n  drm/i915: fix sparse warnings: declare one-bit bitfield as unsigned\n  drm/i915: Don\u0027t double-unpin buffers if we take a signal in evict_everything().\n  drm/i915: Fix fbcon setup to align display pitch to 64b.\n  drm/i915: Add missing userland definitions for gem init/execbuffer.\n  i915/drm: provide compat defines for userspace for certain struct members.\n  drm: drop DRM_IOCTL_MODE_REPLACEFB, add+remove works just as well.\n  drm: sanitise drm modesetting API + remove unused hotplug\n  drm: fix allowing master ioctls on non-master fds.\n  drm/radeon: use locked rmmap to remove sarea mapping.\n  ...\n"
    },
    {
      "commit": "6de71484cf9561edb45224f659a9db38b6056d5e",
      "tree": "588fe6f7c98147b805085503c863d371e2fa497e",
      "parents": [
        "1dff81f20cd55ffa5a8ee984da70ce0b99d29606",
        "e3c6d4ee545e427b55882d97d3b663c6411645fe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:23:31 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:23:31 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (98 commits)\n  sparc: move select of ARCH_SUPPORTS_MSI\n  sparc: drop SUN_IO\n  sparc: unify sections.h\n  sparc: use .data.init_task section for init_thread_union\n  sparc: fix array overrun check in of_device_64.c\n  sparc: unify module.c\n  sparc64: prepare module_64.c for unification\n  sparc64: use bit neutral Elf symbols\n  sparc: unify module.h\n  sparc: introduce CONFIG_BITS\n  sparc: fix hardirq.h removal fallout\n  sparc64: do not export pus_fs_struct\n  sparc: use sparc64 version of scatterlist.h\n  sparc: Commonize memcmp assembler.\n  sparc: Unify strlen assembler.\n  sparc: Add asm/asm.h\n  sparc: Kill memcmp_32.S code which has been ifdef\u0027d out for centuries.\n  sparc: replace for_each_cpu_mask_nr with for_each_cpu\n  sparc: fix sparse warnings in irq_32.c\n  sparc: add include guards to kernel.h\n  ...\n"
    },
    {
      "commit": "1dff81f20cd55ffa5a8ee984da70ce0b99d29606",
      "tree": "06eb07bda250abfa8a78c3141db56862c8c7cf98",
      "parents": [
        "179475a3b46f86e2d06f83e2312218ac3f0cf3a7",
        "d3f761104b097738932afcc310fbbbbfb007ef92"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:20:05 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:20:05 2008 -0800"
      },
      "message": "Merge branch \u0027for-2.6.29\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.29\u0027 of git://git.kernel.dk/linux-2.6-block: (43 commits)\n  bio: get rid of bio_vec clearing\n  bounce: don\u0027t rely on a zeroed bio_vec list\n  cciss: simplify parameters to deregister_disk function\n  cfq-iosched: fix race between exiting queue and exiting task\n  loop: Do not call loop_unplug for not configured loop device.\n  loop: Flush possible running bios when loop device is released.\n  alpha: remove dead BIO_VMERGE_BOUNDARY\n  Get rid of CONFIG_LSF\n  block: make blk_softirq_init() static\n  block: use min_not_zero in blk_queue_stack_limits\n  block: add one-hit cache for disk partition lookup\n  cfq-iosched: remove limit of dispatch depth of max 4 times quantum\n  nbd: tell the block layer that it is not a rotational device\n  block: get rid of elevator_t typedef\n  aio: make the lookup_ioctx() lockless\n  bio: add support for inlining a number of bio_vecs inside the bio\n  bio: allow individual slabs in the bio_set\n  bio: move the slab pointer inside the bio_set\n  bio: only mempool back the largest bio_vec slab cache\n  block: don\u0027t use plugging on SSD devices\n  ...\n"
    },
    {
      "commit": "179475a3b46f86e2d06f83e2312218ac3f0cf3a7",
      "tree": "d4755f722ae606e21ac87baa262041e2580b2568",
      "parents": [
        "bb758e9637e5ddcff84a97177415499ae1fed498",
        "860cf8894b326e4b89720f520540604834337b72"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:20:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:20:19 2008 -0800"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, sparseirq: clean up Kconfig entry\n  x86: turn CONFIG_SPARSE_IRQ off by default\n  sparseirq: fix numa_migrate_irq_desc dependency and comments\n  sparseirq: add kernel-doc notation for new member in irq_desc, -v2\n  locking, irq: enclose irq_desc_lock_class in CONFIG_LOCKDEP\n  sparseirq, xen: make sure irq_desc is allocated for interrupts\n  sparseirq: fix !SMP building, #2\n  x86, sparseirq: move irq_desc according to smp_affinity, v7\n  proc: enclose desc variable of show_stat() in CONFIG_SPARSE_IRQ\n  sparse irqs: add irqnr.h to the user headers list\n  sparse irqs: handle !GENIRQ platforms\n  sparseirq: fix !SMP \u0026\u0026 !PCI_MSI \u0026\u0026 !HT_IRQ build\n  sparseirq: fix Alpha build failure\n  sparseirq: fix typo in !CONFIG_IO_APIC case\n  x86, MSI: pass irq_cfg and irq_desc\n  x86: MSI start irq numbering from nr_irqs_gsi\n  x86: use NR_IRQS_LEGACY\n  sparse irq_desc[] array: core kernel and x86 changes\n  genirq: record IRQ_LEVEL in irq_desc[]\n  irq.h: remove padding from irq_desc on 64bits\n"
    },
    {
      "commit": "bb758e9637e5ddcff84a97177415499ae1fed498",
      "tree": "a4dbc2a0427a30fc9c54148c6ff7ecf21947e3ae",
      "parents": [
        "5f34fe1cfc1bdd8b4711bbe37421fba4ed0d1ed4",
        "32e8d18683adb322c994d1a0fe02d66380991f45"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:16:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:16:21 2008 -0800"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  hrtimers: fix warning in kernel/hrtimer.c\n  x86: make sure we really have an hpet mapping before using it\n  x86: enable HPET on Fujitsu u9200\n  linux/timex.h: cleanup for userspace\n  posix-timers: simplify de_thread()-\u003eexit_itimers() path\n  posix-timers: check -\u003eit_signal instead of -\u003eit_pid to validate the timer\n  posix-timers: use \"struct pid*\" instead of \"struct task_struct*\"\n  nohz: suppress needless timer reprogramming\n  clocksource, acpi_pm.c: put acpi_pm_read_slow() under CONFIG_PCI\n  nohz: no softirq pending warnings for offline cpus\n  hrtimer: removing all ur callback modes, fix\n  hrtimer: removing all ur callback modes, fix hotplug\n  hrtimer: removing all ur callback modes\n  x86: correct link to HPET timer specification\n  rtc-cmos: export second NVRAM bank\n\nFixed up conflicts in sound/drivers/pcsp/pcsp.c and sound/core/hrtimer.c\nmanually.\n"
    },
    {
      "commit": "5f34fe1cfc1bdd8b4711bbe37421fba4ed0d1ed4",
      "tree": "85b21c8bb0e53005bd970d648ca093acfd0584a3",
      "parents": [
        "eca1bf5b4fab56d2feb1572d34d59fcd92ea7df3",
        "6638101c1124c19c8a65b1645e4ecd09e0572f3e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:10:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 16:10:19 2008 -0800"
      },
      "message": "Merge branch \u0027core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (63 commits)\n  stacktrace: provide save_stack_trace_tsk() weak alias\n  rcu: provide RCU options on non-preempt architectures too\n  printk: fix discarding message when recursion_bug\n  futex: clean up futex_(un)lock_pi fault handling\n  \"Tree RCU\": scalable classic RCU implementation\n  futex: rename field in futex_q to clarify single waiter semantics\n  x86/swiotlb: add default swiotlb_arch_range_needs_mapping\n  x86/swiotlb: add default phys\u003c-\u003ebus conversion\n  x86: unify pci iommu setup and allow swiotlb to compile for 32 bit\n  x86: add swiotlb allocation functions\n  swiotlb: consolidate swiotlb info message printing\n  swiotlb: support bouncing of HighMem pages\n  swiotlb: factor out copy to/from device\n  swiotlb: add arch hook to force mapping\n  swiotlb: allow architectures to override phys\u003c-\u003ebus\u003c-\u003ephys conversions\n  swiotlb: add comment where we handle the overflow of a dma mask on 32 bit\n  rcu: fix rcutorture behavior during reboot\n  resources: skip sanity check of busy resources\n  swiotlb: move some definitions to header\n  swiotlb: allow architectures to override swiotlb pool allocation\n  ...\n\nFix up trivial conflicts in\n  arch/x86/kernel/Makefile\n  arch/x86/mm/init_32.c\n  include/linux/hardirq.h\nas per Ingo\u0027s suggestions.\n"
    },
    {
      "commit": "08cc36cbd1ee7d86422713bb21551eed1326b894",
      "tree": "52cc683387f903b34a7f6f798dcdbae385b58db8",
      "parents": [
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179",
        "46f72f57d279688c4524df78edb5738db730eeef"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 30 16:51:43 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 30 16:51:43 2008 -0500"
      },
      "message": "Merge branch \u0027devel\u0027 into next\n"
    },
    {
      "commit": "91962fa713bd8bf47434b02ac661fdc201365fa5",
      "tree": "244412f4ee57908d444b45428d58eac251275d5f",
      "parents": [
        "d7f83a5106f2da9eb59bf49e7b48414e27d6618a"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Thu Dec 18 11:45:00 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Dec 30 09:40:20 2008 -0200"
      },
      "message": "V4L/DVB (10078): video: add NV16 and NV61 pixel formats\n\nThis patch adds support for NV16 and NV61 pixel formats.\n\nThese pixel formats use two planes; one for 8-bit Y values and\none for interleaved 8-bit U and V values. NV16/NV61 formats are\nvery similar to NV12/NV21 with the exception that NV16/NV61 are\nusing the same number of lines for both planes. The difference\nbetween NV16 and NV61 is the U and V byte order.\n\nThe fourcc values are extrapolated from the NV12/NV21 case.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "531c98e71805b32e9ea35a218119100bbd2b7615",
      "tree": "548f878b2d4abd66bee8d0fa0b19eeb9cf3182c9",
      "parents": [
        "4b00eb25340c1a9b9eedaf0bc5b0f0d18eddb028"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Mon Dec 22 13:18:27 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Dec 30 09:39:27 2008 -0200"
      },
      "message": "V4L/DVB (9953): em28xx: Add suport for debugging AC97 anciliary chips\n\nThe em28xx driver can be coupled to an anciliary AC97 chip. This patch\nallows read/write AC97 registers directly.\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "4b00eb25340c1a9b9eedaf0bc5b0f0d18eddb028",
      "tree": "1f49f4f5257f816f247c38b73fe3e965b92fdf6b",
      "parents": [
        "a47ddf1425554ca0b1e9b16b20a9d631e5daaaa8"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Fri Dec 19 11:17:56 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Dec 30 09:39:27 2008 -0200"
      },
      "message": "V4L/DVB (9944): videodev2.h: fix typo.\n\nThe comment said CX2584X instead of CX2341X.\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "92f45badbbaccdbc1be25085292a1e258948e221",
      "tree": "8ef5a0ea174e0661fdd96da509096ebcf161df84",
      "parents": [
        "b6070f0756fe1bccda1c8c67a6bfdfa51022b664"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Sun Dec 21 10:35:25 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Dec 30 09:39:22 2008 -0200"
      },
      "message": "V4L/DVB (9932): v4l2-compat32: fix 32-64 compatibility module\n\nAdded all missing v4l1/2 ioctls and fix several broken conversions.\nPartially based on work done by Cody Pisto \u003ccpisto@gmail.com\u003e.\n\nTested-by: Brandon Jenkins \u003cbcjenkins@tvwhere.com\u003e\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "046425f8c4ac431db00c09a6d9fba16560b8e5b9",
      "tree": "91be10b163813428915abe929b09d5abf5ac62fc",
      "parents": [
        "0877258d98154565def498833ccb208234c85084"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@skynet.be",
        "time": "Sun Dec 14 16:22:05 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Dec 30 09:39:10 2008 -0200"
      },
      "message": "V4L/DVB (9898): v4l2: Add privacy control\n\nThe privacy control prevents video from being acquired by the camera. A true\nvalue indicates that no image can be captured. Devices that implement the\nprivacy control must support read access and may support write access.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@skynet.be\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "0877258d98154565def498833ccb208234c85084",
      "tree": "86532b6f3f9ee3b822995511dc7ecce4ebcd0181",
      "parents": [
        "fd6b9c978dc3447b9b4677d8949ef3ea7f946abc"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@skynet.be",
        "time": "Sun Dec 14 16:21:16 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Dec 30 09:39:09 2008 -0200"
      },
      "message": "V4L/DVB (9897): v4l2: Add camera zoom controls\n\nThe zoom controls move the zoom lens group to a an absolute position, as a\nrelative displacement or at a given speed until reaching physical device\nlimits. Positive values move the zoom lens group towards the telephoto\ndirection, negative values towards the wide-angle direction.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@skynet.be\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "58a24566449892dda409b9ad92c2e56c76c5670c",
      "tree": "4dfe2305dfd078c71d949ea8cc6c9cc6e2679494",
      "parents": [
        "be3c5832d51174ef7f21cefd6ad612dabdcb62fd"
      ],
      "author": {
        "name": "Matias Zabaljauregui",
        "email": "zabaljauregui@gmail.com",
        "time": "Mon Sep 29 01:40:07 2008 -0300"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:26:11 2008 +1030"
      },
      "message": "lguest: move the initial guest page table creation code to the host\n\nThis patch moves the initial guest page table creation code to the host,\nso the launcher keeps working with PAE enabled configs.\n\nSigned-off-by: Matias Zabaljauregui \u003czabaljauregui@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "c29834584ea4eafccf2f62a0b8a32e64f792044c",
      "tree": "296533011a14c83ad20e02c89dc391f93cf12fcd",
      "parents": [
        "29f9f12ec737af62835124e4a8bdb9de631f04dd"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Nov 25 13:36:26 2008 +0100"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:26:10 2008 +1030"
      },
      "message": "virtio_console: support console resizing\n\nthis patch uses the new hvc callback hvc_resize to set the window size\nwhich allows to change the tty size of hvc_console via a hvc_resize\nfunction.\n\nI have added a new feature bit VIRTIO_CONSOLE_F_SIZE. The driver will\nchange the window size on tty open and via the config_changed callback\nof the transport. Currently lguest and kvm_s390 have not implemented this\ncallback, but the callback can be implemented at a later point in time.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "1b4aa2faeca1b9922033daf2475b6fc13b0ffea6",
      "tree": "b94e3f4ec45151e51ad1b3dfecabc5391684c725",
      "parents": [
        "87c7d57c17ade5024d95b6ca0da249da49b0672a"
      ],
      "author": {
        "name": "Hollis Blanchard",
        "email": "hollisb@us.ibm.com",
        "time": "Thu Nov 13 15:48:33 2008 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:26:04 2008 +1030"
      },
      "message": "virtio: avoid implicit use of Linux page size in balloon interface\n\nMake the balloon interface always use 4K pages, and convert Linux pfns if\nnecessary. This patch assumes that Linux\u0027s PAGE_SHIFT will never be less than\n12.\n\nSigned-off-by: Hollis Blanchard \u003chollisb@us.ibm.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (modified)\n"
    },
    {
      "commit": "87c7d57c17ade5024d95b6ca0da249da49b0672a",
      "tree": "2ffeaae5c2e5ed9a72efec6466678fb797c4cdfa",
      "parents": [
        "db40598863e8cbbd11053ad3c8bae89000f603f9"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:26:03 2008 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:26:03 2008 +1030"
      },
      "message": "virtio: hand virtio ring alignment as argument to vring_new_virtqueue\n\nThis allows each virtio user to hand in the alignment appropriate to\ntheir virtio_ring structures.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\n"
    },
    {
      "commit": "2966af73e70dee461c256b5eb877b2ff757f8c82",
      "tree": "5cb8a81e80cb9b513fad015f0dc4d5e5db52fd14",
      "parents": [
        "498af14783935af487d17dbee4ac451783cbc2b7"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:25:58 2008 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:26:02 2008 +1030"
      },
      "message": "virtio: use LGUEST_VRING_ALIGN instead of relying on pagesize\n\nThis doesn\u0027t really matter, since lguest is i386 only at the moment,\nbut we could actually choose a different value.  (lguest doesn\u0027t have\na guarenteed ABI).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "498af14783935af487d17dbee4ac451783cbc2b7",
      "tree": "db7a61d88f8eee05e65ac832f571440640299869",
      "parents": [
        "5f0d1d7f2286c8a02dab69f5f0bd51681fab161e"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:25:57 2008 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:25:58 2008 +1030"
      },
      "message": "virtio: Don\u0027t use PAGE_SIZE for vring alignment in virtio_pci.\n\nThat doesn\u0027t work for non-4k guests which are now appearing.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "5f0d1d7f2286c8a02dab69f5f0bd51681fab161e",
      "tree": "8989451d6a60ee9f1bae144fba042b91ce6b21a1",
      "parents": [
        "480daab42c4dd74b3c07031ddf9031251c530c77"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:25:57 2008 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:25:57 2008 +1030"
      },
      "message": "virtio: rename \u0027pagesize\u0027 arg to vring_init/vring_size\n\nIt\u0027s really the alignment desired for consumer/producer separation;\nhistorically this x86 pagesize, but with PowerPC it\u0027ll still be x86\npagesize.  And in theory lguest could choose a different value.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "480daab42c4dd74b3c07031ddf9031251c530c77",
      "tree": "c491b040071be3867aa42942a80435866fbc85cf",
      "parents": [
        "99e0b6c8e3f30602383bcfe3f574537a02ee2bea"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:25:56 2008 -0600"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 09:25:57 2008 +1030"
      },
      "message": "virtio: Don\u0027t use PAGE_SIZE in virtio_pci.c\n\nThe virtio PCI devices don\u0027t depend on the guest page size.  This matters\nnow PowerPC virtio is gaining ground (they like 64k pages).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "69acdf1e5a9146ec6667f6c4b439acd38c18f5ea",
      "tree": "b7c67a74e21de1950918a400f64d10d3099fb0e5",
      "parents": [
        "bc13ae11227b06d2397cea1a8eb22fc2ca64e22f"
      ],
      "author": {
        "name": "Robert Jarzmik",
        "email": "robert.jarzmik@free.fr",
        "time": "Tue Nov 04 21:59:37 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Mon Dec 29 17:53:27 2008 -0200"
      },
      "message": "V4L/DVB (9530): Add new pixel format VYUY 16 bits wide.\n\nThere were already 3 YUV formats defined :\n - YUYV\n - YVYU\n - UYVY\nThe only left combination is VYUY, which is added in this\npatch.\n\nSigned-off-by: Robert Jarzmik \u003crobert.jarzmik@free.fr\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "e2984c628c924442132304ae662da433f41c05c9",
      "tree": "c7ed2d995fbd96fc9e4cdd12c395640bd2e6fab5",
      "parents": [
        "1d35364acbd5ab7d67bb39cfc5dd3ed0fbefb4b8"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:37 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:37 2008 +0100"
      },
      "message": "ide: move Power Management support to ide-pm.c\n\nThere should be no functional changes caused by this patch.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "702c026be87ef8374ae58122969a4b0b081ce6f2",
      "tree": "d8ea68e4c85dd648d7b4ede14831dac1deac6300",
      "parents": [
        "b7876a6fb6e9bf6cbcf7b40cf034aa4138d7978f"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:36 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:36 2008 +0100"
      },
      "message": "ide: rework handling of serialized ports (v2)\n\n* hpt366: set IDE_HFLAG_SERIALIZE in -\u003ehost_flags if needed\n  in init_hwif_hpt366().  Remove HPT_SERIALIZE_IO while at it.\n\n* Set IDE_HFLAG_SERIALIZE in -\u003ehost_flags if needed in\n  ide_init_port().\n\n* Convert init_irq() to use IDE_HFLAG_SERIALIZE together with\n  hwif-\u003ehost to find out ports which need to be serialized.\n\n* Remove no longer needed save_match() and ide_hwif_t.serialized.\n\nv2:\n* Set host\u0027s -\u003ehost_flags field instead of port\u0027s copy.\n\nThis patch should fix the incorrect grouping of port(s) from\nhost(s) that need serialization with port(s) that happen to use\nthe same IRQ(s) but are from the host(s) that don\u0027t need it.\n\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "b7876a6fb6e9bf6cbcf7b40cf034aa4138d7978f",
      "tree": "dd57021d881172683bab799b08317850a91031e3",
      "parents": [
        "1f66019bdf902cb59adf959e462bcd3f4c01f683"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:34 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:34 2008 +0100"
      },
      "message": "cy82c693: remove superfluous ide_cy82c693 chipset type\n\nSince CY82C693 doesn\u0027t require serialization we may as well\nuse the default ide_pci chipset type.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "1f66019bdf902cb59adf959e462bcd3f4c01f683",
      "tree": "15c3f1b4a6479f8ff500801cff9076cc386d1cda",
      "parents": [
        "6b4924962c49655494d2c8e9d3faab0e349a3062"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:34 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:34 2008 +0100"
      },
      "message": "trm290: add IDE_HFLAG_TRM290 host flag\n\n* Add IDE_HFLAG_TRM290 host flag and use it in ide_build_dmatable().\n\n* Remove no longer needed ide_trm290 chipset type.\n\nAcked-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6b4924962c49655494d2c8e9d3faab0e349a3062",
      "tree": "5236d3ef808f8c781b40b7a6328f65fe3f25891b",
      "parents": [
        "7f1ac8c4b9dadc55ec656b368f5f470f2cbe3083"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:34 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:34 2008 +0100"
      },
      "message": "ide: add -\u003emax_sectors field to struct ide_port_info\n\n* Add -\u003emax_sectors field to struct ide_port_info to allow host drivers\n  to specify value used for hwif-\u003erqsize (if smaller than the default).\n\n* Convert pdc202xx_old to use -\u003emax_sectors and remove no longer needed\n  IDE_HFLAG_RQSIZE_256 flag.\n\nThere should be no functional changes caused by this patch.\n\nAcked-by: Sergei Shtyltov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "7f1ac8c4b9dadc55ec656b368f5f470f2cbe3083",
      "tree": "75878c029a629bd938b3744dc2505b1ac78516ea",
      "parents": [
        "f58c1ab8deebc2360cef998f169a6727c288210f"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:33 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:33 2008 +0100"
      },
      "message": "rz1000: apply chipset quirks early (v2)\n\n* Use pci_name(dev) instead of hwif-\u003ename in init_hwif_rz1000().\n\n* init_hwif_rz1000() -\u003e rz1000_init_chipset().  Update rz1000_init_one()\n  to use rz1000_init_chipset() and add now required rz1000_remove().\n\n* Remove superfluous ide_rz1000 chipset type.\n\nv2:\n* unsigned int rz1000_init_chipset() -\u003e int rz1000_disable_readahead()\n  per Sergei\u0027s suggestion.\n\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "f58c1ab8deebc2360cef998f169a6727c288210f",
      "tree": "d3bd8a05ae227cb1bcabd55444b54cbac82764fb",
      "parents": [
        "46aa7af1d6bf46d0973dc9e8f13275f2c001d3dd"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:33 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:33 2008 +0100"
      },
      "message": "ide: always set nIEN on idle devices\n\n* Set nIEN for previous port/device in ide_do_request()\n  also if port uses a non-shared IRQ.\n\n* Remove no longer needed ide_hwif_t.sharing_irq.\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "6b5cde3629701258004b94cde75dd1089b556b02",
      "tree": "061a3524e7236becdbb1b003a0320ac6f76ab83d",
      "parents": [
        "02fb5683c98b0ce9ff75d890ebccd8e520d0e7a9"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:32 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:32 2008 +0100"
      },
      "message": "cmd64x: set IDE_HFLAG_SERIALIZE explictly for CMD646\n\n* Set IDE_HFLAG_SERIALIZE explictly for CMD646.\n\n* Remove no longer needed ide_cmd646 chipset type (which has\n  a nice side-effect of fixing handling of unexpected IRQs).\n\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "27c01c2db05c3cf8824975e50403cd4fd9356dca",
      "tree": "5032c9b77971778c7e76722d0e86fa66a3a6dc1b",
      "parents": [
        "08cd1dca00f7c84c8b30c2726e078529d4ebc93f"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:32 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:32 2008 +0100"
      },
      "message": "ide-cd: remove obsolete seek optimization\n\nIt doesn\u0027t make much sense nowadays and is problematic on some drives.\n\nCc: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "2a2ca6a96194c4744a2adeefbc09ce881f3c5abe",
      "tree": "50b43d823d4a589fbfb8f8751278d6101cd3ecf3",
      "parents": [
        "6ea52226ca131a99bb619bd56fbeee566ea5a966"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:31 2008 +0100"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Mon Dec 29 20:27:31 2008 +0100"
      },
      "message": "ide: replace the global ide_lock spinlock by per-hwgroup spinlocks (v2)\n\nNow that (almost) all host drivers have been fixed not to abuse ide_lock\nand core code usage of ide_lock has been sanitized we may safely replace\nide_lock by per-hwgroup locks.\n\nThis patch is partially based on earlier patch from Ravikiran G Thirumalai.\n\nWhile at it:\n- don\u0027t use deprecated HWIF() and HWGROUP() macros\n- update locking documentation in ide.h\n\nv2:\nAdd missing spin_lock_init(\u0026hwgroup-\u003elock).  (Noticed by Elias Oltmanns)\n\nCc: Vaibhav V. Nivargi \u003cvaibhav.nivargi@gmail.com\u003e\nCc: Alok N. Kataria \u003calokk@calsoftinc.com\u003e\nCc: Shai Fultheim \u003cshai@scalex86.org\u003e\nSigned-off-by: Ravikiran Thirumalai \u003ckiran@scalex86.org\u003e\nCc: Elias Oltmanns \u003ceo@nebensachen.de\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "d61c72e52b98411d1cfef1fdb3f5a8bb070f8966",
      "tree": "a32263f85d0b518cac00cf0758e738eee52a7f73",
      "parents": [
        "5ccfca974f3ce3c33be72f1fcb2b42747714ec79"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Wed Dec 10 14:07:21 2008 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Mon Dec 29 07:39:34 2008 -0500"
      },
      "message": "DMI: add dmi_match\n\nAdd a wrapper for testing system_info which will handle also NULL\nsystem infos.\n\nThis will be used by the ata PIIX driver.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Alexandru Romanescu \u003ca_romanescu@yahoo.co.uk\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "3c506efd7e0f615bd9603ce8c06bc4a896952599",
      "tree": "6ebc840535e9d93bf60e21e940a5f4558275a89d",
      "parents": [
        "fd37617e69fb865348d012eb1413aef0141ae2de",
        "773ff60e841461cb1f9374a713ffcda029b8c317"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:47:05 2008 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:47:05 2008 +0200"
      },
      "message": "Merge branch \u0027topic/failslab\u0027 into for-linus\n\nConflicts:\n\n\tmm/slub.c\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "fd37617e69fb865348d012eb1413aef0141ae2de",
      "tree": "e4104ea40e7a6d8d4d24bf2f77943e609a646842",
      "parents": [
        "7b8f3b66d9d7e5f021ae535620b9b52833f4876e",
        "9f6c708e5cbf57ee31f6ddaa2cd0262087271b95",
        "249da166582801648432d0198be9407fb5ccf9f5"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:45:47 2008 +0200"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:45:47 2008 +0200"
      },
      "message": "Merge branches \u0027topic/fixes\u0027, \u0027topic/cleanups\u0027 and \u0027topic/documentation\u0027 into for-linus\n"
    },
    {
      "commit": "dfcd3610289132a762b7dc0eaf33998262cd9e20",
      "tree": "c543eb2f5f1476607966fd2480e259a2d96423e5",
      "parents": [
        "8759ec50a6cad7ca5a6d63e657d25b85ab5ba44a"
      ],
      "author": {
        "name": "Pascal Terjan",
        "email": "pterjan@mandriva.com",
        "time": "Tue Nov 25 15:08:19 2008 +0100"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:40:56 2008 +0200"
      },
      "message": "slab: Fix comment on #endif\n\nThis #endif in slab.h is described as closing the inner block while it\u0027s for\nthe big CONFIG_NUMA one. That makes reading the code a bit harder.\n\nThis trivial patch fixes the comment.\n\nSigned-off-by: Pascal Terjan \u003cpterjan@mandriva.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "773ff60e841461cb1f9374a713ffcda029b8c317",
      "tree": "c3691b5a82261a3d2c1861f2913774faac63fa96",
      "parents": [
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Dec 23 19:37:01 2008 +0900"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Mon Dec 29 11:27:46 2008 +0200"
      },
      "message": "SLUB: failslab support\n\nCurrently fault-injection capability for SLAB allocator is only\navailable to SLAB. This patch makes it available to SLUB, too.\n\n[penberg@cs.helsinki.fi: unify slab and slub implementations]\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "f453ba0460742ad027ae0c4c7d61e62817b3e7ef",
      "tree": "29e6ecacd6e8971aa62e1825d77f2c1876ac3eb2",
      "parents": [
        "de151cf67ce52ed2d88083daa5e60c7858947329"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Nov 07 14:05:41 2008 -0800"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@linux.ie",
        "time": "Mon Dec 29 17:47:23 2008 +1000"
      },
      "message": "DRM: add mode setting support\n\nAdd mode setting support to the DRM layer.\n\nThis is a fairly big chunk of work that allows DRM drivers to provide\nfull output control and configuration capabilities to userspace.  It was\nmotivated by several factors:\n  - the fb layer\u0027s APIs aren\u0027t suited for anything but simple\n    configurations\n  - coordination between the fb layer, DRM layer, and various userspace\n    drivers is poor to non-existent (radeonfb excepted)\n  - user level mode setting drivers makes displaying panic \u0026 oops\n    messages more difficult\n  - suspend/resume of graphics state is possible in many more\n    configurations with kernel level support\n\nThis commit just adds the core DRM part of the mode setting APIs.\nDriver specific commits using these new structure and APIs will follow.\n\nCo-authors: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e, Jakob Bornecrantz \u003cjakob@tungstengraphics.com\u003e\nContributors: Alan Hourihane \u003calanh@tungstengraphics.com\u003e, Maarten Maathuis \u003cmadman2003@gmail.com\u003e\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "b3a6ffe16b5cc48abe7db8d04882dc45280eb693",
      "tree": "7bd0860ca93beb9aa8c5cb54a3081617d8d12de9",
      "parents": [
        "3c18ce71af754cefae75103dbae28817e04b2db4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Dec 12 09:51:16 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:51 2008 +0100"
      },
      "message": "Get rid of CONFIG_LSF\n\nWe have two seperate config entries for large devices/files. One\nis CONFIG_LBD that guards just the devices, the other is CONFIG_LSF\nthat handles large files. This doesn\u0027t make a lot of sense, you typically\nwant both or none. So get rid of CONFIG_LSF and change CONFIG_LBD wording\nto indicate that it covers both.\n\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a6f23657d3072bde6844055bbc2290e497f33fbc",
      "tree": "bd96916615d04228cc9492ae198ed5012d5ee86a",
      "parents": [
        "30e0dc28bff9dc456cdfc2aae4aca78b8b1a1cec"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 24 12:52:42 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:51 2008 +0100"
      },
      "message": "block: add one-hit cache for disk partition lookup\n\ndisk_map_sector_rcu() returns a partition from a sector offset,\nwhich we use for IO statistics on a per-partition basis. The\nlookup itself is an O(N) list lookup, where N is the number of\npartitions. This actually hurts performance quite a bit, even\non the lower end partitions. On higher numbered partitions,\nit can get pretty bad.\n\nSolve this by adding a one-hit cache for partition lookup.\nThis makes the lookup O(1) for the case where we do most IO to\none partition. Even for mixed partition workloads, amortized cost\nis pretty close to O(1) since the natural IO batching makes the\none-hit cache last for lots of IOs.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b374d18a4bfce705e4a99ae9f501b53e86ecb283",
      "tree": "7e773464725a78e96a2017fa36cf9d4a4e29f73b",
      "parents": [
        "abf137dd7712132ee56d5b3143c2ff61a72a5faa"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 31 10:05:07 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:50 2008 +0100"
      },
      "message": "block: get rid of elevator_t typedef\n\nJust use struct elevator_queue everywhere instead.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "abf137dd7712132ee56d5b3143c2ff61a72a5faa",
      "tree": "8334f03c598343bb93340f081fcde5ba659b440b",
      "parents": [
        "392ddc32982a5c661dd90dd49a3cb37f1c68b782"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Dec 09 08:11:22 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:50 2008 +0100"
      },
      "message": "aio: make the lookup_ioctx() lockless\n\nThe mm-\u003eioctx_list is currently protected by a reader-writer lock,\nso we always grab that lock on the read side for doing ioctx\nlookups. As the workload is extremely reader biased, turn this into\nan rcu hlist so we can make lookup_ioctx() lockless. Get rid of\nthe rwlock and use a spinlock for providing update side exclusion.\n\nThere\u0027s usually only 1 entry on this list, so it doesn\u0027t make sense\nto look into fancier data structures.\n\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "392ddc32982a5c661dd90dd49a3cb37f1c68b782",
      "tree": "614b8e857a70ce479bcbbf24af66a56b7723efc8",
      "parents": [
        "bb799ca0202a360fa74d5f17039b9100caebdde7"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Dec 23 12:42:54 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:50 2008 +0100"
      },
      "message": "bio: add support for inlining a number of bio_vecs inside the bio\n\nWhen we go and allocate a bio for IO, we actually do two allocations.\nOne for the bio itself, and one for the bi_io_vec that holds the\nactual pages we are interested in.\n\nThis feature inlines a definable amount of io vecs inside the bio\nitself, so we eliminate the bio_vec array allocation for IO\u0027s up\nto a certain size. It defaults to 4 vecs, which is typically 16k\nof IO.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bb799ca0202a360fa74d5f17039b9100caebdde7",
      "tree": "048b6cedfd2644edd82a606db6d9e8b19d31328b",
      "parents": [
        "1b4344986926da324b5cd10b683e5a1a5e1b7db3"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Dec 10 15:35:05 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:23 2008 +0100"
      },
      "message": "bio: allow individual slabs in the bio_set\n\nInstead of having a global bio slab cache, add a reference to one\nin each bio_set that is created. This allows for personalized slabs\nin each bio_set, so that they can have bios of different sizes.\n\nThis means we can personalize the bios we return. File systems may\nwant to embed the bio inside another structure, to avoid allocation\nmore items (and stuffing them in -\u003ebi_private) after the get a bio.\nOr we may want to embed a number of bio_vecs directly at the end\nof a bio, to avoid doing two allocations to return a bio. This is now\npossible.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1b4344986926da324b5cd10b683e5a1a5e1b7db3",
      "tree": "f196fad09555f32e4464df2ea4c8fea17ad99e76",
      "parents": [
        "7ff9345ffac56743b5001561bc2dc1e041b79149"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 22 20:32:58 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:46 2008 +0100"
      },
      "message": "bio: move the slab pointer inside the bio_set\n\nIn preparation for adding differently sized bios.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7ff9345ffac56743b5001561bc2dc1e041b79149",
      "tree": "aede8c4b4b52c7808cdea7ec039655accffd2298",
      "parents": [
        "a31a97381cdf7dceb03b797a8faf9bc8a01c65d1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Dec 11 11:53:43 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:46 2008 +0100"
      },
      "message": "bio: only mempool back the largest bio_vec slab cache\n\nWe only very rarely need the mempool backing, so it makes sense to\nget rid of all but one of the mempool in a bio_set. So keep the\nlargest bio_vec count mempool so we can always honor the largest\nallocation, and \"upgrade\" callers that fail.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "58eea927d2de43dc6f03d1ba2c46e55854b31540",
      "tree": "bb43f43891a3154741bb6a116dc2956342160f15",
      "parents": [
        "8f11b3e99a1136fcbb67316c3260f085299c0bff"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Nov 28 13:32:06 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:45 2008 +0100"
      },
      "message": "block: simplify empty barrier implementation\n\nEmpty barrier required special handling in __elv_next_request() to\ncomplete it without letting the low level driver see it.\n\nWith previous changes, barrier code is now flexible enough to skip the\nBAR step using the same barrier sequence selection mechanism.  Drop\nthe special handling and mask off q-\u003eordered from start_ordered().\n\nRemove blk_empty_barrier() test which now has no user.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8f11b3e99a1136fcbb67316c3260f085299c0bff",
      "tree": "bb9b12fe23aceac19e24f674786612d0fcad2142",
      "parents": [
        "f671620e7d895af221bdfeda751d54fa55ed9546"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Nov 28 13:32:05 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:45 2008 +0100"
      },
      "message": "block: make barrier completion more robust\n\nBarrier completion had the following assumptions.\n\n* start_ordered() couldn\u0027t finish the whole sequence properly.  If all\n  actions are to be skipped, q-\u003eordseq is set correctly but the actual\n  completion was never triggered thus hanging the barrier request.\n\n* Drain completion in elv_complete_request() assumed that there\u0027s\n  always at least one request in the queue when drain completes.\n\nBoth assumptions are true but these assumptions need to be removed to\nimprove empty barrier implementation.  This patch makes the following\nchanges.\n\n* Make start_ordered() use blk_ordered_complete_seq() to mark skipped\n  steps complete and notify __elv_next_request() that it should fetch\n  the next request if the whole barrier has completed inside\n  start_ordered().\n\n* Make drain completion path in elv_complete_request() check whether\n  the queue is empty.  Empty queue also indicates drain completion.\n\n* While at it, convert 0/1 return from blk_do_ordered() to false/true.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f671620e7d895af221bdfeda751d54fa55ed9546",
      "tree": "beeb843a4a356d94b6b4faec97e078b2a4ad1f09",
      "parents": [
        "a7384677b2f4cd40948fd7ce024ba5e1821444ba"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Nov 28 13:32:04 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:45 2008 +0100"
      },
      "message": "block: make every barrier action optional\n\nIn all barrier sequences, the barrier write itself was always assumed\nto be issued and thus didn\u0027t have corresponding control flag.  This\npatch adds QUEUE_ORDERED_DO_BAR and unify action mask handling in\nstart_ordered() such that any barrier action can be skipped.\n\nThis patch doesn\u0027t introduce any visible behavior changes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "313e42999dbc0f234ca5909a236f78f082cb43b1",
      "tree": "023ac251809e3926ebc6b6c2174d67f8c4ac535f",
      "parents": [
        "ba744d5e290055d171c68067259fcc1e2721f542"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Nov 28 13:32:02 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:44 2008 +0100"
      },
      "message": "block: reorganize QUEUE_ORDERED_* constants\n\nSeparate out ordering type (drain,) and action masks (preflush,\npostflush, fua) from visible ordering mode selectors\n(QUEUE_ORDERED_*).  Ordering types are now named QUEUE_ORDERED_BY_*\nwhile action masks are named QUEUE_ORDERED_DO_*.\n\nThis change is necessary to add QUEUE_ORDERED_DO_BAR and make it\noptional to improve empty barrier implementation.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ba744d5e290055d171c68067259fcc1e2721f542",
      "tree": "0a242e1ceae3b4ddcac77592819c455c61ff5a24",
      "parents": [
        "64d01dc9e1927e6535627d73f2336c75d1dd3fe2"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Wed Dec 03 12:41:40 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:44 2008 +0100"
      },
      "message": "block: reorder struct bio to remove padding on 64bit\n\nRemove 8 bytes of padding from struct bio which also removes 16 bytes from\nstruct bio_pair to make it 248 bytes.  bio_pair then fits into one fewer\ncache lines \u0026 into a smaller slab.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "64d01dc9e1927e6535627d73f2336c75d1dd3fe2",
      "tree": "1813333970f6ed1c1959edfc2842b00ed2b3a70e",
      "parents": [
        "08bafc0341f2f7920e9045bc32c40299cac8c21b"
      ],
      "author": {
        "name": "Cheng Renquan",
        "email": "crquan@gmail.com",
        "time": "Wed Dec 03 12:41:39 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:44 2008 +0100"
      },
      "message": "block: use cancel_work_sync() instead of kblockd_flush_work()\n\nAfter many improvements on kblockd_flush_work, it is now identical to\ncancel_work_sync, so a direct call to cancel_work_sync is suggested.\n\nThe only difference is that cancel_work_sync is a GPL symbol,\nso no non-GPL modules anymore.\n\nSigned-off-by: Cheng Renquan \u003ccrquan@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "08bafc0341f2f7920e9045bc32c40299cac8c21b",
      "tree": "ab4ad0f73f457409239a98c050bf7edd47c03cf1",
      "parents": [
        "7c239517d9f18427fc2e7ed259fb3b866595f5af"
      ],
      "author": {
        "name": "Keith Mannthey",
        "email": "kmannth@us.ibm.com",
        "time": "Tue Nov 25 10:24:35 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:44 2008 +0100"
      },
      "message": "block: Supress Buffer I/O errors when SCSI REQ_QUIET flag set\n\nAllow the scsi request REQ_QUIET flag to be propagated to the buffer\nfile system layer. The basic ideas is to pass the flag from the scsi\nrequest to the bio (block IO) and then to the buffer layer.  The buffer\nlayer can then suppress needless printks.\n\nThis patch declutters the kernel log by removed the 40-50 (per lun)\nbuffer io error messages seen during a boot in my multipath setup . It\nis a good chance any real errors will be missed in the \"noise\" it the\nlogs without this patch.\n\nDuring boot I see blocks of messages like\n\"\n__ratelimit: 211 callbacks suppressed\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242847\nBuffer I/O error on device sdm, logical block 1\nBuffer I/O error on device sdm, logical block 5242878\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242872\n\"\nin my logs.\n\nMy disk environment is multipath fiber channel using the SCSI_DH_RDAC\ncode and multipathd.  This topology includes an \"active\" and \"ghost\"\npath for each lun. IO\u0027s to the \"ghost\" path will never complete and the\nSCSI layer, via the scsi device handler rdac code, quick returns the IOs\nto theses paths and sets the REQ_QUIET scsi flag to suppress the scsi\nlayer messages.\n\n I am wanting to extend the QUIET behavior to include the buffer file\nsystem layer to deal with these errors as well. I have been running this\npatch for a while now on several boxes without issue.  A few runs of\nbonnie++ show no noticeable difference in performance in my setup.\n\nThanks for John Stultz for the quiet_error finalization.\n\nSubmitted-by:  Keith Mannthey \u003ckmannth@us.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "88e740f1654bf28565edd528a060695c1f2b5ad7",
      "tree": "c66a57396c9b881df1734f5b46e6681bc536c132",
      "parents": [
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "Fernando Luis Vázquez Cao",
        "email": "fernando@oss.ntt.co.jp",
        "time": "Mon Oct 27 18:44:46 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:41 2008 +0100"
      },
      "message": "block: add queue flag for paravirt frontend drivers\n\nAs is the case with SSD devices, we do not want to idle in AS/CFQ when\nthe block device is a paravirt front-end driver. This patch adds a flag\n(QUEUE_FLAG_VIRT) which should be used by front-end drivers such as\nvirtio_blk and xen-blkfront to indicate a paravirtualized device.\n\nSigned-off-by: Fernando Luis Vazquez Cao \u003cfernando@oss.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0a8c5395f90f06d128247844b2515c8bf3f2826b",
      "tree": "d95382dcdfa303b99d480c01763d6cb6767fdaca",
      "parents": [
        "25051158bbed127e8672b43396c71c5eb610e5f1",
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 29 16:47:18 2008 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Mon Dec 29 16:47:18 2008 +1100"
      },
      "message": "[XFS] Fix merge failures\n\nMerge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tfs/xfs/linux-2.6/xfs_cred.h\n\tfs/xfs/linux-2.6/xfs_globals.h\n\tfs/xfs/linux-2.6/xfs_ioctl.c\n\tfs/xfs/xfs_vnodeops.h\n\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "e3c6d4ee545e427b55882d97d3b663c6411645fe",
      "tree": "294326663fb757739a98083c2ddd570d1eaf7337",
      "parents": [
        "5bc053089376217943187ed5153d0d1e5c5085b6",
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 28 20:19:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Dec 28 20:19:47 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\tarch/sparc64/kernel/idprom.c\n"
    },
    {
      "commit": "ece180d1cfe5fa751eaa85bf796cf28b2150af15",
      "tree": "aca9d485036858ed3f1859e679473cebd3476845",
      "parents": [
        "ad74e4c18d0962397314460d0da312e72c8bd02d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 03 20:04:37 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Sun Dec 28 22:43:21 2008 -0500"
      },
      "message": "libata: perform port detach in EH\n\nata_port_detach() first made sure EH saw ATA_PFLAG_UNLOADING and then\nassumed EH context belongs to it and performed detach operation\nitself.  However, UNLOADING doesn\u0027t disable all of EH and this could\nlead to problems including triggering WARN_ON()\u0027s in EH path.\n\nThis patch makes port detach behave more like other EH actions such\nthat ata_port_detach() requests EH to detach and waits for completion.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "1eca4365be25c540650693e941bc06a66cf38f94",
      "tree": "e3ed82850da00308180bf166118f9f9e69d92898",
      "parents": [
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Nov 03 20:03:17 2008 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Sun Dec 28 22:43:20 2008 -0500"
      },
      "message": "libata: beef up iterators\n\nThere currently are the following looping constructs.\n\n* __ata_port_for_each_link() for all available links\n* ata_port_for_each_link() for edge links\n* ata_link_for_each_dev() for all devices\n* ata_link_for_each_dev_reverse() for all devices in reverse order\n\nNow there\u0027s a need for looping construct which is similar to\n__ata_port_for_each_link() but iterates over PMP links before the host\nlink.  Instead of adding another one with long name, do the following\ncleanup.\n\n* Implement and export ata_link_next() and ata_dev_next() which take\n  @mode parameter and can be used to build custom loop.\n* Implement ata_for_each_link() and ata_for_each_dev() which take\n  looping mode explicitly.\n\nThe following iteration modes are implemented.\n\n* ATA_LITER_EDGE\t\t: loop over edge links\n* ATA_LITER_HOST_FIRST\t\t: loop over all links, host link first\n* ATA_LITER_PMP_FIRST\t\t: loop over all links, PMP links first\n\n* ATA_DITER_ENABLED\t\t: loop over enabled devices\n* ATA_DITER_ENABLED_REVERSE\t: loop over enabled devices in reverse order\n* ATA_DITER_ALL\t\t\t: loop over all devices\n* ATA_DITER_ALL_REVERSE\t\t: loop over all devices in reverse order\n\nThis change removes exlicit device enabledness checks from many loops\nand makes it clear which ones are iterated over in which direction.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "3c92ec8ae91ecf59d88c798301833d7cf83f2179",
      "tree": "08a38cd3523c42bd49882f17cd501fd879e7ca1c",
      "parents": [
        "c4c9f0183b7c4e97836e8fecbb67898b06c47e78",
        "ca9153a3a2a7556d091dfe080e42b0e67881fff6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 16:54:33 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 16:54:33 2008 -0800"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (144 commits)\n  powerpc/44x: Support 16K/64K base page sizes on 44x\n  powerpc: Force memory size to be a multiple of PAGE_SIZE\n  powerpc/32: Wire up the trampoline code for kdump\n  powerpc/32: Add the ability for a classic ppc kernel to be loaded at 32M\n  powerpc/32: Allow __ioremap on RAM addresses for kdump kernel\n  powerpc/32: Setup OF properties for kdump\n  powerpc/32/kdump: Implement crash_setup_regs() using ppc_save_regs()\n  powerpc: Prepare xmon_save_regs for use with kdump\n  powerpc: Remove default kexec/crash_kernel ops assignments\n  powerpc: Make default kexec/crash_kernel ops implicit\n  powerpc: Setup OF properties for ppc32 kexec\n  powerpc/pseries: Fix cpu hotplug\n  powerpc: Fix KVM build on ppc440\n  powerpc/cell: add QPACE as a separate Cell platform\n  powerpc/cell: fix build breakage with CONFIG_SPUFS disabled\n  powerpc/mpc5200: fix error paths in PSC UART probe function\n  powerpc/mpc5200: add rts/cts handling in PSC UART driver\n  powerpc/mpc5200: Make PSC UART driver update serial errors counters\n  powerpc/mpc5200: Remove obsolete code from mpc5200 MDIO driver\n  powerpc/mpc5200: Add MDMA/UDMA support to MPC5200 ATA driver\n  ...\n\nFix trivial conflict in drivers/char/Makefile as per Paul\u0027s directions\n"
    },
    {
      "commit": "0191b625ca5a46206d2fb862bb08f36f2fcb3b31",
      "tree": "454d1842b1833d976da62abcbd5c47521ebe9bd7",
      "parents": [
        "54a696bd07c14d3b1192d03ce7269bc59b45209a",
        "eb56092fc168bf5af199d47af50c0d84a96db898"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1429 commits)\n  net: Allow dependancies of FDDI \u0026 Tokenring to be modular.\n  igb: Fix build warning when DCA is disabled.\n  net: Fix warning fallout from recent NAPI interface changes.\n  gro: Fix potential use after free\n  sfc: If AN is enabled, always read speed/duplex from the AN advertising bits\n  sfc: When disabling the NIC, close the device rather than unregistering it\n  sfc: SFT9001: Add cable diagnostics\n  sfc: Add support for multiple PHY self-tests\n  sfc: Merge top-level functions for self-tests\n  sfc: Clean up PHY mode management in loopback self-test\n  sfc: Fix unreliable link detection in some loopback modes\n  sfc: Generate unique names for per-NIC workqueues\n  802.3ad: use standard ethhdr instead of ad_header\n  802.3ad: generalize out mac address initializer\n  802.3ad: initialize ports LACPDU from const initializer\n  802.3ad: remove typedef around ad_system\n  802.3ad: turn ports is_individual into a bool\n  802.3ad: turn ports is_enabled into a bool\n  802.3ad: make ntt bool\n  ixgbe: Fix set_ringparam in ixgbe to use the same memory pools.\n  ...\n\nFixed trivial IPv4/6 address printing conflicts in fs/cifs/connect.c due\nto the conversion to %pI (in this networking merge) and the addition of\ndoing IPv6 addresses (from the earlier merge of CIFS).\n"
    },
    {
      "commit": "1d248b2593e92db6c51ca07235985a95c625a93f",
      "tree": "4eceeb4eadb8a6339e0f83d0cad166f88d888557",
      "parents": [
        "1db2a5c11e495366bff35cf7445d494703f7febe",
        "2a0d8366dde9c66d8f481bee56828b661e5c8bf1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:33:59 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:33:59 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (26 commits)\n  IB/mlx4: Set ownership bit correctly when copying CQEs during CQ resize\n  RDMA/nes: Remove tx_free_list\n  RDMA/cma: Add IPv6 support\n  RDMA/addr: Add support for translating IPv6 addresses\n  mlx4_core: Delete incorrect comment\n  mlx4_core: Add support for multiple completion event vectors\n  IB/iser: Avoid recv buffer exhaustion caused by unexpected PDUs\n  IB/ehca: Remove redundant test of vpage\n  IB/ehca: Replace modulus operations in flush error completion path\n  IB/ipath: Add locking for interrupt use of ipath_pd contexts vs free\n  IB/ipath: Fix spi_pioindex value\n  IB/ipath: Only do 1X workaround on rev1 chips\n  IB/ipath: Don\u0027t count IB symbol and link errors unless link is UP\n  IB/ipath: Check return value of dma_map_single()\n  IB/ipath: Fix PSN of send WQEs after an RDMA read resend\n  RDMA/nes: Cleanup warnings\n  RDMA/nes: Add loopback check to make_cm_node()\n  RDMA/nes: Check cqp_avail_reqs is empty after locking the list\n  RDMA/nes: Fix TCP compliance test failures\n  RDMA/nes: Forward packets for a new connection with stale APBVT entry\n  ...\n"
    },
    {
      "commit": "a39b863342b8aba52390092be95db58f6ed56061",
      "tree": "a952625e9815c0a4d7fe9f85c33908068513429a",
      "parents": [
        "b0f4b285d7ed174804658539129a834270f4829a",
        "4e202284e6ac1695df3eb4a0e549ea78addfb663"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:27:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:27:58 2008 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (31 commits)\n  sched: fix warning in fs/proc/base.c\n  schedstat: consolidate per-task cpu runtime stats\n  sched: use RCU variant of list traversal in for_each_leaf_rt_rq()\n  sched, cpuacct: export percpu cpuacct cgroup stats\n  sched, cpuacct: refactoring cpuusage_read / cpuusage_write\n  sched: optimize update_curr()\n  sched: fix wakeup preemption clock\n  sched: add missing arch_update_cpu_topology() call\n  sched: let arch_update_cpu_topology indicate if topology changed\n  sched: idle_balance() does not call load_balance_newidle()\n  sched: fix sd_parent_degenerate on non-numa smp machine\n  sched: add uid information to sched_debug for CONFIG_USER_SCHED\n  sched: move double_unlock_balance() higher\n  sched: update comment for move_task_off_dead_cpu\n  sched: fix inconsistency when redistribute per-cpu tg-\u003ecfs_rq shares\n  sched/rt: removed unneeded defintion\n  sched: add hierarchical accounting to cpu accounting controller\n  sched: include group statistics in /proc/sched_debug\n  sched: rename SCHED_NO_NO_OMIT_FRAME_POINTER \u003d\u003e SCHED_OMIT_FRAME_POINTER\n  sched: clean up SCHED_CPUMASK_ALLOC\n  ...\n"
    },
    {
      "commit": "b0f4b285d7ed174804658539129a834270f4829a",
      "tree": "be7f8dca58075aba2c6a137fcfd4d44c5c333efc",
      "parents": [
        "be9c5ae4eeec2e85527e95647348b8ea4eb25128",
        "5250d329e38cdf7580faeb9c53c17d3588d7d19c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:21:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:21:10 2008 -0800"
      },
      "message": "Merge branch \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (241 commits)\n  sched, trace: update trace_sched_wakeup()\n  tracing/ftrace: don\u0027t trace on early stage of a secondary cpu boot, v3\n  Revert \"x86: disable X86_PTRACE_BTS\"\n  ring-buffer: prevent false positive warning\n  ring-buffer: fix dangling commit race\n  ftrace: enable format arguments checking\n  x86, bts: memory accounting\n  x86, bts: add fork and exit handling\n  ftrace: introduce tracing_reset_online_cpus() helper\n  tracing: fix warnings in kernel/trace/trace_sched_switch.c\n  tracing: fix warning in kernel/trace/trace.c\n  tracing/ring-buffer: remove unused ring_buffer size\n  trace: fix task state printout\n  ftrace: add not to regex on filtering functions\n  trace: better use of stack_trace_enabled for boot up code\n  trace: add a way to enable or disable the stack tracer\n  x86: entry_64 - introduce FTRACE_ frame macro v2\n  tracing/ftrace: add the printk-msg-only option\n  tracing/ftrace: use preempt_enable_no_resched_notrace in ring_buffer_time_stamp()\n  x86, bts: correctly report invalid bts records\n  ...\n\nFixed up trivial conflict in scripts/recordmcount.pl due to SH bits\nbeing already partly merged by the SH merge.\n"
    },
    {
      "commit": "be9c5ae4eeec2e85527e95647348b8ea4eb25128",
      "tree": "59383b15bc0891b8a44500a0ac172a8850f1068d",
      "parents": [
        "bb26c6c29b7cc9f39e491b074b09f3c284738d36",
        "79a66b96c339626a3e4b226fefc0e45244cfe6ff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:07:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:07:57 2008 -0800"
      },
      "message": "Merge branch \u0027x86-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (246 commits)\n  x86: traps.c replace #if CONFIG_X86_32 with #ifdef CONFIG_X86_32\n  x86: PAT: fix address types in track_pfn_vma_new()\n  x86: prioritize the FPU traps for the error code\n  x86: PAT: pfnmap documentation update changes\n  x86: PAT: move track untrack pfnmap stubs to asm-generic\n  x86: PAT: remove follow_pfnmap_pte in favor of follow_phys\n  x86: PAT: modify follow_phys to return phys_addr prot and return value\n  x86: PAT: clarify is_linear_pfn_mapping() interface\n  x86: ia32_signal: remove unnecessary declaration\n  x86: common.c boot_cpu_stack and boot_exception_stacks should be static\n  x86: fix intel x86_64 llc_shared_map/cpu_llc_id anomolies\n  x86: fix warning in arch/x86/kernel/microcode_amd.c\n  x86: ia32.h: remove unused struct sigfram32 and rt_sigframe32\n  x86: asm-offset_64: use rt_sigframe_ia32\n  x86: sigframe.h: include headers for dependency\n  x86: traps.c declare functions before they get used\n  x86: PAT: update documentation to cover pgprot and remap_pfn related changes - v3\n  x86: PAT: add pgprot_writecombine() interface for drivers - v3\n  x86: PAT: change pgprot_noncached to uc_minus instead of strong uc - v3\n  x86: PAT: implement track/untrack of pfnmap regions for x86 - v3\n  ...\n"
    },
    {
      "commit": "bb26c6c29b7cc9f39e491b074b09f3c284738d36",
      "tree": "c7867af2bb4ff0feae889183efcd4d79b0f9a325",
      "parents": [
        "e14e61e967f2b3bdf23f05e4ae5b9aa830151a44",
        "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 11:43:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 11:43:54 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (105 commits)\n  SELinux: don\u0027t check permissions for kernel mounts\n  security: pass mount flags to security_sb_kern_mount()\n  SELinux: correctly detect proc filesystems of the form \"proc/foo\"\n  Audit: Log TIOCSTI\n  user namespaces: document CFS behavior\n  user namespaces: require cap_set{ug}id for CLONE_NEWUSER\n  user namespaces: let user_ns be cloned with fairsched\n  CRED: fix sparse warnings\n  User namespaces: use the current_user_ns() macro\n  User namespaces: set of cleanups (v2)\n  nfsctl: add headers for credentials\n  coda: fix creds reference\n  capabilities: define get_vfs_caps_from_disk when file caps are not enabled\n  CRED: Allow kernel services to override LSM settings for task actions\n  CRED: Add a kernel_service object class to SELinux\n  CRED: Differentiate objective and effective subjective credentials on a task\n  CRED: Documentation\n  CRED: Use creds in file structs\n  CRED: Prettify commoncap.c\n  CRED: Make execve() take advantage of copy-on-write credentials\n  ...\n"
    },
    {
      "commit": "e14e61e967f2b3bdf23f05e4ae5b9aa830151a44",
      "tree": "9412c94cbe37bf6f0d0bd9ad2d8b907ce23eb1db",
      "parents": [
        "cb10ea549fdc0ab2dd8988adab5bf40b4fa642f3",
        "0ee4a96902dd7858e65f378c86f428a0355bd841"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 11:43:22 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 11:43:22 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (57 commits)\n  crypto: aes - Precompute tables\n  crypto: talitos - Ack done interrupt in isr instead of tasklet\n  crypto: testmgr - Correct comment about deflate parameters\n  crypto: salsa20 - Remove private wrappers around various operations\n  crypto: des3_ede - permit weak keys unless REQ_WEAK_KEY set\n  crypto: sha512 - Switch to shash \n  crypto: sha512 - Move message schedule W[80] to static percpu area\n  crypto: michael_mic - Switch to shash\n  crypto: wp512 - Switch to shash\n  crypto: tgr192 - Switch to shash\n  crypto: sha256 - Switch to shash\n  crypto: md5 - Switch to shash\n  crypto: md4 - Switch to shash\n  crypto: sha1 - Switch to shash\n  crypto: rmd320 - Switch to shash\n  crypto: rmd256 - Switch to shash\n  crypto: rmd160 - Switch to shash\n  crypto: rmd128 - Switch to shash\n  crypto: null - Switch to shash\n  crypto: hash - Make setkey optional\n  ...\n"
    },
    {
      "commit": "cb10ea549fdc0ab2dd8988adab5bf40b4fa642f3",
      "tree": "6bc11e0af9f0639a5eedd055401086c8c771f21e",
      "parents": [
        "81d6e59dabb1ae0c782e9eb7e3d88f699d25b314",
        "5ce442fe2c9423ec5451222aee6f9b2127bb8311"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 11:41:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 11:41:32 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (367 commits)\n  ALSA: ASoC: fix a typo in omp-pcm.c\n  ASoC: Fix DSP formats in SSM2602 audio codec\n  ASoC: Fix incorrect DSP format in OMAP McBSP DAI and affected drivers\n  ALSA: hda: fix incorrect mixer index values for 92hd83xx\n  ALSA: hda: dinput_mux check\n  ALSA: hda - Add quirk for another HP dv7\n  ALSA: ASoC - Add missing __devexit annotation to wm8350.c\n  ALSA: ASoc: DaVinci: davinci-evm use dsp_b mode\n  ALSA: ASoC: DaVinci: i2s, evm, pass same value to codec and cpu_dai\n  ALSA: ASoC: tlv320aic3x add dsp_a\n  ALSA: ASoC: DaVinci: document I2S limitations\n  ALSA: ASoC: DaVinci: davinci-i2s clean up\n  ALSA: ASoC: DaVinci: davinci-i2s clean up\n  ALSA: ASoC: DaVinci: davinci-i2s add comments to explain polarity\n  ALSA: ASoC: DaVinci: davinvi-evm, make requests explicit\n  ALSA: ca0106 - disable 44.1kHz capture\n  ALSA: ca0106 - Add missing card-\u003eprivate_data initialization\n  ALSA: ca0106 - Check ac97 availability at PM\n  ALSA: hda - Power up always when no jack detection is available\n  ALSA: hda - Fix unused variable warnings in patch_sigmatel.c\n  ...\n"
    },
    {
      "commit": "32e8d18683adb322c994d1a0fe02d66380991f45",
      "tree": "1c697f6d1c042dc560b096dca76680f4acf415b3",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "0a57b783018a77ca16097198844438bdff4d012e",
        "39c04b55240342d0742ac48538d3d8c71bfc0a94",
        "b2e3c0adec918ea22b6c9d7c76193dd3aaba9bd4",
        "001474491fabeca233168a8598f721c808040f90",
        "c29541b24fb2c6301021637229ae5347c877330a",
        "8187926bdae98648db24db3391c4efd21ec669b1",
        "a5a64498c194c82ecad3a2d67cff6231cda8d3dd"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 18:02:25 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 18:02:25 2008 +0100"
      },
      "message": "Merge branches \u0027timers/clocksource\u0027, \u0027timers/hpet\u0027, \u0027timers/hrtimers\u0027, \u0027timers/nohz\u0027, \u0027timers/ntp\u0027, \u0027timers/posixtimers\u0027 and \u0027timers/rtc\u0027 into timers/core\n"
    },
    {
      "commit": "860cf8894b326e4b89720f520540604834337b72",
      "tree": "27c1363ea7224e9bf722b7292309f6d2a1ebbe61",
      "parents": [
        "e262a7ba31f0cd4dae225e6d2e9037e5ac6108e8",
        "973656fe1afb4adf95d7b9ab75d4660cd3821ea1",
        "f2b662da8d6bd44673537f3f64220afefdca369f",
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 16:27:54 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 16:27:54 2008 +0100"
      },
      "message": "Merge branches \u0027irq/sparseirq\u0027, \u0027irq/genirq\u0027 and \u0027irq/urgent\u0027; commit \u0027v2.6.28\u0027 into irq/core\n"
    },
    {
      "commit": "6638101c1124c19c8a65b1645e4ecd09e0572f3e",
      "tree": "a1e47e8da2e5478846afdd91e8ebcf0914ed7373",
      "parents": [
        "cc37d3d20604f3759d269247b022616f710aa52d",
        "3ae7020543db0b769538e64d1ce8d51fceff60ca",
        "a08636690d06b2e36cfb4c2b3ee133a81c47e1e0",
        "00ef9f7348dfd2fc223ec42aceb30836e86b367f",
        "26cc271db798cf211d35967cbfbb53e997126b84",
        "12d79bafb75639f406a9f71aab94808c414c836e",
        "3ac52669c7a24b93663acfcab606d1065ed1accd",
        "8b752e3ef6e3f5cde87afc649dd51d92b1e549c1",
        "9212ddb5eada64fec5a08b28207401f3cc3d0876"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 14:06:29 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 14:06:29 2008 +0100"
      },
      "message": "Merge branches \u0027core/debugobjects\u0027, \u0027core/iommu\u0027, \u0027core/locking\u0027, \u0027core/printk\u0027, \u0027core/rcu\u0027, \u0027core/resources\u0027, \u0027core/softirq\u0027 and \u0027core/stacktrace\u0027 into core/core\n"
    },
    {
      "commit": "cc37d3d20604f3759d269247b022616f710aa52d",
      "tree": "72758a50bb9352b992842e9a8f9901aa6193b71d",
      "parents": [
        "b594deb0cc54d857828d2e33b2e9d5a9f02f0e89",
        "b56863630ddbdea6e22df8835f78f0b1da037103"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:54:14 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:54:14 2008 +0100"
      },
      "message": "Merge branch \u0027core/futexes\u0027 into core/core\n"
    },
    {
      "commit": "0b271ef4521756010675b1611bef20fd3096790d",
      "tree": "2c9d22a2c74122a9904e533df27f41d63ffef394",
      "parents": [
        "b19b3c74c7bbec45a848631b8f970ac110665a01",
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:51:46 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:51:46 2008 +0100"
      },
      "message": "Merge commit \u0027v2.6.28\u0027 into core/core\n"
    },
    {
      "commit": "4e202284e6ac1695df3eb4a0e549ea78addfb663",
      "tree": "b455ebb51d9f94717f6fde06db6331cfe73e4714",
      "parents": [
        "826e08b0157c0ce8a80dfe3c0a6c5a1540dd0b1d",
        "80f40ee4a07530cc3acbc239a9299ec47025825b",
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:42:23 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:42:23 2008 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027; commit \u0027v2.6.28\u0027 into sched/core\n"
    },
    {
      "commit": "5250d329e38cdf7580faeb9c53c17d3588d7d19c",
      "tree": "42b2d22e0dc9ae08a26167ba8f89cb3d9a8ad5af",
      "parents": [
        "a3eeeefbf1cd1d142c52238cc19c75d14c3bc8d5",
        "468a15bb4cc61694495cc5ed7ffca29e87c79b69",
        "67be403d897f818b1a5ecc201967b0ee6a0332f9",
        "98db8df777438e16ad0f44a0fba05ebbdb73db8d",
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:11:00 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Dec 25 13:11:00 2008 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/hw-branch-tracing\u0027 and \u0027tracing/ring-buffer\u0027; commit \u0027v2.6.28\u0027 into tracing/core\n"
    },
    {
      "commit": "a8022697811c3f2271df5ec14fa6f518b731b46a",
      "tree": "d94522dec3c3008d6e204ac5266888d5997b2368",
      "parents": [
        "a65056205cdf7efb96fb2558e4f1ec6bae2582ed",
        "cdc693643271b2e6a693cf8f6afb258cce01f058"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Dec 25 11:40:29 2008 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Dec 25 11:40:29 2008 +0100"
      },
      "message": "Merge branch \u0027topic/jack-mechanical\u0027 into to-push\n"
    },
    {
      "commit": "a65056205cdf7efb96fb2558e4f1ec6bae2582ed",
      "tree": "22a5fa35464f26183e34aa4210fa6c145f24ddf3",
      "parents": [
        "313769d9edb1bbd59d2e94f5069950eecfe6fa44",
        "7645c4bfbb36f357f03815f5729c46ce8d89f008"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Dec 25 11:40:28 2008 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Dec 25 11:40:28 2008 +0100"
      },
      "message": "Merge branch \u0027topic/hda\u0027 into to-push\n"
    },
    {
      "commit": "5c8261e44eaebbc91f9fc1bbd3f3167e91a50a57",
      "tree": "6b932687edc73c07e544ccba3f0130fdb257d902",
      "parents": [
        "facef8685b3ff95c01c33d9d836401d0dd26211d",
        "472346da9cc4231bec03ff2032e0d5fd4037232c"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Dec 25 11:40:25 2008 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Dec 25 11:40:25 2008 +0100"
      },
      "message": "Merge branch \u0027topic/asoc\u0027 into to-push\n"
    },
    {
      "commit": "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db",
      "tree": "90d1093131d2a3543a8b3b1f3364e7c6f4081a93",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "74192246910ff4fb95309ba1a683215644beeb62"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "0426c166424ea6d3d0412f47879c8ba268f874c4",
      "tree": "460a5d01e68c2c71a65bd1aa34da6542517c57c0",
      "parents": [
        "53b146ae598268edbe2bf7ea7dfec721d51adddd"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Nov 11 12:20:06 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:43 2008 +1100"
      },
      "message": "libcrc32c: Add crc32c_le macro\n\nThe bnx2x driver actually uses the crc32c_le name so this patch\nrestores the crc32c_le symbol through a macro.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "69c35efcf1576ab5f00cba83e8ca740923afb6c9",
      "tree": "faf3bba45be45d530e3355c46d6bf2cd99d0e83c",
      "parents": [
        "8e3ee85e68c5d5c95451afd3e8f0997eec6f99e5"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Nov 07 15:11:47 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:40 2008 +1100"
      },
      "message": "libcrc32c: Move implementation to crypto crc32c\n\nThis patch swaps the role of libcrc32c and crc32c.  Previously\nthe implementation was in libcrc32c and crc32c was a wrapper.\nNow the code is in crc32c and libcrc32c just calls the crypto\nlayer.\n\nThe reason for the change is to tap into the algorithm selection\ncapability of the crypto API so that optimised implementations\nsuch as the one utilising Intel\u0027s CRC32C instruction can be\nused where available.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "5f7082ed4f482f05db01d84dbf58190492ebf0ad",
      "tree": "34ac4dd0811731457dca0f4bcc440fafc93e517b",
      "parents": [
        "67cd080c5070b4f17520c1385f7684206f4987b3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 31 22:21:09 2008 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:33 2008 +1100"
      },
      "message": "crypto: hash - Export shash through hash\n\nThis patch allows shash algorithms to be used through the old hash\ninterface.  This is a transitional measure so we can convert the\nunderlying algorithms to shash before converting the users across.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "dec8b78606ebd5f309c38f2fb10196ce996dd18d",
      "tree": "005ef526f1b0e953a3a57e6c991e0921fcd5234b",
      "parents": [
        "3b2f6df08258e2875f42bd630eece7e7241a053b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Nov 02 21:38:11 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:30 2008 +1100"
      },
      "message": "crypto: hash - Add import/export interface\n\nIt is often useful to save the partial state of a hash function\nso that it can be used as a base for two or more computations.\n\nThe most prominent example is HMAC where all hashes start from\na base determined by the key.  Having an import/export interface\nmeans that we only have to compute that base once rather than\nfor each message.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "3b2f6df08258e2875f42bd630eece7e7241a053b",
      "tree": "f46e989b103580a6286d644b3c88892188339e19",
      "parents": [
        "7b5a080b3c46f0cac71c0d0262634c6517d4ee4f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 31 18:52:18 2008 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:28 2008 +1100"
      },
      "message": "crypto: hash - Export shash through ahash\n\nThis patch allows shash algorithms to be used through the ahash\ninterface.  This is required before we can convert digest algorithms\nover to shash.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "7b5a080b3c46f0cac71c0d0262634c6517d4ee4f",
      "tree": "41ba9e7051d1ecd47eb5cd371209229db3202ab6",
      "parents": [
        "7b0bac64cd5b74d6f1147524c26216de13a501fd"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 31 15:47:27 2008 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:26 2008 +1100"
      },
      "message": "crypto: hash - Add shash interface\n\nThe shash interface replaces the current synchronous hash interface.\nIt improves over hash in two ways.  Firstly shash is reentrant,\nmeaning that the same tfm may be used by two threads simultaneously\nas all hashing state is stored in a local descriptor.\n\nThe other enhancement is that shash no longer takes scatter list\nentries.  This is because shash is specifically designed for\nsynchronous algorithms and as such scatter lists are unnecessary.\n\nAll existing hash users will be converted to shash once the\nalgorithms have been completely converted.\n\nThere is also a new finup function that combines update with final.\nThis will be extended to ahash once the algorithm conversion is\ndone.\n\nThis is also the first time that an algorithm type has their own\nregistration function.  Existing algorithm types will be converted\nto this way in due course.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "7b0bac64cd5b74d6f1147524c26216de13a501fd",
      "tree": "e9163f47d583f88d35fb8e5c9ca86ed2581c6efd",
      "parents": [
        "4a7794860ba2b56693b1d89fd485fd08cdc763e3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Sep 21 06:52:53 2008 +0900"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:24 2008 +1100"
      },
      "message": "crypto: api - Rebirth of crypto_alloc_tfm\n\nThis patch reintroduces a completely revamped crypto_alloc_tfm.\nThe biggest change is that we now take two crypto_type objects\nwhen allocating a tfm, a frontend and a backend.  In fact this\nsimply formalises what we\u0027ve been doing behind the API\u0027s back.\n\nFor example, as it stands crypto_alloc_ahash may use an\nactual ahash algorithm or a crypto_hash algorithm.  Putting\nthis in the API allows us to do this much more cleanly.\n\nThe existing types will be converted across gradually.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "4a7794860ba2b56693b1d89fd485fd08cdc763e3",
      "tree": "d97f46fe980ac79e226b429a61c5328fae9bf882",
      "parents": [
        "2566578a6feb9d9e39da41326afe8ed6022db3c5"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Sep 13 18:19:03 2008 -0700"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Dec 25 11:01:23 2008 +1100"
      },
      "message": "crypto: api - Move type exit function into crypto_tfm\n\nThe type exit function needs to undo any allocations done by the type\ninit function.  However, the type init function may differ depending\non the upper-level type of the transform (e.g., a crypto_blkcipher\ninstantiated as a crypto_ablkcipher).\n\nSo we need to move the exit function out of the lower-level\nstructure and into crypto_tfm itself.\n\nAs it stands this is a no-op since nobody uses exit functions at\nall.  However, all cases where a lower-level type is instantiated\nas a different upper-level type (such as blkcipher as ablkcipher)\nwill be converted such that they allocate the underlying transform\nand use that instead of casting (e.g., crypto_ablkcipher casted\ninto crypto_blkcipher).  That will need to use a different exit\nfunction depending on the upper-level type.\n\nThis patch also allows the type init/exit functions to call (or not)\ncra_init/cra_exit instead of always calling them from the top level.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "db8862eafe8a5d030a3b02e81b8bb47447c315e3",
      "tree": "073ea7b46809bf804134cbf008a593413c02a99c",
      "parents": [
        "c5dee6177f4bd2095aab7d9be9f6ebdddd6deee9",
        "c20137fc5329eaf24093fc48c52608dc66be8e5c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 24 21:08:26 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 24 21:08:26 2008 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/hw-branch-tracing\n"
    },
    {
      "commit": "7645c4bfbb36f357f03815f5729c46ce8d89f008",
      "tree": "eb2c45bbdfc715a9a6e96e6af9675a0440ef8ff1",
      "parents": [
        "74b7ff48a93f44198ac03cc4e628d713f53d4668",
        "574f3c4f5c55e99ea60f71fd98cc54931d4b2eae"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Dec 24 11:04:08 2008 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Dec 24 11:04:08 2008 +0100"
      },
      "message": "Merge branch \u0027fix/hda\u0027 into topic/hda\n"
    }
  ],
  "next": "61054b14d545e257b9415d5ca0cd5f43762b4d0c"
}
