)]}'
{
  "log": [
    {
      "commit": "4fc3acf2918fa158dc651a0c824a23944e956919",
      "tree": "3258f1037ee45c3799d12805d78679e41fdc98c9",
      "parents": [
        "63004afa718b1506fe9a286075b3b2d8c6ca2b9b",
        "9ca3cc6f3026946ba655e863ca2096339e667639"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 02 16:22:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 02 16:22:51 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking updates from David Miller:\n\n 1) Make syn floods consume significantly less resources by\n\n    a) Not pre-COW\u0027ing routing metrics for SYN/ACKs\n    b) Mirroring the device queue mapping of the SYN for the SYN/ACK\n       reply.\n\n    Both from Eric Dumazet.\n\n 2) Fix calculation errors in Byte Queue Limiting, from Hiroaki SHIMODA.\n\n 3) Validate the length requested when building a paged SKB for a\n    socket, so we don\u0027t overrun the page vector accidently.  From Jason\n    Wang.\n\n 4) When netlabel is disabled, we abort all IP option processing when we\n    see a CIPSO option.  This isn\u0027t the right thing to do, we should\n    simply skip over it and continue processing the remaining options\n    (if any).  Fix from Paul Moore.\n\n 5) SRIOV fixes for the mellanox driver from Jack orgenstein and Marcel\n    Apfelbaum.\n\n 6) 8139cp enables the receiver before the ring address is properly\n    programmed, which potentially lets the device crap over random\n    memory.  Fix from Jason Wang.\n\n 7) e1000/e1000e fixes for i217 RST handling, and an improper buffer\n    address reference in jumbo RX frame processing from Bruce Allan and\n    Sebastian Andrzej Siewior, respectively.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:\n  fec_mpc52xx: fix timestamp filtering\n  mcs7830: Implement link state detection\n  e1000e: fix Rapid Start Technology support for i217\n  e1000: look into the page instead of skb-\u003edata for e1000_tbi_adjust_stats()\n  r8169: call netif_napi_del at errpaths and at driver unload\n  tcp: reflect SYN queue_mapping into SYNACK packets\n  tcp: do not create inetpeer on SYNACK message\n  8139cp/8139too: terminate the eeprom access with the right opmode\n  8139cp: set ring address before enabling receiver\n  cipso: handle CIPSO options correctly when NetLabel is disabled\n  net: sock: validate data_len before allocating skb in sock_alloc_send_pskb()\n  bql: Avoid possible inconsistent calculation.\n  bql: Avoid unneeded limit decrement.\n  bql: Fix POSDIFF() to integer overflow aware.\n  net/mlx4_core: Fix obscure mlx4_cmd_box parameter in QUERY_DEV_CAP\n  net/mlx4_core: Check port out-of-range before using in mlx4_slave_cap\n  net/mlx4_core: Fixes for VF / Guest startup flow\n  net/mlx4_en: Fix improper use of \"port\" parameter in mlx4_en_event\n  net/mlx4_core: Fix number of EQs used in ICM initialisation\n  net/mlx4_core: Fix the slave_id out-of-range test in mlx4_eq_int\n"
    },
    {
      "commit": "f309532bf3e1cc1b787403d84e3039812a7dbe50",
      "tree": "6508ac81e94bfc137d1d9a55b973a2e0e0ac007b",
      "parents": [
        "233e562eac549f4f719176bbddeb50c3f17a9c8d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 02 15:21:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 02 15:21:43 2012 -0700"
      },
      "message": "tty: Revert the tty locking series, it needs more work\n\nThis reverts the tty layer change to use per-tty locking, because it\u0027s\nnot correct yet, and fixing it will require some more deep surgery.\n\nThe main revert is d29f3ef39be4 (\"tty_lock: Localise the lock\"), but\nthere are several smaller commits that built upon it, they also get\nreverted here. The list of reverted commits is:\n\n  fde86d310886 - tty: add lockdep annotations\n  8f6576ad476b - tty: fix ldisc lock inversion trace\n  d3ca8b64b97e - pty: Fix lock inversion\n  b1d679afd766 - tty: drop the pty lock during hangup\n  abcefe5fc357 - tty/amiserial: Add missing argument for tty_unlock()\n  fd11b42e3598 - cris: fix missing tty arg in wait_event_interruptible_tty call\n  d29f3ef39be4 - tty_lock: Localise the lock\n\nThe revert had a trivial conflict in the 68360serial.c staging driver\nthat got removed in the meantime.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fff3269907897ee91406ece125795f53e722677e",
      "tree": "6c22d2afaea6bc6fd2b34311db9c80b5418b94d1",
      "parents": [
        "7433819a1eefd4e74711fffd6d54e30a644ef240"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri Jun 01 01:47:50 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 01 14:22:11 2012 -0400"
      },
      "message": "tcp: reflect SYN queue_mapping into SYNACK packets\n\nWhile testing how linux behaves on SYNFLOOD attack on multiqueue device\n(ixgbe), I found that SYNACK messages were dropped at Qdisc level\nbecause we send them all on a single queue.\n\nObvious choice is to reflect incoming SYN packet @queue_mapping to\nSYNACK packet.\n\nUnder stress, my machine could only send 25.000 SYNACK per second (for\n200.000 incoming SYN per second). NIC : ixgbe with 16 rx/tx queues.\n\nAfter patch, not a single SYNACK is dropped.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nCc: Jesper Dangaard Brouer \u003cbrouer@redhat.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7433819a1eefd4e74711fffd6d54e30a644ef240",
      "tree": "62ced5e44f740d4d641d7719ae4a4ac0c91f4748",
      "parents": [
        "0bc777bca480357941418952cf228484f5485daf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu May 31 21:00:26 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 01 14:22:11 2012 -0400"
      },
      "message": "tcp: do not create inetpeer on SYNACK message\n\nAnother problem on SYNFLOOD/DDOS attack is the inetpeer cache getting\nlarger and larger, using lots of memory and cpu time.\n\ntcp_v4_send_synack()\n-\u003einet_csk_route_req()\n -\u003eip_route_output_flow()\n  -\u003ert_set_nexthop()\n   -\u003ert_init_metrics()\n    -\u003einet_getpeer( create \u003d true)\n\nThis is a side effect of commit a4daad6b09230 (net: Pre-COW metrics for\nTCP) added in 2.6.39\n\nPossible solution :\n\nInstruct inet_csk_route_req() to remove FLOWI_FLAG_PRECOW_METRICS\n\nBefore patch :\n\n# grep peer /proc/slabinfo\ninet_peer_cache   4175430 4175430    192   42    2 : tunables    0    0    0 : slabdata  99415  99415      0\n\nSamples: 41K of event \u0027cycles\u0027, Event count (approx.): 30716565122\n+  20,24%      ksoftirqd/0  [kernel.kallsyms]           [k] inet_getpeer\n+   8,19%      ksoftirqd/0  [kernel.kallsyms]           [k] peer_avl_rebalance.isra.1\n+   4,81%      ksoftirqd/0  [kernel.kallsyms]           [k] sha_transform\n+   3,64%      ksoftirqd/0  [kernel.kallsyms]           [k] fib_table_lookup\n+   2,36%      ksoftirqd/0  [ixgbe]                     [k] ixgbe_poll\n+   2,16%      ksoftirqd/0  [kernel.kallsyms]           [k] __ip_route_output_key\n+   2,11%      ksoftirqd/0  [kernel.kallsyms]           [k] kernel_map_pages\n+   2,11%      ksoftirqd/0  [kernel.kallsyms]           [k] ip_route_input_common\n+   2,01%      ksoftirqd/0  [kernel.kallsyms]           [k] __inet_lookup_established\n+   1,83%      ksoftirqd/0  [kernel.kallsyms]           [k] md5_transform\n+   1,75%      ksoftirqd/0  [kernel.kallsyms]           [k] check_leaf.isra.9\n+   1,49%      ksoftirqd/0  [kernel.kallsyms]           [k] ipt_do_table\n+   1,46%      ksoftirqd/0  [kernel.kallsyms]           [k] hrtimer_interrupt\n+   1,45%      ksoftirqd/0  [kernel.kallsyms]           [k] kmem_cache_alloc\n+   1,29%      ksoftirqd/0  [kernel.kallsyms]           [k] inet_csk_search_req\n+   1,29%      ksoftirqd/0  [kernel.kallsyms]           [k] __netif_receive_skb\n+   1,16%      ksoftirqd/0  [kernel.kallsyms]           [k] copy_user_generic_string\n+   1,15%      ksoftirqd/0  [kernel.kallsyms]           [k] kmem_cache_free\n+   1,02%      ksoftirqd/0  [kernel.kallsyms]           [k] tcp_make_synack\n+   0,93%      ksoftirqd/0  [kernel.kallsyms]           [k] _raw_spin_lock_bh\n+   0,87%      ksoftirqd/0  [kernel.kallsyms]           [k] __call_rcu\n+   0,84%      ksoftirqd/0  [kernel.kallsyms]           [k] rt_garbage_collect\n+   0,84%      ksoftirqd/0  [kernel.kallsyms]           [k] fib_rules_lookup\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Hans Schillstrom \u003chans.schillstrom@ericsson.com\u003e\nCc: Jesper Dangaard Brouer \u003cbrouer@redhat.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1193755ac6328ad240ba987e6ec41d5e8baf0680",
      "tree": "40bf847d7e3ebaa57b107151d14e6cd1d280cc6d",
      "parents": [
        "4edebed86690eb8db9af3ab85baf4a34e73266cc",
        "0ef97dcfce4179a2eba046b855ee2f91d6f1b414"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 10:34:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 10:34:35 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs changes from Al Viro.\n \"A lot of misc stuff.  The obvious groups:\n   * Miklos\u0027 atomic_open series; kills the damn abuse of\n     -\u003ed_revalidate() by NFS, which was the major stumbling block for\n     all work in that area.\n   * ripping security_file_mmap() and dealing with deadlocks in the\n     area; sanitizing the neighborhood of vm_mmap()/vm_munmap() in\n     general.\n   * -\u003eencode_fh() switched to saner API; insane fake dentry in\n     mm/cleancache.c gone.\n   * assorted annotations in fs (endianness, __user)\n   * parts of Artem\u0027s -\u003es_dirty work (jff2 and reiserfs parts)\n   * -\u003eupdate_time() work from Josef.\n   * other bits and pieces all over the place.\n\n  Normally it would\u0027ve been in two or three pull requests, but\n  signal.git stuff had eaten a lot of time during this cycle ;-/\"\n\nFix up trivial conflicts in Documentation/filesystems/vfs.txt (the\n\u0027truncate_range\u0027 inode method was removed by the VM changes, the VFS\nupdate adds an \u0027update_time()\u0027 method), and in fs/btrfs/ulist.[ch] (due\nto sparse fix added twice, with other changes nearby).\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (95 commits)\n  nfs: don\u0027t open in -\u003ed_revalidate\n  vfs: retry last component if opening stale dentry\n  vfs: nameidata_to_filp(): don\u0027t throw away file on error\n  vfs: nameidata_to_filp(): inline __dentry_open()\n  vfs: do_dentry_open(): don\u0027t put filp\n  vfs: split __dentry_open()\n  vfs: do_last() common post lookup\n  vfs: do_last(): add audit_inode before open\n  vfs: do_last(): only return EISDIR for O_CREAT\n  vfs: do_last(): check LOOKUP_DIRECTORY\n  vfs: do_last(): make ENOENT exit RCU safe\n  vfs: make follow_link check RCU safe\n  vfs: do_last(): use inode variable\n  vfs: do_last(): inline walk_component()\n  vfs: do_last(): make exit RCU safe\n  vfs: split do_lookup()\n  Btrfs: move over to use -\u003eupdate_time\n  fs: introduce inode operation -\u003eupdate_time\n  reiserfs: get rid of resierfs_sync_super\n  reiserfs: mark the superblock as dirty a bit later\n  ...\n"
    },
    {
      "commit": "419f4319495043a9507ac3e616be9ca60af09744",
      "tree": "0f747d80d11a6d4cd726ad6556839d5cd40b23ac",
      "parents": [
        "fb21affa49204acd409328415b49bfe90136653c",
        "6eccece90b6addf80ef9e6db79b0bc873301034b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 08:32:58 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 08:32:58 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull the rest of the nfsd commits from Bruce Fields:\n \"... and then I cherry-picked the remainder of the patches from the\n  head of my previous branch\"\n\nThis is the rest of the original nfsd branch, rebased without the\ndelegation stuff that I thought really needed to be redone.\n\nI don\u0027t like rebasing things like this in general, but in this situation\nthis was the lesser of two evils.\n\n* \u0027for-3.5\u0027 of git://linux-nfs.org/~bfields/linux: (50 commits)\n  nfsd4: fix, consolidate client_has_state\n  nfsd4: don\u0027t remove rebooted client record until confirmation\n  nfsd4: remove some dprintk\u0027s and a comment\n  nfsd4: return \"real\" sequence id in confirmed case\n  nfsd4: fix exchange_id to return confirm flag\n  nfsd4: clarify that renewing expired client is a bug\n  nfsd4: simpler ordering of setclientid_confirm checks\n  nfsd4: setclientid: remove pointless assignment\n  nfsd4: fix error return in non-matching-creds case\n  nfsd4: fix setclientid_confirm same_cred check\n  nfsd4: merge 3 setclientid cases to 2\n  nfsd4: pull out common code from setclientid cases\n  nfsd4: merge last two setclientid cases\n  nfsd4: setclientid/confirm comment cleanup\n  nfsd4: setclientid remove unnecessary terms from a logical expression\n  nfsd4: move rq_flavor into svc_cred\n  nfsd4: stricter cred comparison for setclientid/exchange_id\n  nfsd4: move principal name into svc_cred\n  nfsd4: allow removing clients not holding state\n  nfsd4: rearrange exchange_id logic to simplify\n  ...\n"
    },
    {
      "commit": "d58367515f47371f7202d8b258ee0614a8955a6a",
      "tree": "7ca457e5c9518ea9b597cf5e6678e78ff1c41326",
      "parents": [
        "17d1587f553dbdc9a55fe253903437f7e3e3448e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 19 18:17:15 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jun 01 10:37:18 2012 -0400"
      },
      "message": "sch_atm.c: get rid of poinless extern\n\nsockfd_lookup() is declared in linux/net.h, which is pulled by\nlinux/skbuff.h (and needed for a lot of other stuff in sch_atm.c\nanyway).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a00b6151a2ae4c52576c35d3998e144a993d50b8",
      "tree": "fc312be05c4deb4dead7a6afa09e88017d3a0146",
      "parents": [
        "08615d7d85e5aa02c05bf6c4dde87d940e7f85f6",
        "b108fe6b08f3f61c2c465649b20b7d4b4c185728"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:18:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:18:11 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5-take-2\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd update from Bruce Fields.\n\n* \u0027for-3.5-take-2\u0027 of git://linux-nfs.org/~bfields/linux: (23 commits)\n  nfsd: trivial: use SEEK_SET instead of 0 in vfs_llseek\n  SUNRPC: split upcall function to extract reusable parts\n  nfsd: allocate id-to-name and name-to-id caches in per-net operations.\n  nfsd: make name-to-id cache allocated per network namespace context\n  nfsd: make id-to-name cache allocated per network namespace context\n  nfsd: pass network context to idmap init/exit functions\n  nfsd: allocate export and expkey caches in per-net operations.\n  nfsd: make expkey cache allocated per network namespace context\n  nfsd: make export cache allocated per network namespace context\n  nfsd: pass pointer to export cache down to stack wherever possible.\n  nfsd: pass network context to export caches init/shutdown routines\n  Lockd: pass network namespace to creation and destruction routines\n  NFSd: remove hard-coded dereferences to name-to-id and id-to-name caches\n  nfsd: pass pointer to expkey cache down to stack wherever possible.\n  nfsd: use hash table from cache detail in nfsd export seq ops\n  nfsd: pass svc_export_cache pointer as private data to \"exports\" seq file ops\n  nfsd: use exp_put() for svc_export_cache put\n  nfsd: use cache detail pointer from svc_export structure on cache put\n  nfsd: add link to owner cache detail to svc_export structure\n  nfsd: use passed cache_detail pointer expkey_parse()\n  ...\n"
    },
    {
      "commit": "d5497fc693a446ce9100fcf4117c3f795ddfd0d2",
      "tree": "7254a8eb06629de6c9ac4b8dbe8e38c79c979af3",
      "parents": [
        "8fbba96e5b327665265ad02b7f331b68536828bf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon May 14 22:06:49 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:58 2012 -0400"
      },
      "message": "nfsd4: move rq_flavor into svc_cred\n\nMove the rq_flavor into struct svc_cred, and use it in setclientid and\nexchange_id comparisons as well.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "03a4e1f6ddf25f48848e1bddcffc0ad489648331",
      "tree": "f140e3deb767d092eca997037ebb7b098d8afce9",
      "parents": [
        "631fc9ea05c97e5d1d14ea58a7347be4857d09da"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon May 14 19:55:22 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:55 2012 -0400"
      },
      "message": "nfsd4: move principal name into svc_cred\n\nInstead of keeping the principal name associated with a request in a\nstructure that\u0027s private to auth_gss and using an accessor function,\nmove it to svc_cred.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "3ddbe8794ff1bcba5af09f2e6949755d6251958f",
      "tree": "a0555c210e64a568b36ec5b2bca41204d72adc4b",
      "parents": [
        "5fb35a3a9bc482110b2c6afd1a5004909fa12501"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed May 16 17:14:14 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:49 2012 -0400"
      },
      "message": "svcrpc: fix a comment typo\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "91c427ac3a61ccabae0fdef53563edf40394b6c9",
      "tree": "66f5aaf373ebef288ed561def0f188f1ac5700d5",
      "parents": [
        "786185b5f8abefa6a8a16695bb4a59c164d5a071"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri May 04 11:44:12 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:41 2012 -0400"
      },
      "message": "sunrpc: do array overrun check in svc_recv before allocating pages\n\nThere\u0027s little point in waiting until after we allocate all of the pages\nto see if we\u0027re going to overrun the array. In the event that this\ncalculation is really off we could end up scribbling over a bunch of\nmemory and make it tougher to debug.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "786185b5f8abefa6a8a16695bb4a59c164d5a071",
      "tree": "780eafd98f98a093fda540898595b47b4261764c",
      "parents": [
        "9793f7c88937e7ac07305ab1af1a519225836823"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Fri May 04 12:49:41 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:40 2012 -0400"
      },
      "message": "SUNRPC: move per-net operations from svc_destroy()\n\nThe idea is to separate service destruction and per-net operations,\nbecause these are two different things and the mix looks ugly.\n\nNotes:\n\n1) For NFS server this patch looks ugly (sorry for that). But these\nplace will be rewritten soon during NFSd containerization.\n\n2) LockD per-net counter increase int lockd_up() was moved prior to\nmake_socks() to make lockd_down_net() call safe in case of error.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "9793f7c88937e7ac07305ab1af1a519225836823",
      "tree": "48a4283a15cb0d5a427e722075fe546cc8cdcc53",
      "parents": [
        "c52226daf553b21891f39777d78a54ea4e7e8654"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Wed May 02 16:08:38 2012 +0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:39 2012 -0400"
      },
      "message": "SUNRPC: new svc_bind() routine introduced\n\nThis new routine is responsible for service registration in a specified\nnetwork context.\n\nThe idea is to separate service creation from per-net operations.\n\nNote also: since registering service with svc_bind() can fail, the\nservice will be destroyed and during destruction it will try to\nunregister itself from rpcbind. In this case unregistration has to be\nskipped.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c52226daf553b21891f39777d78a54ea4e7e8654",
      "tree": "a85dd956745f473bb6f4990c68cd07cdbc768d68",
      "parents": [
        "e7a0444aef4a1649bc155fd5c6d6ab3f8bdc88ab"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Apr 11 20:08:45 2012 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu May 31 20:29:39 2012 -0400"
      },
      "message": "rpc: handle rotated gss data for Windows interoperability\n\nThe data in Kerberos gss tokens can be rotated.  But we were lazy and\nrejected any nonzero rotation value.  It wasn\u0027t necessary for the\nimplementations we were testing against at the time.\n\nBut it appears that Windows does use a nonzero value here.\n\nSo, implement rotation to bring ourselves into compliance with the spec\nand to interoperate with Windows.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "cc9b17ad29ecaa20bfe426a8d4dbfb94b13ff1cc",
      "tree": "dbf402b10788ab22d1d9d8c14866a910be497c29",
      "parents": [
        "914bec1011a25f65cdc94988a6f974bfb9a3c10d"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Wed May 30 21:18:10 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 31 18:22:45 2012 -0400"
      },
      "message": "net: sock: validate data_len before allocating skb in sock_alloc_send_pskb()\n\nWe need to validate the number of pages consumed by data_len, otherwise frags\narray could be overflowed by userspace. So this patch validate data_len and\nreturn -EMSGSIZE when data_len may occupies more frags than MAX_SKB_FRAGS.\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13199a0845729492fc51d1ba87938cdfe341b141",
      "tree": "544267bc4076fff6b2eaae119372b13f23aa8932",
      "parents": [
        "af56e0aa35f3ae2a4c1a6d1000702df1dd78cb76",
        "2e1d4a065a77d076a679df22a4eddbc7e33cad98"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 10:32:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 10:32:36 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking changes from David S. Miller:\n\n 1) Fix IPSEC header length calculation for transport mode in ESP.  The\n    issue is whether to do the calculation before or after alignment.\n    Fix from Benjamin Poirier.\n\n 2) Fix regression in IPV6 IPSEC fragment length calculations, from Gao\n    Feng.  This is another transport vs tunnel mode issue.\n\n 3) Handle AF_UNSPEC connect()s properly in L2TP to avoid OOPSes.  Fix\n    from James Chapman.\n\n 4) Fix USB ASIX driver\u0027s reception of full sized VLAN packets, from\n    Eric Dumazet.\n\n 5) Allow drop monitor (and, more generically, all generic netlink\n    protocols) to be automatically loaded as a module.  From Neil\n    Horman.\n\nFix up trivial conflict in Documentation/feature-removal-schedule.txt\ndue to new entries added next to each other at the end. As usual.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (38 commits)\n  net/smsc911x: Repair broken failure paths\n  virtio-net: remove useless disable on freeze\n  netdevice: Update netif_dbg for CONFIG_DYNAMIC_DEBUG\n  drop_monitor: Add module alias to enable automatic module loading\n  genetlink: Build a generic netlink family module alias\n  net: add MODULE_ALIAS_NET_PF_PROTO_NAME\n  r6040: Do a Proper deinit at errorpath and also when driver unloads (calling r6040_remove_one)\n  r6040: disable pci device if the subsequent calls (after pci_enable_device) fails\n  skb: avoid unnecessary reallocations in __skb_cow\n  net: sh_eth: fix the rxdesc pointer when rx descriptor empty happens\n  asix: allow full size 8021Q frames to be received\n  rds_rdma: don\u0027t assume infiniband device is PCI\n  l2tp: fix oops in L2TP IP sockets for connect() AF_UNSPEC case\n  mac80211: fix ADDBA declined after suspend with wowlan\n  wlcore: fix undefined symbols when CONFIG_PM is not defined\n  mac80211: fix flag check for QoS NOACK frames\n  ath9k_hw: apply internal regulator settings on AR933x\n  ath9k_hw: update AR933x initvals to fix issues with high power devices\n  ath9k: fix a use-after-free-bug when ath_tx_setup_buffer() fails\n  ath9k: stop rx dma before stopping tx\n  ...\n"
    },
    {
      "commit": "af56e0aa35f3ae2a4c1a6d1000702df1dd78cb76",
      "tree": "304bd85e5db2d07efa2913aa7c6313b918cfbfdb",
      "parents": [
        "65a50c951a38e9827dd9655b6e686bde912e799b",
        "6bd9adbdf9ca6a052b0b7455ac67b925eb38cfad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 11:17:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 30 11:17:19 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\nPull ceph updates from Sage Weil:\n \"There are some updates and cleanups to the CRUSH placement code, a bug\n  fix with incremental maps, several cleanups and fixes from Josh Durgin\n  in the RBD block device code, a series of cleanups and bug fixes from\n  Alex Elder in the messenger code, and some miscellaneous bounds\n  checking and gfp cleanups/fixes.\"\n\nFix up trivial conflicts in net/ceph/{messenger.c,osdmap.c} due to the\nnetworking people preferring \"unsigned int\" over just \"unsigned\".\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (45 commits)\n  libceph: fix pg_temp updates\n  libceph: avoid unregistering osd request when not registered\n  ceph: add auth buf in prepare_write_connect()\n  ceph: rename prepare_connect_authorizer()\n  ceph: return pointer from prepare_connect_authorizer()\n  ceph: use info returned by get_authorizer\n  ceph: have get_authorizer methods return pointers\n  ceph: ensure auth ops are defined before use\n  ceph: messenger: reduce args to create_authorizer\n  ceph: define ceph_auth_handshake type\n  ceph: messenger: check return from get_authorizer\n  ceph: messenger: rework prepare_connect_authorizer()\n  ceph: messenger: check prepare_write_connect() result\n  ceph: don\u0027t set WRITE_PENDING too early\n  ceph: drop msgr argument from prepare_write_connect()\n  ceph: messenger: send banner in process_connect()\n  ceph: messenger: reset connection kvec caller\n  libceph: don\u0027t reset kvec in prepare_write_banner()\n  ceph: ignore preferred_osd field\n  ceph: fully initialize new layout\n  ...\n"
    },
    {
      "commit": "a0f68763e1c7dd57fa2dae3c07bc50651e2eac29",
      "tree": "f3a8fc40b3f0e6eb4a8579bb799c143a62f2c354",
      "parents": [
        "3fdcbd453152329002f12dfda0be90b714458164",
        "7b21aea04d084916ac4e0e8852dcc9cd60ec0d1d"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 30 10:32:16 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed May 30 10:32:16 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem\n"
    },
    {
      "commit": "3fdcbd453152329002f12dfda0be90b714458164",
      "tree": "3ad3719bbb517e47a146242e65b1127fce947062",
      "parents": [
        "e9412c37082b5c932e83364aaed0c38c2ce33acb"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue May 29 09:30:42 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 29 22:33:56 2012 -0400"
      },
      "message": "drop_monitor: Add module alias to enable automatic module loading\n\nNow that we have module alias macros for generic netlink families, lets use\nthose to mark modules with the appropriate family names for loading\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9412c37082b5c932e83364aaed0c38c2ce33acb",
      "tree": "479e716c478173830e378f432d3d0b24c6979541",
      "parents": [
        "2033e9bf06f07e049bbc77e9452856df846714cc"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue May 29 09:30:41 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 29 22:33:56 2012 -0400"
      },
      "message": "genetlink: Build a generic netlink family module alias\n\nGeneric netlink searches for -type- formatted aliases when requesting a module to\nfulfill a protocol request (i.e. net-pf-16-proto-16-type-\u003cx\u003e, where x is a type\nvalue).  However generic netlink protocols have no well defined type numbers,\nthey have string names.  Modify genl_ctrl_getfamily to request an alias in the\nformat net-pf-16-proto-16-family-\u003cx\u003e instead, where x is a generic string, and\nadd a macro that builds on the previously added MODULE_ALIAS_NET_PF_PROTO_NAME\nmacro to allow modules to specifify those generic strings.\n\nNote, l2tp previously hacked together an net-pf-16-proto-16-type-l2tp alias\nusing the MODULE_ALIAS macro, with these updates we can convert that to use the\nPROTO_NAME macro.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: James Chapman \u003cjchapman@katalix.com\u003e\nCC: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f134619393cb6c6dfab7890a617d0ceca6d05d7",
      "tree": "39e05b42c99189cd4496e61a3e16107e065b0f04",
      "parents": [
        "3afe36b1fe7d1e3f66752bb9548a763942f3a104"
      ],
      "author": {
        "name": "Glauber Costa",
        "email": "glommer@parallels.com",
        "time": "Tue May 29 15:07:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 16:22:28 2012 -0700"
      },
      "message": "memcg: decrement static keys at real destroy time\n\nWe call the destroy function when a cgroup starts to be removed, such as\nby a rmdir event.\n\nHowever, because of our reference counters, some objects are still\ninflight.  Right now, we are decrementing the static_keys at destroy()\ntime, meaning that if we get rid of the last static_key reference, some\nobjects will still have charges, but the code to properly uncharge them\nwon\u0027t be run.\n\nThis becomes a problem specially if it is ever enabled again, because now\nnew charges will be added to the staled charges making keeping it pretty\nmuch impossible.\n\nWe just need to be careful with the static branch activation: since there\nis no particular preferred order of their activation, we need to make sure\nthat we only start using it after all call sites are active.  This is\nachieved by having a per-memcg flag that is only updated after\nstatic_key_slow_inc() returns.  At this time, we are sure all sites are\nactive.\n\nThis is made per-memcg, not global, for a reason: it also has the effect\nof making socket accounting more consistent.  The first memcg to be\nlimited will trigger static_key() activation, therefore, accounting.  But\nall the others will then be accounted no matter what.  After this patch,\nonly limited memcgs will have its sockets accounted.\n\n[akpm@linux-foundation.org: move enum sock_flag_bits into sock.h,\n                            document enum sock_flag_bits,\n                            convert memcg_proto_active() and memcg_proto_activated() to test_bit(),\n                            redo tcp_update_limit() comment to 80 cols]\nSigned-off-by: Glauber Costa \u003cglommer@parallels.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Li Zefan \u003clizefan@huawei.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Johannes Weiner \u003channes@cmpxchg.org\u003e\nCc: Michal Hocko \u003cmhocko@suse.cz\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a0c6ffbcfe600606b2d913dded4dc6b37b3bbbfd",
      "tree": "9ac2c85b2d78b0377a49319cd93ba1f498ba7a89",
      "parents": [
        "c51ce49735c183ef2592db70f918ee698716276b"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@linux.vnet.ibm.com",
        "time": "Mon May 28 08:52:05 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 29 17:30:07 2012 -0400"
      },
      "message": "rds_rdma: don\u0027t assume infiniband device is PCI\n\nRDS code assumes that the struct ib_device dma_device member, which is a\npointer, points to a struct device embedded in a struct pci_dev.\n\nThis is not the case for ehca, for example, which is a OF driver, and\nmakes dma_device point to a struct device embedded in a struct\nplatform_device.\n\nThis will make the system crash when rds_rdma is loaded in a system\nwith ehca, since it will try to access the bus member of a non-existent\nstruct pci_dev.\n\nThe only reason rds_rdma uses the struct pci_dev is to get the NUMA node\nthe device is attached to. Using dev_to_node for that is much better,\nsince it won\u0027t assume which bus the infiniband is attached to.\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@linux.vnet.ibm.com\u003e\nCc: dledford@redhat.com\nCc: Jes.Sorensen@redhat.com\nCc: Venkat Venkatsubra \u003cvenkat.x.venkatsubra@oracle.com\u003e\nAcked-by: Venkat Venkatsubra \u003cvenkat.x.venkatsubra@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c51ce49735c183ef2592db70f918ee698716276b",
      "tree": "51387149e69b2d505fb784c40f7d27b79b6593ef",
      "parents": [
        "0c1833797a5a6ec23ea9261d979aa18078720b74"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Tue May 29 03:30:42 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 29 17:19:44 2012 -0400"
      },
      "message": "l2tp: fix oops in L2TP IP sockets for connect() AF_UNSPEC case\n\nAn application may call connect() to disconnect a socket using an\naddress with family AF_UNSPEC. The L2TP IP sockets were not handling\nthis case when the socket is not bound and an attempt to connect()\nusing AF_UNSPEC in such cases would result in an oops. This patch\naddresses the problem by protecting the sk_prot-\u003edisconnect() call\nagainst trying to unhash the socket before it is bound.\n\nThe L2TP IPv4 and IPv6 sockets have the same problem. Both are fixed\nby this patch.\n\nThe patch also adds more checks that the sockaddr supplied to bind()\nand connect() calls is valid.\n\n RIP: 0010:[\u003cffffffff82e133b0\u003e]  [\u003cffffffff82e133b0\u003e] inet_unhash+0x50/0xd0\n RSP: 0018:ffff88001989be28  EFLAGS: 00010293\n Stack:\n  ffff8800407a8000 0000000000000000 ffff88001989be78 ffffffff82e3a249\n  ffffffff82e3a050 ffff88001989bec8 ffff88001989be88 ffff8800407a8000\n  0000000000000010 ffff88001989bec8 ffff88001989bea8 ffffffff82e42639\n Call Trace:\n [\u003cffffffff82e3a249\u003e] udp_disconnect+0x1f9/0x290\n [\u003cffffffff82e42639\u003e] inet_dgram_connect+0x29/0x80\n [\u003cffffffff82d012fc\u003e] sys_connect+0x9c/0x100\n\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b21aea04d084916ac4e0e8852dcc9cd60ec0d1d",
      "tree": "0f01bb40607f9a48ac39e7e2a4eb4eda4ec48fcb",
      "parents": [
        "4161923a2410e8d0dd04ebbf93dde46552c07492"
      ],
      "author": {
        "name": "Eyal Shapira",
        "email": "eyal@wizery.com",
        "time": "Tue May 29 02:00:22 2012 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 29 13:45:24 2012 -0400"
      },
      "message": "mac80211: fix ADDBA declined after suspend with wowlan\n\nWLAN_STA_BLOCK_BA is set while suspending but doesn\u0027t get cleared\nwhen resuming in case of wowlan. This causes further ADDBA requests\nreceived to be rejected. Fix it by clearing it in the wowlan path\nas well.\n\nSigned-off-by: Eyal Shapira \u003ceyal@wizery.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c26a0e105cf11fa482116cc59a7c6cd9c01dd61b",
      "tree": "265be7420091df54ba2bb79e9d8610bb1a9c5967",
      "parents": [
        "bfc441a4bbe9b7a56d3611cc14c98cce3a573565"
      ],
      "author": {
        "name": "Claudio Pisa",
        "email": "claudio.pisa@uniroma2.it",
        "time": "Mon May 28 13:06:25 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 29 13:45:23 2012 -0400"
      },
      "message": "mac80211: fix flag check for QoS NOACK frames\n\nSigned-off-by: Claudio Pisa \u003cclaudio.pisa@uniroma2.it\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "53f2c4a8fd882009a2a75c5b72d6898c0808616e",
      "tree": "922293a1056c0c2358203cdab832f0e0891e628a",
      "parents": [
        "8f6576ad476b2a22d05ddafd2ddaee102577a4ed",
        "cc0a98436820b161b595b8cc1d2329bcf7328107"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 10:43:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 29 10:43:51 2012 -0700"
      },
      "message": "Merge tag \u0027nfs-for-3.5-1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull NFS client updates from Trond Myklebust:\n \"New features include:\n   - Rewrite the O_DIRECT code so that it can share the same coalescing\n     and pNFS functionality as the page cache code.\n   - Allow the server to provide hints as to when we should use pNFS,\n     and when it is more efficient to read and write through the\n     metadata server.\n   - NFS cache consistency updates:\n     * Use the ctime to emulate a change attribute for NFSv2/v3 so that\n       all NFS versions can share the same cache management code.\n     * New cache management code will only look at the change attribute\n       and size attribute when deciding whether or not our cached data\n       is still valid or not.\n     * Don\u0027t request NFSv4 post-op attributes on writes in cases such as\n       O_DIRECT, where we don\u0027t care about data cache consistency, or\n       when we have a write delegation, and know that our cache is still\n       consistent.\n     * Don\u0027t request NFSv4 post-op attributes on operations such as\n       COMMIT, where there are no expected metadata updates.\n     * Don\u0027t request NFSv4 directory post-op attributes in cases where\n       the operations themselves already return change attribute\n       updates: i.e. operations such as OPEN, CREATE, REMOVE, LINK and\n       RENAME.\n   - Speed up \u0027ls\u0027 and friends by using READDIR rather than READDIRPLUS\n     if we detect no attempts to lookup filenames.\n   - Improve the code sharing between NFSv2/v3 and v4 mounts\n   - NFSv4.1 state management efficiency improvements\n   - More patches in preparation for NFSv4/v4.1 migration functionality.\"\n\nFix trivial conflict in fs/nfs/nfs4proc.c that was due to the dcache\nqstr name initialization changes (that made the length/hash a 64-bit\nunion)\n\n* tag \u0027nfs-for-3.5-1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (146 commits)\n  NFSv4: Add debugging printks to state manager\n  NFSv4: Map NFS4ERR_SHARE_DENIED into an EACCES error instead of EIO\n  NFSv4: update_changeattr does not need to set NFS_INO_REVAL_PAGECACHE\n  NFSv4.1: nfs4_reset_session should use nfs4_handle_reclaim_lease_error\n  NFSv4.1: Handle other occurrences of NFS4ERR_CONN_NOT_BOUND_TO_SESSION\n  NFSv4.1: Handle NFS4ERR_CONN_NOT_BOUND_TO_SESSION in the state manager\n  NFSv4.1: Handle errors in nfs4_bind_conn_to_session\n  NFSv4.1: nfs4_bind_conn_to_session should drain the session\n  NFSv4.1: Don\u0027t clobber the seqid if exchange_id returns a confirmed clientid\n  NFSv4.1: Add DESTROY_CLIENTID\n  NFSv4.1: Ensure we use the correct credentials for bind_conn_to_session\n  NFSv4.1: Ensure we use the correct credentials for session create/destroy\n  NFSv4.1: Move NFSPROC4_CLNT_BIND_CONN_TO_SESSION to the end of the operations\n  NFSv4.1: Handle NFS4ERR_SEQ_MISORDERED when confirming the lease\n  NFSv4: When purging the lease, we must clear NFS4CLNT_LEASE_CONFIRM\n  NFSv4: Clean up the error handling for nfs4_reclaim_lease\n  NFSv4.1: Exchange ID must use GFP_NOFS allocation mode\n  nfs41: Use BIND_CONN_TO_SESSION for CB_PATH_DOWN*\n  nfs4.1: add BIND_CONN_TO_SESSION operation\n  NFSv4.1 test the mdsthreshold hint parameters\n  ...\n"
    },
    {
      "commit": "0c1833797a5a6ec23ea9261d979aa18078720b74",
      "tree": "1ea0d0ee1fb3915b30f7b40a91c0d047db5aeac3",
      "parents": [
        "91657eafb64b4cb53ec3a2fbc4afc3497f735788"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Sat May 26 01:30:53 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 27 01:11:22 2012 -0400"
      },
      "message": "ipv6: fix incorrect ipsec fragment\n\nSince commit ad0081e43a\n\"ipv6: Fragment locally generated tunnel-mode IPSec6 packets as needed\"\nthe fragment of packets is incorrect.\nbecause tunnel mode needs IPsec headers and trailer for all fragments,\nwhile on transport mode it is sufficient to add the headers to the\nfirst fragment and the trailer to the last.\n\nso modify mtu and maxfraglen base on ipsec mode and if fragment is first\nor last.\n\nwith my test,it work well(every fragment\u0027s size is the mtu)\nand does not trigger slow fragment path.\n\nChanges from v1:\n\tthough optimization, mtu_prev and maxfraglen_prev can be delete.\n\treplace xfrm mode codes with dst_entry\u0027s new frag DST_XFRM_TUNNEL.\n\tadd fuction ip6_append_data_mtu to make codes clearer.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "91657eafb64b4cb53ec3a2fbc4afc3497f735788",
      "tree": "f56665f166dc09e0a2969ee17adb745c5fc89459",
      "parents": [
        "f0d1b3c2bcc5de8a17af5f2274f7fcde8292b5fc"
      ],
      "author": {
        "name": "Benjamin Poirier",
        "email": "bpoirier@suse.de",
        "time": "Thu May 24 11:32:38 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 27 01:08:29 2012 -0400"
      },
      "message": "xfrm: take net hdr len into account for esp payload size calculation\n\nCorrects the function that determines the esp payload size. The calculations\ndone in esp{4,6}_get_mtu() lead to overlength frames in transport mode for\ncertain mtu values and suboptimal frames for others.\n\nAccording to what is done, mainly in esp{,6}_output() and tcp_mtu_to_mss(),\nnet_header_len must be taken into account before doing the alignment\ncalculation.\n\nSigned-off-by: Benjamin Poirier \u003cbpoirier@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "992e68bf2eb9f3319f098560b8d4a03aa52fd7b8",
      "tree": "4def5ed9c6845d2a9f48f7f99a429fc89be79b9b",
      "parents": [
        "edb9bc9a1e08f54adfdb4f4d31bca5a15aeb8ef0"
      ],
      "author": {
        "name": "Soumik Das",
        "email": "soumik.das@stericsson.com",
        "time": "Sun May 20 15:31:13 2012 +0530"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri May 25 11:16:16 2012 -0400"
      },
      "message": "mac80211: Fix race in checking AP status by sending null frame\n\nmac80211 tries to verify the existence of the current AP by\nprobing or sending a NULL frame in function\nieee80211_mgd_probe_ap_send. It 1st sends a null frame to the AP,\nincrements probe_send_count and waits for the ACK to the NULL\nframe for a finite duration of time. At times, it happens that by\nthe time mac80211 gets to increment probe_send_count, the ACK for\nthe NULL frame transmitted has already been processed. This leads\nto a race condition where mac80211 times out waiting for the ACK\nfor the NULL frame causing unnecessary disconnection with the AP.\n\nSigned-off-by: Soumik Das \u003csoumik.das@stericsson.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f0d1b3c2bcc5de8a17af5f2274f7fcde8292b5fc",
      "tree": "9103d4258fa91dc97d06f76673fc9478d9ac51bd",
      "parents": [
        "e26b203ede31fffd52571a5ba607a26c79dc5c0d"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu May 24 07:13:30 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 24 16:22:53 2012 -0400"
      },
      "message": "net/wanrouter: Deprecate and schedule for removal\n\nNo one uses this on current kernels anymore.\n\nLet it be known it\u0027s going to be removed eventually.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "28f3d717618156c0dcd2f497d791b578a7931d87",
      "tree": "37b11581b51929b5473541e53bd242b3e1a9f666",
      "parents": [
        "654443e20dfc0617231f28a07c96a979ee1a0239",
        "1ca7ee30630e1022dbcf1b51be20580815ffab73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 11:54:29 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 11:54:29 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull more networking updates from David Miller:\n \"Ok, everything from here on out will be bug fixes.\"\n\n1) One final sync of wireless and bluetooth stuff from John Linville.\n   These changes have all been in his tree for more than a week, and\n   therefore have had the necessary -next exposure.  John was just away\n   on a trip and didn\u0027t have a change to send the pull request until a\n   day or two ago.\n\n2) Put back some defines in user exposed header file areas that were\n   removed during the tokenring purge.  From Stephen Hemminger and Paul\n   Gortmaker.\n\n3) A bug fix for UDP hash table allocation got lost in the pile due to\n   one of those \"you got it..  no I\u0027ve got it..\" situations.  :-)\n\n   From Tim Bird.\n\n4) SKB coalescing in TCP needs to have stricter checks, otherwise we\u0027ll\n   try to coalesce overlapping frags and crash.  Fix from Eric Dumazet.\n\n5) RCU routing table lookups can race with free_fib_info(), causing\n   crashes when we deref the device pointers in the route.  Fix by\n   releasing the net device in the RCU callback.  From Yanmin Zhang.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (293 commits)\n  tcp: take care of overlaps in tcp_try_coalesce()\n  ipv4: fix the rcu race between free_fib_info and ip_route_output_slow\n  mm: add a low limit to alloc_large_system_hash\n  ipx: restore token ring define to include/linux/ipx.h\n  if: restore token ring ARP type to header\n  xen: do not disable netfront in dom0\n  phy/micrel: Fix ID of KSZ9021\n  mISDN: Add X-Tensions USB ISDN TA XC-525\n  gianfar:don\u0027t add FCB length to hard_header_len\n  Bluetooth: Report proper error number in disconnection\n  Bluetooth: Create flags for bt_sk()\n  Bluetooth: report the right security level in getsockopt\n  Bluetooth: Lock the L2CAP channel when sending\n  Bluetooth: Restore locking semantics when looking up L2CAP channels\n  Bluetooth: Fix a redundant and problematic incoming MTU check\n  Bluetooth: Add support for Foxconn/Hon Hai AR5BBU22 0489:E03C\n  Bluetooth: Fix EIR data generation for mgmt_device_found\n  Bluetooth: Fix Inquiry with RSSI event mask\n  Bluetooth: improve readability of l2cap_seq_list code\n  Bluetooth: Fix skb length calculation\n  ...\n"
    },
    {
      "commit": "1ca7ee30630e1022dbcf1b51be20580815ffab73",
      "tree": "5aab9c5bd4e31617afce262672c833db26381a23",
      "parents": [
        "e49cc0da7283088c5e03d475ffe2fdcb24a6d5b1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed May 23 17:51:37 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 24 00:28:21 2012 -0400"
      },
      "message": "tcp: take care of overlaps in tcp_try_coalesce()\n\nSergio Correia reported following warning :\n\nWARNING: at net/ipv4/tcp.c:1301 tcp_cleanup_rbuf+0x4f/0x110()\n\nWARN(skb \u0026\u0026 !before(tp-\u003ecopied_seq, TCP_SKB_CB(skb)-\u003eend_seq),\n     \"cleanup rbuf bug: copied %X seq %X rcvnxt %X\\n\",\n     tp-\u003ecopied_seq, TCP_SKB_CB(skb)-\u003eend_seq, tp-\u003ercv_nxt);\n\nIt appears TCP coalescing, and more specifically commit b081f85c297\n(net: implement tcp coalescing in tcp_queue_rcv()) should take care of\npossible segment overlaps in receive queue. This was properly done in\nthe case of out_or_order_queue by the caller.\n\nFor example, segment at tail of queue have sequence 1000-2000, and we\nadd a segment with sequence 1500-2500.\nThis can happen in case of retransmits.\n\nIn this case, just don\u0027t do the coalescing.\n\nReported-by: Sergio Correia \u003clists@uece.net\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nTested-by: Sergio Correia \u003clists@uece.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e49cc0da7283088c5e03d475ffe2fdcb24a6d5b1",
      "tree": "2bd3c141e3c0a2e671870fb4fe46793f8beee3ba",
      "parents": [
        "31fe62b9586643953f0c0c37a6357dafc69034e2"
      ],
      "author": {
        "name": "Yanmin Zhang",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Wed May 23 15:39:45 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 24 00:28:21 2012 -0400"
      },
      "message": "ipv4: fix the rcu race between free_fib_info and ip_route_output_slow\n\nWe hit a kernel OOPS.\n\n\u003c3\u003e[23898.789643] BUG: sleeping function called from invalid context at\n/data/buildbot/workdir/ics/hardware/intel/linux-2.6/arch/x86/mm/fault.c:1103\n\u003c3\u003e[23898.862215] in_atomic(): 0, irqs_disabled(): 0, pid: 10526, name:\nThread-6683\n\u003c4\u003e[23898.967805] HSU serial 0000:00:05.1: 0000:00:05.2:HSU serial prevented me\nto suspend...\n\u003c4\u003e[23899.258526] Pid: 10526, comm: Thread-6683 Tainted: G        W\n3.0.8-137685-ge7742f9 #1\n\u003c4\u003e[23899.357404] HSU serial 0000:00:05.1: 0000:00:05.2:HSU serial prevented me\nto suspend...\n\u003c4\u003e[23899.904225] Call Trace:\n\u003c4\u003e[23899.989209]  [\u003cc1227f50\u003e] ? pgtable_bad+0x130/0x130\n\u003c4\u003e[23900.000416]  [\u003cc1238c2a\u003e] __might_sleep+0x10a/0x110\n\u003c4\u003e[23900.007357]  [\u003cc1228021\u003e] do_page_fault+0xd1/0x3c0\n\u003c4\u003e[23900.013764]  [\u003cc18e9ba9\u003e] ? restore_all+0xf/0xf\n\u003c4\u003e[23900.024024]  [\u003cc17c007b\u003e] ? napi_complete+0x8b/0x690\n\u003c4\u003e[23900.029297]  [\u003cc1227f50\u003e] ? pgtable_bad+0x130/0x130\n\u003c4\u003e[23900.123739]  [\u003cc1227f50\u003e] ? pgtable_bad+0x130/0x130\n\u003c4\u003e[23900.128955]  [\u003cc18ea0c3\u003e] error_code+0x5f/0x64\n\u003c4\u003e[23900.133466]  [\u003cc1227f50\u003e] ? pgtable_bad+0x130/0x130\n\u003c4\u003e[23900.138450]  [\u003cc17f6298\u003e] ? __ip_route_output_key+0x698/0x7c0\n\u003c4\u003e[23900.144312]  [\u003cc17f5f8d\u003e] ? __ip_route_output_key+0x38d/0x7c0\n\u003c4\u003e[23900.150730]  [\u003cc17f63df\u003e] ip_route_output_flow+0x1f/0x60\n\u003c4\u003e[23900.156261]  [\u003cc181de58\u003e] ip4_datagram_connect+0x188/0x2b0\n\u003c4\u003e[23900.161960]  [\u003cc18e981f\u003e] ? _raw_spin_unlock_bh+0x1f/0x30\n\u003c4\u003e[23900.167834]  [\u003cc18298d6\u003e] inet_dgram_connect+0x36/0x80\n\u003c4\u003e[23900.173224]  [\u003cc14f9e88\u003e] ? _copy_from_user+0x48/0x140\n\u003c4\u003e[23900.178817]  [\u003cc17ab9da\u003e] sys_connect+0x9a/0xd0\n\u003c4\u003e[23900.183538]  [\u003cc132e93c\u003e] ? alloc_file+0xdc/0x240\n\u003c4\u003e[23900.189111]  [\u003cc123925d\u003e] ? sub_preempt_count+0x3d/0x50\n\nFunction free_fib_info resets nexthop_nh-\u003enh_dev to NULL before releasing\nfi. Other cpu might be accessing fi. Fixing it by delaying the releasing.\n\nWith the patch, we ran MTBF testing on Android mobile for 12 hours\nand didn\u0027t trigger the issue.\n\nThank Eric for very detailed review/checking the issue.\n\nSigned-off-by: Yanmin Zhang \u003cyanmin_zhang@linux.intel.com\u003e\nSigned-off-by: Kun Jiang \u003ckunx.jiang@intel.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31fe62b9586643953f0c0c37a6357dafc69034e2",
      "tree": "69f9990423969df4ecbaea9d1e8de748284bea5e",
      "parents": [
        "d0a24a3516fb36023bef28d2355fa34e7f32029f"
      ],
      "author": {
        "name": "Tim Bird",
        "email": "tim.bird@am.sony.com",
        "time": "Wed May 23 13:33:35 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 24 00:28:21 2012 -0400"
      },
      "message": "mm: add a low limit to alloc_large_system_hash\n\nUDP stack needs a minimum hash size value for proper operation and also\nuses alloc_large_system_hash() for proper NUMA distribution of its hash\ntables and automatic sizing depending on available system memory.\n\nOn some low memory situations, udp_table_init() must ignore the\nalloc_large_system_hash() result and reallocs a bigger memory area.\n\nAs we cannot easily free old hash table, we leak it and kmemleak can\nissue a warning.\n\nThis patch adds a low limit parameter to alloc_large_system_hash() to\nsolve this problem.\n\nWe then specify UDP_HTABLE_SIZE_MIN for UDP/UDPLite hash table\nallocation.\n\nReported-by: Mark Asselstine \u003cmark.asselstine@windriver.com\u003e\nReported-by: Tim Bird \u003ctim.bird@am.sony.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "644473e9c60c1ff4f6351fed637a6e5551e3dce7",
      "tree": "10316518bedc735a2c6552886658d69dfd9f1eb0",
      "parents": [
        "fb827ec68446c83e9e8754fa9b55aed27ecc4661",
        "4b06a81f1daee668fbd6de85557bfb36dd36078f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 17:42:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 17:42:39 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace\n\nPull user namespace enhancements from Eric Biederman:\n \"This is a course correction for the user namespace, so that we can\n  reach an inexpensive, maintainable, and reasonably complete\n  implementation.\n\n  Highlights:\n   - Config guards make it impossible to enable the user namespace and\n     code that has not been converted to be user namespace safe.\n\n   - Use of the new kuid_t type ensures the if you somehow get past the\n     config guards the kernel will encounter type errors if you enable\n     user namespaces and attempt to compile in code whose permission\n     checks have not been updated to be user namespace safe.\n\n   - All uids from child user namespaces are mapped into the initial\n     user namespace before they are processed.  Removing the need to add\n     an additional check to see if the user namespace of the compared\n     uids remains the same.\n\n   - With the user namespaces compiled out the performance is as good or\n     better than it is today.\n\n   - For most operations absolutely nothing changes performance or\n     operationally with the user namespace enabled.\n\n   - The worst case performance I could come up with was timing 1\n     billion cache cold stat operations with the user namespace code\n     enabled.  This went from 156s to 164s on my laptop (or 156ns to\n     164ns per stat operation).\n\n   - (uid_t)-1 and (gid_t)-1 are reserved as an internal error value.\n     Most uid/gid setting system calls treat these value specially\n     anyway so attempting to use -1 as a uid would likely cause\n     entertaining failures in userspace.\n\n   - If setuid is called with a uid that can not be mapped setuid fails.\n     I have looked at sendmail, login, ssh and every other program I\n     could think of that would call setuid and they all check for and\n     handle the case where setuid fails.\n\n   - If stat or a similar system call is called from a context in which\n     we can not map a uid we lie and return overflowuid.  The LFS\n     experience suggests not lying and returning an error code might be\n     better, but the historical precedent with uids is different and I\n     can not think of anything that would break by lying about a uid we\n     can\u0027t map.\n\n   - Capabilities are localized to the current user namespace making it\n     safe to give the initial user in a user namespace all capabilities.\n\n  My git tree covers all of the modifications needed to convert the core\n  kernel and enough changes to make a system bootable to runlevel 1.\"\n\nFix up trivial conflicts due to nearby independent changes in fs/stat.c\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (46 commits)\n  userns:  Silence silly gcc warning.\n  cred: use correct cred accessor with regards to rcu read lock\n  userns: Convert the move_pages, and migrate_pages permission checks to use uid_eq\n  userns: Convert cgroup permission checks to use uid_eq\n  userns: Convert tmpfs to use kuid and kgid where appropriate\n  userns: Convert sysfs to use kgid/kuid where appropriate\n  userns: Convert sysctl permission checks to use kuid and kgids.\n  userns: Convert proc to use kuid/kgid where appropriate\n  userns: Convert ext4 to user kuid/kgid where appropriate\n  userns: Convert ext3 to use kuid/kgid where appropriate\n  userns: Convert ext2 to use kuid/kgid where appropriate.\n  userns: Convert devpts to use kuid/kgid where appropriate\n  userns: Convert binary formats to use kuid/kgid where appropriate\n  userns: Add negative depends on entries to avoid building code that is userns unsafe\n  userns: signal remove unnecessary map_cred_ns\n  userns: Teach inode_capable to understand inodes whose uids map to other namespaces.\n  userns: Fail exec for suid and sgid binaries with ids outside our user namespace.\n  userns: Convert stat to return values mapped from kuids and kgids\n  userns: Convert user specfied uids and gids in chown into kuids and kgid\n  userns: Use uid_eq gid_eq helpers when comparing kuids and kgids in the vfs\n  ...\n"
    },
    {
      "commit": "e8650a08232e75274304b812ff04cfce9af9671c",
      "tree": "0609c942e6ca99016e788ff2ee2bbed1bb9215a4",
      "parents": [
        "3c2c4b73aa79e4a1b601710b59e092441175f4bb",
        "f70d4a95edc7da87f39cd8b603ba131df2c198ed"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 19:22:50 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 19:22:50 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\nPull trivial updates from Jiri Kosina:\n \"As usual, it\u0027s mostly typo fixes, redundant code elimination and some\n  documentation updates.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (57 commits)\n  edac, mips: don\u0027t change code that has been removed in edac/mips tree\n  xtensa: Change mail addresses of Hannes Weiner and Oskar Schirmer\n  lib: Change mail address of Oskar Schirmer\n  net: Change mail address of Oskar Schirmer\n  arm/m68k: Change mail address of Sebastian Hess\n  i2c: Change mail address of Oskar Schirmer\n  net: Fix tcp_build_and_update_options comment in struct tcp_sock\n  atomic64_32.h: fix parameter naming mismatch\n  Kconfig: replace \"--- help ---\" with \"---help---\"\n  c2port: fix bogus Kconfig \"default no\"\n  edac: Fix spelling errors.\n  qla1280: Remove redundant NULL check before release_firmware() call\n  remoteproc: remove redundant NULL check before release_firmware()\n  qla2xxx: Remove redundant NULL check before release_firmware() call.\n  aic94xx: Get rid of redundant NULL check before release_firmware() call\n  tehuti: delete redundant NULL check before release_firmware()\n  qlogic: get rid of a redundant test for NULL before call to release_firmware()\n  bna: remove redundant NULL test before release_firmware()\n  tg3: remove redundant NULL test before release_firmware() call\n  typhoon: get rid of redundant conditional before all to release_firmware()\n  ...\n"
    },
    {
      "commit": "3c2c4b73aa79e4a1b601710b59e092441175f4bb",
      "tree": "fbd08c3e18517871b25fe9c886caae423947d578",
      "parents": [
        "f08b9c2f8af0d61faa1170aeae4fbca1eff6a504",
        "99ce58ddc4eadec8c35d9a1d64ff57703fdcfacc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 19:21:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 19:21:48 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\nPull HID subsystem updates from Jiri Kosina:\n \"Apart from various driver updates and added support for a number of\n  new devices (mostly multitouch ones, but not limited to), there is one\n  change that is worth pointing out explicitly: creation of HID device\n  groups and proper autoloading of hid-multitouch, implemented by Henrik\n  Rydberg.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (50 commits)\n  HID: wacom: fix build breakage without CONFIG_LEDS_CLASS\n  HID: waltop: Extend barrel button fix\n  HID: hyperv: Set the hid drvdata correctly\n  HID: wacom: Unify speed setting\n  HID: wacom: Add speed setting for Intuos4 WL\n  HID: wacom: Move Graphire raport header check.\n  HID: uclogic: Add support for UC-Logic TWHL850\n  HID: explain the signed/unsigned handling in hid_add_field()\n  HID: handle logical min/max signedness properly in parser\n  HID: logitech: read all 32 bits of report type bitfield\n  HID: wacom: Add LED selector control for Wacom Intuos4 WL\n  HID: hid-multitouch: fix wrong protocol detection\n  HID: wiimote: Fix IR data parser\n  HID: wacom: Add tilt reporting for Intuos4 WL\n  HID: multitouch: MT interface matching for Baanto\n  HID: hid-multitouch: Only match MT interfaces\n  HID: Create a common generic driver\n  HID: hid-multitouch: Switch to device groups\n  HID: Create a generic device group\n  HID: Allow bus wildcard matching\n  ...\n"
    },
    {
      "commit": "88d6ae8dc33af12fe1c7941b1fae2767374046fd",
      "tree": "8f17415c0722b0a4d7511ac170cfb4e3802e1ad2",
      "parents": [
        "f5c101892fbd3d2f6d2729bc7eb7b3f6c31dbddd",
        "0d4dde1ac9a5af74ac76c6ab90557d1ae7b8f5d8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 17:40:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 17:40:19 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup updates from Tejun Heo:\n \"cgroup file type addition / removal is updated so that file types are\n  added and removed instead of individual files so that dynamic file\n  type addition / removal can be implemented by cgroup and used by\n  controllers.  blkio controller changes which will come through block\n  tree are dependent on this.  Other changes include res_counter cleanup\n  and disallowing kthread / PF_THREAD_BOUND threads to be attached to\n  non-root cgroups.\n\n  There\u0027s a reported bug with the file type addition / removal handling\n  which can lead to oops on cgroup umount.  The issue is being looked\n  into.  It shouldn\u0027t cause problems for most setups and isn\u0027t a\n  security concern.\"\n\nFix up trivial conflict in Documentation/feature-removal-schedule.txt\n\n* \u0027for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (21 commits)\n  res_counter: Account max_usage when calling res_counter_charge_nofail()\n  res_counter: Merge res_counter_charge and res_counter_charge_nofail\n  cgroups: disallow attaching kthreadd or PF_THREAD_BOUND threads\n  cgroup: remove cgroup_subsys-\u003epopulate()\n  cgroup: get rid of populate for memcg\n  cgroup: pass struct mem_cgroup instead of struct cgroup to socket memcg\n  cgroup: make css-\u003erefcnt clearing on cgroup removal optional\n  cgroup: use negative bias on css-\u003erefcnt to block css_tryget()\n  cgroup: implement cgroup_rm_cftypes()\n  cgroup: introduce struct cfent\n  cgroup: relocate __d_cgrp() and __d_cft()\n  cgroup: remove cgroup_add_file[s]()\n  cgroup: convert memcg controller to the new cftype interface\n  memcg: always create memsw files if CONFIG_CGROUP_MEM_RES_CTLR_SWAP\n  cgroup: convert all non-memcg controllers to the new cftype interface\n  cgroup: relocate cftype and cgroup_subsys definitions in controllers\n  cgroup: merge cft_release_agent cftype array into the base files array\n  cgroup: implement cgroup_add_cftypes() and friends\n  cgroup: build list of all cgroups under a given cgroupfs_root\n  cgroup: move cgroup_clear_directory() call out of cgroup_populate_dir()\n  ...\n"
    },
    {
      "commit": "f5c101892fbd3d2f6d2729bc7eb7b3f6c31dbddd",
      "tree": "ae24f42e327c95af356cfa5ba407b1a7fad84fd5",
      "parents": [
        "c54894cd4672d513e43e0d17d7b0387bf6b2c2c4",
        "641b695c2f11397bd307ea689d4d3f128360ce49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 17:37:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 17:37:47 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\nPull percpu updates from Tejun Heo:\n \"Contains Alex Shi\u0027s three patches to remove percpu_xxx() which overlap\n  with this_cpu_xxx().  There shouldn\u0027t be any functional change.\"\n\n* \u0027for-3.5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu: remove percpu_xxx() functions\n  x86: replace percpu_xxx funcs with this_cpu_xxx\n  net: replace percpu_xxx funcs with this_cpu_xxx or __this_cpu_xxx\n"
    },
    {
      "commit": "94b5aff4c6f72fee6b0f49d49e4fa8b204e8ded9",
      "tree": "39197121b6ef8cddaa0f4057fe24b4ced58e8982",
      "parents": [
        "5d4e2d08e7fdf7339f84a1c670d296a77e02f881",
        "59bd234b72fc29887839d792b7d6c7e8d2a577a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 16:12:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 22 16:12:24 2012 -0700"
      },
      "message": "Merge tag \u0027tty-3.5-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty\n\nPull TTY updates from Greg Kroah-Hartman:\n \"Here\u0027s the big TTY/serial driver pull request for the 3.5-rc1 merge\n  window.\n\n  Nothing major in here, just lots of incremental changes from Alan and\n  Jiri reworking some tty core things to behave better and to get a more\n  solid grasp on some of the nasty tty locking issues.\n\n  There are a few tty and serial driver updates in here as well.\n\n  All of this has been in the linux-next releases for a while with no\n  problems.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\n* tag \u0027tty-3.5-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (115 commits)\n  serial: bfin_uart: Make MMR access compatible with 32 bits bf609 style controller.\n  serial: bfin_uart: RTS and CTS MMRs can be either 16-bit width or 32-bit width.\n  serial: bfin_uart: narrow the reboot condition in DMA tx interrupt\n  serial: bfin_uart: Adapt bf5xx serial driver to bf60x serial4 controller.\n  Revert \"serial_core: Update buffer overrun statistics.\"\n  tty: hvc_xen: NULL dereference on allocation failure\n  tty: Fix LED error return\n  tty: Allow uart_register/unregister/register\n  tty: move global ldisc idle waitqueue to the individual ldisc\n  serial8250-em: Add DT support\n  serial8250-em: clk_get() IS_ERR() error handling fix\n  serial_core: Update buffer overrun statistics.\n  tty: drop the pty lock during hangup\n  cris: fix missing tty arg in wait_event_interruptible_tty call\n  tty/amiserial: Add missing argument for tty_unlock()\n  tty_lock: Localise the lock\n  pty: Lock the devpts bits privately\n  tty_lock: undo the old tty_lock use on the ctty\n  serial8250-em: Emma Mobile UART driver V2\n  Add missing call to uart_update_timeout()\n  ...\n"
    },
    {
      "commit": "c3719a1ef52eb1aadf77b7557cc9ca08124d8818",
      "tree": "9fc3737751948a71cde8f8ff64d1ca4cb0f44932",
      "parents": [
        "35c579070a349cfe54f9e09a47df2c5b68d58469",
        "a0d0d1685f9763ab26a394df3ab84026b39a06a7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 22 16:07:23 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 22 16:07:23 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless\n\nJohn says:\n\n--------------------\nI apologize for not having sent this sooner.  FWIW, I was in a car\nsomewhere between Illinois and North Carolina for most of the day\nSunday and Monday... :-)\n\nThis is (obviously) the last non-fix pull request for wireless bits\nintended for 3.5.  It includes AP support for mwifiex, a variety of HCI\nand other updates for NFC, some brcmfmac and brcmsmac refactoring,\na large batch of ssb and bcma updates, a batch of ath6kl updates,\nsome cfg80211 and mac80211 updates/refactoring from Johannes Berg,\na rather large collection of Bluetooth updates by way of Gustavo,\nand a variety of other bits here and there.\n--------------------\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0d0d1685f9763ab26a394df3ab84026b39a06a7",
      "tree": "4165dc6fd3266977ab4b3fa3b379c47597f97d88",
      "parents": [
        "31a67102f4762df5544bc2dfb34a931233d2a5b2",
        "05f8f25276ea8c7d41b3649890d6eaf179e67a81"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 22 15:18:06 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 22 15:18:06 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next\n"
    },
    {
      "commit": "6bd9adbdf9ca6a052b0b7455ac67b925eb38cfad",
      "tree": "61d254846558e23906bbef993092cf372f641509",
      "parents": [
        "35f9f8a09e1e88e31bd34a1e645ca0e5f070dd5c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon May 21 09:45:23 2012 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon May 21 20:40:42 2012 -0700"
      },
      "message": "libceph: fix pg_temp updates\n\nUsually, we are adding pg_temp entries or removing them.  Occasionally they\nupdate.  In that case, osdmap_apply_incremental() was failing because the\nrbtree entry already exists.\n\nFix by removing the existing entry before inserting a new one.\n\nFixes http://tracker.newdream.net/issues/2446\n\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\nReviewed-by: Alex Elder \u003celder@inktank.com\u003e\n"
    },
    {
      "commit": "cb60e3e65c1b96a4d6444a7a13dc7dd48bc15a2b",
      "tree": "4322be35db678f6299348a76ad60a2023954af7d",
      "parents": [
        "99262a3dafa3290866512ddfb32609198f8973e9",
        "ff2bb047c4bce9742e94911eeb44b4d6ff4734ab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 20:27:36 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 20:27:36 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security\n\nPull security subsystem updates from James Morris:\n \"New notable features:\n   - The seccomp work from Will Drewry\n   - PR_{GET,SET}_NO_NEW_PRIVS from Andy Lutomirski\n   - Longer security labels for Smack from Casey Schaufler\n   - Additional ptrace restriction modes for Yama by Kees Cook\"\n\nFix up trivial context conflicts in arch/x86/Kconfig and include/linux/filter.h\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (65 commits)\n  apparmor: fix long path failure due to disconnected path\n  apparmor: fix profile lookup for unconfined\n  ima: fix filename hint to reflect script interpreter name\n  KEYS: Don\u0027t check for NULL key pointer in key_validate()\n  Smack: allow for significantly longer Smack labels v4\n  gfp flags for security_inode_alloc()?\n  Smack: recursive tramsmute\n  Yama: replace capable() with ns_capable()\n  TOMOYO: Accept manager programs which do not start with / .\n  KEYS: Add invalidation support\n  KEYS: Do LRU discard in full keyrings\n  KEYS: Permit in-place link replacement in keyring list\n  KEYS: Perform RCU synchronisation on keys prior to key destruction\n  KEYS: Announce key type (un)registration\n  KEYS: Reorganise keys Makefile\n  KEYS: Move the key config into security/keys/Kconfig\n  KEYS: Use the compat keyctl() syscall wrapper on Sparc64 for Sparc32 compat\n  Yama: remove an unused variable\n  samples/seccomp: fix dependencies on arch macros\n  Yama: add additional ptrace scopes\n  ...\n"
    },
    {
      "commit": "99262a3dafa3290866512ddfb32609198f8973e9",
      "tree": "6f74764150cd9c38d9ffacbeb5054b696537e154",
      "parents": [
        "bf67f3a5c456a18f2e8d062f7e88506ef2cd9837",
        "c6190804f1dc5357b57825f0491eb31fc9ccf130"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 20:20:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 20:20:23 2012 -0700"
      },
      "message": "Merge tag \u0027virtio-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\nPull virtio updates from Rusty Russell.\n\n* tag \u0027virtio-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  virtio: fix typo in comment\n  virtio-mmio: Devices parameter parsing\n  virtio_blk: Drop unused request tracking list\n  virtio-blk: Fix hot-unplug race in remove method\n  virtio: Use ida to allocate virtio index\n  virtio: balloon: separate out common code between remove and freeze functions\n  virtio: balloon: drop restore_common()\n  9p: disconnect channel when PCI device is removed\n  virtio: update documentation to v0.9.5 of spec\n"
    },
    {
      "commit": "991ad9ec39bd3ecaf08cfb7ea3ef7ae9148e5068",
      "tree": "e00677171268552c799be4d3b6218f35fa1170ed",
      "parents": [
        "33950c6e2269f516059e2fa777f8c7559dfa31a5"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Fri Apr 13 17:48:36 2012 -0400"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue May 22 12:16:10 2012 +0930"
      },
      "message": "9p: disconnect channel when PCI device is removed\n\nWhen a virtio_9p pci device is being removed, we should close down any\nactive channels and free up resources, we\u0027re not supposed to BUG() if there\u0027s\nstill an open channel since it\u0027s a valid case when removing the PCI device.\n\nOtherwise, removing the PCI device with an open channel would cause the\nfollowing BUG():\n\n[ 1184.671416] ------------[ cut here ]------------\n[ 1184.672057] kernel BUG at net/9p/trans_virtio.c:618!\n[ 1184.672057] invalid opcode: 0000 [#1] PREEMPT SMP\n[ 1184.672057] CPU 3\n[ 1184.672057] Pid: 5, comm: kworker/u:0 Tainted: G        W    3.4.0-rc2-next-20120413-sasha-dirty #76\n[ 1184.672057] RIP: 0010:[\u003cffffffff825c9116\u003e]  [\u003cffffffff825c9116\u003e] p9_virtio_remove+0x16/0x90\n[ 1184.672057] RSP: 0018:ffff88000d653ac0  EFLAGS: 00010202\n[ 1184.672057] RAX: ffffffff836bfb40 RBX: ffff88000c9b2148 RCX: ffff88000d658978\n[ 1184.672057] RDX: 0000000000000006 RSI: 0000000000000000 RDI: ffff880028868000\n[ 1184.672057] RBP: ffff88000d653ad0 R08: 0000000000000000 R09: 0000000000000000\n[ 1184.672057] R10: 0000000000000000 R11: 0000000000000001 R12: ffff880028868000\n[ 1184.672057] R13: ffffffff835aa7c0 R14: ffff880041630000 R15: ffff88000d653da0\n[ 1184.672057] FS:  0000000000000000(0000) GS:ffff880035a00000(0000) knlGS:0000000000000000\n[ 1184.672057] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[ 1184.672057] CR2: 0000000001181000 CR3: 000000000eba1000 CR4: 00000000000406e0\n[ 1184.672057] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nx000000000117a190 *[ 1184.672057] DR3: 00000000000000**\n00 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[ 1184.672057] Process kworker/u:0 (pid: 5, threadinfo ffff88000d652000, task ffff88000d658000)\n[ 1184.672057] Stack:\n[ 1184.672057]  ffff880028868000 ffffffff836bfb40 ffff88000d653af0 ffffffff8193661b\n[ 1184.672057]  ffff880028868008 ffffffff836bfb40 ffff88000d653b10 ffffffff81af1c81\n[ 1184.672057]  ffff880028868068 ffff880028868008 ffff88000d653b30 ffffffff81af257a\n[ 1184.795301] Call Trace:\n[ 1184.795301]  [\u003cffffffff8193661b\u003e] virtio_dev_remove+0x1b/0x60\n[ 1184.795301]  [\u003cffffffff81af1c81\u003e] __device_release_driver+0x81/0xd0\n[ 1184.795301]  [\u003cffffffff81af257a\u003e] device_release_driver+0x2a/0x40\n[ 1184.795301]  [\u003cffffffff81af0d48\u003e] bus_remove_device+0x138/0x150\n[ 1184.795301]  [\u003cffffffff81aef08d\u003e] device_del+0x14d/0x1b0\n[ 1184.795301]  [\u003cffffffff81aef138\u003e] device_unregister+0x48/0x60\n[ 1184.795301]  [\u003cffffffff8193694d\u003e] unregister_virtio_device+0xd/0x10\n[ 1184.795301]  [\u003cffffffff8265fc74\u003e] virtio_pci_remove+0x2a/0x6c\n[ 1184.795301]  [\u003cffffffff818a95ad\u003e] pci_device_remove+0x4d/0x110\n[ 1184.795301]  [\u003cffffffff81af1c81\u003e] __device_release_driver+0x81/0xd0\n[ 1184.795301]  [\u003cffffffff81af257a\u003e] device_release_driver+0x2a/0x40\n[ 1184.795301]  [\u003cffffffff81af0d48\u003e] bus_remove_device+0x138/0x150\n[ 1184.795301]  [\u003cffffffff81aef08d\u003e] device_del+0x14d/0x1b0\n[ 1184.795301]  [\u003cffffffff81aef138\u003e] device_unregister+0x48/0x60\n[ 1184.795301]  [\u003cffffffff818a36fa\u003e] pci_stop_bus_device+0x6a/0x90\n[ 1184.795301]  [\u003cffffffff818a3791\u003e] pci_stop_and_remove_bus_device+0x11/0x20\n[ 1184.795301]  [\u003cffffffff818c21d9\u003e] remove_callback+0x9/0x10\n[ 1184.795301]  [\u003cffffffff81252d91\u003e] sysfs_schedule_callback_work+0x21/0x60\n[ 1184.795301]  [\u003cffffffff810cb1a1\u003e] process_one_work+0x281/0x430\n[ 1184.795301]  [\u003cffffffff810cb140\u003e] ? process_one_work+0x220/0x430\n[ 1184.795301]  [\u003cffffffff81252d70\u003e] ? sysfs_read_file+0x1c0/0x1c0\n[ 1184.795301]  [\u003cffffffff810cc613\u003e] worker_thread+0x1f3/0x320\n[ 1184.795301]  [\u003cffffffff810cc420\u003e] ? manage_workers.clone.13+0x130/0x130\n[ 1184.795301]  [\u003cffffffff810d30b2\u003e] kthread+0xb2/0xc0\n[ 1184.795301]  [\u003cffffffff826783f4\u003e] kernel_thread_helper+0x4/0x10\n[ 1184.795301]  [\u003cffffffff810deb18\u003e] ? finish_task_switch+0x78/0xf0\n[ 1184.795301]  [\u003cffffffff82676574\u003e] ? retint_restore_args+0x13/0x13\n[ 1184.795301]  [\u003cffffffff810d3000\u003e] ? kthread_flush_work_fn+0x10/0x10\n[ 1184.795301]  [\u003cffffffff826783f0\u003e] ? gs_change+0x13/0x13\n[ 1184.795301] Code: c1 9e 0a 00 48 83 c4 08 5b c9 c3 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 41 54 49 89 fc 53 48 8b 9f a8 04 00 00 80 3b 00 74 0a \u003c0f\u003e 0b 0f 1f 84 00 00 00 00 00 48 8b 87 88 04 00 00 ff 50 30 31\n[ 1184.795301] RIP  [\u003cffffffff825c9116\u003e] p9_virtio_remove+0x16/0x90\n[ 1184.795301]  RSP \u003cffff88000d653ac0\u003e\n[ 1184.952618] ---[ end trace a307b3ed40206b4c ]---\n\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "ff2bb047c4bce9742e94911eeb44b4d6ff4734ab",
      "tree": "9d9b1cfa3fc17f0cc13f34ca697306cb1f46b05f",
      "parents": [
        "cffee16e8b997ab947de661e8820e486b0830c94",
        "c737f8284cac91428f8fcc8281e69117fa16e887"
      ],
      "author": {
        "name": "James Morris",
        "email": "james.l.morris@oracle.com",
        "time": "Tue May 22 11:21:06 2012 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "james.l.morris@oracle.com",
        "time": "Tue May 22 11:21:06 2012 +1000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.infradead.org/users/eparis/selinux into next\n\nPer pull request, for 3.5.\n"
    },
    {
      "commit": "e47b65b032f2997aa0a7392ecdf656c86d4d7561",
      "tree": "801d2b42702da485506bcb19606489f0400a7c32",
      "parents": [
        "8e95a53ba4b060e2d0d46575059ae96ea91a80fd"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Mon May 21 20:45:37 2012 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 12:50:12 2012 -0700"
      },
      "message": "net: drop NET dependency from HAVE_BPF_JIT\n\nThere is no point having the NET dependency on the select target, as it\nforces all users to depend on NET to tell they support BPF_JIT.  Move\nthe config option to the bottom of the file - this could be a nice place\nalso for future \"selectable\" config symbols.\n\nFix up all users to drop the dependency on NET now that it is not\nrequired to supress warnings for non-NET builds.\n\nReported-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb62ab71fe2b16e8203a0f0a2ef4eda23d761338",
      "tree": "536ba39658e47d511a489c52f7aac60cd78967e5",
      "parents": [
        "31ed8e6f93a27304c9e157dab0267772cd94eaad",
        "74863948f925d9f3bb4e3d3a783e49e9c662d839"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 10:03:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 10:03:46 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking changes from David Miller:\n\n 1) Get rid of the error prone NLA_PUT*() macros that used an embedded\n    goto.\n\n 2) Kill off the token-ring and MCA networking drivers, from Paul\n    Gortmaker.\n\n 3) Reduce high-order allocations made by datagram AF_UNIX sockets, from\n    Eric Dumazet.\n\n 4) Add PTP hardware clock support to IGB and IXGBE, from Richard\n    Cochran and Jacob Keller.\n\n 5) Allow users to query timestamping capabilities of a card via\n    ethtool, from Richard Cochran.\n\n 6) Add loadbalance mode to the teaming driver, from Jiri Pirko.  Part\n    of this is that we can now have BPF filters not attached to sockets,\n    and the loadbalancing function is calculated using one.\n\n 7) Francois Romieu went through the network drivers removing gratuitous\n    uses of netdev-\u003ebase_addr, perhaps some day we can remove it\n    completely but it\u0027s used for ISA probing still.\n\n 8) Add a BPF JIT for sparc.  I know, who cares, right? :-)\n\n 9) Move networking sysctl registry away from using the compatability\n    mode interfaces in the sysctl code.  From Eric W Biederman.\n\n10) Pavel Emelyanov added a way to save and restore TCP socket state via\n    TCP_REPAIR, TCP_REPAIR_QUEUE, and TCP_QUEUE_SEQ socket options as\n    well as a way to forcefully bind a socket to a port via the\n    sk-\u003esk_reuse value SK_FORCE_REUSE.  There is also a\n    TCP_REPAIR_OPTIONS which allows to reinstante the TCP options\n    enabled on the connection.\n\n11) Several enhancements from Eric Dumazet that, in particular, can\n    enhance splice performance on TCP sockets significantly.\n\n     a) Reset the offset of the per-socket sendmsg page when we know\n        we\u0027re the only use of the page in linear_to_page().\n\n     b) Add facilities such that skb-\u003edata can be backed a page rather\n        than SLAB kmalloc\u0027d memory.  In particular devices which were\n        receiving into linear RX buffers can now end up providing paged\n        data.\n\n    The big result is that code like splice and GRO do not have to copy\n    any more.\n\n12) Allow a pure sender to more gracefully handle ACK backlogs in TCP.\n    What can happen at high rates is that the sender hasn\u0027t grown his\n    receive buffer limits at all (he\u0027s not receiving data so really\n    doesn\u0027t need to), but the non-data ACKs consume receive buffer\n    space.\n\n    sk_add_backlog() is too aggressive in dropping frames in this case,\n    so relax it\u0027s requirements by using the receive buffer plus the send\n    buffer limit as the backlog limit instead of just the former.\n\n    Also from Eric Dumazet.\n\n13) Add ipv6 support to L2TP, from Benjamin LaHaise, James Chapman, and\n    Chris Elston.\n\n14) Implement TCP early retransmit (RFC 5827), from Yuchung Cheng.\n    Basically, we can start fast retransmit before hiting the dupack\n    threshold under certain conditions.\n\n15) New CODEL active queue management packet scheduler, from Eric\n    Dumazet based upon initial work by Dave Taht.\n\n    Basically, the big feature is that packets are dropped (or ECN bits\n    are set) based upon how long packets live in the queue, rather than\n    the queue length (which is what RED uses).\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1341 commits)\n  drivers/net/stmmac: seq_file fix memory leak\n  ipv6/exthdrs: strict Pad1 and PadN check\n  USB: qmi_wwan: Add ZTE (Vodafone) K3520-Z\n  USB: qmi_wwan: Add ZTE (Vodafone) K3765-Z\n  USB: qmi_wwan: Make forced int 4 whitelist generic\n  net/ipv4: replace simple_strtoul with kstrtoul\n  net/ipv4/ipconfig: neaten __setup placement\n  net: qmi_wwan: Add Vodafone/Huawei K5005 support\n  net: cdc_ether: Add ZTE WWAN matches before generic Ethernet\n  ipv6: use skb coalescing in reassembly\n  ipv4: use skb coalescing in defragmentation\n  net: introduce skb_try_coalesce()\n  net:ipv6:fixed space issues relating to operators.\n  net:ipv6:fixed a trailing white space issue.\n  ipv6: disable GSO on sockets hitting dst_allfrag\n  tg3: use netdev_alloc_frag() API\n  net: napi_frags_skb() is static\n  ppp: avoid false drop_monitor false positives\n  ipv6: bool/const conversions phase2\n  ipx: Remove spurious NULL checking in ipx_ioctl().\n  ...\n"
    },
    {
      "commit": "31ed8e6f93a27304c9e157dab0267772cd94eaad",
      "tree": "2fd62bea73efa7e2920b0c3e1d81c425eb7bf71c",
      "parents": [
        "7e5cb5e151c5474b4a468f437f5038ba9f67ef4d",
        "26fe575028703948880fce4355a210c76bb0536e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 08:50:57 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 08:50:57 2012 -0700"
      },
      "message": "Merge branch \u0027dentry-cleanups\u0027 (dcache access cleanups and optimizations)\n\nThis branch simplifies and clarifies the dcache lookup, and allows us to\ndo certain nice optimizations when comparing dentries.  It also cleans\nup the interface to __d_lookup_rcu(), especially around passing the\ninode information around.\n\n* dentry-cleanups:\n  vfs: make it possible to access the dentry hash/len as one 64-bit entry\n  vfs: move dentry name length comparison from dentry_cmp() into callers\n  vfs: do the careful dentry name access for all dentry_cmp cases\n  vfs: remove unnecessary d_unhashed() check from __d_lookup_rcu\n  vfs: clean up __d_lookup_rcu() and dentry_cmp() interfaces\n"
    },
    {
      "commit": "b3f87b98aa3dc22cc58f970140113b270015cddb",
      "tree": "c4aec5996567ad96310f61e9244e799f41bf2625",
      "parents": [
        "041245c88a29273788e8eff1353bc6e1f56c61df",
        "1afeaf5c29aa07db25760d2fbed5c08a3aec3498"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 21 10:12:39 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon May 21 10:12:39 2012 -0400"
      },
      "message": "Merge branch \u0027bugfixes\u0027 into nfs-for-next\n"
    },
    {
      "commit": "17eea0df5f7068fc04959e655ef8f0a0ed097e19",
      "tree": "d44b5cceb813dddfd1e62fe9f92556cf113d62fd",
      "parents": [
        "9b905fe68433378032b851c4d81a59187689fa52",
        "76e10d158efb6d4516018846f60c2ab5501900bc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 20 21:53:04 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 20 21:53:04 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "9b905fe68433378032b851c4d81a59187689fa52",
      "tree": "307801197cf9ce8b520a026962bf1e73f0019f9f",
      "parents": [
        "f7142e6c226076fd40c2ebaad9fb0c9a631b790e"
      ],
      "author": {
        "name": "Eldad Zack",
        "email": "eldad@fogrefinery.com",
        "time": "Sun May 20 01:59:33 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 20 16:58:39 2012 -0400"
      },
      "message": "ipv6/exthdrs: strict Pad1 and PadN check\n\nThe following tightens the padding check from commit\nc1412fce7eccae62b4de22494f6ab3ff8a90c0c6 :\n\n* Take into account combinations of consecutive Pad1 and PadN.\n\n* Catch the corner case of when only padding is present in the\n  header, when the extention header length is 0 (i.e., 8 bytes).\n  In this case, the header would have exactly 6 bytes of padding:\n\n+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n:  Next Header  : Hdr Ext Len\u003d0 :                               :\n+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +\n:                        Padding (Pad1 or PadN)                 :\n+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n\nSigned-off-by: Eldad Zack \u003celdad@fogrefinery.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "413c27d8697751f72d2d6cf289140a8e060a8032",
      "tree": "ed13d36cfc8651b542eca7c1f92e4f9a09fe6e7d",
      "parents": [
        "b37f4d7b011955c84cdbb8c370927d93701fb174"
      ],
      "author": {
        "name": "Eldad Zack",
        "email": "eldad@fogrefinery.com",
        "time": "Sat May 19 14:13:18 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 20 04:06:17 2012 -0400"
      },
      "message": "net/ipv4: replace simple_strtoul with kstrtoul\n\nReplace simple_strtoul with kstrtoul in three similar occurrences, all setup\nhandlers:\n* route.c: set_rhash_entries\n* tcp.c: set_thash_entries\n* udp.c: set_uhash_entries\n\nAlso check if the conversion failed.\n\nSigned-off-by: Eldad Zack \u003celdad@fogrefinery.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b37f4d7b011955c84cdbb8c370927d93701fb174",
      "tree": "47f2b6d1175211041a85021ea4a588067e3f9f75",
      "parents": [
        "88c16dc3bb61a1c1e9d4c78f45cc2107bc8d5249"
      ],
      "author": {
        "name": "Eldad Zack",
        "email": "eldad@fogrefinery.com",
        "time": "Sat May 19 14:04:39 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 20 04:06:16 2012 -0400"
      },
      "message": "net/ipv4/ipconfig: neaten __setup placement\n\nThe __setup macro should follow the corresponding setup handler.\n\nSigned-off-by: Eldad Zack \u003celdad@fogrefinery.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec16439e173aaf56f62bd8e175e976fbd452497b",
      "tree": "c26192b632186e2db52d8b808270f22fc1d1ac81",
      "parents": [
        "3cc4949269e01f39443d0fcfffb5bc6b47878d45"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Sat May 19 03:02:35 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 19 18:34:57 2012 -0400"
      },
      "message": "ipv6: use skb coalescing in reassembly\n\nip6_frag_reasm() can use skb_try_coalesce() to build optimized skb,\nreducing memory used by them (truesize), and reducing number of cache\nline misses and overhead for the consumer.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3cc4949269e01f39443d0fcfffb5bc6b47878d45",
      "tree": "c83d9410536d3fa4308781a8f36baab09a2144a1",
      "parents": [
        "bad43ca8325f493dcaa0896c2f036276af059c7e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Sat May 19 03:02:20 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 19 18:34:57 2012 -0400"
      },
      "message": "ipv4: use skb coalescing in defragmentation\n\nip_frag_reasm() can use skb_try_coalesce() to build optimized skb,\nreducing memory used by them (truesize), and reducing number of cache\nline misses and overhead for the consumer.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bad43ca8325f493dcaa0896c2f036276af059c7e",
      "tree": "ee27a3b3eeef928f22cd500a32a23e4db60a5584",
      "parents": [
        "3dde25988292864a582b4a9389b1ae835aa3fe80"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Sat May 19 03:02:02 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 19 18:34:57 2012 -0400"
      },
      "message": "net: introduce skb_try_coalesce()\n\nMove tcp_try_coalesce() protocol independent part to\nskb_try_coalesce().\n\nskb_try_coalesce() can be used in IPv4 defrag and IPv6 reassembly,\nto build optimized skbs (less sk_buff, and possibly less \u0027headers\u0027)\n\nskb_try_coalesce() is zero copy, unless the copy can fit in destination\nheader (its a rare case)\n\nkfree_skb_partial() is also moved to net/core/skbuff.c and exported,\nbecause IPv6 will need it in patch (ipv6: use skb coalescing in\nreassembly).\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3dde25988292864a582b4a9389b1ae835aa3fe80",
      "tree": "885a73f939ed00c1dbef112f9bb6a41fe08d07d1",
      "parents": [
        "9a52e97e24d6da744e6c3332b8dd478a4974983e"
      ],
      "author": {
        "name": "Jeffrin Jose",
        "email": "ahiliation@yahoo.co.in",
        "time": "Sat May 19 01:59:04 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 19 18:34:57 2012 -0400"
      },
      "message": "net:ipv6:fixed space issues relating to operators.\n\nFixed space issues relating to operators found by\ncheckpatch.pl tool in net/ipv6/udp.c\n\nSigned-off-by: Jeffrin Jose \u003cahiliation@yahoo.co.in\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a52e97e24d6da744e6c3332b8dd478a4974983e",
      "tree": "89d5004660653dbf94c9f1cda31a4adf93e6e334",
      "parents": [
        "a34a101e1e6365638b02ea83a38d7a4cb228dc04"
      ],
      "author": {
        "name": "Jeffrin Jose",
        "email": "ahiliation@yahoo.co.in",
        "time": "Sat May 19 01:45:21 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 19 18:34:57 2012 -0400"
      },
      "message": "net:ipv6:fixed a trailing white space issue.\n\nFixed a trailing white space issue found by\ncheckpatch.pl tool in net/ipv6/udp.c\n\nSigned-off-by: Jeffrin Jose \u003cahiliation@yahoo.co.in\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1afeaf5c29aa07db25760d2fbed5c08a3aec3498",
      "tree": "b8fefaefd78e8d4cc3378378e968987297f73c04",
      "parents": [
        "6b34309936ed5c85cbe5868655814065f42c2f38"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 19 12:12:53 2012 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat May 19 12:12:53 2012 -0400"
      },
      "message": "sunrpc: fix loss of task-\u003etk_status after rpc_delay call in xprt_alloc_slot\n\nxprt_alloc_slot will call rpc_delay() to make the task wait a bit before\nretrying when it gets back an -ENOMEM error from xprt_dynamic_alloc_slot.\nThe problem is that rpc_delay will clear the task-\u003etk_status, causing\ncall_reserveresult to abort the task.\n\nThe solution is simply to let call_reserveresult handle the ENOMEM error\ndirectly.\n\nReported-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: stable@vger.kernel.org [\u003e\u003d 3.1]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a34a101e1e6365638b02ea83a38d7a4cb228dc04",
      "tree": "6757af0793572021c9284bccdae87a8a737e62ab",
      "parents": [
        "a1e8b307986ab27b7608f107aec71d3569650f46"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri May 18 21:51:44 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 19 04:02:12 2012 -0400"
      },
      "message": "ipv6: disable GSO on sockets hitting dst_allfrag\n\nIf the allfrag feature has been set on a host route (due to an ICMPv6\nPacket Too Big received indicating a MTU of less than 1280), we hit a\nvery slow behavior in TCP stack, because all big packets are dropped and\nonly a retransmit timer is able to push one MSS frame every 200 ms.\n\nOne way to handle this is to disable GSO on the socket the first time a\nsuper packet is dropped. Adding a specific dst_allfrag() in the fast\npath is probably overkill since the dst_allfrag() case almost never\nhappen.\n\nResult on netperf TCP_STREAM, one flow :\n\nBefore : 60 kbit/sec\nAfter : 1.6 Gbit/sec\n\nReported-by: Tore Anderson \u003ctore@fud.no\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nTested-by: Tore Anderson \u003ctore@fud.no\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4adb9c4ac88d874105ac31161c9c55004a972f87",
      "tree": "f46b587ba9dd2def1cdd89fb3cdc3825a4c5212a",
      "parents": [
        "968d70184d599abc7fe0a89447ef4e183e0135c4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri May 18 20:49:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 19 02:51:00 2012 -0400"
      },
      "message": "net: napi_frags_skb() is static\n\nNo need to export napi_frags_skb()\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a50feda546ac03415707a9bbcac8d6b20714db21",
      "tree": "3c1f5d64399e713c97545ca39984d4d2efe6ca5d",
      "parents": [
        "32e9072b92a1c556a303d8d0e0d64feb667e601d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri May 18 18:57:34 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 19 01:08:16 2012 -0400"
      },
      "message": "ipv6: bool/const conversions phase2\n\nMostly bool conversions, some inline removals and const additions.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32e9072b92a1c556a303d8d0e0d64feb667e601d",
      "tree": "0d9e1b50ea9e7fed9cf43dad1261c82c49838c70",
      "parents": [
        "72e843bb09d4533208aa5573861a983c46914019"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 19 00:51:04 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 19 00:51:04 2012 -0400"
      },
      "message": "ipx: Remove spurious NULL checking in ipx_ioctl().\n\nWe already unconditionally dereference \u0027sk\u0027 via lock_sock(sk) earlier\nin this function, and our caller (sock_do_ioctl()) makes takes similar\nliberties.\n\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72e843bb09d4533208aa5573861a983c46914019",
      "tree": "989fec0c30d80aef7e036c01aa12c24977f50488",
      "parents": [
        "6fba180ee8b1c86b03d33013b4c2fc54fc5fc248"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri May 18 11:02:15 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 18 23:49:33 2012 -0400"
      },
      "message": "ipv6: ip6_fragment() should check CHECKSUM_PARTIAL\n\nQuoting Tore Anderson from :\n\nIf the allfrag feature has been set on a host route (due to an ICMPv6\nPacket Too Big received indicating a MTU of less than 1280),\nTCP SYN/ACK packets to that destination appears to get an incorrect\nTCP checksum. This in turn means they are thrown away as invalid.\n\nIn the case of an IPv4 client behind a link with a MTU of less than\n1260, accessing an IPv6 server through a stateless translator,\nthis means that the client can only download a single large file\nfrom the server, because once it is in the server\u0027s routing cache\nwith the allfrag feature set, new TCP connections can no longer\nbe established.\n\n\u003c/endquote\u003e\n\nIt appears ip6_fragment() doesn\u0027t handle CHECKSUM_PARTIAL properly.\n\nAs network drivers are not prepared to fetch correct transport header, a\nsafe fix is to call skb_checksum_help() before fragmenting packet.\n\nReported-by: Tore Anderson \u003ctore@fud.no\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nTested-by: Tore Anderson \u003ctore@fud.no\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "35f9f8a09e1e88e31bd34a1e645ca0e5f070dd5c",
      "tree": "c7bc4a1dba445ea2e250decbf9b88282ee37cb3f",
      "parents": [
        "3da54776e2c0385c32d143fd497a7f40a88e29dd"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Wed May 16 15:16:38 2012 -0500"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Fri May 18 17:36:00 2012 -0700"
      },
      "message": "libceph: avoid unregistering osd request when not registered\n\nThere is a race between two __unregister_request() callers: the\nreply path and the ceph_osdc_wait_request().  If we get a reply\n*and* the timeout expires at roughly the same time, both callers\nwill try to unregister the request, and the second one will do bad\nthings.\n\nSimply check if the request is still already unregistered; if so,\nreturn immediately and do nothing.\n\nFixes http://tracker.newdream.net/issues/2420\n\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\nReviewed-by: Alex Elder \u003celder@inktank.com\u003e\n"
    },
    {
      "commit": "3da54776e2c0385c32d143fd497a7f40a88e29dd",
      "tree": "4dac17103404f8f5a967c6855bcb9891080a600b",
      "parents": [
        "dac1e716c60161867a47745bca592987ca3a9cb2"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:39 2012 -0500"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Fri May 18 17:35:59 2012 -0700"
      },
      "message": "ceph: add auth buf in prepare_write_connect()\n\nMove the addition of the authorizer buffer to a connection\u0027s\nout_kvec out of get_connect_authorizer() and into its caller.  This\nway, the caller--prepare_write_connect()--can avoid adding the\nconnect header to out_kvec before it has been fully initialized.\n\nPrior to this patch, it was possible for a connect header to be\nsent over the wire before the authorizer protocol or buffer length\nfields were initialized.  An authorizer buffer associated with that\nheader could also be queued to send only after the connection header\nthat describes it was on the wire.\n\nFixes http://tracker.newdream.net/issues/2424\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "d4b1133558e0d417342d5d2c49e4c35b428ff20d",
      "tree": "8d50b39901dbcd06d181ad505f7aff76ca9388d7",
      "parents": [
        "42ea7d7f2a7356962022cdd124d9043c488ca5e2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu May 17 23:52:26 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 18 13:54:33 2012 -0400"
      },
      "message": "pktgen: fix module unload for good\n\ncommit c57b5468406 (pktgen: fix crash at module unload) did a very poor\njob with list primitives.\n\n1) list_splice() arguments were in the wrong order\n\n2) list_splice(list, head) has undefined behavior if head is not\ninitialized.\n\n3) We should use the list_splice_init() variant to clear pktgen_threads\nlist.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d7f7c0ac11bd6792b755ec76ac3befdc0767262a",
      "tree": "4f0eb783b9f597fd1b8045b8b0558f9538d629b0",
      "parents": [
        "6f532612cc2410a5079ea0f83e7a5011adfbf70d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri May 18 05:37:56 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 18 13:31:25 2012 -0400"
      },
      "message": "ipv6: remove csummode in ip6_append_data()\n\ncsummode variable is always CHECKSUM_NONE in ip6_append_data()\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f532612cc2410a5079ea0f83e7a5011adfbf70d",
      "tree": "0459fada6287120f5c47ed56c440c4d1c3e3eaa2",
      "parents": [
        "56138f50d1900b0c3d8647376e37b488b23ba53d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri May 18 05:12:12 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 18 13:31:25 2012 -0400"
      },
      "message": "net: introduce netdev_alloc_frag()\n\nFix two issues introduced in commit a1c7fff7e18f5\n( net: netdev_alloc_skb() use build_skb() )\n\n- Must be IRQ safe (non NAPI drivers can use it)\n- Must not leak the frag if build_skb() fails to allocate sk_buff\n\nThis patch introduces netdev_alloc_frag() for drivers willing to\nuse build_skb() instead of __netdev_alloc_skb() variants.\n\nFactorize code so that :\n__dev_alloc_skb() is a wrapper around __netdev_alloc_skb(), and\ndev_alloc_skb() a wrapper around netdev_alloc_skb()\n\nUse __GFP_COLD flag.\n\nAlmost all network drivers now benefit from skb-\u003ehead_frag\ninfrastructure.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92113bfde2f0982daa5a372d67b62f3d55bbc88a",
      "tree": "b5170e0f77f259c231cd105d7035203f1fa0bc1f",
      "parents": [
        "cbc264cacd08e51fd4a64b5d5b1ba48f523990d1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri May 18 08:14:11 2012 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 18 02:24:13 2012 -0400"
      },
      "message": "ipv6: bool conversions phase1\n\nipv6_opt_accepted() returns a bool, and can use const pointers\n\nipv6_addr_equal(), ipv6_addr_any(), ipv6_addr_loopback(),\nipv6_addr_orchid() return a bool.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cbc264cacd08e51fd4a64b5d5b1ba48f523990d1",
      "tree": "f51584e8a78fad165debfe1e0d01715d9f493f3b",
      "parents": [
        "28e85100ae0fd814db723aeaaa785270bf4d600d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri May 18 05:57:13 2012 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 18 01:40:27 2012 -0400"
      },
      "message": "ip_frag: struct inet_frags match() method returns a bool\n\n- match() method returns a boolean\n- return (A \u0026\u0026 B \u0026\u0026 C \u0026\u0026 D) -\u003e return A \u0026\u0026 B \u0026\u0026 C \u0026\u0026 D\n- fix indentation\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\n"
    },
    {
      "commit": "349f29d841dbae854bd7367be7c250401f974f47",
      "tree": "f451efb488cb46ecb30c3697e2daaf559bd4d603",
      "parents": [
        "09dcd604aea065b121c635e40baf4ed2ce60e3f0"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu May 17 20:59:51 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 18 01:35:08 2012 -0400"
      },
      "message": "econet: remove ancient bug ridden protocol\n\nMore spring cleaning!\n\nThe ancient Econet protocol should go. Most of the bug fixes in recent\nyears have been fixing security vulnerabilities. The hardware hasn\u0027t\nbeen made since the 90s, it is only interesting as an archeological curiosity.\n\nFor the truly curious, or insomniac, go read up on it.\n  http://en.wikipedia.org/wiki/Econet\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a508da6cc0093171833efb8376b00473f24221b9",
      "tree": "d2578008abfaf33a59da65a64b916c62ee79eedd",
      "parents": [
        "a5e371f61ad33c07b28e7c9b60c78d71fdd34e2a"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu May 17 10:25:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 17 18:45:20 2012 -0400"
      },
      "message": "lapb: Neaten debugging\n\nEnable dynamic debugging and remove a bunch of #ifdef/#endifs.\n\nAdd a lapb_dbg(level, fmt, ...) macro and replace the\nprintk(KERN_DEBUG uses.\nAdd pr_fmt and remove embedded prefixes.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bad115cfe5b509043b684d3a007ab54b80090aa1",
      "tree": "f2da25538f8fcf48ae7a74b3b040d58628b52094",
      "parents": [
        "1be5f0b7575e090fd100a98b303860879b5800de"
      ],
      "author": {
        "name": "Willy Tarreau",
        "email": "w@1wt.eu",
        "time": "Thu May 17 11:14:14 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 17 18:31:43 2012 -0400"
      },
      "message": "tcp: do_tcp_sendpages() must try to push data out on oom conditions\n\nSince recent changes on TCP splicing (starting with commits 2f533844\n\"tcp: allow splice() to build full TSO packets\" and 35f9c09f \"tcp:\ntcp_sendpages() should call tcp_push() once\"), I started seeing\nmassive stalls when forwarding traffic between two sockets using\nsplice() when pipe buffers were larger than socket buffers.\n\nLatest changes (net: netdev_alloc_skb() use build_skb()) made the\nproblem even more apparent.\n\nThe reason seems to be that if do_tcp_sendpages() fails on out of memory\ncondition without being able to send at least one byte, tcp_push() is not\ncalled and the buffers cannot be flushed.\n\nAfter applying the attached patch, I cannot reproduce the stalls at all\nand the data rate it perfectly stable and steady under any condition\nwhich previously caused the problem to be permanent.\n\nThe issue seems to have been there since before the kernel migrated to\ngit, which makes me think that the stalls I occasionally experienced\nwith tux during stress-tests years ago were probably related to the\nsame issue.\n\nThis issue was first encountered on 3.0.31 and 3.2.17, so please backport\nto -stable.\n\nSigned-off-by: Willy Tarreau \u003cw@1wt.eu\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\n"
    },
    {
      "commit": "cad456d5abbb6307be7a658d701bc44ca689e906",
      "tree": "116ce24c03c83876692e79ee9436dda976f86d84",
      "parents": [
        "a1c7fff7e18f59e684e07b0f9a770561cd39f395"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Thu May 17 10:04:00 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 17 16:09:07 2012 -0400"
      },
      "message": "drop_monitor: convert to modular building\n\nWhen I first wrote drop monitor I wrote it to just build monolithically.  There\nis no reason it can\u0027t be built modularly as well, so lets give it that\nflexibiity.\n\nI\u0027ve tested this by building it as both a module and monolithically, and it\nseems to work quite well\n\nChange notes:\n\nv2)\n* fixed for_each_present_cpu loops to be more correct as per Eric D.\n* Converted exit path failures to BUG_ON as per Ben H.\n\nv3)\n* Converted del_timer to del_timer_sync to close race noted by Ben H.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nReviewed-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1c7fff7e18f59e684e07b0f9a770561cd39f395",
      "tree": "99b006ffc7423205ded8616a21eb955f1fe046dd",
      "parents": [
        "1de5a71c3e6eae2fbf15e9a9e13a8fc269bb82bc"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu May 17 07:34:16 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 17 15:52:40 2012 -0400"
      },
      "message": "net: netdev_alloc_skb() use build_skb()\n\nnetdev_alloc_skb() is used by networks driver in their RX path to\nallocate an skb to receive an incoming frame.\n\nWith recent skb-\u003ehead_frag infrastructure, it makes sense to change\nnetdev_alloc_skb() to use build_skb() and a frag allocator.\n\nThis permits a zero copy splice(socket-\u003epipe), and better GRO or TCP\ncoalescing.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1de5a71c3e6eae2fbf15e9a9e13a8fc269bb82bc",
      "tree": "b28a39f932993a61855be0ffbd8844a7bddb645c",
      "parents": [
        "048b899ce38c3e1db88cb4464547090ef28630f8"
      ],
      "author": {
        "name": "Eldad Zack",
        "email": "eldad@fogrefinery.com",
        "time": "Thu May 17 06:00:25 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 17 15:49:51 2012 -0400"
      },
      "message": "ipv6: correct the ipv6 option name - Pad0 to Pad1\n\nThe padding destination or hop-by-hop option is called Pad1 and not Pad0.\n\nSee RFC2460 (4.2) or the IANA ipv6-parameters registry:\nhttp://www.iana.org/assignments/ipv6-parameters/ipv6-parameters.xml\n\nSigned-off-by: Eldad Zack \u003celdad@fogrefinery.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2a385d627e1549da4b43a8b3dfe370589766e1c",
      "tree": "d61e9913497c6c14406032f6a0822738707f1abf",
      "parents": [
        "e005d193d55ee5f757b13306112d8c23aac27a88"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed May 16 23:15:34 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 17 14:59:59 2012 -0400"
      },
      "message": "tcp: bool conversions\n\nbool conversions where possible.\n\n__inline__ -\u003e inline\n\nspace cleanups\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dac1e716c60161867a47745bca592987ca3a9cb2",
      "tree": "8c7b832d6580569c3725430cd93d57afcb674101",
      "parents": [
        "729796be9190f57ca40ccca315e8ad34a1eb8fef"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:39 2012 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu May 17 08:18:13 2012 -0500"
      },
      "message": "ceph: rename prepare_connect_authorizer()\n\nChange the name of prepare_connect_authorizer().  The next\npatch is going to make this function no longer add anything to the\nconnection\u0027s out_kvec, so it will no longer fit the pattern of\nthe rest of the prepare_connect_*() functions.\n\nIn addition, pass the address of a variable that will hold the\nauthorization protocol to use.  Move the assignment of that to the\nconnection\u0027s out_connect structure into prepare_write_connect().\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "729796be9190f57ca40ccca315e8ad34a1eb8fef",
      "tree": "7b65cc553baf72fe3efc23f8ecc2228e1c0e782d",
      "parents": [
        "8f43fb53894079bf0caab6e348ceaffe7adc651a"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:39 2012 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu May 17 08:18:13 2012 -0500"
      },
      "message": "ceph: return pointer from prepare_connect_authorizer()\n\nChange prepare_connect_authorizer() so it returns a pointer (or\npointer-coded error).\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "8f43fb53894079bf0caab6e348ceaffe7adc651a",
      "tree": "248ffc7366b569d13049a31e2cb1c88750d45ead",
      "parents": [
        "a3530df33eb91d787d08c7383a0a9982690e42d0"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:39 2012 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu May 17 08:18:13 2012 -0500"
      },
      "message": "ceph: use info returned by get_authorizer\n\nRather than passing a bunch of arguments to be filled in with the\ncontent of the ceph_auth_handshake buffer now returned by the\nget_authorizer method, just use the returned information in the\ncaller, and drop the unnecessary arguments.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "a3530df33eb91d787d08c7383a0a9982690e42d0",
      "tree": "3022fc82ea661654bfca48fae32a7a1584dba1e8",
      "parents": [
        "a255651d4cad89f1a606edd36135af892ada4f20"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:39 2012 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu May 17 08:18:13 2012 -0500"
      },
      "message": "ceph: have get_authorizer methods return pointers\n\nHave the get_authorizer auth_client method return a ceph_auth\npointer rather than an integer, pointer-encoding any returned\nerror value.  This is to pave the way for making use of the\nreturned value in an upcoming patch.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "a255651d4cad89f1a606edd36135af892ada4f20",
      "tree": "6d2c694b336f948272349e5de24be70460a94826",
      "parents": [
        "74f1869f76d043bad12ec03b4d5f04a8c3d1f157"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:39 2012 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu May 17 08:18:13 2012 -0500"
      },
      "message": "ceph: ensure auth ops are defined before use\n\nIn the create_authorizer method for both the mds and osd clients,\nthe auth_client-\u003eops pointer is blindly dereferenced.  There is no\nobvious guarantee that this pointer has been assigned.  And\nfurthermore, even if the ops pointer is non-null there is definitely\nno guarantee that the create_authorizer or destroy_authorizer\nmethods are defined.\n\nAdd checks in both routines to make sure they are defined (non-null)\nbefore use.  Add similar checks in a few other spots in these files\nwhile we\u0027re at it.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "74f1869f76d043bad12ec03b4d5f04a8c3d1f157",
      "tree": "fcce410d255e2660fc82532c70de1b2f60a956c6",
      "parents": [
        "6c4a19158b96ea1fb8acbe0c1d5493d9dcd2f147"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:39 2012 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu May 17 08:18:12 2012 -0500"
      },
      "message": "ceph: messenger: reduce args to create_authorizer\n\nMake use of the new ceph_auth_handshake structure in order to reduce\nthe number of arguments passed to the create_authorizor method in\nceph_auth_client_ops.  Use a local variable of that type as a\nshorthand in the get_authorizer method definitions.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "6c4a19158b96ea1fb8acbe0c1d5493d9dcd2f147",
      "tree": "5fe6418eb57bf4e84f1eda9606a4a045ff08dcba",
      "parents": [
        "ed96af646011412c2bf1ffe860db170db355fae5"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:38 2012 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu May 17 08:18:12 2012 -0500"
      },
      "message": "ceph: define ceph_auth_handshake type\n\nThe definitions for the ceph_mds_session and ceph_osd both contain\nfive fields related only to \"authorizers.\"  Encapsulate those fields\ninto their own struct type, allowing for better isolation in some\nupcoming patches.\n\nFix the #includes in \"linux/ceph/osd_client.h\" to lay out their more\ncomplete canonical path.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "ed96af646011412c2bf1ffe860db170db355fae5",
      "tree": "17c491072634a955087f71cfc020ea0fb3ea9382",
      "parents": [
        "b1c6b9803f5491e94041e6da96bc9dec3870e792"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:38 2012 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu May 17 08:18:12 2012 -0500"
      },
      "message": "ceph: messenger: check return from get_authorizer\n\nIn prepare_connect_authorizer(), a connection\u0027s get_authorizer\nmethod is called but ignores its return value.  This function can\nreturn an error, so check for it and return it if that ever occurs.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "b1c6b9803f5491e94041e6da96bc9dec3870e792",
      "tree": "55cde98a6667f811a7529adf02c24e683ba80cdc",
      "parents": [
        "5a0f8fdd8a0ebe320952a388331dc043d7e14ced"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:38 2012 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu May 17 08:18:12 2012 -0500"
      },
      "message": "ceph: messenger: rework prepare_connect_authorizer()\n\nChange prepare_connect_authorizer() so it returns without dropping\nthe connection mutex if the connection has no get_authorizer method.\n\nUse the symbolic CEPH_AUTH_UNKNOWN instead of 0 when assigning\nauthorization protocols.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "5a0f8fdd8a0ebe320952a388331dc043d7e14ced",
      "tree": "64218dc46ca530cdd363f58d7a20e9c8dad23375",
      "parents": [
        "e10c758e4031a801ea4d2f8fb39bf14c2658d74b"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 21:51:59 2012 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu May 17 08:18:12 2012 -0500"
      },
      "message": "ceph: messenger: check prepare_write_connect() result\n\nprepare_write_connect() can return an error, but only one of its\ncallers checks for it.  All the rest are in functions that already\nreturn errors, so it should be fine to return the error if one\ngets returned.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "e10c758e4031a801ea4d2f8fb39bf14c2658d74b",
      "tree": "db67e6d84e5fa76b4d573d4f551019141115af01",
      "parents": [
        "e825a66df97776d30a48a187e3a986736af43945"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:38 2012 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu May 17 08:18:12 2012 -0500"
      },
      "message": "ceph: don\u0027t set WRITE_PENDING too early\n\nprepare_write_connect() prepares a connect message, then sets\nWRITE_PENDING on the connection.  Then *after* this, it calls\nprepare_connect_authorizer(), which updates the content of the\nconnection buffer already queued for sending.  It\u0027s also possible it\nwill result in prepare_write_connect() returning -EAGAIN despite the\nWRITE_PENDING big getting set.\n\nFix this by preparing the connect authorizer first, setting the\nWRITE_PENDING bit only after that is done.\n\nPartially addresses http://tracker.newdream.net/issues/2424\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "e825a66df97776d30a48a187e3a986736af43945",
      "tree": "4c9ed5c548818b407d7705f6bf02000ac3821132",
      "parents": [
        "41b90c00858129f52d08e6a05c9cfdb0f2bd074d"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:38 2012 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu May 17 08:18:12 2012 -0500"
      },
      "message": "ceph: drop msgr argument from prepare_write_connect()\n\nIn all cases, the value passed as the msgr argument to\nprepare_write_connect() is just con-\u003emsgr.  Just get the msgr\nvalue from the ceph connection and drop the unneeded argument.\n\nThe only msgr passed to prepare_write_banner() is also therefore\njust the one from con-\u003emsgr, so change that function to drop the\nmsgr argument as well.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "41b90c00858129f52d08e6a05c9cfdb0f2bd074d",
      "tree": "167a416ff234fcec5af9d08e21115bb8ca3fdc9f",
      "parents": [
        "84fb3adf6413862cff51d8af3fce5f0b655586a2"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:38 2012 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu May 17 08:18:12 2012 -0500"
      },
      "message": "ceph: messenger: send banner in process_connect()\n\nprepare_write_connect() has an argument indicating whether a banner\nshould be sent out before sending out a connection message.  It\u0027s\nonly ever set in one of its callers, so move the code that arranges\nto send the banner into that caller and drop the \"include_banner\"\nargument from prepare_write_connect().\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "84fb3adf6413862cff51d8af3fce5f0b655586a2",
      "tree": "348b9c1a0c0b3b15ef78ccd2caa942710fe3b4a7",
      "parents": [
        "d329156f16306449c273002486c28de3ddddfd89"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:38 2012 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu May 17 08:18:12 2012 -0500"
      },
      "message": "ceph: messenger: reset connection kvec caller\n\nReset a connection\u0027s kvec fields in the caller rather than in\nprepare_write_connect().   This ends up repeating a few lines of\ncode but it\u0027s improving the separation between distinct operations\non the connection, which we can take advantage of later.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "d329156f16306449c273002486c28de3ddddfd89",
      "tree": "ceba5b2bb6d7ba09194f519628cd0031bdad9e63",
      "parents": [
        "c047be09349752b8a4dac27bc9f130bf4d592f11"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed May 16 15:16:38 2012 -0500"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@dreamhost.com",
        "time": "Thu May 17 08:18:12 2012 -0500"
      },
      "message": "libceph: don\u0027t reset kvec in prepare_write_banner()\n\nMove the kvec reset for a connection out of prepare_write_banner and\ninto its only caller.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "e005d193d55ee5f757b13306112d8c23aac27a88",
      "tree": "46a17d725e100c162198bb283581866c9ffa4a47",
      "parents": [
        "675418d5187785d3d996ca15fd700f5e02901cbc"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed May 16 19:58:40 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 17 05:00:04 2012 -0400"
      },
      "message": "net: core: Use pr_\u003clevel\u003e\n\nUse the current logging style.\n\nThis enables use of dynamic debugging as well.\n\nConvert printk(KERN_\u003cLEVEL\u003e to pr_\u003clevel\u003e.\nAdd pr_fmt. Remove embedded prefixes, use\n%s, __func__ instead.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "675418d5187785d3d996ca15fd700f5e02901cbc",
      "tree": "9771e8a4b13307051a7af653b68d4726956b962a",
      "parents": [
        "f342cda7789381236a6c94926a9ca177a9098867"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed May 16 19:28:38 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 17 05:00:04 2012 -0400"
      },
      "message": "net: ipv6: ndisc: Neaten ND_PRINTx macros\n\nWhy use several macros when one will do?\n\nConvert the multiple ND_PRINTKx macros to a single\nND_PRINTK macro.  Use the new net_\u003clevel\u003e_ratelimited\nmechanism too.\n\nAdd pr_fmt with \"ICMPv6: \" as prefix.\nRemove embedded ICMPv6 prefixes from messages.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f342cda7789381236a6c94926a9ca177a9098867",
      "tree": "aa13a4555ba9be67cffedebfeec9834aff1ae142",
      "parents": [
        "dc6b9b78234fecdc6d2ca5e1629185718202bcf5"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed May 16 17:50:41 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 17 05:00:04 2012 -0400"
      },
      "message": "pktgen: Use pr_debug\n\nConvert printk(KERN_DEBUG to pr_debug which can\nenable dynamic debugging.\n\nRemove embedded prefixes from the conversions as\npr_fmt adds them.\n\nAlign arguments.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc6b9b78234fecdc6d2ca5e1629185718202bcf5",
      "tree": "81faf65c9cd9747d8dfe2828ff624507459bdf24",
      "parents": [
        "1f352920b908247273a7c1937fd8c341cc1cedb1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed May 16 22:48:15 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 17 04:50:21 2012 -0400"
      },
      "message": "net: include/net/sock.h cleanup\n\nbool/const conversions where possible\n\n__inline__ -\u003e inline\n\nspace cleanups\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "a4ca44fa578c7c7fd123b7fba3c2c98d4ba4e53d"
}
