)]}'
{
  "log": [
    {
      "commit": "02dbf38d19c19016f558fe0dc0c44f8041d3eb8e",
      "tree": "a0342ca55b1c39a835a0425e3f8ca13560299776",
      "parents": [
        "161d6f30f18c4a7e2b24705b6690cce3ff276eb9"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Oct 27 18:07:45 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:34:18 2009 -0800"
      },
      "message": "ocfs2: Use buckets in ocfs2_xattr_set_entry_in_bucket().\n\nThe ocfs2_xattr_set_entry_in_bucket() function is already working on an\nocfs2_xattr_bucket structure, so let\u0027s use the bucket API.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "161d6f30f18c4a7e2b24705b6690cce3ff276eb9",
      "tree": "62c392076a86aa752e4fbc3c2611affad50b22ff",
      "parents": [
        "178eeac354ea28828d5e94a3a7b51368c171d6a5"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Oct 27 15:25:18 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:34:18 2009 -0800"
      },
      "message": "ocfs2: Use buckets in ocfs2_defrag_xattr_bucket().\n\nUse the ocfs2_xattr_bucket abstraction for reading and writing the\nbucket in ocfs2_defrag_xattr_bucket().\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "178eeac354ea28828d5e94a3a7b51368c171d6a5",
      "tree": "8e3d7b2c923ea2260344dbe76d0b128031ba93c9",
      "parents": [
        "e2356a3f02cfdbce735465a2b40b6dc72a764c26"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Oct 27 15:18:29 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:34:18 2009 -0800"
      },
      "message": "ocfs2: Use buckets in ocfs2_xattr_create_index_block().\n\nUse the ocfs2_xattr_bucket abstraction in\nocfs2_xattr_create_index_block() and its helpers.  We get more efficient\nreads, a lot less buffer_head munging, and nicer code to boot.  While\nwe\u0027re at it, ocfs2_xattr_update_xattr_search() becomes void.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "e2356a3f02cfdbce735465a2b40b6dc72a764c26",
      "tree": "e4824c8d19dc2772beb56a134498a3e88acb9923",
      "parents": [
        "ba937127596ec2c61437006741f7d29999284de4"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Mon Oct 27 15:01:54 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:34:17 2009 -0800"
      },
      "message": "ocfs2: Use buckets in ocfs2_xattr_bucket_find().\n\nChange the ocfs2_xattr_bucket_find() function to use ocfs2_xattr_bucket\nas its abstraction.  This makes for more efficient reads, as buckets are\nlinear blocks, and also has improved caching characteristics.  It also\nreads better.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "ba937127596ec2c61437006741f7d29999284de4",
      "tree": "e5be4c76939ed4d87c256ff17f30e58bbebfb413",
      "parents": [
        "4980c6daba967124ed6420032960abd2b48412e2"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Oct 24 19:13:20 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:34:17 2009 -0800"
      },
      "message": "ocfs2: Take ocfs2_xattr_bucket structures off of the stack.\n\nThe ocfs2_xattr_bucket structure is a nice abstraction, but it is a bit\nlarge to have on the stack.  Just like ocfs2_path, let\u0027s allocate it\nwith a ocfs2_xattr_bucket_new() function.\n\nWe can now store the inode on the bucket, cleaning up all the other\nbucket functions.  While we\u0027re here, we catch another place or two that\nwasn\u0027t using ocfs2_read_xattr_bucket().\n\nUpdates:\n- No longer allocating xis.bucket, as it will never be used.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "4980c6daba967124ed6420032960abd2b48412e2",
      "tree": "c5220ec03222db04972ddba0daaca6c112f51b57",
      "parents": [
        "1224be020f62ada3e19822feeac3840abf80de3e"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Oct 24 18:54:43 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:34:17 2009 -0800"
      },
      "message": "ocfs2: Copy xattr buckets with a dedicated function.\n\nNow that the places that copy whole buckets are using struct\nocfs2_xattr_bucket, we can do the copy in a dedicated function.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "1224be020f62ada3e19822feeac3840abf80de3e",
      "tree": "914ea36d842ef33c444b4bd11dfd5e21dbef6af4",
      "parents": [
        "784b816a9198dc3782c97cde8ddcf52fecdf1797"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Oct 24 18:47:33 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:34:17 2009 -0800"
      },
      "message": "ocfs2: Wrap journal_access/journal_dirty for xattr buckets.\n\nA common action is to call ocfs2_journal_access() and\nocfs2_journal_dirty() on the buffer heads of an xattr bucket.  Let\u0027s\ncreate nice wrappers.\n\nWhile we\u0027re there, let\u0027s drop the places that try to be smart by writing\nonly the first and last blocks of a bucket.  A bucket is contiguous, so\nwriting the whole thing is actually more efficient.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "784b816a9198dc3782c97cde8ddcf52fecdf1797",
      "tree": "8b6629535ab822a069449118d8925d479d58fdd3",
      "parents": [
        "6dde41d9e7ba62f84cd7e91c0e993500af32ceb6"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Oct 24 17:33:40 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:34:17 2009 -0800"
      },
      "message": "ocfs2: Improve ocfs2_read_xattr_bucket().\n\nThe ocfs2_read_xattr_bucket() function would read an xattr bucket into a\nlist of buffer heads.  However, we have a nice ocfs2_xattr_bucket\nstructure.  Let\u0027s have it fill that out instead.\n\nIn addition, ocfs2_read_xattr_bucket() would initialize buffer heads for\na bucket that\u0027s never been on disk before.  That\u0027s confusing.  Let\u0027s\ncall that functionality ocfs2_init_xattr_bucket().\n\nThe functions ocfs2_cp_xattr_bucket() and ocfs2_half_xattr_bucket() are\nupdated to use the ocfs2_xattr_bucket structure rather than raw bh\nlists.  That way they can use the new read/init calls.  In addition,\nthey drop the wasted read of an existing target bucket.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "6dde41d9e7ba62f84cd7e91c0e993500af32ceb6",
      "tree": "631cd131bf627a63883a0eca5d612d1472998688",
      "parents": [
        "3e6329463e3a5c311e1d607ff3db735a18b6d67a"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Oct 24 17:16:48 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:34:17 2009 -0800"
      },
      "message": "ocfs2: Provide a wrapper to brelse() xattr bucket buffers.\n\nA common theme is walking all the buffer heads on an ocfs2_xattr_bucket\nand releasing them.  Let\u0027s wrap that.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "3e6329463e3a5c311e1d607ff3db735a18b6d67a",
      "tree": "9c27f3e08be43e93f69103561f197d2beee22c97",
      "parents": [
        "51def39f0cabd46131c7c4df08751cb0cb9433d1"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Oct 24 17:04:49 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:34:16 2009 -0800"
      },
      "message": "ocfs2: Convenient access to an xattr bucket\u0027s header.\n\nThe xattr code often wants to access the ocfs2_xattr_header at the start\nof an bucket.  Rather than walk the pointer chains, let\u0027s just create\nanother nice macro.  As a side benefit, we can get rid of the mostly\nspurious -\u003ebu_xh element on the bucket structure.  The idea is ripped\nfrom the ocfs2_path code.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "51def39f0cabd46131c7c4df08751cb0cb9433d1",
      "tree": "d4845849f9e6bdee106c06453161e0c28f1fd429",
      "parents": [
        "9c7759aa670918a48f0c6e06779cd20f2781a2ac"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Oct 24 16:57:21 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:34:16 2009 -0800"
      },
      "message": "ocfs2: Convenient access to xattr bucket data blocks.\n\nThe xattr code often wants to access the data pointer for blocks in an\nxattr bucket.  This is usually found by dereferencing the bh array\nhanging off of the ocfs2_xattr_bucket structure.  Rather than do this\nall the time, let\u0027s provide a nice little macro.  The idea is ripped\nfrom the ocfs2_path code.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "9c7759aa670918a48f0c6e06779cd20f2781a2ac",
      "tree": "da91ec1b046904504b53f9d356c899321ec3f382",
      "parents": [
        "4ac6032d6c92f0ac65cf5bc56b68557b3f099b66"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Oct 24 16:21:03 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:34:16 2009 -0800"
      },
      "message": "ocfs2: Convenient access to an xattr bucket\u0027s block number.\n\nThe xattr code often wants to know the block number of an xattr bucket.\nThis is usually found by dereferencing the first bh hanging off of the\nocfs2_xattr_bucket structure.  Rather than do this all the time, let\u0027s\nprovide a nice little macro.  The idea is ripped from the ocfs2_path\ncode.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "4ac6032d6c92f0ac65cf5bc56b68557b3f099b66",
      "tree": "6625e9d2fe6cd777507023d1dbfac4311aa32192",
      "parents": [
        "fe0bdec68b77020281dc814805edfe594ae89e0f"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Sat Oct 18 19:11:42 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:34:16 2009 -0800"
      },
      "message": "ocfs2: Field prefixes for the xattr_bucket structure\n\nThe ocfs2_xattr_bucket structure keeps track of the buffers for one\nxattr bucket.  Let\u0027s prefix the fields for easier code navigation.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "fe0bdec68b77020281dc814805edfe594ae89e0f",
      "tree": "aeef34a49594cb0478b1104b58ba2dc933c481c5",
      "parents": [
        "099e657625e801adf82054c8050dde5aceb68452",
        "5af75d8d58d0f9f7b7c0515b35786b22892d5f12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 16:32:11 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 16:32:11 2009 -0800"
      },
      "message": "Merge branch \u0027audit.b61\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b61\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  audit: validate comparison operations, store them in sane form\n  clean up audit_rule_{add,del} a bit\n  make sure that filterkey of task,always rules is reported\n  audit rules ordering, part 2\n  fixing audit rule ordering mess, part 1\n  audit_update_lsm_rules() misses the audit_inode_hash[] ones\n  sanitize audit_log_capset()\n  sanitize audit_fd_pair()\n  sanitize audit_mq_open()\n  sanitize AUDIT_MQ_SENDRECV\n  sanitize audit_mq_notify()\n  sanitize audit_mq_getsetattr()\n  sanitize audit_ipc_set_perm()\n  sanitize audit_ipc_obj()\n  sanitize audit_socketcall\n  don\u0027t reallocate buffer in every audit_sockaddr()\n"
    },
    {
      "commit": "099e657625e801adf82054c8050dde5aceb68452",
      "tree": "d6c28df68ab390fa237b8339c6081e4db380aa5f",
      "parents": [
        "54566b2c1594c2326a645a3551f9d989f7ba3c5e"
      ],
      "author": {
        "name": "Alessandro Zummo",
        "email": "a.zummo@towertech.it",
        "time": "Sun Jan 04 12:00:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "rtc: add alarm/update irq interfaces\n\nAdd standard interfaces for alarm/update irqs enabling.  Drivers are no\nmore required to implement equivalent ioctl code as rtc-dev will provide\nit.\n\nUIE emulation should now be handled correctly and will work even for those\nRTC drivers who cannot be configured to do both UIE and AIE.\n\nSigned-off-by: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "54566b2c1594c2326a645a3551f9d989f7ba3c5e",
      "tree": "b373f3283fe5e197d0df29cd6b645c35adf1076c",
      "parents": [
        "e687d691cb3790d25e31c74f5941fd7c565e9df5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun Jan 04 12:00:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "fs: symlink write_begin allocation context fix\n\nWith the write_begin/write_end aops, page_symlink was broken because it\ncould no longer pass a GFP_NOFS type mask into the point where the\nallocations happened.  They are done in write_begin, which would always\nassume that the filesystem can be entered from reclaim.  This bug could\ncause filesystem deadlocks.\n\nThe funny thing with having a gfp_t mask there is that it doesn\u0027t really\nallow the caller to arbitrarily tinker with the context in which it can be\ncalled.  It couldn\u0027t ever be GFP_ATOMIC, for example, because it needs to\ntake the page lock.  The only thing any callers care about is __GFP_FS\nanyway, so turn that into a single flag.\n\nAdd a new flag for write_begin, AOP_FLAG_NOFS.  Filesystems can now act on\nthis flag in their write_begin function.  Change __grab_cache_page to\naccept a nofs argument as well, to honour that flag (while we\u0027re there,\nchange the name to grab_cache_page_write_begin which is more instructive\nand does away with random leading underscores).\n\nThis is really a more flexible way to go in the end anyway -- if a\nfilesystem happens to want any extra allocations aside from the pagecache\nones in ints write_begin function, it may now use GFP_KERNEL (rather than\nGFP_NOFS) for common case allocations (eg.  ocfs2_alloc_write_ctxt, for a\nrandom example).\n\n[kosaki.motohiro@jp.fujitsu.com: fix ubifs]\n[kosaki.motohiro@jp.fujitsu.com: fix fuse]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ Cleaned up the calling convention: just pass in the AOP flags\n  untouched to the grab_cache_page_write_begin() function.  That\n  just simplifies everybody, and may even allow future expansion of the\n  logic.   - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e687d691cb3790d25e31c74f5941fd7c565e9df5",
      "tree": "d606511c734e99fb6e4786d20ab42a8cf1b2232f",
      "parents": [
        "c644f0e4b56f9a2fc066cd0d75a18074d130e4a3"
      ],
      "author": {
        "name": "Bruno Prémont",
        "email": "bonbons@linux-vserver.org",
        "time": "Sun Jan 04 13:11:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "viafb: fix crashes due to 4k stack overflow\n\nThe function viafb_cursor() uses 2 stack-variables of CURSOR_SIZE bits;\nCURSOR_SIZE is defined as (8 * 1024).  Using up twice 1k on stack is too\nmuch for 4k-stack (though it works with 8k-stacks).  Make those two\nvariables kzalloc\u0027ed to preserve stack space.\n\nAlso merge the whole lot of local struct\u0027s in viafb_ioctl into a union so\nthe stack usage gets minimized here as well.  (struct\u0027s are only accessed\nin their indicidual IOCTL case) This second part is only compile-tested as\nI know of no userspace app using the IOCTLs.\n\nSigned-off-by: Bruno Prémont \u003cbonbons@linux-vserver.org\u003e\nCc: \u003cJosephChan@via.com.tw\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@poczta.fm\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c644f0e4b56f9a2fc066cd0d75a18074d130e4a3",
      "tree": "96f5954d7e72a2bf56f4165f4e7569364562f04f",
      "parents": [
        "0a30c5cefa53cbac429dcb2de906c0637b646253"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Sun Jan 04 12:00:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "fs: introduce bgl_lock_ptr()\n\nAs suggested by Andreas Dilger, introduce a bgl_lock_ptr() helper in\n\u003clinux/blockgroup_lock.h\u003e and add separate sb_bgl_lock() helpers to\nfilesystem specific header files to break the hidden dependency to\nstruct ext[234]_sb_info.\n\nAlso, while at it, convert the macros to static inlines to try make up\nfor all the times I broke Andrew Morton\u0027s tree.\n\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a30c5cefa53cbac429dcb2de906c0637b646253",
      "tree": "b0babe6f5e3b320f4f168975d798180d3be7e3c7",
      "parents": [
        "2e4e27c7d082b2198b63041310609d7191185a9d"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Sun Jan 04 12:00:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "spi.h uses/needs device.h\n\nInclude header files as used/needed:\n\n  In file included from drivers/leds/leds-dac124s085.c:16:\n  include/linux/spi/spi.h:66: error: field \u0027dev\u0027 has incomplete type\n  include/linux/spi/spi.h: In function \u0027to_spi_device\u0027:\n  include/linux/spi/spi.h:100: warning: type defaults to \u0027int\u0027 in declaration of \u0027__mptr\u0027\n  ...\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e4e27c7d082b2198b63041310609d7191185a9d",
      "tree": "4b994ab4569e4510ff4dd4d357807121ab802782",
      "parents": [
        "7b574b7b0124ed344911f5d581e9bc2d83bbeb19"
      ],
      "author": {
        "name": "Adam Lackorzynski",
        "email": "adam@os.inf.tu-dresden.de",
        "time": "Sun Jan 04 12:00:46 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "vmalloc.c: fix flushing in vmap_page_range()\n\nThe flush_cache_vmap in vmap_page_range() is called with the end of the\nrange twice.  The following patch fixes this for me.\n\nSigned-off-by: Adam Lackorzynski \u003cadam@os.inf.tu-dresden.de\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b574b7b0124ed344911f5d581e9bc2d83bbeb19",
      "tree": "6511203310d77359017accb466f3f5e1e90abe13",
      "parents": [
        "7d3b56ba37a95f1f370f50258ed3954c304c524b"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Sun Jan 04 12:00:45 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:19 2009 -0800"
      },
      "message": "cgroups: fix a race between cgroup_clone and umount\n\nThe race is calling cgroup_clone() while umounting the ns cgroup subsys,\nand thus cgroup_clone() might access invalid cgroup_fs, or kill_sb() is\ncalled after cgroup_clone() created a new dir in it.\n\nThe BUG I triggered is BUG_ON(root-\u003enumber_of_cgroups !\u003d 1);\n\n  ------------[ cut here ]------------\n  kernel BUG at kernel/cgroup.c:1093!\n  invalid opcode: 0000 [#1] SMP\n  ...\n  Process umount (pid: 5177, ti\u003de411e000 task\u003de40c4670 task.ti\u003de411e000)\n  ...\n  Call Trace:\n   [\u003cc0493df7\u003e] ? deactivate_super+0x3f/0x51\n   [\u003cc04a3600\u003e] ? mntput_no_expire+0xb3/0xdd\n   [\u003cc04a3ab2\u003e] ? sys_umount+0x265/0x2ac\n   [\u003cc04a3b06\u003e] ? sys_oldumount+0xd/0xf\n   [\u003cc0403911\u003e] ? sysenter_do_call+0x12/0x31\n  ...\n  EIP: [\u003cc0456e76\u003e] cgroup_kill_sb+0x23/0xe0 SS:ESP 0068:e411ef2c\n  ---[ end trace c766c1be3bf944ac ]---\n\nCc: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5af75d8d58d0f9f7b7c0515b35786b22892d5f12",
      "tree": "65707c5309133a33140c39145ae91b7c1679a877",
      "parents": [
        "36c4f1b18c8a7d0adb4085e7f531860b837bb6b0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 16 05:59:26 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:42 2009 -0500"
      },
      "message": "audit: validate comparison operations, store them in sane form\n\nDon\u0027t store the field-\u003eop in the messy (and very inconvenient for e.g.\naudit_comparator()) form; translate to dense set of values and do full\nvalidation of userland-submitted value while we are at it.\n\n-\u003eaudit_init_rule() and -\u003eaudit_match_rule() get new values now; in-tree\ninstances updated.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "36c4f1b18c8a7d0adb4085e7f531860b837bb6b0",
      "tree": "2cb0b2d5c77af294c6ff885f4b8190a1377e638a",
      "parents": [
        "e048e02c89db7bd49d1a5fac77a11c8fb3603087"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 15 01:50:28 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:42 2009 -0500"
      },
      "message": "clean up audit_rule_{add,del} a bit\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e048e02c89db7bd49d1a5fac77a11c8fb3603087",
      "tree": "6141e7646cd7c5b1b1334f0f86fbad6ef1bcc6d8",
      "parents": [
        "e45aa212ea81d39b38ba158df344dc3a500153e5"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 16 03:51:22 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:42 2009 -0500"
      },
      "message": "make sure that filterkey of task,always rules is reported\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e45aa212ea81d39b38ba158df344dc3a500153e5",
      "tree": "c4d55cda9e8f976d15b6b01a775a3437f932db27",
      "parents": [
        "0590b9335a1c72a3f0defcc6231287f7817e07c8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 15 01:17:50 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:42 2009 -0500"
      },
      "message": "audit rules ordering, part 2\n\nFix the actual rule listing; add per-type lists _not_ used for matching,\nwith all exit,... sitting on one such list.  Simplifies \"do something\nfor all rules\" logics, while we are at it...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0590b9335a1c72a3f0defcc6231287f7817e07c8",
      "tree": "289fa4668ae304f79f7484ac31b2cab0ab8894c1",
      "parents": [
        "1a9d0797b8977d413435277bf9661efbbd584693"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Dec 14 23:45:27 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:41 2009 -0500"
      },
      "message": "fixing audit rule ordering mess, part 1\n\nProblem: ordering between the rules on exit chain is currently lost;\nall watch and inode rules are listed after everything else _and_\nexit,never on one kind doesn\u0027t stop exit,always on another from\nbeing matched.\n\nSolution: assign priorities to rules, keep track of the current\nhighest-priority matching rule and its result (always/never).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1a9d0797b8977d413435277bf9661efbbd584693",
      "tree": "86a99d0d28ef027fc4e6f21054ce8fa05c7ca82e",
      "parents": [
        "57f71a0af4244d9ba3c0bce74b1d2e66e8d520bd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Dec 14 12:04:02 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:41 2009 -0500"
      },
      "message": "audit_update_lsm_rules() misses the audit_inode_hash[] ones\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "57f71a0af4244d9ba3c0bce74b1d2e66e8d520bd",
      "tree": "c089a97949fc1d459e137b18739c04e9217913d1",
      "parents": [
        "157cf649a735a2f7e8dba0ed08e6e38b6c30d886"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 14:52:57 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:41 2009 -0500"
      },
      "message": "sanitize audit_log_capset()\n\n* no allocations\n* return void\n* don\u0027t duplicate checked for dummy context\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "157cf649a735a2f7e8dba0ed08e6e38b6c30d886",
      "tree": "85895367c24023d363d5ee7b5ed2fb16eaf08721",
      "parents": [
        "564f6993ffef656aebaf46cf2f1f6cb4f5c97207"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Dec 14 04:57:47 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:41 2009 -0500"
      },
      "message": "sanitize audit_fd_pair()\n\n* no allocations\n* return void\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "564f6993ffef656aebaf46cf2f1f6cb4f5c97207",
      "tree": "0bf1ee553ab1241338fe522ffbaed8cd48e10c99",
      "parents": [
        "c32c8af43b9adde8d6f938d8e6328c13b8de79ac"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Dec 14 04:02:26 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:41 2009 -0500"
      },
      "message": "sanitize audit_mq_open()\n\n* don\u0027t bother with allocations\n* don\u0027t do double copy_from_user()\n* don\u0027t duplicate parts of check for audit_dummy_context()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c32c8af43b9adde8d6f938d8e6328c13b8de79ac",
      "tree": "6377079bba7530d2aa8a688ebf9ba3e09ae085a7",
      "parents": [
        "20114f71b27cafeb7c7e41d2b0f0b68c3fbb022b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Dec 14 03:46:48 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:40 2009 -0500"
      },
      "message": "sanitize AUDIT_MQ_SENDRECV\n\n* logging the original value of *msg_prio in mq_timedreceive(2)\n  is insane - the argument is write-only (i.e. syscall always\n  ignores the original value and only overwrites it).\n* merge __audit_mq_timed{send,receive}\n* don\u0027t do copy_from_user() twice\n* don\u0027t mess with allocations in auditsc part\n* ... and don\u0027t bother checking !audit_enabled and !context in there -\n  we\u0027d already checked for audit_dummy_context().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "20114f71b27cafeb7c7e41d2b0f0b68c3fbb022b",
      "tree": "fcbb481cfec8c11f103ba07dbb08819de3822d80",
      "parents": [
        "7392906ea915b9a2c14dea32b3604b4e178f82f7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 10 07:16:12 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:40 2009 -0500"
      },
      "message": "sanitize audit_mq_notify()\n\n* don\u0027t copy_from_user() twice\n* don\u0027t bother with allocations\n* don\u0027t duplicate parts of audit_dummy_context()\n* make it return void\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7392906ea915b9a2c14dea32b3604b4e178f82f7",
      "tree": "1e4fbe56e3738fade213ef805ec274ea74ac6a1b",
      "parents": [
        "e816f370cbadd2afea9f1a42f232d0636137d563"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 10 06:58:59 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:40 2009 -0500"
      },
      "message": "sanitize audit_mq_getsetattr()\n\n* get rid of allocations\n* make it return void\n* don\u0027t duplicate parts of audit_dummy_context()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e816f370cbadd2afea9f1a42f232d0636137d563",
      "tree": "8a9fe488ced59cd9864fcbf15292641c3b95143c",
      "parents": [
        "a33e6751003c5ade603737d828b1519d980ce392"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 10 03:47:15 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:40 2009 -0500"
      },
      "message": "sanitize audit_ipc_set_perm()\n\n* get rid of allocations\n* make it return void\n* simplify callers\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a33e6751003c5ade603737d828b1519d980ce392",
      "tree": "aa484d033e886945aed78172dbdd4d2fd928bacf",
      "parents": [
        "f3298dc4f2277874d40cb4fc3a6e277317d6603b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 10 03:40:06 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:39 2009 -0500"
      },
      "message": "sanitize audit_ipc_obj()\n\n* get rid of allocations\n* make it return void\n* simplify callers\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f3298dc4f2277874d40cb4fc3a6e277317d6603b",
      "tree": "8ba8f7e7a0597965b2f6c7106718a59cc164eab1",
      "parents": [
        "4f6b434fee2402b3decdeae9d16eb648725ae426"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 10 03:16:51 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:39 2009 -0500"
      },
      "message": "sanitize audit_socketcall\n\n* don\u0027t bother with allocations\n* now that it can\u0027t fail, make it return void\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4f6b434fee2402b3decdeae9d16eb648725ae426",
      "tree": "2b82a9d220509e2fe42c365de5083eb8032880e4",
      "parents": [
        "7d3b56ba37a95f1f370f50258ed3954c304c524b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 09 19:50:34 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jan 04 15:14:39 2009 -0500"
      },
      "message": "don\u0027t reallocate buffer in every audit_sockaddr()\n\nNo need to do that more than once per process lifetime; allocating/freeing\non each sendto/accept/etc. is bloody pointless.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7d3b56ba37a95f1f370f50258ed3954c304c524b",
      "tree": "86102527b92f02450aa245f084ffb491c18d2e0a",
      "parents": [
        "269b012321f2f1f8e4648c43a93bf432b42c6668",
        "ab14398abd195af91a744c320a52a1bce814dd1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:04:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:04:39 2009 -0800"
      },
      "message": "Merge branch \u0027cpus4096-for-linus-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus-3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (77 commits)\n  x86: setup_per_cpu_areas() cleanup\n  cpumask: fix compile error when CONFIG_NR_CPUS is not defined\n  cpumask: use alloc_cpumask_var_node where appropriate\n  cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t\n  x86: use cpumask_var_t in acpi/boot.c\n  x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids\n  sched: put back some stack hog changes that were undone in kernel/sched.c\n  x86: enable cpus display of kernel_max and offlined cpus\n  ia64: cpumask fix for is_affinity_mask_valid()\n  cpumask: convert RCU implementations, fix\n  xtensa: define __fls\n  mn10300: define __fls\n  m32r: define __fls\n  h8300: define __fls\n  frv: define __fls\n  cris: define __fls\n  cpumask: CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS\n  cpumask: zero extra bits in alloc_cpumask_var_node\n  cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/\n  cpumask: convert mm/\n  ...\n"
    },
    {
      "commit": "269b012321f2f1f8e4648c43a93bf432b42c6668",
      "tree": "e30ec565db50d4aec570cb52e9b29bd584beb2fd",
      "parents": [
        "f60a0a79846abed04ad5abddb5dafd14b66e1ab0",
        "065a6d68c71af2a3bdd080fa5aa353b76eede8f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:03:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:03:52 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu: (89 commits)\n  AMD IOMMU: remove now unnecessary #ifdefs\n  AMD IOMMU: prealloc_protection_domains should be static\n  kvm/iommu: fix compile warning\n  AMD IOMMU: add statistics about total number of map requests\n  AMD IOMMU: add statistics about allocated io memory\n  AMD IOMMU: add stats counter for domain tlb flushes\n  AMD IOMMU: add stats counter for single iommu domain tlb flushes\n  AMD IOMMU: add stats counter for cross-page request\n  AMD IOMMU: add stats counter for free_coherent requests\n  AMD IOMMU: add stats counter for alloc_coherent requests\n  AMD IOMMU: add stats counter for unmap_sg requests\n  AMD IOMMU: add stats counter for map_sg requests\n  AMD IOMMU: add stats counter for unmap_single requests\n  AMD IOMMU: add stats counter for map_single requests\n  AMD IOMMU: add stats counter for completion wait events\n  AMD IOMMU: add init code for statistic collection\n  AMD IOMMU: add necessary header defines for stats counting\n  AMD IOMMU: add Kconfig entry for statistic collection code\n  AMD IOMMU: use dev_name in iommu_enable function\n  AMD IOMMU: use calc_devid in prealloc_protection_domains\n  ...\n"
    },
    {
      "commit": "f60a0a79846abed04ad5abddb5dafd14b66e1ab0",
      "tree": "4c4e3bc4692e6e8f08d2289f3bcab28035a571a1",
      "parents": [
        "2f983570010a0dcb26d988da02d7ccfad00c807c",
        "b15dd79ea06b04a7ecee95f62ce7b6a3547dbb0a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:02:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:02:18 2009 -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: (34 commits)\n  V4L/DVB (10173): Missing v4l2_prio_close in radio_release\n  V4L/DVB (10172): add DVB_DEVICE_TYPE\u003d to uevent\n  V4L/DVB (10171): Use usb_set_intfdata\n  V4L/DVB (10170): tuner-simple: prevent possible OOPS caused by divide by zero error\n  V4L/DVB (10168): sms1xxx: fix inverted gpio for lna control on tiger r2\n  V4L/DVB (10167): sms1xxx: add support for inverted gpio\n  V4L/DVB (10166): dvb frontend: stop using non-C99 compliant comments\n  V4L/DVB (10165): Add FE_CAN_2G_MODULATION flag to frontends that support DVB-S2\n  V4L/DVB (10164): Add missing S2 caps flag to S2API\n  V4L/DVB (10163): em28xx: allocate adev together with struct em28xx dev\n  V4L/DVB (10162): tuner-simple: Fix tuner type set message\n  V4L/DVB (10161): saa7134: fix autodetection for AVer TV GO 007 FM Plus\n  V4L/DVB (10160): em28xx: update chip id for em2710\n  V4L/DVB (10157): Add USB ID for the Sil4701 radio from DealExtreme\n  V4L/DVB (10156): saa7134: Add support for Avermedia AVer TV GO 007 FM Plus\n  V4L/DVB (10155): Add TEA5764 radio driver\n  V4L/DVB (10154): saa7134: fix a merge conflict on Behold H6 board\n  V4L/DVB (10153): Add the Beholder H6 card to DVB-T part of sources.\n  V4L/DVB (10152): Change configuration of the Beholder H6 card\n  V4L/DVB (10151): Fix I2C bridge error in zl10353\n  ...\n"
    },
    {
      "commit": "2f983570010a0dcb26d988da02d7ccfad00c807c",
      "tree": "39fd89fd04d940306c02425927fc1308b26357b0",
      "parents": [
        "e9e67a8b579d9605a3d06f7430dbb40465c97bf1"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 03 00:06:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:01:23 2009 -0800"
      },
      "message": "sparseirq: move set/get_timer_rand_state back to .c\n\nthose two functions only used in that C file\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e9e67a8b579d9605a3d06f7430dbb40465c97bf1",
      "tree": "cd90f29814359440b0f46995216d523ff5d26730",
      "parents": [
        "ad6b646fe55c40ec193240b974561f0a3775d68d",
        "418f19ea17a99421b22a64e101e14b6a16bed66d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:00:07 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 12:00:07 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:\n  mmc: warn about voltage mismatches\n  mmc_spi: Add support for OpenFirmware bindings\n  pxamci: fix dma_unmap_sg length\n  mmc_block: ensure all sectors that do not have errors are read\n  drivers/mmc: Move a dereference below a NULL test\n  sdhci: handle built-in sdhci with modular leds class\n  mmc: balanc pci_iomap with pci_iounmap\n  mmc_block: print better error messages\n  mmc: Add mmc_vddrange_to_ocrmask() helper function\n  ricoh_mmc: Handle newer models of Ricoh controllers\n  mmc: Add 8-bit bus width support\n  sdhci: activate led support also when module\n  mmc: trivial annotation of \u0027blocks\u0027\n  pci: use pci_ioremap_bar() in drivers/mmc\n  sdricoh_cs: Add support for Bay Controller devices\n  mmc: at91_mci: reorder timer setup and mmc_add_host() call\n"
    },
    {
      "commit": "ad6b646fe55c40ec193240b974561f0a3775d68d",
      "tree": "d285d0396e9f7b9496976c6845910c04472e159c",
      "parents": [
        "61420f59a589c0668f70cbe725785837c78ece90",
        "006948bafece27265dce72d3158b12af3ff67fce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:59:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:59:13 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:\n  [WATCHDOG] Add support for the WM8350 watchdog\n  [WATCHDOG] Add SMSC SCH311x Watchdog Timer.\n  [WATCHDOG] ib700wdt - add timeout parameter\n"
    },
    {
      "commit": "61420f59a589c0668f70cbe725785837c78ece90",
      "tree": "79ae77d731cd2425677b9527d50079d8cf34c3b2",
      "parents": [
        "d97106ab53f812910a62d18afb9dbe882819c1ba",
        "c742b31c03f37c5c499178f09f57381aa6c70131"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:56:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:56:24 2009 -0800"
      },
      "message": "Merge branch \u0027cputime\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027cputime\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6:\n  [PATCH] fast vdso implementation for CLOCK_THREAD_CPUTIME_ID\n  [PATCH] improve idle cputime accounting\n  [PATCH] improve precision of idle time detection.\n  [PATCH] improve precision of process accounting.\n  [PATCH] idle cputime accounting\n  [PATCH] fix scaled \u0026 unscaled cputime accounting\n"
    },
    {
      "commit": "d97106ab53f812910a62d18afb9dbe882819c1ba",
      "tree": "edd1a2c287b7d98ee7b62e7ea6457c8a10abe016",
      "parents": [
        "3bfacef412b4bc993a8992217e50f1245f2fd3a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:46:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:46:17 2009 -0800"
      },
      "message": "Make %p print \u0027(null)\u0027 for NULL pointers\n\nBefore, when we only ever printed out the pointer value itself, a NULL\npointer would never cause issues and might as well be printed out as\njust its numeric value.\n\nHowever, with the extended %p formats, especially %pR, we might validly\nwant to print out resources for debugging.  And sometimes they don\u0027t\neven exist, and the resource pointer is just NULL.  Print it out as\nsuch, rather than oopsing.\n\nThis is a more generic version of a patch done by Trent Piepho (catching\nall %p cases rather than just %pR, and using \"(null)\" instead of\n\"[NULL]\" to match glibc).\n\nRequested-by: Trent Piepho \u003cxyzzy@speakeasy.org\u003e\nAcked-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3bfacef412b4bc993a8992217e50f1245f2fd3a6",
      "tree": "bcf92bc34b30383dfc542f9850f59858681556cb",
      "parents": [
        "17580d7f2f632ff8c9786d609508c35c9f56e1f3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Jan 03 07:16:33 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:45:54 2009 -0800"
      },
      "message": "get rid of special-casing the /sbin/loader on alpha\n\n... just make it a binfmt handler like #! one.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "17580d7f2f632ff8c9786d609508c35c9f56e1f3",
      "tree": "488abddb16d4640f4c27fdcf2c36186c6b70bdcc",
      "parents": [
        "fe30af971d896c144ef4708f97cf9d3186303c42"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Jan 03 07:16:23 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:45:54 2009 -0800"
      },
      "message": "sanitize ifdefs in binfmt_aout\n\nThey are actually alpha vs.  i386/arm/m68k i.e. ecoff vs. aout.\n\nIn the only place where we actually tried to handle arm and i386/m68k in\ndifferent ways (START_DATA() in coredump handling), the arm variant\nworks for all of them (i386 and m68k have u.start_code set to 0).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe30af971d896c144ef4708f97cf9d3186303c42",
      "tree": "c69bd377e0144708415a4967ced8469250acd6ef",
      "parents": [
        "e0b685d39a0404e7f87fb7b7808c3b37a115fe11"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Sat Jan 03 07:16:13 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:45:54 2009 -0800"
      },
      "message": "remove the rudiment of a.out for sparc\n\nit\u0027s been used only in sunos compat\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e0b685d39a0404e7f87fb7b7808c3b37a115fe11",
      "tree": "5ccdc48228cac967fc7ff5cc76d9890f73bcd663",
      "parents": [
        "8e3bda0863c1578ddf47a015eac7dc6efb1ef48b"
      ],
      "author": {
        "name": "Hugh Blemings",
        "email": "hugh@blemings.org",
        "time": "Sat Jan 03 16:48:44 2009 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:45:54 2009 -0800"
      },
      "message": "Updated contact info for CREDITS file\n\nThis updates some personal info in the CREDITS file.\n\nI\u0027m no longer actively involved in Keyspan driver work so shouldn\u0027t\nreally be listed as a Maintainer here.\n\nI do however field the occasional question on them and as I\u0027m dropping\nthe misc.nu domain, want to ensure people can find me should they need\nto.\n\nSigned-off-by: Hugh Blemings \u003chugh@blemings.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab14398abd195af91a744c320a52a1bce814dd1e",
      "tree": "5b0284af973e7a3d7d5c648d93965b6434d5c7e6",
      "parents": [
        "8fd2d2d5aaf086cfa3b2e2e58cab96b7afdc9e51"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Fri Jan 02 21:51:32 2009 +0300"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 19:15:42 2009 +0100"
      },
      "message": "x86: setup_per_cpu_areas() cleanup\n\nImpact: cleanup\n\n__alloc_bootmem and __alloc_bootmem_node do panic\nfor us in case of fail so no need for additional\nchecks here.\n\nAlso lets use pr_*() macros for printing.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8fd2d2d5aaf086cfa3b2e2e58cab96b7afdc9e51",
      "tree": "769492a15566e8c5ec4d7f611af378aee3d1e08f",
      "parents": [
        "80855f7361eb68205e6bc1981928629d9b02d5c9"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Dec 31 18:08:48 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 19:15:41 2009 +0100"
      },
      "message": "cpumask: fix compile error when CONFIG_NR_CPUS is not defined\n\nCONFIG_NR_CPUS will be defined for all arch\u0027s whether SMP or not, but\nit may not have made it into all arches yet.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "80855f7361eb68205e6bc1981928629d9b02d5c9",
      "tree": "029e78df08989c8d335b67a8031c784136a57539",
      "parents": [
        "2fdf66b491ac706657946442789ec644cc317e1a"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Dec 31 18:08:47 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 19:15:40 2009 +0100"
      },
      "message": "cpumask: use alloc_cpumask_var_node where appropriate\n\nImpact: Reduce inter-node memory traffic.\n\nReduces inter-node memory traffic (offloading the global system bus)\nby allocating referenced struct cpumasks on the same node as the\nreferring struct.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2fdf66b491ac706657946442789ec644cc317e1a",
      "tree": "3442c3e1f7bceb870ab1ba2624e21767f8347508",
      "parents": [
        "ee943a82b697456f9d2ac46f1e6d230beedb4b6c"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 18:08:47 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 19:15:40 2009 +0100"
      },
      "message": "cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t\n\nImpact: Reduce memory usage, use new API.\n\nThis is part of an effort to reduce structure sizes for machines\nconfigured with large NR_CPUS.  cpumask_t gets replaced by\ncpumask_var_t, which is either struct cpumask[1] (small NR_CPUS) or\nstruct cpumask * (large NR_CPUS).\n\n(Changes to powernow-k* by \u003ctravis\u003e.)\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ee943a82b697456f9d2ac46f1e6d230beedb4b6c",
      "tree": "33f83cff3d05f5189dc752d98b9ec157f0b75ad5",
      "parents": [
        "9628937d5b37169151c5f6bbd40919c6ac958a46"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 18:08:47 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 19:15:39 2009 +0100"
      },
      "message": "x86: use cpumask_var_t in acpi/boot.c\n\nImpact: reduce stack size, use new API.\n\nReplace cpumask_t with cpumask_var_t.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "9628937d5b37169151c5f6bbd40919c6ac958a46",
      "tree": "09e49f6960806e4115b3345ccc4b5745ca784074",
      "parents": [
        "6ca09dfc9f180d038dcef93c167a833f43a8246f"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Dec 31 18:08:46 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 19:00:55 2009 +0100"
      },
      "message": "x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids\n\nImpact: Reduce future system panics due to cpumask operations using NR_CPUS\n\nInsure that code does not look at bits \u003e\u003d nr_cpu_ids as when cpumasks are\nallocated based on nr_cpu_ids, these extra bits will not be defined.\n\nAlso some other minor updates:\n\n   * change in to use cpu accessor function set_cpu_present() instead of\n     directly accessing cpu_present_map w/cpu_clear() [arch/x86/kernel/reboot.c]\n\n   * use cpumask_of() instead of \u0026cpumask_of_cpu() [arch/x86/kernel/reboot.c]\n\n   * optimize some cpu_mask_to_apicid_and functions.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6ca09dfc9f180d038dcef93c167a833f43a8246f",
      "tree": "48cd4e6530a7523d7d14d2c18fa7d3bd2ef49a4e",
      "parents": [
        "730cf27246225d56ca1603b2f3c4fdbf882d4e51"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Dec 31 18:08:45 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 19:00:09 2009 +0100"
      },
      "message": "sched: put back some stack hog changes that were undone in kernel/sched.c\n\nImpact: prevents panic from stack overflow on numa-capable machines.\n\nSome of the \"removal of stack hogs\" changes in kernel/sched.c by using\nnode_to_cpumask_ptr were undone by the early cpumask API updates, and\ncauses a panic due to stack overflow.  This patch undoes those changes\nby using cpumask_of_node() which returns a \u0027const struct cpumask *\u0027.\n\nIn addition, cpu_coregoup_map is replaced with cpu_coregroup_mask further\nreducing stack usage.  (Both of these updates removed 9 FIXME\u0027s!)\n\nAlso:\n   Pick up some remaining changes from the old \u0027cpumask_t\u0027 functions to\n   the new \u0027struct cpumask *\u0027 functions.\n\n   Optimize memory traffic by allocating each percpu local_cpu_mask on the\n   same node as the referring cpu.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "730cf27246225d56ca1603b2f3c4fdbf882d4e51",
      "tree": "46cfe9609956394a11a00e10f3f727e2ba4e4afa",
      "parents": [
        "6bdf197b04b3ae7c85785bc5a9576f1bcb0ac7c0"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Dec 31 18:08:45 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 18:59:47 2009 +0100"
      },
      "message": "x86: enable cpus display of kernel_max and offlined cpus\n\nImpact: enables /sys/devices/system/cpu/{kernel_max,offline} user interface\n\nBy setting total_cpus, the drivers/base/cpu.c will display the\nvalues of kernel_max (NR_CPUS-1) and the offlined cpu map.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "6bdf197b04b3ae7c85785bc5a9576f1bcb0ac7c0",
      "tree": "4bd5fbe09be2a9197ff7ab88d86b21ef895d964d",
      "parents": [
        "263ec6457bb23d57b575ede18ff6c3d11e0b4e96"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 12:50:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 18:59:33 2009 +0100"
      },
      "message": "ia64: cpumask fix for is_affinity_mask_valid()\n\nImpact: build fix on ia64\n\nia64\u0027s default_affinity_write() still had old cpumask_t usage:\n\n /home/mingo/tip/kernel/irq/proc.c: In function `default_affinity_write\u0027:\n /home/mingo/tip/kernel/irq/proc.c:114: error: incompatible type for argument 1 of `is_affinity_mask_valid\u0027\n make[3]: *** [kernel/irq/proc.o] Error 1\n make[3]: *** Waiting for unfinished jobs....\n\nupdate it to cpumask_var_t.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "263ec6457bb23d57b575ede18ff6c3d11e0b4e96",
      "tree": "ac9ce48e24b2f37292614a3d363009f1332384cc",
      "parents": [
        "e465b535ce5b2318798c68e1454917204494bfe3"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 13:16:09 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 18:59:25 2009 +0100"
      },
      "message": "cpumask: convert RCU implementations, fix\n\nImpact: cleanup\n\nThis warning:\n\n kernel/rcuclassic.c: In function ‘rcu_start_batch’:\n kernel/rcuclassic.c:397: warning: passing argument 1 of ‘cpumask_andnot’ from incompatible pointer type\n\ntriggers because one usage site of rcp-\u003ecpumask was not converted\nto to_cpumask(rcp-\u003ecpumask). There\u0027s no ill effects of this bug.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e465b535ce5b2318798c68e1454917204494bfe3",
      "tree": "7cd7af9813a1fe2bfb04f9edd149e0f152b6cb1d",
      "parents": [
        "7eb19553369c46cc1fa64caf120cbcab1b597f7c",
        "5ece5c5192d065c229da01e7b347c1d3877b59fa"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 18:54:51 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 18:54:51 2009 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask into cpus4096-v2\n"
    },
    {
      "commit": "7eb19553369c46cc1fa64caf120cbcab1b597f7c",
      "tree": "ef1a3beae706b9497c845d0a2557ceb4d2754998",
      "parents": [
        "6092848a2a23b660150a38bc06f59d75838d70c8",
        "8c384cdee3e04d6194a2c2b192b624754f990835"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Wed Dec 31 17:34:16 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jan 03 18:53:31 2009 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask into merge-rr-cpumask\n\nConflicts:\n\tarch/x86/kernel/io_apic.c\n\tkernel/rcuclassic.c\n\tkernel/sched.c\n\tkernel/time/tick-sched.c\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\n[ mingo@elte.hu: backmerged typo fix for io_apic.c ]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "065a6d68c71af2a3bdd080fa5aa353b76eede8f5",
      "tree": "79a71fc0d517e72909a02b16129c4cfd2e123811",
      "parents": [
        "b0a11f44aba631fd4b898b620c93cc2096f3f15c"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:16:35 2009 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 16:44:15 2009 +0100"
      },
      "message": "AMD IOMMU: remove now unnecessary #ifdefs\n\nThe #ifdef\u0027s are no longer necessary when the iommu-api and the amd\niommu updates are merged together.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "b0a11f44aba631fd4b898b620c93cc2096f3f15c",
      "tree": "71b8965d88d53ddeca2def77e2d74dc1af9fca52",
      "parents": [
        "7398ca79d227f7cd7f2ce23f08624e30081dcb4e",
        "0e93dd883537e628b809a2120854cd591c8935f1"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 16:43:44 2009 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 16:43:44 2009 +0100"
      },
      "message": "Merge branches \u0027iommu/api\u0027 and \u0027iommu/amd\u0027 into for-linus\n"
    },
    {
      "commit": "0e93dd883537e628b809a2120854cd591c8935f1",
      "tree": "a56bf6e421127eac34713b8fc8a2e3d8daa61a77",
      "parents": [
        "8ecaf8f19f0f0627d6ac6d69ed9472e7d307f35b"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@infradead.org",
        "time": "Mon Dec 29 21:45:22 2008 +0530"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 16:41:18 2009 +0100"
      },
      "message": "AMD IOMMU: prealloc_protection_domains should be static\n\nImpact: cleanup, reduce kernel size a bit, avoid sparse warning\n\nFixes sparse warning:\narch/x86/kernel/amd_iommu.c:1299:6: warning: symbol \u0027prealloc_protection_domains\u0027 was not declared. Should it be static?\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "7398ca79d227f7cd7f2ce23f08624e30081dcb4e",
      "tree": "17cf5890a12e25517462e27b86c375663df7341a",
      "parents": [
        "cdc7b83726297b43deed0455d8732163cc59802a"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 16:37:53 2009 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 16:37:53 2009 +0100"
      },
      "message": "kvm/iommu: fix compile warning\n\nThis fixes a compile warning about a variable thats maybe used\nuninitialized in the function.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "8ecaf8f19f0f0627d6ac6d69ed9472e7d307f35b",
      "tree": "1b2ff78164c6fa11cd2a66060d8bfc1ff2d315f2",
      "parents": [
        "5774f7c5fef2526bfa58eab628fbe91dce5e07b1"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Dec 12 16:13:04 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:12:00 2009 +0100"
      },
      "message": "AMD IOMMU: add statistics about total number of map requests\n\nImpact: see total number of map requests in debugfs\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "5774f7c5fef2526bfa58eab628fbe91dce5e07b1",
      "tree": "38d0ab41a4b188572de1773574f1d506bb016234",
      "parents": [
        "18811f55d48e5f3ee70c4744c592f940022fa592"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Dec 12 15:57:30 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:12:00 2009 +0100"
      },
      "message": "AMD IOMMU: add statistics about allocated io memory\n\nImpact: see amount of allocated io memory in debugfs\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "18811f55d48e5f3ee70c4744c592f940022fa592",
      "tree": "626f9661a133e83780f3cc6e7c25691d1cccb970",
      "parents": [
        "f57d98ae6979f7bcbf758023b4716f485385f903"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Dec 12 15:48:28 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:59 2009 +0100"
      },
      "message": "AMD IOMMU: add stats counter for domain tlb flushes\n\nImpact: see number of domain tlb flushes in debugfs\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "f57d98ae6979f7bcbf758023b4716f485385f903",
      "tree": "d49ddb1732237a69e871691d020db3f0b8a20788",
      "parents": [
        "c1858976f5ef05122bb671f678beaf7e1fe1dd74"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Dec 12 15:46:29 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:59 2009 +0100"
      },
      "message": "AMD IOMMU: add stats counter for single iommu domain tlb flushes\n\nImpact: see number of single iommu domain tlb flushes in debugfs\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "c1858976f5ef05122bb671f678beaf7e1fe1dd74",
      "tree": "7476166c4dc3851055d9297f51f956f3e3db3bca",
      "parents": [
        "5d31ee7e08b7713596b999a42e67491bdf3665b3"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Dec 12 15:42:39 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:59 2009 +0100"
      },
      "message": "AMD IOMMU: add stats counter for cross-page request\n\nImpact: see number of requests for more than one page in debugfs\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "5d31ee7e08b7713596b999a42e67491bdf3665b3",
      "tree": "3e1e5f7c99d9f9de14b7bed4f7c5c4f174f8f68b",
      "parents": [
        "c8f0fb36bffa9e21d214a2910b825567d52bfc2c"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Dec 12 15:16:38 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:59 2009 +0100"
      },
      "message": "AMD IOMMU: add stats counter for free_coherent requests\n\nImpact: see number of free_coherent requests in debugfs\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "c8f0fb36bffa9e21d214a2910b825567d52bfc2c",
      "tree": "6bd89aae7d27da187c5bb8484d09527f2c3725d0",
      "parents": [
        "55877a6bcdf0843414eecc658550c6551f5b5e1d"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Dec 12 15:14:21 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:59 2009 +0100"
      },
      "message": "AMD IOMMU: add stats counter for alloc_coherent requests\n\nImpact: see number of alloc_coherent requests in debugfs\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "55877a6bcdf0843414eecc658550c6551f5b5e1d",
      "tree": "360fcc7c677260b372c5875a7b88966f79752eee",
      "parents": [
        "d03f067a9d0a1cc09529427af9a15e15d32ba1de"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Dec 12 15:12:14 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:59 2009 +0100"
      },
      "message": "AMD IOMMU: add stats counter for unmap_sg requests\n\nImpact: see number of unmap_sg requests in debugfs\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "d03f067a9d0a1cc09529427af9a15e15d32ba1de",
      "tree": "6d09e8029cd35ed8bf769cb8af662fbac81a1a30",
      "parents": [
        "146a6917fc30616401a090f55cff2b855ee5b2ab"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Dec 12 15:09:48 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:59 2009 +0100"
      },
      "message": "AMD IOMMU: add stats counter for map_sg requests\n\nImpact: see number of map_sg requests in debugfs\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "146a6917fc30616401a090f55cff2b855ee5b2ab",
      "tree": "b931b7a2d3e8eb049a129216767c66b8586bbdd9",
      "parents": [
        "0f2a86f200bc97ae6cefc5d3ac879094b3fcde48"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Dec 12 15:07:12 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:59 2009 +0100"
      },
      "message": "AMD IOMMU: add stats counter for unmap_single requests\n\nImpact: see number of unmap_single requests in debugfs\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "0f2a86f200bc97ae6cefc5d3ac879094b3fcde48",
      "tree": "a1ae52873ab4bcda1e9db4cb1f0ff67450832d31",
      "parents": [
        "da49f6df726ecaaee87757e8b65a560679d32f99"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Dec 12 15:05:16 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:59 2009 +0100"
      },
      "message": "AMD IOMMU: add stats counter for map_single requests\n\nImpact: see number of map_single requests in debugfs\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "da49f6df726ecaaee87757e8b65a560679d32f99",
      "tree": "e17afeec5a4f7aabaf7754288bfba9caafa0d13e",
      "parents": [
        "7f26508bbb76ce86aad1130ef6b7f1a4bb7de0c2"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Dec 12 14:59:58 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:58 2009 +0100"
      },
      "message": "AMD IOMMU: add stats counter for completion wait events\n\nImpact: see number of completion wait events in debugfs\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "7f26508bbb76ce86aad1130ef6b7f1a4bb7de0c2",
      "tree": "92efde72a5101c1aed8858272f150c1c281bc3b8",
      "parents": [
        "a9dddbe0497ab0df7ee729e8d4cb0ee2dec3e4ba"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Dec 12 13:50:21 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:58 2009 +0100"
      },
      "message": "AMD IOMMU: add init code for statistic collection\n\nImpact: create a new debugfs directory\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "a9dddbe0497ab0df7ee729e8d4cb0ee2dec3e4ba",
      "tree": "c86bed8b228e49808948fc7d42dd528b8086b4ef",
      "parents": [
        "2e117604a4e8f3f9cee4aec3373b0382159e152a"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Dec 12 12:33:06 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:58 2009 +0100"
      },
      "message": "AMD IOMMU: add necessary header defines for stats counting\n\nImpact: add defines to make iommu stats collection configurable\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "2e117604a4e8f3f9cee4aec3373b0382159e152a",
      "tree": "e0691ee22ff5ff11fa1a6d2aefb4b1dccace62d6",
      "parents": [
        "a4e267c88b4acfc87ff2ab0cc8e9509878e9aaba"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Thu Dec 11 19:00:12 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:57 2009 +0100"
      },
      "message": "AMD IOMMU: add Kconfig entry for statistic collection code\n\nImpact: adds new Kconfig entry\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "a4e267c88b4acfc87ff2ab0cc8e9509878e9aaba",
      "tree": "5f988f95122a0dcaf1d3ab0d34c76fcf0ecca271",
      "parents": [
        "edcb34da259c503a2ffd37e51a658672ba3bc7a2"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 10 20:04:18 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:57 2009 +0100"
      },
      "message": "AMD IOMMU: use dev_name in iommu_enable function\n\nImpact: cleanup\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "edcb34da259c503a2ffd37e51a658672ba3bc7a2",
      "tree": "18b4ade67c091b286497610f43b826af6c8feab3",
      "parents": [
        "c226f853091577e665ebc02c064af4834d8d4f28"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 10 20:01:45 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:57 2009 +0100"
      },
      "message": "AMD IOMMU: use calc_devid in prealloc_protection_domains\n\nImpact: cleanup\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "c226f853091577e665ebc02c064af4834d8d4f28",
      "tree": "8f5921882509057efd8e81f70039dfe51a1f9012",
      "parents": [
        "0cfd7aa90be83a4d278810d231f9ef03f189b4f0"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Fri Dec 12 13:53:54 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:57 2009 +0100"
      },
      "message": "AMD IOMMU: convert amd_iommu_isolate to bool\n\nImpact: cleanup\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "0cfd7aa90be83a4d278810d231f9ef03f189b4f0",
      "tree": "28151dc0607770460c563553f89c8c4d58908bd9",
      "parents": [
        "ab896722867602eb0e836717e8b857ad513800d8"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 10 19:58:00 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:57 2009 +0100"
      },
      "message": "AMD IOMMU: convert iommu-\u003eneed_sync to bool\n\nImpact: use bool instead of int for iommu-\u003eneed_sync\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "ab896722867602eb0e836717e8b857ad513800d8",
      "tree": "7d7b454aa3612e00f206ea6970e7213e9900d833",
      "parents": [
        "1ac4cbbc5eb56de96d264d10f464ba5222815b1b"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 10 19:43:07 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:56 2009 +0100"
      },
      "message": "AMD IOMMU: use dev_name instead of self-build print_devid\n\nImpact: use generic dev_name instead of own function\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "1ac4cbbc5eb56de96d264d10f464ba5222815b1b",
      "tree": "1d98c0382683b4c7ec40602273fed14aabf222c7",
      "parents": [
        "e2dc14a2a6c9a83baaafc51f06b7e73cec2167be"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 10 19:33:26 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:56 2009 +0100"
      },
      "message": "AMD IOMMU: allocate a new protection for hotplugged devices\n\nImpact: also hotplug devices benefit from device isolation\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "e2dc14a2a6c9a83baaafc51f06b7e73cec2167be",
      "tree": "ba2344f04adac30ab1c4e5cace83b5390f0d7580",
      "parents": [
        "26961efe0dab9ca73f8fc3b6137b814252e04972"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 10 18:48:59 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:56 2009 +0100"
      },
      "message": "AMD IOMMU: add a domain flag for default domains\n\nImpact: adds a new protection domain flag\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "26961efe0dab9ca73f8fc3b6137b814252e04972",
      "tree": "583ac900610279c4103aac5b1112cc9052d3855e",
      "parents": [
        "645c4c8d7289a718c9c828ec217f2b94e3b3e6ff"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 03 17:00:17 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:56 2009 +0100"
      },
      "message": "AMD IOMMU: register functions for the IOMMU API\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "645c4c8d7289a718c9c828ec217f2b94e3b3e6ff",
      "tree": "9f6e26175240dce2a9264f0acbce9ea26c216511",
      "parents": [
        "eb74ff6cc0080c7f6270fdfffba65c4eff23d3ad"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Dec 02 20:05:50 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:56 2009 +0100"
      },
      "message": "AMD IOMMU: add domain address lookup function for IOMMU API\n\nImpact: add a generic function to lockup addresses in protection domains\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "eb74ff6cc0080c7f6270fdfffba65c4eff23d3ad",
      "tree": "243b07c9511fd7ca216e0d5512f66415ee97f39a",
      "parents": [
        "c6229ca649aa9b312d1f1de20af8d2603b14eead"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Dec 02 19:59:10 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:56 2009 +0100"
      },
      "message": "AMD IOMMU: add domain unmap function for IOMMU API\n\nImpact: add a generic function to unmap pages into protection domains\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "c6229ca649aa9b312d1f1de20af8d2603b14eead",
      "tree": "2df5caa2708e5566e8e9acb82fa22aac9fc3a2d3",
      "parents": [
        "01106066a6900b518debe990ddaadf376d433bd6"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Dec 02 19:48:43 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:56 2009 +0100"
      },
      "message": "AMD IOMMU: add domain map function for IOMMU API\n\nImpact: add a generic function to map pages into protection domains\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "01106066a6900b518debe990ddaadf376d433bd6",
      "tree": "29d3a651a6c0d50fe372df4585e20b6322ffd2e2",
      "parents": [
        "684f2888847b896faafed87ce4733501d2cc283c"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Dec 02 19:34:11 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:56 2009 +0100"
      },
      "message": "AMD IOMMU: add device attach function for IOMMU API\n\nImpact: add a generic function to attach devices to protection domains\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "684f2888847b896faafed87ce4733501d2cc283c",
      "tree": "81ec9b19379b95536b61e98dca1ee4dc3c1596f6",
      "parents": [
        "98383fc301c6546af0f3a8a1d3cb8bf218f7e940"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Dec 08 12:07:44 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:55 2009 +0100"
      },
      "message": "AMD IOMMU: add device detach function for IOMMU API\n\nImpact: add a generic function to detach devices from protection domains\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "98383fc301c6546af0f3a8a1d3cb8bf218f7e940",
      "tree": "c376128da8396b1177996c60c63c1cc86aaf8458",
      "parents": [
        "c156e347d6d3c36b6843c3b168eda61b9a02c827"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Dec 02 18:34:12 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:55 2009 +0100"
      },
      "message": "AMD IOMMU: add domain destroy function for IOMMU API\n\nImpact: add a generic function for releasing protection domains\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "c156e347d6d3c36b6843c3b168eda61b9a02c827",
      "tree": "d175cd43d1f70e5d10d4f27bf0f5eb2e268ec6fe",
      "parents": [
        "6d98cd8043c13438e4ca8a9464893f0224198a30"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Dec 02 18:13:27 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:55 2009 +0100"
      },
      "message": "AMD IOMMU: add domain init function for IOMMU API\n\nImpact: add a generic function for allocation protection domains\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "6d98cd8043c13438e4ca8a9464893f0224198a30",
      "tree": "2ffaa5b1391188fe99a306473650d3b18bb50e15",
      "parents": [
        "e275a2a0fc9e2168b15f6c7814e30b7ad58b1c7c"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Dec 08 12:05:55 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:55 2009 +0100"
      },
      "message": "AMD IOMMU: add domain cleanup helper function\n\nImpact: add a function to remove all devices from a domain\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "e275a2a0fc9e2168b15f6c7814e30b7ad58b1c7c",
      "tree": "d9cb9771b53c0d631497eb248667c56e1a6a6deb",
      "parents": [
        "355bf553edb7fe21ada51f62c849180bec6da877"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 10 18:27:25 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:55 2009 +0100"
      },
      "message": "AMD IOMMU: add device notifier callback\n\nImpact: inform IOMMU about state change of a device in the driver core\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "355bf553edb7fe21ada51f62c849180bec6da877",
      "tree": "64c0c55bd838aa70b5395ea566b23e6b744d9780",
      "parents": [
        "f1179dc005ee2b0e55c3f74f3552c3e9ef852265"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Mon Dec 08 12:02:41 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:55 2009 +0100"
      },
      "message": "AMD IOMMU: add device detach helper functions\n\nImpact: add helper functions to detach a device from a domain\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "f1179dc005ee2b0e55c3f74f3552c3e9ef852265",
      "tree": "6b4d80d85937f505a78bbce9e31219cff4c0daa0",
      "parents": [
        "863c74ebd0152b21bc4b11c1447b5d1429287d37"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Wed Dec 10 14:39:51 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:54 2009 +0100"
      },
      "message": "AMD IOMMU: rename set_device_domain function\n\nImpact: rename set_device_domain() to attach_device()\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    },
    {
      "commit": "863c74ebd0152b21bc4b11c1447b5d1429287d37",
      "tree": "a679b7a5754e365635b000fe4b529e181d773e02",
      "parents": [
        "5b28df6f43ac9878f310ad0cb7f11ddb262a7ac6"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Tue Dec 02 17:56:36 2008 +0100"
      },
      "committer": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 14:11:54 2009 +0100"
      },
      "message": "AMD IOMMU: add device reference counting for protection domains\n\nImpact: know how many devices are assigned to a domain\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\n"
    }
  ],
  "next": "5b28df6f43ac9878f310ad0cb7f11ddb262a7ac6"
}
