)]}'
{
  "log": [
    {
      "commit": "67469601406c12ced3db9956aeb0ef0854e2952f",
      "tree": "a25902d49946c394ebf110265179da2dc5b7d827",
      "parents": [
        "a85c9bb895aed633615078f69f4a4bce9e39be5f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Apr 24 07:37:38 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 27 00:03:34 2012 -0400"
      },
      "message": "ipv6: RTAX_FEATURE_ALLFRAG causes inefficient TCP segment sizing\n\nQuoting Tore Anderson from :\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d42572\n\nWhen RTAX_FEATURE_ALLFRAG is set on a route, the effective TCP segment\nsize does not take into account the size of the IPv6 Fragmentation\nheader that needs to be included in outbound packets, causing every\ntransmitted TCP segment to be fragmented across two IPv6 packets, the\nlatter of which will only contain 8 bytes of actual payload.\n\nRTAX_FEATURE_ALLFRAG is typically set on a route in response to\nreceving a ICMPv6 Packet Too Big message indicating a Path MTU of less\nthan 1280 bytes. 1280 bytes is the minimum IPv6 MTU, however ICMPv6\nPTBs with MTU \u003c 1280 are still valid, in particular when an IPv6\npacket is sent to an IPv4 destination through a stateless translator.\nAny ICMPv4 Need To Fragment packets originated from the IPv4 part of\nthe path will be translated to ICMPv6 PTB which may then indicate an\nMTU of less than 1280.\n\nThe Linux kernel refuses to reduce the effective MTU to anything below\n1280 bytes, instead it sets it to exactly 1280 bytes, and\nRTAX_FEATURE_ALLFRAG is also set. However, the TCP segment size appears\nto be set to 1240 bytes (1280 Path MTU - 40 bytes of IPv6 header),\ninstead of 1232 (additionally taking into account the 8 bytes required\nby the IPv6 Fragmentation extension header).\n\nThis in turn results in rather inefficient transmission, as every\ntransmitted TCP segment now is split in two fragments containing\n1232+8 bytes of payload.\n\nAfter this patch, all the outgoing packets that includes a\nFragmentation header all are \"atomic\" or \"non-fragmented\" fragments,\ni.e., they both have Offset\u003d0 and More Fragments\u003d0.\n\nWith help from David S. Miller\n\nReported-by: Tore Anderson \u003ctore@fud.no\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Maciej Żenczykowski \u003cmaze@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nTested-by: Tore Anderson \u003ctore@fud.no\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9b8ae6bd8c3304569a25079fcdbebaa28a48ee4",
      "tree": "9ce3e4eb355685f970dd7333a0a935109aff0583",
      "parents": [
        "872f24dbc604ef585ea7eec73020dcdfaffd1956",
        "94c514fe240fc0dd02187b78facefde8b6744634"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 26 15:03:48 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 26 15:03:48 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-testmode.c\n"
    },
    {
      "commit": "f24001941c99776f41bd3f09c07d91205c2ad9d4",
      "tree": "0ab31480ccdf343b61db045e195d096068ef7c73",
      "parents": [
        "a108d5f35adc5c5d5cdc882dc0bb920565551bff",
        "4d634ca35a8b38530b134ae92bc9e3cc9c23c030"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 23 23:14:36 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 23 23:15:17 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nFix merge between commit 3adadc08cc1e (\"net ax25: Reorder ax25_exit to\nremove races\") and commit 0ca7a4c87d27 (\"net ax25: Simplify and\ncleanup the ax25 sysctl handling\")\n\nThe former moved around the sysctl register/unregister calls, the\nlater simply removed them.\n\nWith help from Stephen Rothwell.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f545a38f74584cc7424cb74f792a00c6d2589485",
      "tree": "b272cbfed3267a7750f55f23989e1b070ae6ac3e",
      "parents": [
        "b98985073bc5403ef1320866e4ef8bbc5d587ceb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Sun Apr 22 23:34:26 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 23 22:28:28 2012 -0400"
      },
      "message": "net: add a limit parameter to sk_add_backlog()\n\nsk_add_backlog() \u0026 sk_rcvqueues_full() hard coded sk_rcvbuf as the\nmemory limit. We need to make this limit a parameter for TCP use.\n\nNo functional change expected in this patch, all callers still using the\nold sk_rcvbuf limit.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Maciej Żenczykowski \u003cmaze@google.com\u003e\nCc: Yuchung Cheng \u003cycheng@google.com\u003e\nCc: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nCc: Rick Jones \u003crick.jones2@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b98985073bc5403ef1320866e4ef8bbc5d587ceb",
      "tree": "316170ba340cfa9dbd4a39efb19e7e1f736bd236",
      "parents": [
        "48c74958571b609522c016136259a1369a3ddd24"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Apr 23 14:25:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 23 22:14:47 2012 -0400"
      },
      "message": "net ax25: Fix the build when sysctl support is disabled.\n\nRandy Dunlap \u003crdunlap@xenotime.net\u003e reported:\n\n\u003e On 04/23/2012 12:07 AM, Stephen Rothwell wrote:\n\u003e\n\u003e\u003e Hi all,\n\u003e\u003e\n\u003e\u003e Changes since 20120420:\n\u003e\n\u003e\n\u003e include/net/ax25.h:447:75: error: expected \u0027;\u0027 before \u0027}\u0027 token\n\u003e\n\u003e static inline int ax25_register_dev_sysctl(ax25_dev *ax25_dev) { return 0 };\n\u003e static inline void ax25_unregister_dev_sysctl(ax25_dev *ax25_dev) {};\n\u003e\n\u003e First function:  move \u0027;\u0027 inside braces.\n\u003e Second function:  drop the \u0027;\u0027.\n\nPut the semicolons where it makes sense.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "48c74958571b609522c016136259a1369a3ddd24",
      "tree": "364e264d5b53d5fdad36dd424ad0e241e6934417",
      "parents": [
        "42f11cf20cc5b76766fd1f0e591eda26283a38ec"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Apr 23 12:13:02 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 23 19:24:28 2012 -0400"
      },
      "message": "net sysctl: Add place holder functions for when sysctl support is compiled out of the kernel.\n\nRandy Dunlap \u003crdunlap@xenotime.net\u003e reported:\n\u003e On 04/23/2012 12:07 AM, Stephen Rothwell wrote:\n\u003e\n\u003e\u003e Hi all,\n\u003e\u003e\n\u003e\u003e Changes since 20120420:\n\u003e\n\u003e\n\u003e\n\u003e ERROR: \"unregister_net_sysctl_table\" [net/phonet/phonet.ko] undefined!\n\u003e ERROR: \"register_net_sysctl\" [net/phonet/phonet.ko] undefined!\n\u003e\n\u003e when CONFIG_SYSCTL is not enabled.\n\nAdd static inline stub functions to gracefully handle the case when sysctl\nsupport is not present.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d8a0a17288e419c2e5e9ce18c8b66b390eb7e23",
      "tree": "73660da190f46b320b45f6fdf7491b9c0a0364d4",
      "parents": [
        "6ac95b57657d1bf5776f29a1697c123f62d5a58a"
      ],
      "author": {
        "name": "Wey-Yi Guy",
        "email": "wey-yi.w.guy@intel.com",
        "time": "Fri Apr 20 11:57:00 2012 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 23 15:37:41 2012 -0400"
      },
      "message": "mac80211: declare ieee80211_ave_rssi as EXPORT\n\nieee80211_ave_rssi need to be declare as export for driver to use it.\n\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "900f65d361d333c949ef76a828343075f4fdf523",
      "tree": "8b4474c6c9df1fcad4d946c64bcc1535450d0927",
      "parents": [
        "e66e9a31474dcce5be6f1186dc933d8a991c707b"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Thu Apr 19 09:55:21 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 21 16:36:42 2012 -0400"
      },
      "message": "tcp: move duplicate code from tcp_v4_init_sock()/tcp_v6_init_sock()\n\nThis commit moves the (substantial) common code shared between\ntcp_v4_init_sock() and tcp_v6_init_sock() to a new address-family\nindependent function, tcp_init_sock().\n\nCentralizing this functionality should help avoid drift issues,\ne.g. where the IPv4 side is updated without a corresponding update to\nIPv6. There was already some drift: IPv4 initialized snd_cwnd to\nTCP_INIT_CWND, while the IPv6 side was still initializing snd_cwnd to\n2 (in this case it should not matter, since snd_cwnd is also\ninitialized in tcp_init_metrics(), but the general risks and\nmaintenance overhead remain).\n\nWhen diffing the old and new code, note that new tcp_init_sock()\nfunction uses the order of steps from the tcp_v4_init_sock()\nimplementation (the order is slightly different in\ntcp_v6_init_sock()).\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee9952831cfd0bbe834f4a26489d7dce74582e37",
      "tree": "64c195fa45e1a200f38d68751161d8e06dfb5a6c",
      "parents": [
        "370816aef0c5436c2adbec3966038f36ca326933"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu Apr 19 03:40:39 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 21 15:52:25 2012 -0400"
      },
      "message": "tcp: Initial repair mode\n\nThis includes (according the the previous description):\n\n* TCP_REPAIR sockoption\n\nThis one just puts the socket in/out of the repair mode.\nAllowed for CAP_NET_ADMIN and for closed/establised sockets only.\nWhen repair mode is turned off and the socket happens to be in\nthe established state the window probe is sent to the peer to\n\u0027unlock\u0027 the connection.\n\n* TCP_REPAIR_QUEUE sockoption\n\nThis one sets the queue which we\u0027re about to repair. The\n\u0027no-queue\u0027 is set by default.\n\n* TCP_QUEUE_SEQ socoption\n\nSets the write_seq/rcv_nxt of a selected repaired queue.\nAllowed for TCP_CLOSE-d sockets only. When the socket changes\nits state the other seq-s are changed by the kernel according\nto the protocol rules (most of the existing code is actually\nreused).\n\n* Ability to forcibly bind a socket to a port\n\nThe sk-\u003esk_reuse is set to SK_FORCE_REUSE.\n\n* Immediate connect modification\n\nThe connect syscall initializes the connection, then directly jumps\nto the code which finalizes it.\n\n* Silent close modification\n\nThe close just aborts the connection (similar to SO_LINGER with 0\ntime) but without sending any FIN/RST-s to peer.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "370816aef0c5436c2adbec3966038f36ca326933",
      "tree": "665f8b3b0818aa7aa4f653072d89d1dcfb91a55f",
      "parents": [
        "4a17fd5229c1b6066aa478f6b690f8293ce811a1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu Apr 19 03:40:01 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 21 15:52:25 2012 -0400"
      },
      "message": "tcp: Move code around\n\nThis is just the preparation patch, which makes the needed for\nTCP repair code ready for use.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a17fd5229c1b6066aa478f6b690f8293ce811a1",
      "tree": "f6acd00935d2d7a990befb4c77f57fdf39f46689",
      "parents": [
        "59c55bdde856c4000bbeb33ba212c3df6f1997a4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu Apr 19 03:39:36 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 21 15:52:25 2012 -0400"
      },
      "message": "sock: Introduce named constants for sk_reuse\n\nName them in a \"backward compatible\" manner, i.e. reuse or not\nare still 1 and 0 respectively. The reuse value of 2 means that\nthe socket with it will forcibly reuse everyone else\u0027s port.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f568e5afe35721f2f692bccab243ba87cd8f87a",
      "tree": "cf768cf2fc95974f9228848722aa1afb8fd02a33",
      "parents": [
        "a5347fe36b313c07d59b065d00a8fa56362c5f97"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Apr 19 13:46:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 20 21:22:30 2012 -0400"
      },
      "message": "net: Remove register_net_sysctl_table\n\nAll of the users have been converted to use registera_net_sysctl so we\nno longer need register_net_sysctl.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5347fe36b313c07d59b065d00a8fa56362c5f97",
      "tree": "8778711b514baca6f5686777c0dea245a8874711",
      "parents": [
        "ec8f23ce0f4005b74013d4d122e0d540397a93c9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Apr 19 13:45:29 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 20 21:22:30 2012 -0400"
      },
      "message": "net: Delete all remaining instances of ctl_path\n\nWe don\u0027t use struct ctl_path anymore so delete the exported constants.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f99e8f715a5c7ebad5410b1e9b4d744ddb284f54",
      "tree": "82c244a36233aeca19284caa308ca094b88ecade",
      "parents": [
        "8607ddb86711df4504a028cc88299d334b786bf3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Apr 19 13:43:55 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 20 21:22:30 2012 -0400"
      },
      "message": "net: Convert nf_conntrack_proto to use register_net_sysctl\n\nThere isn\u0027t much advantage here except that strings paths are a bit\neasier to read, and converting everything to them allows me to kill off\nctl_path.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6dceb03687124b6ee392eb1d9921bd463eab3190",
      "tree": "f7a5de779c5cc5cc1d660fabe0678de9c606b83e",
      "parents": [
        "64fb3010400f6051261be9c5c74f29de416dad8f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Apr 19 13:37:09 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 20 21:22:29 2012 -0400"
      },
      "message": "net ipv6: Don\u0027t use sysctl tables with .child entries.\n\nThe sysctl core no longer natively understands sysctl tables\nwith .child entries.\n\nSplit the ipv6_table to remove the .child entries.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ca7a4c87d27dd2fde0783dec94a821d6d035696",
      "tree": "3f9d1cd9a8146ce751e43f8f103a255fc7ec199d",
      "parents": [
        "4e5ca78541c549ec8886ad2fc19306f35ee672e1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Apr 19 13:34:18 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 20 21:22:28 2012 -0400"
      },
      "message": "net ax25: Simplify and cleanup the ax25 sysctl handling.\n\nDon\u0027t register/unregister every ax25 table in a batch.  Instead register\nand unregister per device ax25 sysctls as ax25 devices come and go.\n\nThis moves ax25 to be a completely modern sysctl user.  Registering the\nsysctls in just the initial network namespace, removing the use of\n.child entries that are no longer natively supported by the sysctl core\nand taking advantage of the fact that there are no longer any ordering\nconstraints between registering and unregistering different sysctl\ntables.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e5ca78541c549ec8886ad2fc19306f35ee672e1",
      "tree": "8e3119cc1710d20cd4f672e1f91b4adedbd5fab0",
      "parents": [
        "a5287acc6ca3c69821ab4c5439be8c0ff30a20cb"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Apr 19 13:32:39 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 20 21:21:18 2012 -0400"
      },
      "message": "net ipv4: Remove the unneeded registration of an empty net/ipv4/neigh\n\nsysctl no longer requires explicit creation of directories.  The neigh\ndirectory is always populated with at least a default entry so this\nwon\u0027t cause any user visible changes.\n\nDelete the ipv4_path and the ipv4_skeleton these are no longer needed.\n\nDirectly register the ipv4_route_table.\n\nAnd since I am an idiot remove the header definitions that I should\nhave removed in the previous patch.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4344475797a16ef948385780943f7a5cf09f0675",
      "tree": "1cd80eae7c46a1e3f2f5c546212d84d007a5dffa",
      "parents": [
        "2ca794e5e86c800d7f98c4ebb8bd325099c0afe8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Apr 19 13:22:55 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 20 21:21:17 2012 -0400"
      },
      "message": "net: Kill register_sysctl_rotable\n\nregister_sysctl_rotable never caught on as an interesting way to\nregister sysctls.  My take on the situation is that what we want are\nsysctls that we can only see in the initial network namespace.  What we\nhave implemented with register_sysctl_rotable are sysctls that we can\nsee in all of the network namespaces and can only change in the initial\nnetwork namespace.\n\nThat is a very silly way to go.  Just register the network sysctls\nin the initial network namespace and we don\u0027t have any weird special\ncases to deal with.\n\nThe sysctls affected are:\n/proc/sys/net/ipv4/ipfrag_secret_interval\n/proc/sys/net/ipv4/ipfrag_max_dist\n/proc/sys/net/ipv6/ip6frag_secret_interval\n/proc/sys/net/ipv6/mld_max_msf\n\nI really don\u0027t expect anyone will miss them if they can\u0027t read them in a\nchild user namespace.\n\nCC: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2ca794e5e86c800d7f98c4ebb8bd325099c0afe8",
      "tree": "f0ae38f58dec5a07ae57e31aca4943c85ffe9d65",
      "parents": [
        "bc8a36942a5c05896d373a8e98d5e6b14514b4bc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Apr 19 13:20:32 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 20 21:21:16 2012 -0400"
      },
      "message": "net sysctl: Initialize the network sysctls sooner to avoid problems.\n\nIf the netfilter code is modified to use register_net_sysctl_table the\nkernel fails to boot because the per net sysctl infrasturce is not setup\nsoon enough.  So to avoid races call net_sysctl_init from sock_init().\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab41a2ca50d27ee2dc8b9eef07aeb251168271be",
      "tree": "f564a922248d90a0007b9958fbef4964501d98f9",
      "parents": [
        "167de77fd4e5646f98f67bd9f0a0054a891f6ff4"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Apr 19 13:18:47 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 20 21:21:15 2012 -0400"
      },
      "message": "net: Implement register_net_sysctl.\n\nRight now all of the networking sysctl registrations are running in a\ncompatibiity mode.  The natvie sysctl registration api takes a cstring\nfor a path and a simple ctl_table.  Implement register_net_sysctl so\nthat we can register network sysctls without needing to use\ncompatiblity code in the sysctl core.\n\nSwitching from a ctl_path to a cstring results in less boiler plate\nand denser code that is a little easier to read.\n\nI would simply have changed the arguments to register_net_sysctl_table\ninstead of keeping two functions in parallel but gcc will allow a\nctl_path pointer to be passed to a char * pointer with only issuing a\nwarning resulting in completely incorrect code can be built.  Since I\nhave to change the function name I am taking advantage of the situation\nto let both register_net_sysctl and register_net_sysctl_table live for a\nshort time in parallel which makes clean conversion patches a bit easier\nto read and write.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "59ef43e681d103a51c3727dad0315e093f07ec61",
      "tree": "87f6320f1440ce3ce6c0c15ad3cef8bc98186f88",
      "parents": [
        "91fbe33034c184c6a60e31c2207a2f7ec2f180dc",
        "b5abcf0219263f4e961dca71cbe26e06c5b0ee68"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 18 14:17:13 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 18 14:27:48 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-testmode.c\n\tinclude/net/nfc/nfc.h\n\tnet/nfc/netlink.c\n\tnet/wireless/nl80211.c\n"
    },
    {
      "commit": "d3d4f0a025e621b82da08a76df4036d4267739dd",
      "tree": "0c4d40f6df2b919ccd8cbc596c440000b7d13b9a",
      "parents": [
        "4d846f02392a710f9604892ac3329e628e60a230"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Apr 17 14:03:53 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 17 22:32:00 2012 -0400"
      },
      "message": "net/sock.h: fix sk_peek_off kernel-doc warning\n\nFix kernel-doc warning in net/sock.h:\n\nWarning(include/net/sock.h:377): No description found for parameter \u0027sk_peek_off\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cda31e10baf47a8a7d9360d9488fb76294be1ca3",
      "tree": "7bc647cff2900f21a493718754b5261d96562564",
      "parents": [
        "edfb5d4687d587c9f714799c7ee27517118e12e6"
      ],
      "author": {
        "name": "Jiri Bohac",
        "email": "jbohac@suse.cz",
        "time": "Mon Apr 16 03:35:41 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 17 22:31:59 2012 -0400"
      },
      "message": "ipv6: clean up rt6_clean_expires\n\nFunctionally, this change is a NOP.\n\nSemantically, rt6_clean_expires() wants to do rt-\u003edst.from \u003d NULL instead of\nrt-\u003edst.expires \u003d 0. It is clearing the RTF_EXPIRES flag, so the union is going\nto be treated as a pointer (dst.from) not a long (dst.expires).\n\nSigned-off-by: Jiri Bohac \u003cjbohac@suse.cz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "edfb5d4687d587c9f714799c7ee27517118e12e6",
      "tree": "a3f420b125f8b55bd9135ab3c9299a2b22a24507",
      "parents": [
        "b95465c8fcd7c8619ff9ff7bbf8038ab31c7f34b"
      ],
      "author": {
        "name": "Jiri Bohac",
        "email": "jbohac@suse.cz",
        "time": "Mon Apr 16 03:34:39 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 17 22:31:51 2012 -0400"
      },
      "message": "ipv6: fix rt6_update_expires\n\nCommit 1716a961 (ipv6: fix problem with expired dst cache) broke PMTU\ndiscovery. rt6_update_expires() calls dst_set_expires(), which only updates\ndst-\u003eexpires if it has not been set previously (expires \u003d\u003d 0) or if the new\nexpires is earlier than the current dst-\u003eexpires.\n\nrt6_update_expires() needs to zero rt-\u003edst.expires, otherwise it will contain\nivalid data left over from rt-\u003edst.from and will confuse dst_set_expires().\n\nSigned-off-by: Jiri Bohac \u003cjbohac@suse.cz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4362aaf6054b9760652c7047cdf6fa852acb6cf7",
      "tree": "e4346f7ecc24d63bd657348fba1b73724214f896",
      "parents": [
        "244b65dbfede788f2fa3fe2463c44d0809e97c6b"
      ],
      "author": {
        "name": "David Ward",
        "email": "david.ward@ll.mit.edu",
        "time": "Mon Apr 16 03:17:22 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 16 23:53:11 2012 -0400"
      },
      "message": "net_sched: red: Make minor corrections to comments\n\nSigned-off-by: David Ward \u003cdavid.ward@ll.mit.edu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1dae27f84baa37b76014b348985089d22d90cccc",
      "tree": "4908af8fcd3f609c5078cc338412917ac0199419",
      "parents": [
        "f11bbfd87dc7c7c09e6aac7cd17c980ba64d6589"
      ],
      "author": {
        "name": "Wey-Yi Guy",
        "email": "wey-yi.w.guy@intel.com",
        "time": "Fri Apr 13 12:02:57 2012 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 16 14:38:49 2012 -0400"
      },
      "message": "mac80211: add function retrieve average rssi\n\nAdd utility function to provide the average rssi per vif\n\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f4f9f6e75d67ddfcfea79a2108217bc654aef3af",
      "tree": "27dfcbaccae81018e4b618031d2c6a8725d463d4",
      "parents": [
        "65cff8720164611ec617d4cc1ea65f2deb3832b6"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Mon Apr 16 07:08:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 16 14:38:16 2012 -0400"
      },
      "message": "tcp: restore formatting of macros for tcp_skb_cb sacked field\n\nCommit b82d1bb4 inadvertendly placed unrelated new code between\nTCPCB_EVER_RETRANS and TCPCB_RETRANS and the other macros that refer\nto the sacked field in the struct tcp_skb_cb (probably because there\nwas a misleading empty line there). This commit fixes up the\nformatting so that all macros related to the sacked field are adjacent\nagain.\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e8b41f9d8c8e63fc92f899ace8da91a490ac573",
      "tree": "154122d12331baa908766b87782cad69b4a7da7d",
      "parents": [
        "0d920987f900573f9f86b7310147ebd1646657c9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Mar 15 10:16:16 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 16 14:16:58 2012 -0400"
      },
      "message": "cfg80211: enforce lack of interface combinations\n\nMy grand plan to allow drivers to gradually move over\nto advertising virtual interface combinations and only\nenforce with drivers that do want it enforced doesn\u0027t\nseem to be working out, only Christian ever added the\nadvertising (to carl9170), nobody else did.\n\nBegin enforcing combinations in cfg80211 so that users\ncan rely on the information reported about a device.\n\nCc: \"Luis R. Rodriguez\" \u003cmcgrof@qca.qualcomm.com\u003e\nCc: Jouni Malinen \u003cjouni@qca.qualcomm.com\u003e\nCc: Vasanthakumar Thiagarajan \u003cvthiagar@qca.qualcomm.com\u003e\nCc: Senthil Balasubramanian \u003csenthilb@qca.qualcomm.com\u003e\nCc: Kalle Valo \u003ckvalo@qca.qualcomm.com\u003e\nCc: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: Nick Kossifidis \u003cmickflemm@gmail.com\u003e\nCc: Bob Copeland \u003cme@bobcopeland.com\u003e\nCc: Bing Zhao \u003cbzhao@marvell.com\u003e\nCc: Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e\nCc: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Gertjan van Wingerde \u003cgwingerde@gmail.com\u003e\nCc: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nCc: Luciano Coelho \u003ccoelho@ti.com\u003e\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "56845d78cee8576a8160cee8aeac62efdb561ae2",
      "tree": "f891afed5324d359da1713a80a7131968373acc4",
      "parents": [
        "df8ef8f3aaa6692970a436204c4429210addb23a",
        "8a9a0ea6032186e3030419262678d652b88bf6a8"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 15 13:19:04 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 15 13:19:04 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/atheros/atlx/atl1.c\n\tdrivers/net/ethernet/atheros/atlx/atl1.h\n\nResolved a conflict between a DMA error bug fix and NAPI\nsupport changes in the atl1 driver.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95c961747284a6b83a5e2d81240e214b0fa3464d",
      "tree": "c7be86a00db3605a48a03109fafcbe31039ca2e0",
      "parents": [
        "5e73ea1a31c3612aa6dfe44f864ca5b7b6a4cff9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Apr 15 05:58:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 15 12:44:40 2012 -0400"
      },
      "message": "net: cleanup unsigned to unsigned int\n\nUse of \"unsigned int\" is preferred to bare \"unsigned\" in net tree.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aacd9289af8b82f5fb01bcdd53d0e3406d1333c7",
      "tree": "d918d09ce942b52f707676e0a648e5c6a84de1b4",
      "parents": [
        "c72e118334a2590f4f07d9e51490b902c33f5280"
      ],
      "author": {
        "name": "Alex Copot",
        "email": "alex.mihai.c@gmail.com",
        "time": "Thu Apr 12 22:21:45 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 14 15:28:55 2012 -0400"
      },
      "message": "tcp: bind() use stronger condition for bind_conflict\n\nWe must try harder to get unique (addr, port) pairs when\ndoing port autoselection for sockets with SO_REUSEADDR\noption set.\n\nWe achieve this by adding a relaxation parameter to\ninet_csk_bind_conflict. When \u0027relax\u0027 parameter is off\nwe return a conflict whenever the current searched\npair (addr, port) is not unique.\n\nThis tries to address the problems reported in patch:\n\t8d238b25b1ec22a73b1c2206f111df2faaff8285\n\tRevert \"tcp: bind() fix when many ports are bound\"\n\nTests where ran for creating and binding(0) many sockets\non 100 IPs. The results are, on average:\n\n\t* 60000 sockets, 600 ports / IP:\n\t\t* 0.210 s, 620 (IP, port) duplicates without patch\n\t\t* 0.219 s, no duplicates with patch\n\t* 100000 sockets, 1000 ports / IP:\n\t\t* 0.371 s, 1720 duplicates without patch\n\t\t* 0.373 s, no duplicates with patch\n\t* 200000 sockets, 2000 ports / IP:\n\t\t* 0.766 s, 6900 duplicates without patch\n\t\t* 0.768 s, no duplicates with patch\n\t* 500000 sockets, 5000 ports / IP:\n\t\t* 2.227 s, 41500 duplicates without patch\n\t\t* 2.284 s, no duplicates with patch\n\nSigned-off-by: Alex Copot \u003calex.mihai.c@gmail.com\u003e\nSigned-off-by: Daniel Baluta \u003cdbaluta@ixiacom.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd4f2cead6983735a4e6283126b9276873d7ff09",
      "tree": "2b5313230f3abe2b678230d4182cc6d2f2870062",
      "parents": [
        "eff98db027c50f1e4ad14f1d9069d55e5f7e4319"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 12 19:48:40 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 14 15:24:26 2012 -0400"
      },
      "message": "tcp: RFC6298 supersedes RFC2988bis\n\nUpdates some comments to track RFC6298\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: H.K. Jerry Chu \u003chkchu@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87b6d218f3adb00e6b58c7f96f8b5a74ff91abb4",
      "tree": "0a8108621afcaf9549a05a33ca08adb4a810b257",
      "parents": [
        "64d683c5825003ffb3b127057a165e6bfc26691e"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Apr 12 06:31:16 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 14 14:47:05 2012 -0400"
      },
      "message": "tunnel: implement 64 bits statistics\n\nConvert the per-cpu statistics kept for GRE, IPIP, and SIT tunnels\nto use 64 bit statistics.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ee73f338a528f44fd90496adfbfd9c119401850",
      "tree": "665c02d2ec013a09b252713c8f94b604f6050cc7",
      "parents": [
        "f58cc809d2fe60989095c7b55fd14e1935a2f72a"
      ],
      "author": {
        "name": "Michal Kazior",
        "email": "michal.kazior@tieto.com",
        "time": "Wed Apr 11 08:47:56 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 13 14:32:50 2012 -0400"
      },
      "message": "mac80211: remove hw.conf.channel usage where possible\n\nRemoves hw.conf.channel usage from the following functions:\n * ieee80211_mandatory_rates\n * ieee80211_sta_get_rates\n * ieee80211_frame_duration\n * ieee80211_rts_duration\n * ieee80211_ctstoself_duration\n\nThis is in preparation for multi-channel operation.\n\nSigned-off-by: Michal Kazior \u003cmichal.kazior@tieto.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d91df0e3a1b9a7427785cb8d28be073df9b18b78",
      "tree": "ecaafaaf178a20fdcbe21fc5c8e586527ab45aa1",
      "parents": [
        "3a4b43fde103da510d8962a073bb748706f426bd"
      ],
      "author": {
        "name": "Pontus Fuchs",
        "email": "pontus.fuchs@gmail.com",
        "time": "Tue Apr 03 16:39:58 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Apr 13 14:32:49 2012 -0400"
      },
      "message": "cfg80211: Add channel information to NL80211_CMD_GET_INTERFACE\n\nIf the current channel is known, add frequency and channel type to\nNL80211_CMD_GET_INTERFACE.\n\nSigned-off-by: Pontus Fuchs \u003cpontus.fuchs@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "be3839520411df2806b188fff053c775a884cfce",
      "tree": "bf31ef704c1e8fdce0647fbf735aada490fb25de",
      "parents": [
        "2a06b40fbbbd33d70aea385380531d959f47bc06"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 13 14:21:04 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 13 14:21:04 2012 -0400"
      },
      "message": "rtnetlink: ops-\u003eget_tx_queue() cannot take a const \u0027tb\u0027.\n\nnet/core/rtnetlink.c: In function ‘rtnl_create_link’:\nnet/core/rtnetlink.c:1645:3: warning: passing argument 2 of ‘ops-\u003eget_tx_queues’ from incompatible pointer type [enabled by default]\nnet/core/rtnetlink.c:1645:3: note: expected ‘const struct nlattr **’ but argument is of type ‘struct nlattr **’\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dcd2ba92e842eec0d0372415fa26f1c411f5530d",
      "tree": "aa68fbb0372897b0af17357d9d13ae717d8c11d9",
      "parents": [
        "447167bf565a474ff0cfb0f41d54936937479e97"
      ],
      "author": {
        "name": "Hiroaki SHIMODA",
        "email": "shimoda.hiroaki@gmail.com",
        "time": "Fri Apr 13 07:34:44 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 13 14:00:44 2012 -0400"
      },
      "message": "neighbour: Make neigh_table_init_no_netlink() static.\n\nneigh_table_init_no_netlink() is only used in net/core/neighbour.c file.\n\nSigned-off-by: Hiroaki SHIMODA \u003cshimoda.hiroaki@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "447167bf565a474ff0cfb0f41d54936937479e97",
      "tree": "38b03cb4e23bec19939545575e36f7395c5b156e",
      "parents": [
        "77577bf93275b485cecb4f358a085949c32e9dcd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 11 23:05:28 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 13 13:39:37 2012 -0400"
      },
      "message": "udp: intoduce udp_encap_needed static_key\n\nMost machines dont use UDP encapsulation (L2TP)\n\nAdds a static_key so that udp_queue_rcv_skb() doesnt have to perform a\ntest if L2TP never setup the encap_rcv on a socket.\n\nIdea of this patch came after Simon Horman proposal to add a hook on TCP\nas well.\n\nIf static_key is not yet enabled, the fast path does a single JMP .\n\nWhen static_key is enabled, JMP destination is patched to reach the real\nencap_type/encap_rcv logic, possibly adding cache misses.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nCc: dev@openvswitch.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b17876f3e674a794a2d83aa47a9b356d36b7418",
      "tree": "21d8ccc7ec485ae7c7c9a45ebdfe8e3c0864d374",
      "parents": [
        "efacb309b50073a79ae604949a31509cd8b507ab"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Apr 10 18:32:59 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 13 13:32:39 2012 -0400"
      },
      "message": "rtnetlink: fix comments\n\nFix spelling and references in rtnetlink.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "efacb309b50073a79ae604949a31509cd8b507ab",
      "tree": "98fa69062e8e0cbaecbe069f9fef18f1917e1e65",
      "parents": [
        "302846e3a692131a99b462078fe232ca2927b9d3"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Apr 10 18:34:43 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 13 13:31:00 2012 -0400"
      },
      "message": "rtnetlink \u0026 bonding: change args got get_tx_queues\n\nChange get_tx_queues, drop unsused arg/return value real_tx_queues,\nand use return by value (with error) rather than call by reference.\n\nProbably bonding should just change to LLTX and the whole get_tx_queues\nAPI could disappear!\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1716a96101c49186bb0b8491922fd3e69030235f",
      "tree": "43794d2f033f439d25c63b1796e138d65fd746a8",
      "parents": [
        "d62f8dbb5b7771910f7c4657345df8ac93acb832"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Fri Apr 06 00:13:10 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 13 12:58:29 2012 -0400"
      },
      "message": "ipv6: fix problem with expired dst cache\n\nIf the ipv6 dst cache which copy from the dst generated by ICMPV6 RA packet.\nthis dst cache will not check expire because it has no RTF_EXPIRES flag.\nSo this dst cache will always be used until the dst gc run.\n\nChange the struct dst_entry,add a union contains new pointer from and expires.\nWhen rt6_info.rt6i_flags has no RTF_EXPIRES flag,the dst.expires has no use.\nwe can use this field to point to where the dst cache copy from.\nThe dst.from is only used in IPV6.\n\nrt6_check_expired check if rt6_info.dst.from is expired.\n\nip6_rt_copy only set dst.from when the ort has flag RTF_ADDRCONF\nand RTF_DEFAULT.then hold the ort.\n\nip6_dst_destroy release the ort.\n\nAdd some functions to operate the RTF_EXPIRES flag and expires(from) together.\nand change the code to use these new adding functions.\n\nChanges from v5:\nmodify ip6_route_add and ndisc_router_discovery to use new adding functions.\n\nOnly set dst.from when the ort has flag RTF_ADDRCONF\nand RTF_DEFAULT.then hold the ort.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ece367d53a5bf46cc357163c7074a6546a0ec01c",
      "tree": "741193e49df32040d03c9258c342a75eecfae9f1",
      "parents": [
        "447648128ec22e294604674ffe1064aa3ec3b767"
      ],
      "author": {
        "name": "Dmitry Tarnyagin",
        "email": "dmitry.tarnyagin@stericsson.com",
        "time": "Thu Apr 12 08:27:25 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 13 11:37:36 2012 -0400"
      },
      "message": "caif-hsi: robust frame aggregation for HSI\n\nImplement aggregation algorithm, combining more data into a single\nHSI transfer. 4 different traffic categories are supported:\n 1. TC_PRIO_CONTROL .. TC_PRIO_MAX (CTL)\n 2. TC_PRIO_INTERACTIVE            (VO)\n 3. TC_PRIO_INTERACTIVE_BULK       (VI)\n 4. TC_PRIO_BESTEFFORT, TC_PRIO_BULK, TC_PRIO_FILLER (BEBK)\n\nSigned-off-by: Dmitry Tarnyagin \u003cdmitry.tarnyagin@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "447648128ec22e294604674ffe1064aa3ec3b767",
      "tree": "1dfb671203f989a8612704674bbe59c78cf27109",
      "parents": [
        "e65ac4d54546b7d7514a9e8be1484c758f2b7ba3"
      ],
      "author": {
        "name": "Dmitry Tarnyagin",
        "email": "dmitry.tarnyagin@stericsson.com",
        "time": "Thu Apr 12 08:27:24 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 13 11:37:36 2012 -0400"
      },
      "message": "caif: set traffic class for caif packets\n\nSet traffic class for CAIF packets, based on socket\npriority, CAIF protocol type, or type of message.\n\nTraffic class mapping for different packet types:\n - control:       TC_PRIO_CONTROL;\n - flow control:  TC_PRIO_CONTROL;\n - at:            TC_PRIO_CONTROL;\n - rfm:           TC_PRIO_INTERACTIVE_BULK;\n - other sockets: equals to socket\u0027s TC;\n - network data:  no change.\n\nSigned-off-by: Dmitry Tarnyagin \u003cdmitry.tarnyagin@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "816a7854d56f19aeba3c83e1ed8c2c0ef275365a",
      "tree": "c3b82ad98006fc5fa7b408c142e75a6053195dfa",
      "parents": [
        "011e3c63251be832d23df9f0697626ab7b354d02",
        "7eab0f64a9eba5405222fdef0ede2468bf495efd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 12 20:12:31 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 12 20:12:31 2012 -0400"
      },
      "message": "Merge branch \u0027for-davem\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next\n"
    },
    {
      "commit": "011e3c63251be832d23df9f0697626ab7b354d02",
      "tree": "2cad5b58c274c93ae49d9b58fb15d784d4dfd78f",
      "parents": [
        "c1412fce7eccae62b4de22494f6ab3ff8a90c0c6",
        "ecca5c3acc0d0933d89abc44e60afb0cc8170e35"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 12 19:41:23 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 12 19:41:23 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "e35f30c131a562bafd069820a6983fd4023e606e",
      "tree": "7768d88caf0ae7950a586340510eb965bbc5bded",
      "parents": [
        "64d176fce1a28c7cef2f239936b760ed61c59586"
      ],
      "author": {
        "name": "Alexey I. Froloff",
        "email": "raorn@raorn.name",
        "time": "Fri Apr 06 05:50:58 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 12 15:56:57 2012 -0400"
      },
      "message": "Treat ND option 31 as userland (DNSSL support)\n\nAs specified in RFC6106, DNSSL option contains one or more domain names\nof DNS suffixes.  8-bit identifier of the DNSSL option type as assigned\nby the IANA is 31.  This option should also be treated as userland.\n\nSigned-off-by: Alexey I. Froloff \u003craorn@raorn.name\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8d56ae78653c02fc6e6f304a18f860302481c2d",
      "tree": "c60fce9156d96a746e809302ebeb1eab86e73f25",
      "parents": [
        "144612cacc0b5c230f0b3aebc3a3a53854c332ee"
      ],
      "author": {
        "name": "Eric Lapuyade",
        "email": "eric.lapuyade@intel.com",
        "time": "Tue Apr 10 19:43:12 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 12 15:10:39 2012 -0400"
      },
      "message": "NFC: Add Core support to generate tag lost event\n\nSome HW/drivers get notifications when a tag moves out of the radio field.\nThis notification is now forwarded to user space through netlink.\n\nSigned-off-by: Eric Lapuyade \u003ceric.lapuyade@intel.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "144612cacc0b5c230f0b3aebc3a3a53854c332ee",
      "tree": "ec2b6fa0faf19ca9977c50a84ba9ba21aabe725a",
      "parents": [
        "01ae0eea9bed132a9c4a2c207dbf8e05b0051071"
      ],
      "author": {
        "name": "Eric Lapuyade",
        "email": "eric.lapuyade@intel.com",
        "time": "Tue Apr 10 19:43:11 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 12 15:10:38 2012 -0400"
      },
      "message": "NFC: Changed target activated state logic\n\nSigned-off-by: Eric Lapuyade \u003ceric.lapuyade@intel.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "01ae0eea9bed132a9c4a2c207dbf8e05b0051071",
      "tree": "7de07ede2d172edaa27bfae617b89b2068d36044",
      "parents": [
        "c4fbb6515a4dcec83d340247639b5644c4745528"
      ],
      "author": {
        "name": "Eric Lapuyade",
        "email": "eric.lapuyade@intel.com",
        "time": "Tue Apr 10 19:43:10 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 12 15:10:37 2012 -0400"
      },
      "message": "NFC: Fix next target_idx type and rename for clarity\n\nSigned-off-by: Eric Lapuyade \u003ceric.lapuyade@intel.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c4fbb6515a4dcec83d340247639b5644c4745528",
      "tree": "9123c1e0b56ea1f9910ce4db1e9046bd5a8a29c4",
      "parents": [
        "0efbf7fb308d0c6f8419922850a2d0b45d4d4401"
      ],
      "author": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Tue Apr 10 19:43:09 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 12 15:10:37 2012 -0400"
      },
      "message": "NFC: The core part should generate the target index\n\nThe target index can be used by userspace to uniquely identify a target\nand thus should be kept unique, per NFC adapter. Moreover, some protocols\ndo not provide a logical index when discovering new targets, so we have to\ngenerate one for them.\nFor NCI or pn533 to fetch their logical index, we added a logical_idx field\nto the target structure.\n\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "eb738fe535ae8e44402c372ecc1321eee0552a09",
      "tree": "e0308123ef489ed65ef52db74f52c3e0f6541a6f",
      "parents": [
        "8b8d2e08bf0d50193931afd27482a59376b66b2b"
      ],
      "author": {
        "name": "Eric Lapuyade",
        "email": "eric.lapuyade@intel.com",
        "time": "Tue Apr 10 19:43:07 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 12 15:10:35 2012 -0400"
      },
      "message": "NFC: SHDLC implementation\n\nMost NFC HCI chipsets actually use a simplified HDLC link layer to\ncarry HCI payloads.\nThis implementation registers itself as an HCI device on behalf of the\nNFC driver.\n\nSigned-off-by: Eric Lapuyade \u003ceric.lapuyade@intel.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8b8d2e08bf0d50193931afd27482a59376b66b2b",
      "tree": "7752d914ca7d89f2f2c00159bb718a53d9980139",
      "parents": [
        "e1da0efa2ee71df957b280bcfa41f82ce6986a1d"
      ],
      "author": {
        "name": "Eric Lapuyade",
        "email": "eric.lapuyade@intel.com",
        "time": "Tue Apr 10 19:43:06 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 12 15:10:34 2012 -0400"
      },
      "message": "NFC: HCI support\n\nThis is an implementation of ETSI TS 102 622 specification.\nMany NFC chipsets use HCI as the host \u003c-\u003e target protocol on top of a\nserial link like i2c.\n\nSigned-off-by: Eric Lapuyade \u003ceric.lapuyade@intel.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e1da0efa2ee71df957b280bcfa41f82ce6986a1d",
      "tree": "6b158595ad501b56545a1461104ae8cbbf1b9c76",
      "parents": [
        "8112a5c91d781a22d2b631f3295386b0b70de7c8"
      ],
      "author": {
        "name": "Eric Lapuyade",
        "email": "eric.lapuyade@linux.intel.com",
        "time": "Tue Apr 10 19:43:05 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 12 15:10:34 2012 -0400"
      },
      "message": "NFC: Export target lost function\n\nNFC drivers will call this routine when they detect that a tag leaves the\nRF field. This will eventually lead to the corresponding netlink event\nto be sent.\n\nSigned-off-by: Eric Lapuyade \u003ceric.lapuyade@intel.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7eab0f64a9eba5405222fdef0ede2468bf495efd",
      "tree": "ec99640b8d0b12adbfacb85c27683125debd14f2",
      "parents": [
        "cade455596504fae8e134a27189713ddf7c6d04d",
        "8065248069097dddf9945acfb2081025e9618c16"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 12 14:25:14 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 12 14:41:59 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-testmode.c\n\tnet/wireless/nl80211.c\n"
    },
    {
      "commit": "8065248069097dddf9945acfb2081025e9618c16",
      "tree": "eddf3fb0372ba0f65c01382d386942ea8d18932d",
      "parents": [
        "e66a8ddff72e85605f2212a0ebc666c7e9116641",
        "b4838d12e1f3cb48c2489a0b08733b5dbf848297"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 12 13:49:28 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Apr 12 13:49:28 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless\n"
    },
    {
      "commit": "5314526b1743e8e8614293db7d86e480b4fe9824",
      "tree": "c493979d2d417b9a146ac6ef5e1b5562a5fda6df",
      "parents": [
        "14dc7852099535d17807e348dd127433413b7e0a"
      ],
      "author": {
        "name": "Thomas Pedersen",
        "email": "c_tpeder@qca.qualcomm.com",
        "time": "Fri Apr 06 13:35:47 2012 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 11 16:23:59 2012 -0400"
      },
      "message": "cfg80211: add channel switch notify event\n\nThe firmware may decide to switch channels while already beaconing, e.g.\nin response to a cfg80211 connect request on a different vif. Add this\nevent to notify userspace when an AP or GO interface has successfully\nmigrated to a new channel, so it can update its configuration\naccordingly.\n\nSigned-off-by: Thomas Pedersen \u003cc_tpeder@qca.qualcomm.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6d52563f2bc217cbdccb97068f5b6176352f01f2",
      "tree": "27fb48e360f153129fadb4dd5abdb4d91bb2e7eb",
      "parents": [
        "da951c2417ec1020d0d00813da36f38e395994e9"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Apr 04 15:05:25 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 11 16:23:57 2012 -0400"
      },
      "message": "cfg80211/mac80211: enable proper device_set_wakeup_enable handling\n\nIn WoWLAN, we only get the triggers when we actually get\nto suspend. As a consequence, drivers currently don\u0027t\nknow that the device should enable wakeup. However, the\ndevice_set_wakeup_enable() API is intended to be called\nwhen the wakeup is enabled, not later when needed.\n\nAdd a new set_wakeup() call to cfg80211 and mac80211 to\nallow drivers to properly call device_set_wakeup_enable.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3a25a8c8b75b430c4f4022918e26fa51d557ecde",
      "tree": "d4863b7f17c2ea44fb523e29951b6bd202ddb1ad",
      "parents": [
        "4b6f1dd6a6faf4ed8d209bbd548e78b15e55aee8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Apr 03 16:28:50 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 11 16:23:50 2012 -0400"
      },
      "message": "mac80211: add improved HW queue control\n\nmac80211 currently only supports one hardware queue\nper AC. This is already problematic for off-channel\nuses since if we go off channel while the BE queue\nis full and then try to send an off-channel frame\nthe frame will never go out. This will become worse\nwhen we support multi-channel since then a queue on\none channel might be full, but we have to stop the\nsoftware queue for all channels. That is obviously\nnot desirable.\n\nTo address this problem allow drivers to register\nmore hardware queues, and allow them to map them to\nvirtual interfaces. When they stop a hardware queue\nthe corresponding AC software queues on the correct\ninterfaces will be stopped as well. Additionally,\nthere\u0027s an off-channel queue to solve that problem\nand a per-interface after-DTIM beacon queue. This\nallows drivers to manage software queues closer to\nhow the hardware works.\n\nCurrently, there\u0027s a limit of 16 hardware queues.\nThis may or may not be sufficient, we can adjust it\nas needed.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4b6f1dd6a6faf4ed8d209bbd548e78b15e55aee8",
      "tree": "7d79667ca414d70b99cb82a646d1a3c2cc466670",
      "parents": [
        "3edaf3e61fda3aa9ff8d38445bf92f2bec23bf63"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Apr 03 14:35:57 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 11 16:23:49 2012 -0400"
      },
      "message": "mac80211: add explicit monitor interface if needed\n\nThe queue mapping redesign that I\u0027m planning to do\nwill break pure injection unless we handle monitor\ninterfaces explicitly. One possible option would\nbe to have the driver tell mac80211 about monitor\nmode queues etc., but that would duplicate the API\nsince we already need to have queue assignments\nhandled per virtual interface.\n\nSo in order to solve this, have a virtual monitor\ninterface that is added whenever all active vifs\nare monitors. We could also use the state of one\nof the monitor interfaces, but managing that would\nbe complicated, so allocate separate state.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "657c3e0c4147bb3d3fdd338e32b83b968b0f9d02",
      "tree": "06f4f3fb9f7a01b6eb823d2f7a7d0f76c76a28aa",
      "parents": [
        "d934f7d0d6a3f8aa3049ca0692948ec59d738928"
      ],
      "author": {
        "name": "Ashok Nagarajan",
        "email": "ashok@cozybit.com",
        "time": "Mon Apr 02 21:21:20 2012 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Apr 11 16:23:46 2012 -0400"
      },
      "message": "mac80211: Indicate basic rates when adding rate IEs\n\nBasic rates are added with supported rates IE and extended supported\nrates IE.\n\nSigned-off-by: Ashok Nagarajan \u003cashok@cozybit.com\u003e\nSigned-off-by: Thomas Pedersen \u003cthomas@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d299a1f21ea7ffd5114d099b2f92c867c495e8b3",
      "tree": "4325e83c1ad096be0d2fa71c52d1ad115ea23ca4",
      "parents": [
        "dbf498fbafa2c23139d5a990e94ed78bafbbea19"
      ],
      "author": {
        "name": "Javier Cardona",
        "email": "javier@cozybit.com",
        "time": "Sat Mar 31 11:31:33 2012 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 10 15:20:33 2012 -0400"
      },
      "message": "{nl,cfg}80211: Support for mesh synchronization\n\nReport Toffset to userspace.\nLet userspace select the mesh synchronization method.\n\nSigned-off-by: Marco Porsch \u003cmarco.porsch@s2005.tu-chemnitz.de\u003e\nSigned-off-by: Pavel Zubarev \u003cpavel.zubarev@gmail.com\u003e\nSigned-off-by: Javier Cardona \u003cjavier@cozybit.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a3304b0a17495183a2270d4a25978795226597a4",
      "tree": "1b1f91ab191e77833b84232ba5a61d6a584b3cd6",
      "parents": [
        "d748b4642a53cd1ead303f9e2b008295391466b7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Mar 28 11:04:24 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 10 14:54:09 2012 -0400"
      },
      "message": "cfg80211/nl80211: clarify TX queue API\n\nWith the plan to change mac80211\u0027s queue API to\nnot map ACs to queues 1:1, it seems necessary to\nclarify some APIs that act on ACs rather than on\nqueues to spell that out explicitly. Do this.\n\nAlso verify that the AC number given is valid.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d748b4642a53cd1ead303f9e2b008295391466b7",
      "tree": "a557d45efb433b2022125fc5c4665ded20e27e1c",
      "parents": [
        "8f727ef3c4859f2c397a7609beb845dcd66729f5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Mar 28 11:04:23 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 10 14:54:09 2012 -0400"
      },
      "message": "mac80211: remove antenna_sel_tx TX info field\n\nThis field is never set to anything non-zero in\nmac80211, so we should be able to remove it.\nUnfortunately though, the iwlwifi and iwlegacy\ndrivers use it for their internal TX status\nprocessing (which shouldn\u0027t be using the rate\ncontrol API to start with), so add a new field\n\"status.antenna\" for them, at least for now.\n\nIn the future, I plan to use the new field to\nhold the hardware queue, while the SKB\u0027s queue\nmapping holds the AC.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8f727ef3c4859f2c397a7609beb845dcd66729f5",
      "tree": "9843df4721d5510c464f7ea4e1f4da940b247c80",
      "parents": [
        "7213cf2cb0dfbb4d6b55a1da000d34338f76c0e3"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Fri Mar 30 08:43:32 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 10 14:54:08 2012 -0400"
      },
      "message": "mac80211: notify driver of rate control updates\n\nDevices that have internal rate control need to be\nnotified when the bandwidth or SMPS state changes\njust like external rate control algorithms get a\nnotification now.\n\nAdd this notification and clarify the change bits\nwhile at it, the HT_CHANGED bit really meant only\nbandwidth changed.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "64f68e5d15bee47e0d6d0c57a1cf52cedd9b3527",
      "tree": "e000cea46fd57d876d725224d2b51b74cec35572",
      "parents": [
        "24398e39c8ee4a9d9123eed322b859ece4d16cac"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Mar 28 10:58:37 2012 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 10 14:54:08 2012 -0400"
      },
      "message": "mac80211: remove channel type argument from rate_update\n\nThe channel type argument to the rate_update()\ncallback isn\u0027t really the correct way to give\nthe rate control algorithm about the desired\nRX bandwidth of the peer.\n\nRemove this argument, and instead update the\nSTA capabilities with 20/40 appropriately. The\nSMPS update done by this callback works in the\nsame way, so this makes the callback cleaner.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "06eb4eafbdc0796d741d139a44f1253278da8611",
      "tree": "fbdb44317130c371928154c9e6903e699fe2b995",
      "parents": [
        "32ed53b83ea5ec26a4dba90e18f5e0ff6c71eb48",
        "f68e556e23d1a4176b563bcb25d8baf2c5313f91"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 10 14:30:45 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 10 14:30:45 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "074d46d1d23f27488a3f314e29cae2453541f17d",
      "tree": "c6abb99637c808f6eb9da722c3197cc980ce1a98",
      "parents": [
        "f69b9c79c99b607a8d6b1d9e1913861154af8c63"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Thu Mar 15 19:45:16 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 09 16:05:55 2012 -0400"
      },
      "message": "wireless: rename ht_info to ht_operation\n\nSince some of the HT code pre-dates 802.11n-2009\nsome names are wrong. The one that bothers me most\nis that \"HT operation\" is called \"HT information\"\nin our code and that causes confusion.\n\nRename \"HT information\" to \"HT operation\" and also\nthe control_chan field to primary_chan to match\nthe name used in the spec.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: Bing Zhao \u003cbzhao@marvell.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "aa331df0e5e6ebac086ed80b4fbbfd912fe6b32a",
      "tree": "5cc76a05498c1a161367d72f2653744c3eaa8a27",
      "parents": [
        "0298dc9f2273fb2d596ae10d7700f054bfce601d"
      ],
      "author": {
        "name": "Larry Finger",
        "email": "Larry.Finger@lwfinger.net",
        "time": "Fri Apr 06 16:35:53 2012 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 09 15:54:48 2012 -0400"
      },
      "message": "mac80211: Convert WARN_ON to WARN_ON_ONCE\n\nWhen the control-rate tables are not set up correctly, it makes\nlittle sense to spam the logs, thus change the WARN_ON to WARN_ON_ONCE.\n\nSigned-off-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "41833af713457fe92f432a7354bc690587652879",
      "tree": "6f821f85bd33c1823d557d1482f8aa6216cde5b3",
      "parents": [
        "f68e556e23d1a4176b563bcb25d8baf2c5313f91",
        "66f3b913e68e8e62bd2f9499495eeb6cc81b2662"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 09 15:47:49 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Apr 09 15:47:49 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth\n"
    },
    {
      "commit": "66f3b913e68e8e62bd2f9499495eeb6cc81b2662",
      "tree": "ede083c071261502b9281c42c069e0ce61937e6e",
      "parents": [
        "2e8b506310f6433d5558387fd568d4bfb1d6a799"
      ],
      "author": {
        "name": "Gustavo Padovan",
        "email": "gustavo@padovan.org",
        "time": "Thu Mar 29 09:47:53 2012 -0300"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo@padovan.org",
        "time": "Thu Apr 05 15:05:51 2012 -0300"
      },
      "message": "Bluetooth: Fix userspace compatibility issue with mgmt interface\n\nTo ensure that old user space versions do not accidentally pick up and\ntry to use the management channel, use a different channel number.\n\nReported-by: Keith Packard \u003ckeithp@keithp.com\u003e\nAcked-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo@padovan.org\u003e\n"
    },
    {
      "commit": "08f10affe45051e18e0d8291c0a53aecef1b8a14",
      "tree": "0f18aa6f7d3885f695dfe5ad876363afe03ce6a6",
      "parents": [
        "366cddb4028858079a9a8145bd713c13a9edb3dc"
      ],
      "author": {
        "name": "Amir Vadai",
        "email": "amirv@mellanox.com",
        "time": "Wed Apr 04 21:33:30 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 05 05:08:04 2012 -0400"
      },
      "message": "net/dcb: Add an optional max rate attribute\n\nAlthough not specified in 8021Qaz spec, it could be useful to enable drivers\nwhose HW supports setting a rate limit for an ETS TC. This patch adds this\noptional attribute to DCB netlink. To use it, drivers should implement and\nregister the callbacks ieee_setmaxrate and ieee_getmaxrate. The units are 64\nbits long and specified in Kbps to enable usage over both slow and very fast\nnetworks.\n\nSigned-off-by: Amir Vadai \u003camirv@mellanox.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b461783d3d49c74665b55b8ae1b7a1c038177a9",
      "tree": "e4f27485a0669871a6e331b6daf64157bec4447a",
      "parents": [
        "cff4c16296754888b6fd8c886bc860a888e20257",
        "44b52bccf855b0706de624c29fc3d82ca954bb4e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 03 19:15:48 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 03 19:15:48 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://1984.lsi.us.es/net\n"
    },
    {
      "commit": "e4422b2d31983ee651d51cb6e25943d56ef63387",
      "tree": "bf3263ddfa28bb5e40a072dda02ee83b2ccfe933",
      "parents": [
        "8e5e8f30d0dea1db2c8e2a78802e7e57f796f339"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Thu Mar 29 08:49:01 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 02 04:33:46 2012 -0400"
      },
      "message": "net: remove unused icmp_ioctl() definition.\n\nThe patch removes unused icmp_ioctl() method definition in\ninclude/net/icmp.h.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b3fe91c53a0a2e1a665b451bd306bcb5e56c2e97",
      "tree": "5d68be29e1a924e60b1e2c25be7ba4ba97fc3929",
      "parents": [
        "e545d71390b50a8dab75efb182a4adc3c2603962"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 01 21:09:34 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 02 04:33:45 2012 -0400"
      },
      "message": "netlink: Delete all NLA_PUT*() macros.\n\nThey were error prone due to an embedded goto, and the entire tree has\nbeen converted away from using them.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e545d71390b50a8dab75efb182a4adc3c2603962",
      "tree": "efc33986581ccdd5b28d06aab81997717d278ea9",
      "parents": [
        "9d83ba4b6c6625de038f03cee18dd7bd89cee69b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 01 21:04:21 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 02 04:33:45 2012 -0400"
      },
      "message": "xfrm: Stop using NLA_PUT*().\n\nThese macros contain a hidden goto, and are thus extremely error\nprone and make code hard to audit.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24c410dce335dba6ad9f1abab833fa4cd32f7f7f",
      "tree": "f9630952c72247a359f3d338dc012716396bc3de",
      "parents": [
        "a6574349d068cb393ae547ee556e682e5fdb2ff3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 01 20:14:27 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 02 04:33:42 2012 -0400"
      },
      "message": "netlink: Add nla_put_le{16,32,64}() helpers.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6c1dd3b6a35178366eefcd0565aa2c8dd9020987",
      "tree": "5fe5b5683f7e961e92e9103e54bc885a083a76fc",
      "parents": [
        "969e8e255c0a18c30cf78feca2d2e546b5746fc4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 01 19:11:31 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 02 04:33:41 2012 -0400"
      },
      "message": "netlink: Add nla_put_net{16,32,64}() helpers.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "569a8fc38367dfafd87454f27ac646c8e6b54bca",
      "tree": "a2fca149e44317cdd567ed45677001155f367556",
      "parents": [
        "7f116b5b6c2418e9d9ba2c2ba82cbbad45e36fc5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 29 23:18:53 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 01 18:11:37 2012 -0400"
      },
      "message": "netlink: Add nla_put_be{16,32,64}() helpers.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c732a2af12e20f2784c8b0c9d2e289579313a413",
      "tree": "ae70a81143cffa51241da8f6087b89a403b65612",
      "parents": [
        "76ec9de843c3cff41b3b15b752e1d08d91f0ad18"
      ],
      "author": {
        "name": "Andrei Emeltchenko",
        "email": "andrei.emeltchenko@intel.com",
        "time": "Mon Mar 19 09:42:31 2012 +0200"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo@padovan.org",
        "time": "Wed Mar 28 15:13:18 2012 -0300"
      },
      "message": "Bluetooth: mgmt: Fix timeout type\n\nSilence sparse warnings:\nnet/bluetooth/mgmt.c:865:19: warning: cast to restricted __le16\n\nSigned-off-by: Andrei Emeltchenko \u003candrei.emeltchenko@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo@padovan.org\u003e\n"
    },
    {
      "commit": "6c0c331e4c8ff6c0f7fa6cc5fd08d853d6c579c4",
      "tree": "819f4bb17b492dae2d9e7929dfd8cb31f072073d",
      "parents": [
        "84d9d0716b2d5f4a27de4801bd2dbf7aff5e1c38"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Mar 26 14:21:42 2012 +0300"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo@padovan.org",
        "time": "Wed Mar 28 12:02:40 2012 -0300"
      },
      "message": "Bluetooth: Check for minimum data length in eir_has_data_type()\n\nIf passed 0 as data_length the (parsed \u003c data_length - 1) test will be\ntrue and cause a buffer overflow. In practice we need at least two bytes\nfor the element length and type so add a test for it to the very\nbeginning of the function.\n\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo@padovan.org\u003e\n"
    },
    {
      "commit": "84d9d0716b2d5f4a27de4801bd2dbf7aff5e1c38",
      "tree": "904a091f877be933498eed2bfbf056f404c3b61a",
      "parents": [
        "8d7e1c7f7e5f9fe8f6279752fc33fcb77afd5001"
      ],
      "author": {
        "name": "Johan Hedberg",
        "email": "johan.hedberg@intel.com",
        "time": "Mon Mar 26 14:21:41 2012 +0300"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo@padovan.org",
        "time": "Wed Mar 28 12:02:40 2012 -0300"
      },
      "message": "Bluetooth: Don\u0027t increment twice in eir_has_data_type()\n\nThe parsed variable is already incremented inside the for-loop so there\nno need to increment it again (not to mention that the code was\nincrementing it the wrong amount).\n\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Gustavo Padovan \u003cgustavo@padovan.org\u003e\n"
    },
    {
      "commit": "94324962066231a938564bebad0f941cd2d06bb2",
      "tree": "fbf3906cbc625f7140bb01fe45b963ac4471add8",
      "parents": [
        "33b69bf80a3704d45341928e4ff68b6ebd470686"
      ],
      "author": {
        "name": "Johan Hovold",
        "email": "jhovold@gmail.com",
        "time": "Thu Mar 15 14:48:41 2012 +0100"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo@padovan.org",
        "time": "Wed Mar 28 12:02:35 2012 -0300"
      },
      "message": "Bluetooth: hci_core: fix NULL-pointer dereference at unregister\n\nMake sure hci_dev_open returns immediately if hci_dev_unregister has\nbeen called.\n\nThis fixes a race between hci_dev_open and hci_dev_unregister which can\nlead to a NULL-pointer dereference.\n\nBug is 100% reproducible using hciattach and a disconnected serial port:\n\n0. # hciattach -n /dev/ttyO1 any noflow\n\n1. hci_dev_open called from hci_power_on grabs req lock\n2. hci_init_req executes but device fails to initialise (times out\n   eventually)\n3. hci_dev_open is called from hci_sock_ioctl and sleeps on req lock\n4. hci_uart_tty_close calls hci_dev_unregister and sleeps on req lock in\n   hci_dev_do_close\n5. hci_dev_open (1) releases req lock\n6. hci_dev_do_close grabs req lock and returns as device is not up\n7. hci_dev_unregister sleeps in destroy_workqueue\n8. hci_dev_open (3) grabs req lock, calls hci_init_req and eventually sleeps\n9. hci_dev_unregister finishes, while hci_dev_open is still running...\n\n[   79.627136] INFO: trying to register non-static key.\n[   79.632354] the code is fine but needs lockdep annotation.\n[   79.638122] turning off the locking correctness validator.\n[   79.643920] [\u003cc00188bc\u003e] (unwind_backtrace+0x0/0xf8) from [\u003cc00729c4\u003e] (__lock_acquire+0x1590/0x1ab0)\n[   79.653594] [\u003cc00729c4\u003e] (__lock_acquire+0x1590/0x1ab0) from [\u003cc00733f8\u003e] (lock_acquire+0x9c/0x128)\n[   79.663085] [\u003cc00733f8\u003e] (lock_acquire+0x9c/0x128) from [\u003cc0040a88\u003e] (run_timer_softirq+0x150/0x3ac)\n[   79.672668] [\u003cc0040a88\u003e] (run_timer_softirq+0x150/0x3ac) from [\u003cc003a3b8\u003e] (__do_softirq+0xd4/0x22c)\n[   79.682281] [\u003cc003a3b8\u003e] (__do_softirq+0xd4/0x22c) from [\u003cc003a924\u003e] (irq_exit+0x8c/0x94)\n[   79.690856] [\u003cc003a924\u003e] (irq_exit+0x8c/0x94) from [\u003cc0013a50\u003e] (handle_IRQ+0x34/0x84)\n[   79.699157] [\u003cc0013a50\u003e] (handle_IRQ+0x34/0x84) from [\u003cc0008530\u003e] (omap3_intc_handle_irq+0x48/0x4c)\n[   79.708648] [\u003cc0008530\u003e] (omap3_intc_handle_irq+0x48/0x4c) from [\u003cc037499c\u003e] (__irq_usr+0x3c/0x60)\n[   79.718048] Exception stack(0xcf281fb0 to 0xcf281ff8)\n[   79.723358] 1fa0:                                     0001e6a0 be8dab00 0001e698 00036698\n[   79.731933] 1fc0: 0002df98 0002df38 0000001f 00000000 b6f234d0 00000000 00000004 00000000\n[   79.740509] 1fe0: 0001e6f8 be8d6aa0 be8dac50 0000aab8 80000010 ffffffff\n[   79.747497] Unable to handle kernel NULL pointer dereference at virtual address 00000000\n[   79.756011] pgd \u003d cf3b4000\n[   79.758850] [00000000] *pgd\u003d8f0c7831, *pte\u003d00000000, *ppte\u003d00000000\n[   79.765502] Internal error: Oops: 80000007 [#1]\n[   79.770294] Modules linked in:\n[   79.773529] CPU: 0    Tainted: G        W     (3.3.0-rc6-00002-gb5d5c87 #421)\n[   79.781066] PC is at 0x0\n[   79.783721] LR is at run_timer_softirq+0x16c/0x3ac\n[   79.788787] pc : [\u003c00000000\u003e]    lr : [\u003cc0040aa4\u003e]    psr: 60000113\n[   79.788787] sp : cf281ee0  ip : 00000000  fp : cf280000\n[   79.800903] r10: 00000004  r9 : 00000100  r8 : b6f234d0\n[   79.806427] r7 : c0519c28  r6 : cf093488  r5 : c0561a00  r4 : 00000000\n[   79.813323] r3 : 00000000  r2 : c054eee0  r1 : 00000001  r0 : 00000000\n[   79.820190] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user\n[   79.827728] Control: 10c5387d  Table: 8f3b4019  DAC: 00000015\n[   79.833801] Process gpsd (pid: 1265, stack limit \u003d 0xcf2802e8)\n[   79.839965] Stack: (0xcf281ee0 to 0xcf282000)\n[   79.844573] 1ee0: 00000002 00000000 c0040a24 00000000 00000002 cf281f08 00200200 00000000\n[   79.853210] 1f00: 00000000 cf281f18 cf281f08 00000000 00000000 00000000 cf281f18 cf281f18\n[   79.861816] 1f20: 00000000 00000001 c056184c 00000000 00000001 b6f234d0 c0561848 00000004\n[   79.870452] 1f40: cf280000 c003a3b8 c051e79c 00000001 00000000 00000100 3fa9e7b8 0000000a\n[   79.879089] 1f60: 00000025 cf280000 00000025 00000000 00000000 b6f234d0 00000000 00000004\n[   79.887756] 1f80: 00000000 c003a924 c053ad38 c0013a50 fa200000 cf281fb0 ffffffff c0008530\n[   79.896362] 1fa0: 0001e6a0 0000aab8 80000010 c037499c 0001e6a0 be8dab00 0001e698 00036698\n[   79.904998] 1fc0: 0002df98 0002df38 0000001f 00000000 b6f234d0 00000000 00000004 00000000\n[   79.913665] 1fe0: 0001e6f8 be8d6aa0 be8dac50 0000aab8 80000010 ffffffff 00fbf700 04ffff00\n[   79.922302] [\u003cc0040aa4\u003e] (run_timer_softirq+0x16c/0x3ac) from [\u003cc003a3b8\u003e] (__do_softirq+0xd4/0x22c)\n[   79.931945] [\u003cc003a3b8\u003e] (__do_softirq+0xd4/0x22c) from [\u003cc003a924\u003e] (irq_exit+0x8c/0x94)\n[   79.940582] [\u003cc003a924\u003e] (irq_exit+0x8c/0x94) from [\u003cc0013a50\u003e] (handle_IRQ+0x34/0x84)\n[   79.948913] [\u003cc0013a50\u003e] (handle_IRQ+0x34/0x84) from [\u003cc0008530\u003e] (omap3_intc_handle_irq+0x48/0x4c)\n[   79.958404] [\u003cc0008530\u003e] (omap3_intc_handle_irq+0x48/0x4c) from [\u003cc037499c\u003e] (__irq_usr+0x3c/0x60)\n[   79.967773] Exception stack(0xcf281fb0 to 0xcf281ff8)\n[   79.973083] 1fa0:                                     0001e6a0 be8dab00 0001e698 00036698\n[   79.981658] 1fc0: 0002df98 0002df38 0000001f 00000000 b6f234d0 00000000 00000004 00000000\n[   79.990234] 1fe0: 0001e6f8 be8d6aa0 be8dac50 0000aab8 80000010 ffffffff\n[   79.997161] Code: bad PC value\n[   80.000396] ---[ end trace 6f6739840475f9ee ]---\n[   80.005279] Kernel panic - not syncing: Fatal exception in interrupt\n\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "3f17790c2d8524c3ddc4946bd716714becf079e1",
      "tree": "ef1e5d5ff2cb57c7b9f7900f695a9d8d9b26a740",
      "parents": [
        "22e7a424854b80f00bd5686b6539726b8ca95420"
      ],
      "author": {
        "name": "Hemant Gupta",
        "email": "hemant.gupta@stericsson.com",
        "time": "Wed Mar 28 17:09:09 2012 +0530"
      },
      "committer": {
        "name": "Gustavo Padovan",
        "email": "gustavo@padovan.org",
        "time": "Wed Mar 28 12:02:19 2012 -0300"
      },
      "message": "Bluetooth: Use correct flags for checking HCI_SSP_ENABLED bit\n\nThis patch uses the correct flags for checking the HCI_SSP_ENABLED bit.\nWithout this authentication request was not being initiated.\n\nSigned-off-by: Hemant Gupta \u003chemant.gupta@stericsson.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Johan Hedberg \u003cjohan.hedberg@intel.com\u003e\n"
    },
    {
      "commit": "7dd30d447b7f4a129586cce8e57d0163dde876b0",
      "tree": "f6a3c26bccbd31e144c8c68fda979988739d4af5",
      "parents": [
        "de8856d2c11f562c60ed9340a83db4a4f829a6e6",
        "643c61e119459e9d750087b7b34be94491efebf9"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 27 22:15:01 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 27 22:15:01 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless\n"
    },
    {
      "commit": "de8856d2c11f562c60ed9340a83db4a4f829a6e6",
      "tree": "0b871e5f4cf3204c4c6243c7622c4787d56d48ee",
      "parents": [
        "66f03c614c0902ccf7d6160459362a9352f33271",
        "94f826b8076e2cb92242061e92f21b5baa3eccc2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 16:52:32 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 27 16:52:32 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n 1) Name string overrun fix in gianfar driver from Joe Perches.\n\n 2) VHOST bug fixes from Michael S. Tsirkin and Nadav Har\u0027El\n\n 3) Fix dependencies on xt_LOG netfilter module, from Pablo Neira Ayuso.\n\n 4) Fix RCU locking in xt_CT, also from Pablo Neira Ayuso.\n\n 5) Add a parameter to skb_add_rx_frag() so we can fix the truesize\n    adjustments in the drivers that use it.  The individual drivers\n    aren\u0027t fixed by this commit, but will be dealt with using follow-on\n    commits.  From Eric Dumazet.\n\n 6) Add some device IDs to qmi_wwan driver, from Andrew Bird.\n\n 7) Fix a potential rcu_read_lock() imbalancein rt6_fill_node().  From\n    Eric Dumazet.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:\n  net: fix a potential rcu_read_lock() imbalance in rt6_fill_node()\n  net: add a truesize parameter to skb_add_rx_frag()\n  gianfar: Fix possible overrun and simplify interrupt name field creation\n  USB: qmi_wwan: Add ZTE (Vodafone) K3570-Z and K3571-Z net interfaces\n  USB: option: Ignore ZTE (Vodafone) K3570/71 net interfaces\n  USB: qmi_wwan: Add ZTE (Vodafone) K3565-Z and K4505-Z net interfaces\n  qlcnic: Bug fix for LRO\n  netfilter: nf_conntrack: permanently attach timeout policy to conntrack\n  netfilter: xt_CT: fix assignation of the generic protocol tracker\n  netfilter: xt_CT: missing rcu_read_lock section in timeout assignment\n  netfilter: cttimeout: fix dependency with l4protocol conntrack module\n  netfilter: xt_LOG: use CONFIG_IP6_NF_IPTABLES instead of CONFIG_IPV6\n  vhost: fix release path lockdep checks\n  vhost: don\u0027t forget to schedule()\n  tools/virtio: stub out strong barriers\n  tools/virtio: add linux/hrtimer.h stub\n  tools/virtio: add linux/module.h stub\n"
    },
    {
      "commit": "66266b3ab4871958ed6a1e43f502cadaf3becfc8",
      "tree": "202d9da52387cd9ea0997d79c9e83bed15a9fab1",
      "parents": [
        "e92109be7a6a04808c3ed586475ba1e5ea56ecbd"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Mar 15 13:25:41 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Mar 26 15:07:25 2012 -0400"
      },
      "message": "cfg80211: allow CFG80211_SIGNAL_TYPE_UNSPEC in station_info\n\nThe station_info struct had demanded dBm signal values, but the\ncfg80211 wireless extensions implementation was also accepting\n\"unspecified\" (i.e. RSSI) unit values while the nl80211 code was\ncompletely unaware of them.  Resolve this by formally allowing the\n\"unspecified\" units while making nl80211 ignore them.\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n"
    },
    {
      "commit": "f3d229c68bb47170f04f81e51c9ed5d4286cebdb",
      "tree": "9c3876f0fe7d7936c5b2c141456ab69e17bed670",
      "parents": [
        "1d5c88e3f5403c1910477e4bcc71c3d5d40de6d5"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@suse.com",
        "time": "Wed Mar 07 23:45:44 2012 +0000"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Mon Mar 26 14:00:28 2012 +0200"
      },
      "message": "netfilter: xt_LOG: don\u0027t use xchg() for simple assignment\n\nAt least on ia64 the (bogus) use of xchg() here results in the compiler\nwarning about an unused expression result. As only an assignment is\nintended here, convert it to such.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@suse.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "250f6715a4112d6686670c5a62ceb9305da94616",
      "tree": "ee1c9b41ed1fed8174efb312421902f19c877e8c",
      "parents": [
        "11bcb32848ddb5ab28f09f142b625e2ba4d55c4c",
        "313162d0b83836e2f57e51b9b8650fb4b9c396ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "message": "Merge tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/device.h\u003e avoidance patches from Paul Gortmaker:\n \"Nearly every subsystem has some kind of header with a proto like:\n\n\tvoid foo(struct device *dev);\n\n  and yet there is no reason for most of these guys to care about the\n  sub fields within the device struct.  This allows us to significantly\n  reduce the scope of headers including headers.  For this instance, a\n  reduction of about 40% is achieved by replacing the include with the\n  simple fact that the device is some kind of a struct.\n\n  Unlike the much larger module.h cleanup, this one is simply two\n  commits.  One to fix the implicit \u003clinux/device.h\u003e users, and then one\n  to delete the device.h includes from the linux/include/ dir wherever\n  possible.\"\n\n* tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  device.h: audit and cleanup users in main include dir\n  device.h: cleanup users outside of linux/include (C files)\n"
    },
    {
      "commit": "ed2d265d1266736bd294332d7f649003943ae36e",
      "tree": "860e5b7bb72933e4a9abacdc2f2d75a0e6254e32",
      "parents": [
        "f1d38e423a697b7aa06e12d3ca4753bcc1aa3531",
        "6c03438edeb5c359af35f060ea016ca65671c269"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:08:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:08:39 2012 -0700"
      },
      "message": "Merge tag \u0027bug-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/bug.h\u003e cleanup from Paul Gortmaker:\n \"The changes shown here are to unify linux\u0027s BUG support under the one\n  \u003clinux/bug.h\u003e file.  Due to historical reasons, we have some BUG code\n  in bug.h and some in kernel.h -- i.e.  the support for BUILD_BUG in\n  linux/kernel.h predates the addition of linux/bug.h, but old code in\n  kernel.h wasn\u0027t moved to bug.h at that time.  As a band-aid, kernel.h\n  was including \u003casm/bug.h\u003e to pseudo link them.\n\n  This has caused confusion[1] and general yuck/WTF[2] reactions.  Here\n  is an example that violates the principle of least surprise:\n\n      CC      lib/string.o\n      lib/string.c: In function \u0027strlcat\u0027:\n      lib/string.c:225:2: error: implicit declaration of function \u0027BUILD_BUG_ON\u0027\n      make[2]: *** [lib/string.o] Error 1\n      $\n      $ grep linux/bug.h lib/string.c\n      #include \u003clinux/bug.h\u003e\n      $\n\n  We\u0027ve included \u003clinux/bug.h\u003e for the BUG infrastructure and yet we\n  still get a compile fail! [We\u0027ve not kernel.h for BUILD_BUG_ON.] Ugh -\n  very confusing for someone who is new to kernel development.\n\n  With the above in mind, the goals of this changeset are:\n\n  1) find and fix any include/*.h files that were relying on the\n     implicit presence of BUG code.\n  2) find and fix any C files that were consuming kernel.h and hence\n     relying on implicitly getting some/all BUG code.\n  3) Move the BUG related code living in kernel.h to \u003clinux/bug.h\u003e\n  4) remove the asm/bug.h from kernel.h to finally break the chain.\n\n  During development, the order was more like 3-4, build-test, 1-2.  But\n  to ensure that git history for bisect doesn\u0027t get needless build\n  failures introduced, the commits have been reorderd to fix the problem\n  areas in advance.\n\n\t[1]  https://lkml.org/lkml/2012/1/3/90\n\t[2]  https://lkml.org/lkml/2012/1/17/414\"\n\nFix up conflicts (new radeon file, reiserfs header cleanups) as per Paul\nand linux-next.\n\n* tag \u0027bug-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  kernel.h: doesn\u0027t explicitly use bug.h, so don\u0027t include it.\n  bug: consolidate BUILD_BUG_ON with other bug code\n  BUG: headers with BUG/BUG_ON etc. need linux/bug.h\n  bug.h: add include of it to various implicit C users\n  lib: fix implicit users of kernel.h for TAINT_WARN\n  spinlock: macroize assert_spin_locked to avoid bug.h dependency\n  x86: relocate get/set debugreg fcns to include/asm/debugreg.\n"
    },
    {
      "commit": "626cf236608505d376e4799adb4f7eb00a8594af",
      "tree": "eb0421fec1a7fed05cd9ea785bd18b5f40c80971",
      "parents": [
        "5cde7656d0dd222170eb0250bd1f70c9018fd438"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hans.verkuil@cisco.com",
        "time": "Fri Mar 23 15:02:27 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:38 2012 -0700"
      },
      "message": "poll: add poll_requested_events() and poll_does_not_wait() functions\n\nIn some cases the poll() implementation in a driver has to do different\nthings depending on the events the caller wants to poll for.  An example\nis when a driver needs to start a DMA engine if the caller polls for\nPOLLIN, but doesn\u0027t want to do that if POLLIN is not requested but instead\nonly POLLOUT or POLLPRI is requested.  This is something that can happen\nin the video4linux subsystem among others.\n\nUnfortunately, the current epoll/poll/select implementation doesn\u0027t\nprovide that information reliably.  The poll_table_struct does have it: it\nhas a key field with the event mask.  But once a poll() call matches one\nor more bits of that mask any following poll() calls are passed a NULL\npoll_table pointer.\n\nAlso, the eventpoll implementation always left the key field at ~0 instead\nof using the requested events mask.\n\nThis was changed in eventpoll.c so the key field now contains the actual\nevents that should be polled for as set by the caller.\n\nThe solution to the NULL poll_table pointer is to set the qproc field to\nNULL in poll_table once poll() matches the events, not the poll_table\npointer itself.  That way drivers can obtain the mask through a new\npoll_requested_events inline.\n\nThe poll_table_struct can still be NULL since some kernel code calls it\ninternally (netfs_state_poll() in ./drivers/staging/pohmelfs/netfs.h).  In\nthat case poll_requested_events() returns ~0 (i.e.  all events).\n\nVery rarely drivers might want to know whether poll_wait will actually\nwait.  If another earlier file descriptor in the set already matched the\nevents the caller wanted to wait for, then the kernel will return from the\nselect() call without waiting.  This might be useful information in order\nto avoid doing expensive work.\n\nA new helper function poll_does_not_wait() is added that drivers can use\nto detect this situation.  This is now used in sock_poll_wait() in\ninclude/net/sock.h.  This was the only place in the kernel that needed\nthis information.\n\nDrivers should no longer access any of the poll_table internals, but use\nthe poll_requested_events() and poll_does_not_wait() access functions\ninstead.  In order to enforce that the poll_table fields are now prepended\nwith an underscore and a comment was added warning against using them\ndirectly.\n\nThis required a change in unix_dgram_poll() in unix/af_unix.c which used\nthe key field to get the requested events.  It\u0027s been replaced by a call\nto poll_requested_events().\n\nFor qproc it was especially important to change its name since the\nbehavior of that field changes with this patch since this function pointer\ncan now be NULL when that wasn\u0027t possible in the past.\n\nAny driver accessing the qproc or key fields directly will now fail to compile.\n\nSome notes regarding the correctness of this patch: the driver\u0027s poll()\nfunction is called with a \u0027struct poll_table_struct *wait\u0027 argument.  This\npointer may or may not be NULL, drivers can never rely on it being one or\nthe other as that depends on whether or not an earlier file descriptor in\nthe select()\u0027s fdset matched the requested events.\n\nThere are only three things a driver can do with the wait argument:\n\n1) obtain the key field:\n\n\tevents \u003d wait ? wait-\u003ekey : ~0;\n\n   This will still work although it should be replaced with the new\n   poll_requested_events() function (which does exactly the same).\n   This will now even work better, since wait is no longer set to NULL\n   unnecessarily.\n\n2) use the qproc callback. This could be deadly since qproc can now be\n   NULL. Renaming qproc should prevent this from happening. There are no\n   kernel drivers that actually access this callback directly, BTW.\n\n3) test whether wait \u003d\u003d NULL to determine whether poll would return without\n   waiting. This is no longer sufficient as the correct test is now\n   wait \u003d\u003d NULL || wait-\u003e_qproc \u003d\u003d NULL.\n\n   However, the worst that can happen here is a slight performance hit in\n   the case where wait !\u003d NULL and wait-\u003e_qproc \u003d\u003d NULL. In that case the\n   driver will assume that poll_wait() will actually add the fd to the set\n   of waiting file descriptors. Of course, poll_wait() will not do that\n   since it tests for wait-\u003e_qproc. This will not break anything, though.\n\n   There is only one place in the whole kernel where this happens\n   (sock_poll_wait() in include/net/sock.h) and that code will be replaced\n   by a call to poll_does_not_wait() in the next patch.\n\n   Note that even if wait-\u003e_qproc !\u003d NULL drivers cannot rely on poll_wait()\n   actually waiting. The next file descriptor from the set might match the\n   event mask and thus any possible waits will never happen.\n\nSigned-off-by: Hans Verkuil \u003chans.verkuil@cisco.com\u003e\nReviewed-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nReviewed-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1ebd7dff700277e4d0a3da36833a406142e31d4",
      "tree": "fbcfed48280d81744fe77efebb91900c7db1c776",
      "parents": [
        "a0f65a267dd62aef4e003f833ea6290fd1e07b34"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Mar 22 23:40:01 2012 +0100"
      },
      "committer": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Fri Mar 23 00:52:01 2012 +0100"
      },
      "message": "netfilter: cttimeout: fix dependency with l4protocol conntrack module\n\nThis patch introduces nf_conntrack_l4proto_find_get() and\nnf_conntrack_l4proto_put() to fix module dependencies between\ntimeout objects and l4-protocol conntrack modules.\n\nThus, we make sure that the module cannot be removed if it is\nused by any of the cttimeout objects.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\n"
    },
    {
      "commit": "e2a0883e4071237d09b604a342c28b96b44a04b3",
      "tree": "aa56f4d376b5eb1c32358c19c2669c2a94e0e1fd",
      "parents": [
        "3a990a52f9f25f45469e272017a31e7a3fda60ed",
        "07c0c5d8b8c122b2f2df9ee574ac3083daefc981"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:36:41 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs pile 1 from Al Viro:\n \"This is _not_ all; in particular, Miklos\u0027 and Jan\u0027s stuff is not there\n  yet.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (64 commits)\n  ext4: initialization of ext4_li_mtx needs to be done earlier\n  debugfs-related mode_t whack-a-mole\n  hfsplus: add an ioctl to bless files\n  hfsplus: change finder_info to u32\n  hfsplus: initialise userflags\n  qnx4: new helper - try_extent()\n  qnx4: get rid of qnx4_bread/qnx4_getblk\n  take removal of PF_FORKNOEXEC to flush_old_exec()\n  trim includes in inode.c\n  um: uml_dup_mmap() relies on -\u003emmap_sem being held, but activate_mm() doesn\u0027t hold it\n  um: embed -\u003estub_pages[] into mmu_context\n  gadgetfs: list_for_each_safe() misuse\n  ocfs2: fix leaks on failure exits in module_init\n  ecryptfs: make register_filesystem() the last potential failure exit\n  ntfs: forgets to unregister sysctls on register_filesystem() failure\n  logfs: missing cleanup on register_filesystem() failure\n  jfs: mising cleanup on register_filesystem() failure\n  make configfs_pin_fs() return root dentry on success\n  configfs: configfs_create_dir() has parent dentry in dentry-\u003ed_parent\n  configfs: sanitize configfs_create()\n  ...\n"
    },
    {
      "commit": "3556485f1595e3964ba539e39ea682acbb835cee",
      "tree": "7f5ee254f425b1427ac0059b5f347a307f8538a1",
      "parents": [
        "b8716614a7cc2fc15ea2a518edd04755fb08d922",
        "09f61cdbb32a9d812c618d3922db533542736bb0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:25:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 13:25:04 2012 -0700"
      },
      "message": "Merge branch \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security\n\nPull security subsystem updates for 3.4 from James Morris:\n \"The main addition here is the new Yama security module from Kees Cook,\n  which was discussed at the Linux Security Summit last year.  Its\n  purpose is to collect miscellaneous DAC security enhancements in one\n  place.  This also marks a departure in policy for LSM modules, which\n  were previously limited to being standalone access control systems.\n  Chromium OS is using Yama, and I believe there are plans for Ubuntu,\n  at least.\n\n  This patchset also includes maintenance updates for AppArmor, TOMOYO\n  and others.\"\n\nFix trivial conflict in \u003cnet/sock.h\u003e due to the jumo_label-\u003estatic_key\nrename.\n\n* \u0027next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (38 commits)\n  AppArmor: Fix location of const qualifier on generated string tables\n  TOMOYO: Return error if fails to delete a domain\n  AppArmor: add const qualifiers to string arrays\n  AppArmor: Add ability to load extended policy\n  TOMOYO: Return appropriate value to poll().\n  AppArmor: Move path failure information into aa_get_name and rename\n  AppArmor: Update dfa matching routines.\n  AppArmor: Minor cleanup of d_namespace_path to consolidate error handling\n  AppArmor: Retrieve the dentry_path for error reporting when path lookup fails\n  AppArmor: Add const qualifiers to generated string tables\n  AppArmor: Fix oops in policy unpack auditing\n  AppArmor: Fix error returned when a path lookup is disconnected\n  KEYS: testing wrong bit for KEY_FLAG_REVOKED\n  TOMOYO: Fix mount flags checking order.\n  security: fix ima kconfig warning\n  AppArmor: Fix the error case for chroot relative path name lookup\n  AppArmor: fix mapping of META_READ to audit and quiet flags\n  AppArmor: Fix underflow in xindex calculation\n  AppArmor: Fix dropping of allowed operations that are force audited\n  AppArmor: Add mising end of structure test to caps unpacking\n  ...\n"
    },
    {
      "commit": "3b59bf081622b6446db77ad06c93fe23677bc533",
      "tree": "3f4bb5a27c90cc86994a1f6d3c53fbf9208003cb",
      "parents": [
        "e45836fafe157df137a837093037f741ad8f4c90",
        "bbdb32cb5b73597386913d052165423b9d736145"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:04:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:04:47 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking merge from David Miller:\n \"1) Move ixgbe driver over to purely page based buffering on receive.\n     From Alexander Duyck.\n\n  2) Add receive packet steering support to e1000e, from Bruce Allan.\n\n  3) Convert TCP MD5 support over to RCU, from Eric Dumazet.\n\n  4) Reduce cpu usage in handling out-of-order TCP packets on modern\n     systems, also from Eric Dumazet.\n\n  5) Support the IP{,V6}_UNICAST_IF socket options, making the wine\n     folks happy, from Erich Hoover.\n\n  6) Support VLAN trunking from guests in hyperv driver, from Haiyang\n     Zhang.\n\n  7) Support byte-queue-limtis in r8169, from Igor Maravic.\n\n  8) Outline code intended for IP_RECVTOS in IP_PKTOPTIONS existed but\n     was never properly implemented, Jiri Benc fixed that.\n\n  9) 64-bit statistics support in r8169 and 8139too, from Junchang Wang.\n\n  10) Support kernel side dump filtering by ctmark in netfilter\n      ctnetlink, from Pablo Neira Ayuso.\n\n  11) Support byte-queue-limits in gianfar driver, from Paul Gortmaker.\n\n  12) Add new peek socket options to assist with socket migration, from\n      Pavel Emelyanov.\n\n  13) Add sch_plug packet scheduler whose queue is controlled by\n      userland daemons using explicit freeze and release commands.  From\n      Shriram Rajagopalan.\n\n  14) Fix FCOE checksum offload handling on transmit, from Yi Zou.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1846 commits)\n  Fix pppol2tp getsockname()\n  Remove printk from rds_sendmsg\n  ipv6: fix incorrent ipv6 ipsec packet fragment\n  cpsw: Hook up default ndo_change_mtu.\n  net: qmi_wwan: fix build error due to cdc-wdm dependecy\n  netdev: driver: ethernet: Add TI CPSW driver\n  netdev: driver: ethernet: add cpsw address lookup engine support\n  phy: add am79c874 PHY support\n  mlx4_core: fix race on comm channel\n  bonding: send igmp report for its master\n  fs_enet: Add MPC5125 FEC support and PHY interface selection\n  net: bpf_jit: fix BPF_S_LDX_B_MSH compilation\n  net: update the usage of CHECKSUM_UNNECESSARY\n  fcoe: use CHECKSUM_UNNECESSARY instead of CHECKSUM_PARTIAL on tx\n  net: do not do gso for CHECKSUM_UNNECESSARY in netif_needs_gso\n  ixgbe: Fix issues with SR-IOV loopback when flow control is disabled\n  net/hyperv: Fix the code handling tx busy\n  ixgbe: fix namespace issues when FCoE/DCB is not enabled\n  rtlwifi: Remove unused ETH_ADDR_LEN defines\n  igbvf: Use ETH_ALEN\n  ...\n\nFix up fairly trivial conflicts in drivers/isdn/gigaset/interface.c and\ndrivers/net/usb/{Kconfig,qmi_wwan.c} as per David.\n"
    },
    {
      "commit": "40ffe67d2e89c7a475421d007becc11a2f88ea3d",
      "tree": "5373e71b18895b9ffd8370a88aec6c54438240a0",
      "parents": [
        "38eff2892628fa5c4fc8962a17b7296f42833ebe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 14 21:54:32 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:41 2012 -0400"
      },
      "message": "switch unix_sock to struct path\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0d9cabdccedb79ee5f27b77ff51f29a9e7d23275",
      "tree": "8bfb64c3672d058eb90aec3c3a9c4f61cef9097c",
      "parents": [
        "701085b219016d38f105b031381b9cee6200253a",
        "3ce3230a0cff484e5130153f244d4fb8a56b3a8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 18:11:21 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 18:11:21 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup\n\nPull cgroup changes from Tejun Heo:\n \"Out of the 8 commits, one fixes a long-standing locking issue around\n  tasklist walking and others are cleanups.\"\n\n* \u0027for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:\n  cgroup: Walk task list under tasklist_lock in cgroup_enable_task_cg_list\n  cgroup: Remove wrong comment on cgroup_enable_task_cg_list()\n  cgroup: remove cgroup_subsys argument from callbacks\n  cgroup: remove extra calls to find_existing_css_set\n  cgroup: replace tasklist_lock with rcu_read_lock\n  cgroup: simplify double-check locking in cgroup_attach_proc\n  cgroup: move struct cgroup_pidlist out from the header file\n  cgroup: remove cgroup_attach_task_current_cg()\n"
    },
    {
      "commit": "01a282980937f9ca55a3cb06b9c6ff1cc49ea396",
      "tree": "07a043edc861e245a7a9764751af0898a1f1199a",
      "parents": [
        "d5ddb4a59ed43b4c569b4efa8b508d50ef140cc6",
        "377526578f2c343ea281a918b18ece1fca65005c"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 16 13:45:25 2012 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Mar 16 13:45:25 2012 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/hw.c\n"
    },
    {
      "commit": "313162d0b83836e2f57e51b9b8650fb4b9c396ea",
      "tree": "8f39f20515a924d392cf9a72db0918fda07a34c7",
      "parents": [
        "51990e825431089747f8896244b5c17d3a6423f1"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Jan 30 11:46:54 2012 -0500"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Mar 16 10:38:24 2012 -0400"
      },
      "message": "device.h: audit and cleanup users in main include dir\n\nThe \u003clinux/device.h\u003e header includes a lot of stuff, and\nit in turn gets a lot of use just for the basic \"struct device\"\nwhich appears so often.\n\nClean up the users as follows:\n\n1) For those headers only needing \"struct device\" as a pointer\nin fcn args, replace the include with exactly that.\n\n2) For headers not really using anything from device.h, simply\ndelete the include altogether.\n\n3) For headers relying on getting device.h implicitly before\nbeing included themselves, now explicitly include device.h\n\n4) For files in which doing #1 or #2 uncovers an implicit\ndependency on some other header, fix by explicitly adding\nthe required header(s).\n\nAny C files that were implicitly relying on device.h to be\npresent have already been dealt with in advance.\n\nTotal removals from #1 and #2: 51.  Total additions coming\nfrom #3: 9.  Total other implicit dependencies from #4: 7.\n\nAs of 3.3-rc1, there were 110, so a net removal of 42 gives\nabout a 38% reduction in device.h presence in include/*\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "e9ac0745c734d39cb55ce45f1fb03a85c972b35a",
      "tree": "20c8c8c5023e9dc7060dcbce406c3ccbb851c3c8",
      "parents": [
        "7b8bcff2e0f11981dd6840f9feefe0914e4ea521"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Mar 13 14:29:30 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Mar 13 14:54:20 2012 -0400"
      },
      "message": "mac80211: rename bss_conf timestamp to last_tsf\n\nThis value is not really very useful by itself,\nyet some drivers (including iwlwifi until I can\nfigure out what it should do) use it. At least\nrename it to \"last_tsf\" to indicate the meaning\nand add a note that it may be really old.\n\nI suspect the value may become useful combined\nwith the rx_status-\u003emactime, but we don\u0027t (yet)\nstore that value and pass it to the driver.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7b8bcff2e0f11981dd6840f9feefe0914e4ea521",
      "tree": "d9e59a47b7a4932a43d5c50ef47afd79f29ecddd",
      "parents": [
        "8e6cffb3b42f03a47a56ede928b006f117628646"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Tue Mar 13 13:57:04 2012 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Mar 13 14:54:20 2012 -0400"
      },
      "message": "cfg80211: clarify timestamp in cfg80211_inform_bss\n\nThis is intended to be the timestamp sent by the\npeer in the beacon/probe response, not any form\nof host timestamp. Clarify the documentation and\nvariable names.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    }
  ],
  "next": "afd465030acb4098abcb6b965a5aebc7ea2209e0"
}
