)]}'
{
  "log": [
    {
      "commit": "da91981bee8de20bcd06ee0dbddd53d62d23b1bd",
      "tree": "4c99ba1fa3a44614b434626b7ebfe1f4ce677e93",
      "parents": [
        "9ade22861f922344788321e374c542c92bc049b6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 02:04:50 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:49 2011 -0800"
      },
      "message": "ipv4: Use flowi4 in ipmr code.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ade22861f922344788321e374c542c92bc049b6",
      "tree": "c0bc23180b3f51104745d263a106c62b4bec11a4",
      "parents": [
        "9d6ec938019c6b16cb9ec96598ebe8f20de435fe"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 02:02:42 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:49 2011 -0800"
      },
      "message": "ipv4: Use flowi4 in FIB layer.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d6ec938019c6b16cb9ec96598ebe8f20de435fe",
      "tree": "9b850eb7fd48a6e5ffc15f47afd2e3edc93f5290",
      "parents": [
        "68a5e3dd0a0056d8b349f9eea3756adda53ec17a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 01:12:47 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:48 2011 -0800"
      },
      "message": "ipv4: Use flowi4 in public route lookup interfaces.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68a5e3dd0a0056d8b349f9eea3756adda53ec17a",
      "tree": "cca890c41eb5b914d026bbfcc38645a1a402e10b",
      "parents": [
        "22bd5b9b13f2931ac80949f8bfbc40e8cab05be7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 11 20:07:33 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:48 2011 -0800"
      },
      "message": "ipv4: Use struct flowi4 internally in routing lookups.\n\nWe will change the externally visible APIs next.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22bd5b9b13f2931ac80949f8bfbc40e8cab05be7",
      "tree": "d30639ce43efe3186461b0fff962f80eb2417c61",
      "parents": [
        "59b1a94c9a034e63a5e030a5154be1d4d84677d9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 11 19:54:08 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:47 2011 -0800"
      },
      "message": "ipv4: Pass ipv4 flow objects into fib_lookup() paths.\n\nTo start doing these conversions, we need to add some temporary\nflow4_* macros which will eventually go away when all the protocol\ncode paths are changed to work on AF specific flowi objects.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56bb8059e1a8bf291054c26367564dc302f6fd8f",
      "tree": "56ec5ae2c1856208ccf97a0cd6b21ab0587f34cf",
      "parents": [
        "6281dcc94a96bd73017b2baa8fa83925405109ef"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:44:35 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:46 2011 -0800"
      },
      "message": "net: Break struct flowi out into AF specific instances.\n\nNow we have struct flowi4, flowi6, and flowidn for each address\nfamily.  And struct flowi is just a union of them all.\n\nIt might have been troublesome to convert flow_cache_uli_match() but\nas it turns out this function is completely unused and therefore can\nbe simply removed.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6281dcc94a96bd73017b2baa8fa83925405109ef",
      "tree": "8deee4d66d256d10ea25f66520eb96b1fade1545",
      "parents": [
        "08704bcbf022786532b5f188935ab6619906049f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:43:55 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:46 2011 -0800"
      },
      "message": "net: Make flowi ports AF dependent.\n\nCreate two sets of port member accessors, one set prefixed by fl4_*\nand the other prefixed by fl6_*\n\nThis will let us to create AF optimal flow instances.\n\nIt will work because every context in which we access the ports,\nwe have to be fully aware of which AF the flowi is anyways.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d28f42c1bd4bb2363d88df74d0128b4da135b4a",
      "tree": "cb2e652fe79a2bc307e871bc2d3fa51cc8051e45",
      "parents": [
        "ca116922afa8cc5ad46b00c0a637b1cde5ca478a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:29:39 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:44 2011 -0800"
      },
      "message": "net: Put flowi_* prefix on AF independent members of struct flowi\n\nI intend to turn struct flowi into a union of AF specific flowi\nstructs.  There will be a common structure that each variant includes\nfirst, much like struct sock_common.\n\nThis is the first step to move in that direction.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca116922afa8cc5ad46b00c0a637b1cde5ca478a",
      "tree": "d42c44ec4153750e40ee509046af9030c6621eb8",
      "parents": [
        "fbef0a40919a80eb8a02fe9d3b96dfdcdebf4317"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 11 15:59:31 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:43 2011 -0800"
      },
      "message": "xfrm: Eliminate \"fl\" and \"pol\" args to xfrm_bundle_ok().\n\nThere is only one caller of xfrm_bundle_ok(), and that always passes these\nparameters as NULL.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78fbfd8a653ca972afe479517a40661bfff6d8c3",
      "tree": "9dccc5c16bf269d53d8499064ec95a998e84c646",
      "parents": [
        "1561747ddf9d28185548687b11aae7074d6129c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:00:52 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:42 2011 -0800"
      },
      "message": "ipv4: Create and use route lookup helpers.\n\nThe idea here is this minimizes the number of places one has to edit\nin order to make changes to how flows are defined and used.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "409ec36c320d580a036045e603f96286c362c609",
      "tree": "3dd9b3569799f7962b523a068052445e2d2c51aa",
      "parents": [
        "1b7fe59322bef9e7a2c05b64a07a66b875299736",
        "8d5eab5aa676378b4c9daa62d10d08a0bca04677"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 11 14:11:11 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 11 14:11:11 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "1b7fe59322bef9e7a2c05b64a07a66b875299736",
      "tree": "1e3a1ca9931e41a7bf6bdec0ddbabe1f6c466b02",
      "parents": [
        "ff3fccb3d05756ec9fb44350b059d31a5e8e0fdc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 17:01:16 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 17:03:45 2011 -0800"
      },
      "message": "ipv4: Kill flowi arg to fib_select_multipath()\n\nCompletely unused.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff3fccb3d05756ec9fb44350b059d31a5e8e0fdc",
      "tree": "a1b7f7d24e90ebc0f057843df9bd65bbd435a880",
      "parents": [
        "dbdd9a52e38a4a93adfa4d0278801cce4fad98eb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 16:23:24 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 17:01:01 2011 -0800"
      },
      "message": "ipv4: Remove unnecessary test from ip_mkroute_input()\n\nfl-\u003eoif will always be zero on the input path, so there is no reason\nto test for that.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dbdd9a52e38a4a93adfa4d0278801cce4fad98eb",
      "tree": "a223ba84f33976b0d2c17d3177cbe976a3c948fc",
      "parents": [
        "33175d84ee3fa29991adb80513683e010769e807"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 16:34:38 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 16:37:26 2011 -0800"
      },
      "message": "ipv4: Remove redundant RCU locking in ip_check_mc().\n\nAll callers are under rcu_read_lock() protection already.\n\nRename to ip_check_mc_rcu() to make it even more clear.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33175d84ee3fa29991adb80513683e010769e807",
      "tree": "3731f61cf82451b6892cf1368701e57e35d92908",
      "parents": [
        "c5908939b2738bafe1b309bc2465cb9f2e6184c5",
        "6dfbd87a20a737641ef228230c77f4262434fa24"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:26:00 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:26:00 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x_cmn.c\n"
    },
    {
      "commit": "6dfbd87a20a737641ef228230c77f4262434fa24",
      "tree": "0ebffefdd7ded0a2919426c0b7b87bc63f3d321e",
      "parents": [
        "bef6e7e76868ab454d5e83635a4a7a1961c74fb5"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Mar 10 11:43:19 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:18:48 2011 -0800"
      },
      "message": "ip6ip6: autoload ip6 tunnel\n\nAdd necessary alias to autoload ip6ip6 tunnel module.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bef6e7e76868ab454d5e83635a4a7a1961c74fb5",
      "tree": "1a7417b9dde942cc71f87c02688c6ac6b0e57a72",
      "parents": [
        "dcbcdf22f500ac6e4ec06485341024739b9dc241",
        "9179746652faf0aba07b8b7f770dcf29892a24c6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:00:44 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 14:00:44 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "dcbcdf22f500ac6e4ec06485341024739b9dc241",
      "tree": "71492abd2ba95b51fb0d20e63e0164eb6c3f7a49",
      "parents": [
        "7343ff31ebf01691ea4515d3126467434b9d22d6"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Mar 10 13:45:57 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 13:45:57 2011 -0800"
      },
      "message": "net: bridge builtin vs. ipv6 modular\n\nWhen configs BRIDGE\u003dy and IPV6\u003dm, this build error occurs:\n\nbr_multicast.c:(.text+0xa3341): undefined reference to `ipv6_dev_get_saddr\u0027\n\nBRIDGE_IGMP_SNOOPING is boolean; if it were tristate, then adding\n\tdepends on IPV6 || IPV6\u003dn\nto BRIDGE_IGMP_SNOOPING would be a good fix.  As it is currently,\nmaking BRIDGE depend on the IPV6 config works.\n\nReported-by: Patrick Schaaf \u003cnetdev@bof.de\u003e\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a252bebe22155313ccdadc20b79f67a239dc9ecb",
      "tree": "d0563c42cfa57029e3020fdae5afb458c9673dae",
      "parents": [
        "cc7e17ea0427a5df319e43606a3d6c53b13a6e9c"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Mar 10 00:40:17 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 10 00:40:17 2011 -0800"
      },
      "message": "tcp: mark tcp_congestion_ops read_mostly\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc7e17ea0427a5df319e43606a3d6c53b13a6e9c",
      "tree": "3a4030df19e212619ce4437c2100a23a35e759dd",
      "parents": [
        "67e28ffd864eebbaf48b404d0a8cb4edd2bdc924"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 20:57:50 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 20:57:50 2011 -0800"
      },
      "message": "ipv4: Optimize flow initialization in fib_validate_source().\n\nLike in commit 44713b67db10c774f14280c129b0d5fd13c70cf2\n(\"ipv4: Optimize flow initialization in output route lookup.\"\nwe can optimize the on-stack flow setup to only initialize\nthe members which are actually used.\n\nOtherwise we bzero the entire structure, then initialize\nexplicitly the first half of it.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67e28ffd864eebbaf48b404d0a8cb4edd2bdc924",
      "tree": "acd2328f3d45db16b45841e796c23815570748f6",
      "parents": [
        "2f4e1b3970973bbb57cc3a3b9d67e67c1c648c37"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 20:42:07 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 20:42:07 2011 -0800"
      },
      "message": "ipv4: Optimize flow initialization in input route lookup.\n\nLike in commit 44713b67db10c774f14280c129b0d5fd13c70cf2\n(\"ipv4: Optimize flow initialization in output route lookup.\"\nwe can optimize the on-stack flow setup to only initialize\nthe members which are actually used.\n\nOtherwise we bzero the entire structure, then initialize\nexplicitly the first half of it.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7343ff31ebf01691ea4515d3126467434b9d22d6",
      "tree": "13c8180b8aeb82363c1e7b576372c23fa2d5f955",
      "parents": [
        "03a14ab134f4811ab1475f07b1305ccaf38b690f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 19:55:25 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 19:55:25 2011 -0800"
      },
      "message": "ipv6: Don\u0027t create clones of host routes.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d29252\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d30462\n\nIn commit d80bc0fd262ef840ed4e82593ad6416fa1ba3fc4 (\"ipv6: Always\nclone offlink routes.\") we forced the kernel to always clone offlink\nroutes.\n\nThe reason we do that is to make sure we never bind an inetpeer to a\nprefixed route.\n\nThe logic turned on here has existed in the tree for many years,\nbut was always off due to a protecting CPP define.  So perhaps\nit\u0027s no surprise that there is a logic bug here.\n\nThe problem is that we canot clone a route that is already a\nhost route (ie. has DST_HOST set).  Because if we do, an identical\nentry already exists in the routing tree and therefore the\nip6_rt_ins() call is going to fail.\n\nThis sets off a series of failures and high cpu usage, because when\nip6_rt_ins() fails we loop retrying this operation a few times in\norder to handle a race between two threads trying to clone and insert\nthe same host route at the same time.\n\nFix this by simply using the route as-is when DST_HOST is set.\n\nReported-by: slash@ac.auone-net.jp\nReported-by: Ernst Sjöstrand \u003cernstp@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8909c9ad8ff03611c9c96c9a92656213e4bb495b",
      "tree": "10b023c05503a9f6a165a23b8e65d8f3e70fd42d",
      "parents": [
        "a5abba989deceb731047425812d268daf7536575"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Wed Mar 02 00:33:13 2011 +0300"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Mar 10 10:25:19 2011 +1100"
      },
      "message": "net: don\u0027t allow CAP_NET_ADMIN to load non-netdev kernel modules\n\nSince a8f80e8ff94ecba629542d9b4b5f5a8ee3eb565c any process with\nCAP_NET_ADMIN may load any module from /lib/modules/.  This doesn\u0027t mean\nthat CAP_NET_ADMIN is a superset of CAP_SYS_MODULE as modules are\nlimited to /lib/modules/**.  However, CAP_NET_ADMIN capability shouldn\u0027t\nallow anybody load any module not related to networking.\n\nThis patch restricts an ability of autoloading modules to netdev modules\nwith explicit aliases.  This fixes CVE-2011-1019.\n\nArnd Bergmann suggested to leave untouched the old pre-v2.6.32 behavior\nof loading netdev modules by name (without any prefix) for processes\nwith CAP_SYS_MODULE to maintain the compatibility with network scripts\nthat use autoloading netdev modules by aliases like \"eth0\", \"wlan0\".\n\nCurrently there are only three users of the feature in the upstream\nkernel: ipip, ip_gre and sit.\n\n    root@albatros:~# capsh --drop\u003d$(seq -s, 0 11),$(seq -s, 13 34) --\n    root@albatros:~# grep Cap /proc/$$/status\n    CapInh:\t0000000000000000\n    CapPrm:\tfffffff800001000\n    CapEff:\tfffffff800001000\n    CapBnd:\tfffffff800001000\n    root@albatros:~# modprobe xfs\n    FATAL: Error inserting xfs\n    (/lib/modules/2.6.38-rc6-00001-g2bf4ca3/kernel/fs/xfs/xfs.ko): Operation not permitted\n    root@albatros:~# lsmod | grep xfs\n    root@albatros:~# ifconfig xfs\n    xfs: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep xfs\n    root@albatros:~# lsmod | grep sit\n    root@albatros:~# ifconfig sit\n    sit: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep sit\n    root@albatros:~# ifconfig sit0\n    sit0      Link encap:IPv6-in-IPv4\n\t      NOARP  MTU:1480  Metric:1\n\n    root@albatros:~# lsmod | grep sit\n    sit                    10457  0\n    tunnel4                 2957  1 sit\n\nFor CAP_SYS_MODULE module loading is still relaxed:\n\n    root@albatros:~# grep Cap /proc/$$/status\n    CapInh:\t0000000000000000\n    CapPrm:\tffffffffffffffff\n    CapEff:\tffffffffffffffff\n    CapBnd:\tffffffffffffffff\n    root@albatros:~# ifconfig xfs\n    xfs: error fetching interface information: Device not found\n    root@albatros:~# lsmod | grep xfs\n    xfs                   745319  0\n\nReference: https://lkml.org/lkml/2011/2/24/203\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "03a14ab134f4811ab1475f07b1305ccaf38b690f",
      "tree": "8ab4ffe226131afdafc944f9699835f5fe83a225",
      "parents": [
        "6c91afe1a984d43f922a6a70c7c390b7fb8de45e"
      ],
      "author": {
        "name": "Daniel Turull",
        "email": "daniel.turull@gmail.com",
        "time": "Wed Mar 09 14:11:00 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 14:11:00 2011 -0800"
      },
      "message": "pktgen: fix errata in show results\n\nThe units in show_results in pktgen were not correct.\nThe results are in usec but it was displayed nsec.\n\nReported-by: Jong-won Lee \u003cljw@handong.edu\u003e\nSigned-off-by: Daniel Turull \u003cdaniel.turull@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f4e1b3970973bbb57cc3a3b9d67e67c1c648c37",
      "tree": "d7b4d7d64ed8a02c3cd10064eb9d8e177d2be5c3",
      "parents": [
        "ee3f1aaf930b7cfbf3d34eff1e5e076393227e90"
      ],
      "author": {
        "name": "Mario Schuknecht",
        "email": "m.schuknecht@dresearch.de",
        "time": "Wed Mar 09 14:08:09 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 14:08:09 2011 -0800"
      },
      "message": "tcp: ioctl type SIOCOUTQNSD returns amount of data not sent\n\nIn contrast to SIOCOUTQ which returns the amount of data sent\nbut not yet acknowledged plus data not yet sent this patch only\nreturns the data not sent.\n\nFor various methods of live streaming bitrate control it may\nbe helpful to know how much data are in the tcp outqueue are\nnot sent yet.\n\nSigned-off-by: Mario Schuknecht \u003cm.schuknecht@dresearch.de\u003e\nSigned-off-by: Steffen Sledz \u003csledz@dresearch.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee3f1aaf930b7cfbf3d34eff1e5e076393227e90",
      "tree": "814621b53a1a26f00acd05e83f4b7be297abd607",
      "parents": [
        "bd33acc3cc525972ac779067e98efb26516c5b94"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 14:06:20 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 14:06:20 2011 -0800"
      },
      "message": "ipv4: Lookup multicast routes by rtable using helper.\n\nCreate a common helper for this operation, since we do\nit identically in three spots.\n\nSuggested by Eric Dumazet.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c91afe1a984d43f922a6a70c7c390b7fb8de45e",
      "tree": "0c04726d20503aaea4560d5c3fa9e10f41de1951",
      "parents": [
        "e380688217feba40db450253d16e9fb2c59a625a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 13:27:16 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 13:27:16 2011 -0800"
      },
      "message": "ipv4: Fix erroneous uses of ifa_address.\n\nIn usual cases ifa_address \u003d\u003d ifa_local, but in the case where\nSIOCSIFDSTADDR sets the destination address on a point-to-point\nlink, ifa_address gets set to that destination address.\n\nTherefore we should use ifa_local when we want the local interface\naddress.\n\nThere were two cases where the selection was done incorrectly:\n\n1) When devinet_ioctl() does matching, it checks ifa_address even\n   though gifconf correct reported ifa_local to the user\n\n2) IN_DEV_ARP_NOTIFY handling sends a gratuitous ARP using\n   ifa_address instead of ifa_local.\n\nReported-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d5eab5aa676378b4c9daa62d10d08a0bca04677",
      "tree": "6d149cbd7c714486cc87616357349cc332fec712",
      "parents": [
        "23ffaa89df16e55578318cfd852f23dcb37bf37b"
      ],
      "author": {
        "name": "Daniel Halperin",
        "email": "dhalperi@cs.washington.edu",
        "time": "Wed Mar 09 03:10:18 2011 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Mar 09 16:10:58 2011 -0500"
      },
      "message": "mac80211: update minstrel_ht sample rate when probe is set\n\nWaiting until the status is received can cause the same rate to be\nprobed multiple times consecutively.\n\nCc: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: Daniel Halperin \u003cdhalperi@cs.washington.edu\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4d9d88d121fdd01dd859717909ea3c90173f143a",
      "tree": "46f08bf9ab7c84a0978d3bc5a6202b0af15a308a",
      "parents": [
        "80751e2b8ffcbbe065e850d943301aa1ab219599"
      ],
      "author": {
        "name": "Scott James Remnant",
        "email": "keybuk@google.com",
        "time": "Tue Mar 08 10:45:30 2011 -0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Mar 09 16:10:57 2011 -0500"
      },
      "message": "net/wireless: add COUNTRY to to regulatory device uevent\n\nRegulatory devices issue change uevents to inform userspace of a need\nto call the crda tool; however these can often be sent before udevd is\nrunning, and were not previously included in the results of\nudevadm trigger (which requests a new change event using the /uevent\nattribute of the sysfs object).\n\nAdd a uevent function to the device type which includes the COUNTRY\ninformation from the last request if it has yet to be processed, the\ncase of multiple requests is already handled in the code by checking\nwhether an unprocessed one is queued in the same manner and refusing\nto queue a new one.\n\nThe existing udev rule continues to work as before.\n\nSigned-off-by: Scott James Remnant \u003ckeybuk@google.com\u003e\nAcked-By: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a015f6f49968c330b236ca2f6c2170820414f922",
      "tree": "8370664c7d17ae1d1290622fa7b302919b13f4fe",
      "parents": [
        "297edb6003268c1d60da8c21eb76bf39b6428213"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Tue Mar 08 22:44:13 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 11:59:33 2011 -0800"
      },
      "message": "Phonet: kill the ST-Ericsson pipe controller Kconfig\n\nThis is now a run-time choice so that a single kernel can support both\nold and new generation ISI modems. Support for manually enabling the\npipe flow is removed as it did not work properly, does not fit well\nwith the socket API, and I am not aware of any use at the moment.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "297edb6003268c1d60da8c21eb76bf39b6428213",
      "tree": "b17c7544eed3430ed89a56e54a3de14fe9755c3c",
      "parents": [
        "acaf7df610ff3faf1778ce40d601fc3dd4a41b40"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Tue Mar 08 22:44:12 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 11:59:33 2011 -0800"
      },
      "message": "Phonet: support active connection without pipe controller on modem\n\nThis provides support for newer ISI modems with no need for the\nearlier experimental compile-time alternative choice. With this,\nwe can now use the same kernel and userspace with both types of\nmodems.\n\nThis also avoids confusing two different and incompatible state\nmachines, actively connected vs accepted sockets, and adds\nconnection response error handling (processing \"SYN/RST\" of sorts).\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "acaf7df610ff3faf1778ce40d601fc3dd4a41b40",
      "tree": "a6ed66e7314b43d253dceb5930da6b5fc40d051f",
      "parents": [
        "f7ae8d59f66154df0424fd94035c89981fed3379"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Tue Mar 08 22:44:11 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 11:59:32 2011 -0800"
      },
      "message": "Phonet: provide pipe socket option to retrieve the pipe identifier\n\nUser-space sometimes needs this information. In particular, the GPRS\ncontext or the AT commands pipe setups may use the pipe handle as a\nreference.\n\nThis removes the settable pipe handle with CONFIG_PHONET_PIPECTRLR.\nIt did not handle error cases correctly. Furthermore, the kernel\n*could* implement a smart scheme for allocating handles (if ever\nneeded), but userspace really cannot.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7ae8d59f66154df0424fd94035c89981fed3379",
      "tree": "829e2a3e2188a30b48afbd200675bf8d0a21cb0d",
      "parents": [
        "44c9ab16d29a50af6ed9ae084b75774570de512a"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Tue Mar 08 22:44:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 11:59:32 2011 -0800"
      },
      "message": "Phonet: allocate sock from accept syscall rather than soft IRQ\n\nThis moves most of the accept logic to process context like other\nsocket stacks do. Then we can use a few more common socket helpers\nand simplify a bit.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "44c9ab16d29a50af6ed9ae084b75774570de512a",
      "tree": "308c10f34f10b05e658232064f6231e8397134c6",
      "parents": [
        "0ebbf318635bf354bdb046419dd10e9a00667f37"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Tue Mar 08 22:44:09 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 11:59:31 2011 -0800"
      },
      "message": "Phonet: factor common code to send control messages\n\nWith the addition of the pipe controller, there is now quite a bit\nof repetitive code for small signaling messages. Lets factor it.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ebbf318635bf354bdb046419dd10e9a00667f37",
      "tree": "5402abfa37ae43751975f62107f5c3e53e697f46",
      "parents": [
        "b765e84f96f728e8e178348fc102f126c1736193"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Tue Mar 08 22:44:08 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 11:59:30 2011 -0800"
      },
      "message": "Phonet: correct pipe backlog callback return values\n\nIn some cases, the Phonet pipe backlog callbacks returned negative\nerrno instead of NET_RX_* values.\n\nIn other cases, NET_RX_DROP was returned for invalid packets, even\nthough it seems only intended for buffering problems (not for\ndeliberately discarded packets).\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b765e84f96f728e8e178348fc102f126c1736193",
      "tree": "2343dc694989604ea873923936cace52e5157040",
      "parents": [
        "c69d4407d8884e8a127f95d07b1896443f3716ff"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Tue Mar 08 22:44:07 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 11:59:30 2011 -0800"
      },
      "message": "Phonet: return an error when packet TX fails\n\nPhonet assumes that packets are never dropped. We try our best to\navoid this situation. But lets return ENOBUFS if queueing to the\nnetwork device fails so that the caller knows things went wrong.\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c69d4407d8884e8a127f95d07b1896443f3716ff",
      "tree": "85989f9259365d5470113e810237b567ba93af37",
      "parents": [
        "7b46ac4e77f3224a1befe032c77f1df31d1b42c4"
      ],
      "author": {
        "name": "Rémi Denis-Courmont",
        "email": "remi.denis-courmont@nokia.com",
        "time": "Tue Mar 08 22:44:06 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 09 11:59:29 2011 -0800"
      },
      "message": "Phonet: fix NULL dereference on TX path with implicit source\n\nThe previous Phonet patch series introduced per-socket implicit\ndestination (i.e. connect()). In that case, the destination\nsocket address is NULL in the transmit function.\nHowever commit a8059512b120362b15424f152b2548fe8b11bd0c\n(\"Phonet: implement per-socket destination/peer address\")\nis incomplete and would trigger a NULL dereference.\n(Fortunately, the code is not in released kernel, and in fact\n currently not reachable.)\n\nSigned-off-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b46ac4e77f3224a1befe032c77f1df31d1b42c4",
      "tree": "e0bd89b476e0f07e23f949366c283f7d7d6f9d4e",
      "parents": [
        "5217e8794619ac0a29151f29be20c7d6188303ba"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 08 14:59:28 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 08 14:59:28 2011 -0800"
      },
      "message": "inetpeer: Don\u0027t disable BH for initial fast RCU lookup.\n\nIf modifications on other cpus are ok, then modifications to\nthe tree during lookup done by the local cpu are ok too.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fdb838cdae4d4f2a478e5cfdd84026f7960b69dd",
      "tree": "e61fa3c8515f41770af377fd1bfc35c20c01bf4a",
      "parents": [
        "c01c6af84e5c397917496212f8c3f2942ec7012d"
      ],
      "author": {
        "name": "Peter Korsgaard",
        "email": "jacmet@sunsite.dk",
        "time": "Mon Mar 07 05:49:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 08 14:24:20 2011 -0800"
      },
      "message": "dsa/mv88e6060: support nonzero mii base address\n\nThe mv88e6060 uses either the lower 16 or upper 16 mii addresses,\ndepending on the value of the EE_CLK/ADDR4 pin. Support both\nconfigurations by using the sw_addr setting as base address.\n\nSigned-off-by: Peter Korsgaard \u003cjacmet@sunsite.dk\u003e\nAcked-by: Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6094628bfd94323fc1cea05ec2c6affd98c18f7f",
      "tree": "b0c826b6c6cf5d00e00f9eef5cd5ebbfdf3d5962",
      "parents": [
        "9ac3524a948cab48137a8b40a4fa8ae1092b0a24"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Mar 02 06:28:22 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 08 11:22:43 2011 -0800"
      },
      "message": "rds: prevent BUG_ON triggering on congestion map updates\n\nRecently had this bug halt reported to me:\n\nkernel BUG at net/rds/send.c:329!\nOops: Exception in kernel mode, sig: 5 [#1]\nSMP NR_CPUS\u003d1024 NUMA pSeries\nModules linked in: rds sunrpc ipv6 dm_mirror dm_region_hash dm_log ibmveth sg\next4 jbd2 mbcache sd_mod crc_t10dif ibmvscsic scsi_transport_srp scsi_tgt\ndm_mod [last unloaded: scsi_wait_scan]\nNIP: d000000003ca68f4 LR: d000000003ca67fc CTR: d000000003ca8770\nREGS: c000000175cab980 TRAP: 0700   Not tainted  (2.6.32-118.el6.ppc64)\nMSR: 8000000000029032 \u003cEE,ME,CE,IR,DR\u003e  CR: 44000022  XER: 00000000\nTASK \u003d c00000017586ec90[1896] \u0027krdsd\u0027 THREAD: c000000175ca8000 CPU: 0\nGPR00: 0000000000000150 c000000175cabc00 d000000003cb7340 0000000000002030\nGPR04: ffffffffffffffff 0000000000000030 0000000000000000 0000000000000030\nGPR08: 0000000000000001 0000000000000001 c0000001756b1e30 0000000000010000\nGPR12: d000000003caac90 c000000000fa2500 c0000001742b2858 c0000001742b2a00\nGPR16: c0000001742b2a08 c0000001742b2820 0000000000000001 0000000000000001\nGPR20: 0000000000000040 c0000001742b2814 c000000175cabc70 0800000000000000\nGPR24: 0000000000000004 0200000000000000 0000000000000000 c0000001742b2860\nGPR28: 0000000000000000 c0000001756b1c80 d000000003cb68e8 c0000001742b27b8\nNIP [d000000003ca68f4] .rds_send_xmit+0x4c4/0x8a0 [rds]\nLR [d000000003ca67fc] .rds_send_xmit+0x3cc/0x8a0 [rds]\nCall Trace:\n[c000000175cabc00] [d000000003ca67fc] .rds_send_xmit+0x3cc/0x8a0 [rds]\n(unreliable)\n[c000000175cabd30] [d000000003ca7e64] .rds_send_worker+0x54/0x100 [rds]\n[c000000175cabdb0] [c0000000000b475c] .worker_thread+0x1dc/0x3c0\n[c000000175cabed0] [c0000000000baa9c] .kthread+0xbc/0xd0\n[c000000175cabf90] [c000000000032114] .kernel_thread+0x54/0x70\nInstruction dump:\n4bfffd50 60000000 60000000 39080001 935f004c f91f0040 41820024 813d017c\n7d094a78 7d290074 7929d182 394a0020 \u003c0b090000\u003e 40e2ff68 4bffffa4 39200000\nKernel panic - not syncing: Fatal exception\nCall Trace:\n[c000000175cab560] [c000000000012e04] .show_stack+0x74/0x1c0 (unreliable)\n[c000000175cab610] [c0000000005a365c] .panic+0x80/0x1b4\n[c000000175cab6a0] [c00000000002fbcc] .die+0x21c/0x2a0\n[c000000175cab750] [c000000000030000] ._exception+0x110/0x220\n[c000000175cab910] [c000000000004b9c] program_check_common+0x11c/0x180\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf745e88b733a2806dc4da8a9cd5a7e4d67543ab",
      "tree": "b78bd559f9088337a8654aeefefc6bad997a679c",
      "parents": [
        "a7ac8fc1d8d26c975c460a69aa7b9d5b5d5d29b0",
        "2b642ca5e93fa1c977e8c90480a2900149f262be"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 08 11:08:35 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 08 11:08:35 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net-next-2.6\n"
    },
    {
      "commit": "a7ac8fc1d8d26c975c460a69aa7b9d5b5d5d29b0",
      "tree": "d7487dfcbe87a8e57ce666d9febd1199e46c7b46",
      "parents": [
        "1fc050a13473348f5c439de2bb41c8e92dba5588"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 08 11:03:21 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 08 11:03:21 2011 -0800"
      },
      "message": "ipv4: Fix scope value used in route src-address caching.\n\nWe have to use cfg-\u003efc_scope not the final nh_scope value.\n\nReported-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1fc050a13473348f5c439de2bb41c8e92dba5588",
      "tree": "b2cecf15f5de87997fb44b4a1025b48d473cd038",
      "parents": [
        "6118e35a7126c1062b1a0f6737b84b4fe4d5c8d4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 20:54:48 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 20:54:48 2011 -0800"
      },
      "message": "ipv4: Cache source address in nexthop entries.\n\nWhen doing output route lookups, we have to select the source address\nif the user has not specified an explicit one.\n\nFirst, if the route has an explicit preferred source address\nspecified, then we use that.\n\nOtherwise we search the route\u0027s outgoing interface for a suitable\naddress.\n\nThis search can be precomputed and cached at route insertion time.\n\nThe only missing part is that we have to refresh this precomputed\nvalue any time addresses are added or removed from the interface, and\nthis is accomplished by fib_update_nh_saddrs().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ea09c9caaebc98d06a39c435d4359912cfbb5e2",
      "tree": "98b8b4304a3ffb020b6be883c9d07793e3a563dc",
      "parents": [
        "6247e086188dd2ba5bfd64f9a876fe42b0cf39fb"
      ],
      "author": {
        "name": "Yi Zou",
        "email": "yi.zou@intel.com",
        "time": "Tue Feb 01 07:22:11 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Mon Mar 07 18:03:59 2011 -0800"
      },
      "message": "vlan: add support to ndo_fcoe_ddp_target()\n\nAdd the new target ddp offload support ndo_fcoe_ddp_target().\n\nSigned-off-by: Yi Zou \u003cyi.zou@intel.com\u003e\nSigned-off-by: Kiran Patil \u003ckiran.patil@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "6118e35a7126c1062b1a0f6737b84b4fe4d5c8d4",
      "tree": "412fe3b867969dd29b7ed5369aab046aa7f79dec",
      "parents": [
        "efea2c6b2efc1716b2c0cf257cc428d6cd3ed6e2"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Fri Mar 04 11:45:06 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:51:14 2011 -0800"
      },
      "message": "af_unix: remove unused struct sockaddr_un cruft\n\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "efea2c6b2efc1716b2c0cf257cc428d6cd3ed6e2",
      "tree": "b2b630441b908802ccfa303fb35f07aab11a78a0",
      "parents": [
        "e143038f4dda10a51985b9a3f9fb07d73a5eadfa"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Fri Mar 04 11:45:05 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:51:14 2011 -0800"
      },
      "message": "sctp: several declared/set but unused fixes\n\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e143038f4dda10a51985b9a3f9fb07d73a5eadfa",
      "tree": "8c96993a468d762bfc4fe7bb299b424ffe02cdf0",
      "parents": [
        "4b66fef9b591b95f447aea12242a1133deb0bd22"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Fri Mar 04 11:45:04 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:51:13 2011 -0800"
      },
      "message": "af_packet: struct socket declared/assigned but unused\n\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b66fef9b591b95f447aea12242a1133deb0bd22",
      "tree": "9f9a6e36e8412b004ad61b85f0fb81b9c0247025",
      "parents": [
        "06f0c1392c20d708ffae067fdcad604882e19200"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Fri Mar 04 11:45:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:51:13 2011 -0800"
      },
      "message": "mcast: net_device dev not used\n\nip6_mc_source(), ip6_mc_msfilter() as well as ip6_mc_msfget() declare\nand assign dev but do not use the variable afterwards.\n\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3f48d37cf87a4a94e9f05fddc39b0e5f2307c27",
      "tree": "83a497ae37eeba362f810e54b533cf9ae034ec9a",
      "parents": [
        "f21b538ced88a39a6dd9ef4e2c5d9aac300f428b"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Mon Feb 28 20:26:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:37:16 2011 -0800"
      },
      "message": "net: allow handlers to be processed for orig_dev\n\nThis was there before, I forgot about this. Allows deliveries to\nptype_base handlers registered for orig_dev. I presume this is still\ndesired.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nReviewed-by: Nicolas de Pesloüan \u003cnicolas.2p.debian@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b3ca9b02b00704053a38bfe4c31dbbb9c13595d0",
      "tree": "aee22e55bb36b3f8cffc22f840a958a8a6ea184b",
      "parents": [
        "2ea6d8c446752008df7f37867f0cf7483533b05e"
      ],
      "author": {
        "name": "Rainer Weikusat",
        "email": "rweikusat@mobileactivedefense.com",
        "time": "Mon Feb 28 04:50:55 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:31:16 2011 -0800"
      },
      "message": "net: fix multithreaded signal handling in unix recv routines\n\nThe unix_dgram_recvmsg and unix_stream_recvmsg routines in\nnet/af_unix.c utilize mutex_lock(\u0026u-\u003ereadlock) calls in order to\nserialize read operations of multiple threads on a single socket. This\nimplies that, if all n threads of a process block in an AF_UNIX recv\ncall trying to read data from the same socket, one of these threads\nwill be sleeping in state TASK_INTERRUPTIBLE and all others in state\nTASK_UNINTERRUPTIBLE. Provided that a particular signal is supposed to\nbe handled by a signal handler defined by the process and that none of\nthis threads is blocking the signal, the complete_signal routine in\nkernel/signal.c will select the \u0027first\u0027 such thread it happens to\nencounter when deciding which thread to notify that a signal is\nsupposed to be handled and if this is one of the TASK_UNINTERRUPTIBLE\nthreads, the signal won\u0027t be handled until the one thread not blocking\non the u-\u003ereadlock mutex is woken up because some data to process has\narrived (if this ever happens). The included patch fixes this by\nchanging mutex_lock to mutex_lock_interruptible and handling possible\nerror returns in the same way interruptions are handled by the actual\nreceive-code.\n\nSigned-off-by: Rainer Weikusat \u003crweikusat@mobileactivedefense.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3be0686b6e2f953afe83626e871b4a7b0ceae49b",
      "tree": "6591cba7d393d6b0bc7b2c647a5a5f1f5d8728e8",
      "parents": [
        "4c8237cd76a0510677dc2e3dd0f8866ec8e0b1e5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:01:10 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:19:39 2011 -0800"
      },
      "message": "ipv4: Inline fib_semantic_match into check_leaf\n\nThis elimiates a lot of pure overhead due to parameter\npassing.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4c8237cd76a0510677dc2e3dd0f8866ec8e0b1e5",
      "tree": "09f2b802b5f493bfd5345ec808f3b58300cab168",
      "parents": [
        "256ee435b9a9ee9cca69602fe8046b27ca99fbee"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 14:27:38 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 14:27:38 2011 -0800"
      },
      "message": "ipv4: Validate route entry type at insert instead of every lookup.\n\nfib_semantic_match() requires that if the type doesn\u0027t signal an\nautomatic error, it must be of type RTN_UNICAST, RTN_LOCAL,\nRTN_BROADCAST, RTN_ANYCAST, or RTN_MULTICAST.\n\nChecking this every route lookup is pointless work.\n\nInstead validate it during route insertion, via fib_create_info().\n\nAlso, there was nothing making sure the type value was less than\nRTN_MAX, so add that missing check while we\u0027re here.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2ea6d8c446752008df7f37867f0cf7483533b05e",
      "tree": "54bd35eed335afe32bad4fd0e81950c185222303",
      "parents": [
        "f277e65e7a2d360189f760baca42f3ca2f62dd7a"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@infradead.org",
        "time": "Thu Mar 03 23:35:07 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 12:50:52 2011 -0800"
      },
      "message": "net: Enter net/ipv6/ even if CONFIG_IPV6\u003dn\n\nexthdrs_core.c and addrconf_core.c in net/ipv6/ contain bits which\nmust be made available even if IPv6 is disabled.\n\nnet/ipv6/Makefile already correctly includes them if CONFIG_IPV6\u003dn\nbut net/Makefile prevents entering the subdirectory.\n\nSigned-off-by: Thomas Graf \u003ctgraf@infradead.org\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d07bfd8b6f20a81d7ec65c50f35b053d9e3aa740",
      "tree": "3eaa4381dde301226625782d467778b32ee62c80",
      "parents": [
        "2a6672f2c425e6d1da2ef7f3169e417cd1f5a6cd"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Mar 07 15:48:41 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 07 13:51:04 2011 -0500"
      },
      "message": "mac80211: fix scan race, simplify code\n\nThe scan code has a race that Michael reported\nhe ran into, but it\u0027s easy to fix while at the\nsame time simplifying the code.\n\nThe race resulted in the following warning:\n\n------------[ cut here ]------------\nWARNING: at net/mac80211/scan.c:310 ieee80211_rx_bss_free+0x20c/0x4b8 [mac80211]()\nModules linked in: [...]\n[\u003cc0033edc\u003e] (unwind_backtrace+0x0/0xe0) from [\u003cc004f2a4\u003e] (warn_slowpath_common+0x4c/0x64)\n[... backtrace wasn\u0027t useful ...]\n\nReported-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b196d031f2bb29c253050d554130e41c7e3cbfb0",
      "tree": "57477bc639953f2498c66c0a9a1edc1d599513e2",
      "parents": [
        "118253ca46262342b87909927fec6214fa4a06a4"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Mon Mar 07 13:09:12 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 07 13:51:04 2011 -0500"
      },
      "message": "mac80211: Add log message to ieee80211_restart_hw()\n\nAdd a log message to ieee80211_restart_hw() to highlight\nthat special codepath in the logs. This helps debugging\nbugs in the rarely tested restart code.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2d0123a5d635e336dbab21eba62e8dd4eb3e39a0",
      "tree": "9f110902e78275603136f07c18cceac47e8c817b",
      "parents": [
        "e4b0b32aa1c0dd7ae6340833dd6b19de46409a88"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Fri Mar 04 15:14:16 2011 +0800"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 07 13:48:30 2011 -0500"
      },
      "message": "mac80211: remove unused macros\n\nCompile test only.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b8cec4a415e807a2f8679efa89558a040a7003de",
      "tree": "1a5fc7c31c4f8b55ea850599bb7309871165f48e",
      "parents": [
        "5e2b61f78411be25f0b84f97d5b5d312f184dfd1",
        "e44d8fe2b5c27ecc230f886d4cc49fcbd86f87a0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 00:37:13 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 00:37:13 2011 -0800"
      },
      "message": "Merge branch \u0027batman-adv/next\u0027 of git://git.open-mesh.org/ecsv/linux-merge\n"
    },
    {
      "commit": "fb62c00a6d8942775abc23d1621db1252e2d93d1",
      "tree": "ef8760123f5a2b692126ecb7a70f2689053885c1",
      "parents": [
        "5c4b4be3b6b937256103a5ae49177e0c3a17cb8f",
        "455cec0abff563574cca432ced49f734117ca113"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 05 10:43:22 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 05 10:43:22 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: no .snap inside of snapped namespace\n  libceph: fix msgr standby handling\n  libceph: fix msgr keepalive flag\n  libceph: fix msgr backoff\n  libceph: retry after authorization failure\n  libceph: fix handling of short returns from get_user_pages\n  ceph: do not clear I_COMPLETE from d_release\n  ceph: do not set I_COMPLETE\n  Revert \"ceph: keep reference to parent inode on ceph_dentry\"\n"
    },
    {
      "commit": "e44d8fe2b5c27ecc230f886d4cc49fcbd86f87a0",
      "tree": "1ed6d2b1fa04a4fe333d8eda498b3e866129d4d3",
      "parents": [
        "7cefb149a6b0e4f7c5adfa27dcf285b729063848"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Fri Mar 04 21:36:41 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:52:09 2011 +0100"
      },
      "message": "batman-adv: Disallow regular interface as mesh device\n\nWhen trying to associate a net_device with another net_device which\nalready exists, batman-adv assumes that this interface is a fully\ninitialized batman mesh interface without checking it. The behaviour\nwhen accessing data behind netdev_priv of a random net_device is\nundefined and potentially dangerous.\n\nReported-by: Linus Lüssing \u003clinus.luessing@ascom.ch\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "7cefb149a6b0e4f7c5adfa27dcf285b729063848",
      "tree": "3b4d041fd21905286602c3319d94f591a344b8f3",
      "parents": [
        "e6c10f433af9c98994c94a10ae862c152fcfb2a9"
      ],
      "author": {
        "name": "Linus Lüssing",
        "email": "linus.luessing@ascom.ch",
        "time": "Wed Mar 02 17:39:31 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:52:08 2011 +0100"
      },
      "message": "batman-adv: Remove unused hdr_size variable in route_unicast_packet()\n\nSigned-off-by: Linus Lüssing \u003clinus.luessing@ascom.ch\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "e6c10f433af9c98994c94a10ae862c152fcfb2a9",
      "tree": "56b4a82b83da44f7c3657a283c92c5cc8e248b9f",
      "parents": [
        "4389e47af856635eb17d03b2572a50576c12db24"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 18 12:33:20 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:52:06 2011 +0100"
      },
      "message": "batman-adv: rename batman_if struct to hard_iface\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "4389e47af856635eb17d03b2572a50576c12db24",
      "tree": "988fbbd883f5c8691d2bf100656e723e54073c0a",
      "parents": [
        "d0072609baebaffb522083d367f4f195187f60f8"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 18 12:33:19 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:52:05 2011 +0100"
      },
      "message": "batman-adv: rename global if_list to hardif_list\n\nBatman-adv works with \"hard interfaces\" as well as \"soft interfaces\".\nThe new name should better make clear which kind of interfaces this\nlist stores.\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "d0072609baebaffb522083d367f4f195187f60f8",
      "tree": "44e014264e2a2815d63f09c6ba9283d2866cbf48",
      "parents": [
        "1605d0d60b66b9461cfcff86f8cfc80964f23430"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Wed Jan 19 20:01:44 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:52:04 2011 +0100"
      },
      "message": "batman-adv: remove orig_hash spinlock\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "1605d0d60b66b9461cfcff86f8cfc80964f23430",
      "tree": "d35ad73ad4ac6cc157383d611101d3dd66115745",
      "parents": [
        "7b36e8eef989fc59535b4f1d3fc0f83afaf419d4"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 18 12:28:11 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:52:03 2011 +0100"
      },
      "message": "batman-adv: increase refcount in create_neighbor to be consistent\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "7b36e8eef989fc59535b4f1d3fc0f83afaf419d4",
      "tree": "f0900101542966e0655ca5f115b5b0bc409b1e74",
      "parents": [
        "7aadf889e897155c45cda230d2a6701ad1fbff61"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 18 12:28:10 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:52:01 2011 +0100"
      },
      "message": "batman-adv: Correct rcu refcounting for orig_node\n\nIt might be possible that 2 threads access the same data in the same\nrcu grace period. The first thread calls call_rcu() to decrement the\nrefcount and free the data while the second thread increases the\nrefcount to use the data. To avoid this race condition all refcount\noperations have to be atomic.\n\nReported-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "7aadf889e897155c45cda230d2a6701ad1fbff61",
      "tree": "4a31df411c29844afe25ccde17d2ff9e618241c1",
      "parents": [
        "39901e716275da4e831b40f9e45a1b61d6a776dc"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 18 12:28:09 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:52:00 2011 +0100"
      },
      "message": "batman-adv: remove extra layer between hash and hash element - hash bucket\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "39901e716275da4e831b40f9e45a1b61d6a776dc",
      "tree": "a7db25062f0e3df9b7f878adaeda8aadd5644181",
      "parents": [
        "9e0b33c221f1364e4d7562177a918eef8e85317a"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 18 12:28:08 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:14 2011 +0100"
      },
      "message": "batman-adv: separate ethernet comparing calls from hash functions\n\nNote: The function compare_ether_addr() provided by the Linux kernel\nrequires aligned memory.\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "9e0b33c221f1364e4d7562177a918eef8e85317a",
      "tree": "817088eeeecc694cf9ad06a563321b2d11f2f0cd",
      "parents": [
        "43c70ad5ce5691cce24dae6610731694c0f3fcc8"
      ],
      "author": {
        "name": "Linus Lüssing",
        "email": "linus.luessing@ascom.ch",
        "time": "Fri Feb 18 12:20:13 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:13 2011 +0100"
      },
      "message": "batman-adv: Fix possible buffer overflow in softif neigh list output\n\nWhen printing the soft interface table the number of entries in the\nsoftif neigh list are first being counted and a fitting buffer\nallocated. After that the softif neigh list gets locked again and\nthe buffer printed - which has the following two issues:\n\nFor one thing, the softif neigh list might have grown when reacquiring\nthe rcu lock, which results in writing outside of the allocated buffer.\nFurthermore 31 Bytes are not enough for printing an entry with a vid\nof more than 2 digits.\n\nThe manual buffering is unnecessary, we can safely print to the seq\ndirectly during the rcu_read_lock().\n\nSigned-off-by: Linus Lüssing \u003clinus.luessing@ascom.ch\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "43c70ad5ce5691cce24dae6610731694c0f3fcc8",
      "tree": "7dc7a769a166f846aebac8e37b3dfcdad9b6dc86",
      "parents": [
        "5d02b3cdfafeb23ab7cf43ef1d2118007370e8d0"
      ],
      "author": {
        "name": "Linus Lüssing",
        "email": "linus.luessing@ascom.ch",
        "time": "Sun Feb 13 21:13:04 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:12 2011 +0100"
      },
      "message": "batman-adv: Increase orig_node refcount before releasing rcu read lock\n\nWhen unicast_send_skb() is increasing the orig_node\u0027s refcount another\nthread might have been freeing this orig_node already. We need to\nincrease the refcount in the rcu read lock protected area to avoid that.\n\nSigned-off-by: Linus Lüssing \u003clinus.luessing@ascom.ch\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "5d02b3cdfafeb23ab7cf43ef1d2118007370e8d0",
      "tree": "4bd28fe2a1bca0a14710f01f98852f43ef2e330c",
      "parents": [
        "f3e0008f01b275bd08bd416cfcaa7021dd6bc277"
      ],
      "author": {
        "name": "Linus Lüssing",
        "email": "linus.luessing@ascom.ch",
        "time": "Sun Feb 13 21:13:02 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:10 2011 +0100"
      },
      "message": "batman-adv: Make bat_priv-\u003ecurr_gw an rcu protected pointer\n\nThe rcu protected macros rcu_dereference() and rcu_assign_pointer()\nfor the bat_priv-\u003ecurr_gw need to be used, as well as spin/rcu locking.\n\nOtherwise we might end up using a curr_gw pointer pointing to already\nfreed memory.\n\nReported-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Linus Lüssing \u003clinus.luessing@ascom.ch\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "f3e0008f01b275bd08bd416cfcaa7021dd6bc277",
      "tree": "47c1787dce5d3bda821a4ccb015d54b6b9cadc82",
      "parents": [
        "0ede9f41b217d8982ab426e3c8c1b692a280a16f"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Tue Jan 25 21:52:11 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:09 2011 +0100"
      },
      "message": "batman-adv: make broadcast seqno operations atomic\n\nBatman-adv could receive several payload broadcasts at the same time\nthat would trigger access to the broadcast seqno sliding window to\ndetermine whether this is a new broadcast or not. If these incoming\nbroadcasts are accessing the sliding window simultaneously it could\nbe left in an inconsistent state. Therefore it is necessary to make\nsure this access is atomic.\n\nReported-by: Linus Lüssing \u003clinus.luessing@web.de\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "0ede9f41b217d8982ab426e3c8c1b692a280a16f",
      "tree": "3d3379f4614ec898d1db8845fdcbbbf7134f0165",
      "parents": [
        "ed75ccbe26f4a672a41556120390e67c80a2c441"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Tue Jan 25 21:52:10 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:08 2011 +0100"
      },
      "message": "batman-adv: protect bit operations to count OGMs with spinlock\n\nReported-by: Linus Lüssing \u003clinus.luessing@saxnet.de\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "ed75ccbe26f4a672a41556120390e67c80a2c441",
      "tree": "3f4f844d2311e662b4c42e7a275188d1346ac77d",
      "parents": [
        "7d2b554826195372764910da2f0dcb0d9b869108"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Thu Feb 10 14:33:51 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:07 2011 +0100"
      },
      "message": "batman-adv: Correct rcu refcounting for batman_if\n\nIt might be possible that 2 threads access the same data in the same\nrcu grace period. The first thread calls call_rcu() to decrement the\nrefcount and free the data while the second thread increases the\nrefcount to use the data. To avoid this race condition all refcount\noperations have to be atomic.\n\nReported-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "7d2b554826195372764910da2f0dcb0d9b869108",
      "tree": "364a7b2cdca991b3c6c120e0a1e3bf2c261fb1a1",
      "parents": [
        "25b6d3c17eaa92ae9700eb8235bc79782613354a"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Thu Feb 10 14:33:50 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:05 2011 +0100"
      },
      "message": "batman-adv: Correct rcu refcounting for softif_neigh\n\nIt might be possible that 2 threads access the same data in the same\nrcu grace period. The first thread calls call_rcu() to decrement the\nrefcount and free the data while the second thread increases the\nrefcount to use the data. To avoid this race condition all refcount\noperations have to be atomic.\n\nReported-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "25b6d3c17eaa92ae9700eb8235bc79782613354a",
      "tree": "1c9949a6adf8144f77b91e9f3a785d0557525f39",
      "parents": [
        "44524fcdf6ca19b58c24f7622c4af1d8d8fe59f8"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Thu Feb 10 14:33:49 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:04 2011 +0100"
      },
      "message": "batman-adv: Correct rcu refcounting for gw_node\n\nIt might be possible that 2 threads access the same data in the same\nrcu grace period. The first thread calls call_rcu() to decrement the\nrefcount and free the data while the second thread increases the\nrefcount to use the data. To avoid this race condition all refcount\noperations have to be atomic.\n\nReported-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "44524fcdf6ca19b58c24f7622c4af1d8d8fe59f8",
      "tree": "297c76f80d68d56e3c65a23c70de645a1c93df47",
      "parents": [
        "a4c135c561106c397bae33455acfca4aa8065a30"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Thu Feb 10 14:33:53 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:03 2011 +0100"
      },
      "message": "batman-adv: Correct rcu refcounting for neigh_node\n\nIt might be possible that 2 threads access the same data in the same\nrcu grace period. The first thread calls call_rcu() to decrement the\nrefcount and free the data while the second thread increases the\nrefcount to use the data. To avoid this race condition all refcount\noperations have to be atomic.\n\nReported-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "a4c135c561106c397bae33455acfca4aa8065a30",
      "tree": "09613dd5443fb6abfdab5b851eccdd610d1b0783",
      "parents": [
        "2ae2daf6c3f23364862a7d4f2ca79eab041b701b"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "siwu@hrz.tu-chemnitz.de",
        "time": "Wed Jan 19 20:01:43 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:01 2011 +0100"
      },
      "message": "batman-adv: protect bonding with rcu locks\n\nbonding / alternating candidates need to be secured by rcu locks\nas well. This patch therefore converts the bonding list\nfrom a plain pointer list to a rcu securable lists and references\nthe bonding candidates.\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "2ae2daf6c3f23364862a7d4f2ca79eab041b701b",
      "tree": "8b4c15f4c7733d9d1d3aa58fd80b6f998b9eca2c",
      "parents": [
        "16b1aba849eeb45d51a5de731cf103143439ffe1"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Wed Jan 19 20:01:42 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:00 2011 +0100"
      },
      "message": "batman-adv: protect ogm counter arrays with spinlock\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "16b1aba849eeb45d51a5de731cf103143439ffe1",
      "tree": "2bbda8638bd925014e8d6025d704cb2860d28606",
      "parents": [
        "fb778ea173fcd58b8fc3d75c674f07fab187b55f"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Wed Jan 19 20:01:42 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:49:59 2011 +0100"
      },
      "message": "batman-adv: protect originator nodes with reference counters\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "fb778ea173fcd58b8fc3d75c674f07fab187b55f",
      "tree": "b14cfc99b7ca61ddcb49cc56c9a8e2822675debc",
      "parents": [
        "a775eb847ae66211577d4fd2c46749b77c9993c9"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Wed Jan 19 20:01:40 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:49:58 2011 +0100"
      },
      "message": "batman-adv: protect each hash row with rcu locks\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "a775eb847ae66211577d4fd2c46749b77c9993c9",
      "tree": "122c3a1cb15751f943570d05f1369f707180e989",
      "parents": [
        "1a241a57be46cda985c7c36e24d49f67de6bfb53"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Wed Jan 19 20:01:39 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:49:57 2011 +0100"
      },
      "message": "batman-adv: protect neigh_nodes used outside of rcu_locks with refcounting\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "1a241a57be46cda985c7c36e24d49f67de6bfb53",
      "tree": "51e88b4e7d17331497c4aab98f281353ab3f28d9",
      "parents": [
        "f987ed6ebd991009cd9f6190ce319e8b50d6be1f"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Wed Jan 19 19:16:10 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:49:55 2011 +0100"
      },
      "message": "batman-adv: free neighbors when an interface is deactivated\n\nhardif_disable_interface() calls purge_orig_ref() to immediately free\nall neighbors associated with the interface that is going down.\npurge_orig_neighbors() checked if the interface status is IF_INACTIVE\nwhich is set to IF_NOT_IN_USE shortly before calling purge_orig_ref().\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "f987ed6ebd991009cd9f6190ce319e8b50d6be1f",
      "tree": "08fd4c5edc6ee74407ec901cef960978946f716f",
      "parents": [
        "9591a79f280ede740e44aeb8ad93a6692d482dce"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sun Dec 12 21:57:12 2010 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:49:54 2011 +0100"
      },
      "message": "batman-adv: protect neighbor list with rcu locks\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "9591a79f280ede740e44aeb8ad93a6692d482dce",
      "tree": "4472796690f19a55f56a1974537a120965978903",
      "parents": [
        "a8e7f4bc38c4a90ee308cd7f1f8604f71db59d05"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sun Dec 12 21:57:11 2010 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:49:53 2011 +0100"
      },
      "message": "batman-adv: convert neighbor list to hlist\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "a8e7f4bc38c4a90ee308cd7f1f8604f71db59d05",
      "tree": "eaad8069534691aaa06b316ce42fbeb81f380b20",
      "parents": [
        "8d689218568174955129d0f0e9e4370a391b3609"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sun Dec 12 21:57:10 2010 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:49:52 2011 +0100"
      },
      "message": "batman-adv: protect neighbor nodes with reference counters\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "5e2b61f78411be25f0b84f97d5b5d312f184dfd1",
      "tree": "6a5faa5fb7a2242bebacba4cdb5722b988d3e909",
      "parents": [
        "1018b5c01636c7c6bda31a719bda34fc631db29a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:47:09 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:55:31 2011 -0800"
      },
      "message": "ipv4: Remove flowi from struct rtable.\n\nThe only necessary parts are the src/dst addresses, the\ninterface indexes, the TOS, and the mark.\n\nThe rest is unnecessary bloat, which amounts to nearly\n50 bytes on 64-bit.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1018b5c01636c7c6bda31a719bda34fc631db29a",
      "tree": "7e00298c11f53cd386221b566483bffd31414714",
      "parents": [
        "4157434c23f8f5126a2ffd3cc7b2c3bd928be075"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:35:25 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:35:25 2011 -0800"
      },
      "message": "ipv4: Set rt-\u003ert_iif more sanely on output routes.\n\nrt-\u003ert_iif is only ever inspected on input routes, for example DCCP\nuses this to populate a route lookup flow key when generating replies\nto another packet.\n\nTherefore, setting it to anything other than zero on output routes\nmakes no sense.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c0afdca44af795dd315c20cc525927a459abe30",
      "tree": "264a6e889d080da61a754b54e2771282c9fe9248",
      "parents": [
        "44713b67db10c774f14280c129b0d5fd13c70cf2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:26:07 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:26:07 2011 -0800"
      },
      "message": "ipv4: Get peer more cheaply in rt_init_metrics().\n\nWe know this is a new route object, so doing atomics and\nstuff makes no sense at all.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "44713b67db10c774f14280c129b0d5fd13c70cf2",
      "tree": "2a5fac5524dbac7b30be6409751983b597a71766",
      "parents": [
        "65e8354ec13a45414045084166cb340c0d7ffe8a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:24:47 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:24:47 2011 -0800"
      },
      "message": "ipv4: Optimize flow initialization in output route lookup.\n\nWe burn a lot of useless cycles, cpu store buffer traffic, and\nmemory operations memset()\u0027ing the on-stack flow used to perform\noutput route lookups in __ip_route_output_key().\n\nOnly the first half of the flow object members even matter for\noutput route lookups in this context, specifically:\n\nFIB rules matching cares about:\n\n\tdst, src, tos, iif, oif, mark\n\nFIB trie lookup cares about:\n\n\tdst\n\nFIB semantic match cares about:\n\n\ttos, scope, oif\n\nTherefore only initialize these specific members and elide the\nmemset entirely.\n\nOn Niagara2 this kills about ~300 cycles from the output route\nlookup path.\n\nLikely, we can take things further, since all callers of output\nroute lookups essentially throw away the on-stack flow they use.\nSo they don\u0027t care if we use it as a scratch-pad to compute the\nfinal flow key.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "65e8354ec13a45414045084166cb340c0d7ffe8a",
      "tree": "3a7d8b63a3765343c07d6f878b4ef389041da6f0",
      "parents": [
        "d72751ede1b9bf993d7bd3377305c8e9e36a3cc4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Mar 04 14:33:59 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 14:33:59 2011 -0800"
      },
      "message": "inetpeer: seqlock optimization\n\nDavid noticed :\n\n------------------\nEric, I was profiling the non-routing-cache case and something that\nstuck out is the case of calling inet_getpeer() with create\u003d\u003d0.\n\nIf an entry is not found, we have to redo the lookup under a spinlock\nto make certain that a concurrent writer rebalancing the tree does\nnot \"hide\" an existing entry from us.\n\nThis makes the case of a create\u003d\u003d0 lookup for a not-present entry\nreally expensive.  It is on the order of 600 cpu cycles on my\nNiagara2.\n\nI added a hack to not do the relookup under the lock when create\u003d\u003d0\nand it now costs less than 300 cycles.\n\nThis is now a pretty common operation with the way we handle COW\u0027d\nmetrics, so I think it\u0027s definitely worth optimizing.\n-----------------\n\nOne solution is to use a seqlock instead of a spinlock to protect struct\ninet_peer_base.\n\nAfter a failed avl tree lookup, we can easily detect if a writer did\nsome changes during our lookup. Taking the lock and redo the lookup is\nonly necessary in this case.\n\nNote: Add one private rcu_deref_locked() macro to place in one spot the\naccess to spinlock included in seqlock.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d72751ede1b9bf993d7bd3377305c8e9e36a3cc4",
      "tree": "27abaa49de7ff666dbf6bbcb0d7bae2b9f029a2d",
      "parents": [
        "0a0e9ae1bd788bc19adc4d4ae08c98b233697402",
        "85a7045a90052749885e166f40af5e9140032287"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 12:48:25 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 12:48:25 2011 -0800"
      },
      "message": "Merge branch \u0027for-davem\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6\n"
    },
    {
      "commit": "e00de341fdb76c955703b4438100f9933c452b7f",
      "tree": "ab776a5e46f1cb5acaa6b26484763259040f470c",
      "parents": [
        "e76661d0a59e53e5cc4dccbe4b755d1dc8a968ec"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Mar 04 12:25:05 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Mar 04 12:25:05 2011 -0800"
      },
      "message": "libceph: fix msgr standby handling\n\nThe standby logic used to be pretty dependent on the work requeueing\nbehavior that changed when we switched to WQ_NON_REENTRANT.  It was also\nvery fragile.\n\nRestructure things so that:\n - We clear WRITE_PENDING when we set STANDBY.  This ensures we will\n   requeue work when we wake up later.\n - con_work backs off if STANDBY is set.  There is nothing to do if we are\n   in standby.\n - clear_standby() helper is called by both con_send() and con_keepalive(),\n   the two actions that can wake us up again.  Move the connect_seq++\n   logic here.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e76661d0a59e53e5cc4dccbe4b755d1dc8a968ec",
      "tree": "371ed08c5d00dbcdcf6f18e5cf36d798bcc51180",
      "parents": [
        "60bf8bf8815e6adea4c1d0423578c3b8000e2ec8"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu Mar 03 10:10:15 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Mar 04 12:24:31 2011 -0800"
      },
      "message": "libceph: fix msgr keepalive flag\n\nThere was some broken keepalive code using a dead variable.  Shift to using\nthe proper bit flag.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "60bf8bf8815e6adea4c1d0423578c3b8000e2ec8",
      "tree": "ce7140c32a3f177816f4029a88eb99e15bda6943",
      "parents": [
        "692d20f576fb26f62c83f80dbf3ea899998391b7"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Mar 04 12:24:28 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Mar 04 12:24:28 2011 -0800"
      },
      "message": "libceph: fix msgr backoff\n\nWith commit f363e45f we replaced a bunch of hacky workqueue mutual\nexclusion logic with the WQ_NON_REENTRANT flag.  One pieces of fallout is\nthat the exponential backoff breaks in certain cases:\n\n * con_work attempts to connect.\n * we get an immediate failure, and the socket state change handler queues\n   immediate work.\n * con_work calls con_fault, we decide to back off, but can\u0027t queue delayed\n   work.\n\nIn this case, we add a BACKOFF bit to make con_work reschedule delayed work\nnext time it runs (which should be immediately).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "85a7045a90052749885e166f40af5e9140032287",
      "tree": "cb4702d50bbe1d10ab9320ad3f63323b817727f7",
      "parents": [
        "29546a6404e3a4b5d13f0a9586eb5cf1c3b25167",
        "e46395a4b3d32d161d8b6d8e4a002972b1faae3e"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 04 14:10:40 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 04 14:10:40 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n"
    },
    {
      "commit": "9d468d2269b64222a706f52b965998ee64d0b4bf",
      "tree": "5acfa25eddc358909630a96879ca60bf6b17acaf",
      "parents": [
        "db7889cda3571bfd0d3a3fc79ca0cd16bb321ff2"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Fri Mar 04 13:31:31 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 04 14:06:50 2011 -0500"
      },
      "message": "mac80211: Remove redundant preamble and RTS flag setup in minstrel_ht\n\nmac80211 does the same afterwards anyway. Hence, just drop\nthis redundant code.\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nAcked-by: Felix Fietkau \u003cnbd@openwrt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a177584609f7eb2ab1f1c0211bee4ec20d98d892",
      "tree": "3a625f41560800f64f89e4c54ee75851b0913091",
      "parents": [
        "e46395a4b3d32d161d8b6d8e4a002972b1faae3e",
        "b8534e0f2b09e47790c261af0aee86fc88c6eb3c"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 04 13:59:44 2011 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 04 13:59:44 2011 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next-2.6\n"
    },
    {
      "commit": "0a0e9ae1bd788bc19adc4d4ae08c98b233697402",
      "tree": "13825eeb5bbeae27d66e95f12168eff4b60701ab",
      "parents": [
        "01a16b21d6adf992aa863186c3c4e561a57c1714",
        "b65a0e0c84cf489bfa00d6aa6c48abc5a237100f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x.h\n"
    },
    {
      "commit": "b65a0e0c84cf489bfa00d6aa6c48abc5a237100f",
      "tree": "3ed9d7b094e003a7b0d98234cb5b490d671bf3a9",
      "parents": [
        "4438a02fc4956f5f61918095708f183f5c63a9d3",
        "1362fa078dae16776cd439791c6605b224ea6171"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 03 15:48:01 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 03 15:48:01 2011 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  DNS: Fix a NULL pointer deref when trying to read an error key [CVE-2011-1076]\n"
    },
    {
      "commit": "4438a02fc4956f5f61918095708f183f5c63a9d3",
      "tree": "cc37b89534e3679d8e4e9c95935d040758a9de74",
      "parents": [
        "fb4b10ab5fadcf5012983e4306aec3131b808b1b",
        "4cd72c6e72e8a36a975decb53d70086008f386db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 03 15:43:15 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 03 15:43:15 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits)\n  MAINTAINERS: Add Andy Gospodarek as co-maintainer.\n  r8169: disable ASPM\n  RxRPC: Fix v1 keys\n  AF_RXRPC: Handle receiving ACKALL packets\n  cnic: Fix lost interrupt on bnx2x\n  cnic: Prevent status block race conditions with hardware\n  net: dcbnl: check correct ops in dcbnl_ieee_set()\n  e1000e: disable broken PHY wakeup for ICH10 LOMs, use MAC wakeup instead\n  igb: fix sparse warning\n  e1000: fix sparse warning\n  netfilter: nf_log: avoid oops in (un)bind with invalid nfproto values\n  dccp: fix oops on Reset after close\n  ipvs: fix dst_lock locking on dest update\n  davinci_emac: Add Carrier Link OK check in Davinci RX Handler\n  bnx2x: update driver version to 1.62.00-6\n  bnx2x: properly calculate lro_mss\n  bnx2x: perform statistics \"action\" before state transition.\n  bnx2x: properly configure coefficients for MinBW algorithm (NPAR mode).\n  bnx2x: Fix ethtool -t link test for MF (non-pmf) devices.\n  bnx2x: Fix nvram test for single port devices.\n  ...\n"
    }
  ],
  "next": "1362fa078dae16776cd439791c6605b224ea6171"
}
