)]}'
{
  "log": [
    {
      "commit": "e7c29cb16c833441fd2160642bb13025f4e7ac70",
      "tree": "7ba44be60b7bf9c4e7bee459735ebabdc85eb8fd",
      "parents": [
        "09ab6f4c2376a0fc31abde1e2991513f900ea825"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "message": "[Bluetooth] Reject L2CAP connections on an insecure ACL link\n\nThe Security Mode 4 of the Bluetooth 2.1 specification has strict\nauthentication and encryption requirements. It is the initiators job\nto create a secure ACL link. However in case of malicious devices, the\nacceptor has to make sure that the ACL is encrypted before allowing\nany kind of L2CAP connection. The only exception here is the PSM 1 for\nthe service discovery protocol, because that is allowed to run on an\ninsecure ACL link.\n\nPreviously it was enough to reject a L2CAP connection during the\nconnection setup phase, but with Bluetooth 2.1 it is forbidden to\ndo any L2CAP protocol exchange on an insecure link (except SDP).\n\nThe new hci_conn_check_link_mode() function can be used to check the\nintegrity of an ACL link. This functions also takes care of the cases\nwhere Security Mode 4 is disabled or one of the devices is based on\nan older specification.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "09ab6f4c2376a0fc31abde1e2991513f900ea825",
      "tree": "f002d719a8a9a2c6344f06a5b9346bc053b4054d",
      "parents": [
        "f1c08ca559387ab30992055596d54061dfa022b1"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Sep 09 07:19:20 2008 +0200"
      },
      "message": "[Bluetooth] Enforce correct authentication requirements\n\nWith the introduction of Security Mode 4 and Simple Pairing from the\nBluetooth 2.1 specification it became mandatory that the initiator\nrequires authentication and encryption before any L2CAP channel can\nbe established. The only exception here is PSM 1 for the service\ndiscovery protocol (SDP). It is meant to be used without any encryption\nsince it contains only public information. This is how Bluetooth 2.0\nand before handle connections on PSM 1.\n\nFor Bluetooth 2.1 devices the pairing procedure differentiates between\nno bonding, general bonding and dedicated bonding. The L2CAP layer\nwrongly uses always general bonding when creating new connections, but it\nshould not do this for SDP connections. In this case the authentication\nrequirement should be no bonding and the just-works model should be used,\nbut in case of non-SDP connection it is required to use general bonding.\n\nIf the new connection requires man-in-the-middle (MITM) protection, it\nalso first wrongly creates an unauthenticated link key and then later on\nrequests an upgrade to an authenticated link key to provide full MITM\nprotection. With Simple Pairing the link key generation is an expensive\noperation (compared to Bluetooth 2.0 and before) and doing this twice\nduring a connection setup causes a noticeable delay when establishing\na new connection. This should be avoided to not regress from the expected\nBluetooth 2.0 connection times. The authentication requirements are known\nup-front and so enforce them.\n\nTo fulfill these requirements the hci_connect() function has been extended\nwith an authentication requirement parameter that will be stored inside\nthe connection information and can be retrieved by userspace at any\ntime. This allows the correct IO capabilities exchange and results in\nthe expected behavior.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "63fbd24e5102eecfc9d049ed7f4be7f9a25f814f",
      "tree": "9ead3c67300ce8bcdbe26d02ba264e84baea930a",
      "parents": [
        "90855d7b725d764d6d70503bcc1b494cf10ddc98"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 18 13:23:53 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Aug 18 13:23:53 2008 +0200"
      },
      "message": "[Bluetooth] Consolidate maintainers information\n\nThe Bluetooth entries for the MAINTAINERS file are a little bit too\nmuch. Consolidate them into two entries. One for Bluetooth drivers and\nanother one for the Bluetooth subsystem.\n\nAlso the MODULE_AUTHOR should indicate the current maintainer of the\nmodule and actually not the original author. Fix all Bluetooth modules\nto provide current maintainer information.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "b1235d79611e78a07629b4cbe53291c9cffd1834",
      "tree": "b12b694d991e62a761d48ee4bb12b6eade753f78",
      "parents": [
        "7cb127d5b0e7af7a0afd23785722ca3edab4ceff"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:54 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:54 2008 +0200"
      },
      "message": "[Bluetooth] Allow security for outgoing L2CAP connections\n\nWhen requested the L2CAP layer will now enforce authentication and\nencryption on outgoing connections. The usefulness of this feature\nis kinda limited since it will not allow proper connection ownership\ntracking until the authentication procedure has been finished. This\nis a limitation of Bluetooth 2.0 and before and can only be fixed by\nusing Simple Pairing.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "3241ad820dbb172021e0268b5611031991431626",
      "tree": "628c3fbdc88f9de6c996358ebcb551176da38f1f",
      "parents": [
        "40be492fe4fab829951681860c2bb26fa1d5fe4a"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:50 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:50 2008 +0200"
      },
      "message": "[Bluetooth] Add timestamp support to L2CAP, RFCOMM and SCO\n\nEnable the common timestamp functionality that the network subsystem\nprovides for L2CAP, RFCOMM and SCO sockets. It is possible to either\nuse SO_TIMESTAMP or the IOCTLs to retrieve the timestamp of the\ncurrent packet.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "40be492fe4fab829951681860c2bb26fa1d5fe4a",
      "tree": "41b576692c2206c9a51e689f54170076ec95bc3a",
      "parents": [
        "f8558555f31e177e2644f3c8116801c3e5c29974"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:50 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:50 2008 +0200"
      },
      "message": "[Bluetooth] Export details about authentication requirements\n\nWith the Simple Pairing support, the authentication requirements are\nan explicit setting during the bonding process. Track and enforce the\nrequirements and allow higher layers like L2CAP and RFCOMM to increase\nthem if needed.\n\nThis patch introduces a new IOCTL that allows to query the current\nauthentication requirements. It is also possible to detect Simple\nPairing support in the kernel this way.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "9719f8afce34d3d04e884873a8a5e3483e30974c",
      "tree": "aee26f7df7e2d92aa54d4b9da88c4ff5987191dd",
      "parents": [
        "77db1980565626471a980f0d2d17299e4bd5e7a5"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:45 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:45 2008 +0200"
      },
      "message": "[Bluetooth] Disconnect when encryption gets disabled\n\nThe Bluetooth specification allows to enable or disable the encryption\nof an ACL link at any time by either the peer or the remote device. If\na L2CAP or RFCOMM connection requested an encrypted link, they will now\ndisconnect that link if the encryption gets disabled. Higher protocols\nthat don\u0027t care about encryption (like SDP) are not affected.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "79d554a6976a295aa9212172b218f29ca71c3b3d",
      "tree": "430d106c1ebf194fcf208a145d32a2829ffca5a6",
      "parents": [
        "b7279469d66b55119784b8b9529c99c1955fe747"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:44 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:44 2008 +0200"
      },
      "message": "[Bluetooth] Change retrieval of L2CAP features mask\n\nGetting the remote L2CAP features mask is really important, but doing\nthis as less intrusive as possible is tricky. To play nice with older\nsystems and Bluetooth qualification testing, the features mask is now\nonly retrieved in two specific cases and only once per lifetime of an\nACL link.\n\nWhen trying to establish a L2CAP connection and the remote features mask\nis unknown, the L2CAP information request is sent when the ACL link goes\ninto connected state. This applies only to outgoing connections and also\nonly for the connection oriented channels.\n\nThe second case is when a connection request has been received. In this\ncase a connection response with the result pending and the information\nrequest will be send. After receiving an information response or if the\ntimeout gets triggered, the normal connection setup process with security\nsetup will be initiated.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "83985319393973f280ca2a797047780a7955cf19",
      "tree": "438e92affd9c605188404e920b8605670d0d6ab0",
      "parents": [
        "260ffeed3fd185d29f08e98fb47c09e71bb59cd8"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri May 02 16:25:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 02 16:25:46 2008 -0700"
      },
      "message": "bluetooth: use get/put_unaligned_* helpers\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1ec1b8ccdf0df6000faa8c2d985ca5f94157e5a",
      "tree": "4e1ca325dde22f1ac21c9da0be509e87e922e604",
      "parents": [
        "c0f39322c335412339dec16ebfd2a05ceba5ebcf",
        "802fb176d8c635ae42da31b80841c26e8c7338a0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 02 22:35:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 02 22:35:23 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/s2io.c\n"
    },
    {
      "commit": "d5fb2962c6157495e1365e4f30568ed3830d35a7",
      "tree": "952baad67a821bf47b46f7cd4d748e0fa3144e90",
      "parents": [
        "293a3839304cac32e58929db0c23e00a509fbfc5"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Fri Mar 28 16:17:38 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 28 16:17:38 2008 -0700"
      },
      "message": "bluetooth: replace deprecated RW_LOCK_UNLOCKED macros\n\nThe older RW_LOCK_UNLOCKED macros defeat lockdep state tracing so\nreplace them with the newer __RW_LOCK_UNLOCKED macros.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9",
      "tree": "09edb35f32ebcfb1b4dad904425128a110ef16ee",
      "parents": [
        "c346dca10840a874240c78efe3f39acf4312a1f2"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:26:21 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:55 2008 +0900"
      },
      "message": "[NET] NETNS: Omit sock-\u003esk_net without CONFIG_NET_NS.\n\nIntroduce per-sock inlines: sock_net(), sock_net_set()\nand per-inet_timewait_sock inlines: twsk_net(), twsk_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "8e8440f53593b5f9c695f18b493b535873dbb9da",
      "tree": "e0429845227215de8284bcd9e7824ad26d4c8b7b",
      "parents": [
        "7e36763b2c204d59de4e88087f84a2c0c8421f25"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Mon Mar 03 12:18:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 03 12:18:55 2008 -0800"
      },
      "message": "[BLUETOOTH]: l2cap info_timer delete fix in hci_conn_del\n\nWhen the l2cap info_timer is active the info_state will be set to\nL2CAP_INFO_FEAT_MASK_REQ_SENT, and it will be unset after the timer is\ndeleted or timeout triggered.\n\nHere in l2cap_conn_del only call del_timer_sync when the info_state is\nset to L2CAP_INFO_FEAT_MASK_REQ_SENT.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ab2273175bd59616b6e85c0f88b154e8bd97413",
      "tree": "d77cb79e89925a0def66bb710e97896508f45efa",
      "parents": [
        "5f2f40a92e007ec5b503db20f3f70cb331c64f65"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 26 17:42:56 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 26 17:42:56 2008 -0800"
      },
      "message": "bluetooth: delete timer in l2cap_conn_del()\n\nDelete a possibly armed timer before kfree\u0027ing the connection object.\n\nSolves: http://lkml.org/lkml/2008/2/15/514\n\nReported-by:Quel Qun \u003ckelk1@comcast.net\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b24b8a247ff65c01b252025926fe564209fae4fc",
      "tree": "8a9e0ea1e24b4733d8b9433d41877659505e9da4",
      "parents": [
        "a92aa318b4b369091fd80433c80e62838db8bc1c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jan 23 21:20:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:35 2008 -0800"
      },
      "message": "[NET]: Convert init_timer into setup_timer\n\nMany-many code in the kernel initialized the timer-\u003efunction\nand  timer-\u003edata together with calling init_timer(timer). There\nis already a helper for this. Use it for networking code.\n\nThe patch is HUGE, but makes the code 130 lines shorter\n(98 insertions(+), 228 deletions(-)).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6257ff2177ff02d7f260a7a501876aa41cb9a9f6",
      "tree": "9d9f80ccf16f3d4ef062e896f62974c5496193ad",
      "parents": [
        "154adbc8469ff21fbf5c958446ee92dbaab01be1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "message": "[NET]: Forget the zero_it argument of sk_alloc()\n\nFinally, the zero_it argument can be completely removed from\nthe callers and from the function prototype.\n\nBesides, fix the checkpatch.pl warnings about using the\nassignments inside if-s.\n\nThis patch is rather big, and it is a part of the previous one.\nI splitted it wishing to make the patches more readable. Hope \nthis particular split helped.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6464f35f3771f69cd8d107fff166dc29ab392f97",
      "tree": "b737bc19dfd6decc6769a425491e0e0b06687d1b",
      "parents": [
        "f0709e03ac3552b1b048ee171cb96ecaacc6813c"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Oct 20 13:39:51 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:43 2007 -0700"
      },
      "message": "[Bluetooth] Fall back to L2CAP in basic mode\n\nIn case the remote entity tries to negogiate retransmission or flow\ncontrol mode, reject it and fall back to basic mode.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "f0709e03ac3552b1b048ee171cb96ecaacc6813c",
      "tree": "65c888eb7c1d6ad1f34276232a8cddbbcf163c28",
      "parents": [
        "4e8402a3f884427f9233ba436459c158d1f2e114"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Oct 20 13:38:51 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:42 2007 -0700"
      },
      "message": "[Bluetooth] Advertise L2CAP features mask support\n\nIndicate the support for the L2CAP features mask value when the remote\nentity tries to negotiate Bluetooth 1.2 specific features.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "4e8402a3f884427f9233ba436459c158d1f2e114",
      "tree": "3853523eaba309ea8aff89ed4868770cf82d40b2",
      "parents": [
        "861d6882b3dfe1710b35dbddf1b395b962061413"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Oct 20 13:37:56 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:41 2007 -0700"
      },
      "message": "[Bluetooth] Retrieve L2CAP features mask on connection setup\n\nThe Bluetooth 1.2 specification introduced a specific features mask\nvalue to interoperate with newer versions of the specification. So far\nthis piece of information was never needed, but future extensions will\nrely on it. This patch adds a generic way to retrieve this information\nonly once per connection setup.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "861d6882b3dfe1710b35dbddf1b395b962061413",
      "tree": "94da0e9d5de2c3ed7643600ba4fe643e5e7c6911",
      "parents": [
        "876d9484edf77d228adb42aecd4debd58d7739d6"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Oct 20 13:37:06 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:41 2007 -0700"
      },
      "message": "[Bluetooth] Remove global conf_mtu variable from L2CAP\n\nAfter the change to the L2CAP configuration parameter handling the\nglobal conf_mtu variable is no longer needed and so remove it.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "876d9484edf77d228adb42aecd4debd58d7739d6",
      "tree": "7812471a62fe26a8cf86d2b8fe5584396527de40",
      "parents": [
        "a9de9248064bfc8eb0a183a6a951a4e7b5ca10a4"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Oct 20 13:35:42 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:40 2007 -0700"
      },
      "message": "[Bluetooth] Finish L2CAP configuration only with acceptable settings\n\nThe parameters of the L2CAP output configuration might not be accepted\nafter the first configuration round. So only indicate a finished output\nconfiguration when acceptable settings are provided.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "1b8d7ae42d02e483ad94035cca851e4f7fbecb40",
      "tree": "81f8cc0ee49ef99cc67dfed3dc7b7ecb510abf8b",
      "parents": [
        "457c4cbc5a3dde259d2a1f15d5f9785290397267"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 08 23:24:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:07 2007 -0700"
      },
      "message": "[NET]: Make socket creation namespace safe.\n\nThis patch passes in the namespace a new socket should be created in\nand has the socket code do the appropriate reference counting.  By\nvirtue of this all socket create methods are touched.  In addition\nthe socket create methods are modified so that they will fail if\nyou attempt to create a socket in a non-default network namespace.\n\nFailing if we attempt to create a socket outside of the default\nnetwork namespace ensures that as we incrementally make the network stack\nnetwork namespace aware we will not export functionality that someone\nhas not audited and made certain is network namespace safe.\nAllowing us to partially enable network namespaces before all of the\nexotic protocols are supported.\n\nAny protocol layers I have missed will fail to compile because I now\npass an extra parameter into the socket creation code.\n\n[ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ]\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d83852822cb58f0beaa2d06b7c1e9e005e0c4f94",
      "tree": "b1a47dca0373551b0541258ab27e61606212c73b",
      "parents": [
        "88219a0f65ae14ba744fa424604c965b6f1c1a8d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 29 00:18:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:09 2007 -0700"
      },
      "message": "[BLUETOOTH] l2cap: don\u0027t mangle cmd.len\n\nSince nobody uses it after we convert it to host-endian,\nno need to do that at all.  At that point l2cap is endian-clean.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88219a0f65ae14ba744fa424604c965b6f1c1a8d",
      "tree": "cc3187f18091f427b409dbad6130d8212fdab724",
      "parents": [
        "8e036fc3143646dc304356fa50314681d654363f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 29 00:17:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:08 2007 -0700"
      },
      "message": "[BLUETOOTH]: pass (host-endian) cmd length as explicit argument to l2cap_conf_req()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e036fc3143646dc304356fa50314681d654363f",
      "tree": "11ba34d6977b95f69b96a8a91f2902e2672d8fad",
      "parents": [
        "6dc0c2082b8acf30c9239fbbcc051eebdaf7ecff"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 29 00:16:36 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:07 2007 -0700"
      },
      "message": "[BLUETOOTH] l2cap: endianness annotations\n\nno code changes, just documenting existing types\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6dc0c2082b8acf30c9239fbbcc051eebdaf7ecff",
      "tree": "709bc082b259b1a0bf2dfbc6a5aee4a7aaf343de",
      "parents": [
        "09c7d8293a2d1317d16ef4ddb9f6dd2553d0694e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 29 00:15:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:06 2007 -0700"
      },
      "message": "[BLUETOOTH]: Fix endianness bug in l2cap_sock_listen()\n\nWe loop through psm values, calling __l2cap_get_sock_by_addr(psm, ...)\nuntil we get NULL; then we set -\u003epsm of our socket to htobs(psm).\nIOW, we find unused psm value and put it into our socket.  So far, so\ngood, but...  __l2cap_get_sock_by_addr() compares its argument with\n-\u003epsm of sockets.  IOW, the entire thing works correctly only on\nlittle-endian.  On big-endian we\u0027ll get \"no socket with such psm\"\non the first iteration, since we won\u0027t find a socket with -\u003epsm \u003d\u003d 0x1001.\nWe will happily conclude that 0x1001 is unused and slap htobs(0x1001)\n(i.e. 0x110) into -\u003epsm of our socket.  Of course, the next time around\nthe same thing will repeat and we\u0027ll just get a fsckload of sockets\nwith the same -\u003epsm assigned.\n\nFix: pass htobs(psm) to __l2cap_get_sock_by_addr() there.  All other\ncallers are already passing little-endian values and all places that\nstore something in -\u003epsm are storing little-endian.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5dee9e7c4c869fcffccc3d432b755793dfa71376",
      "tree": "4142c425d5941c405dc0a8bf23c59e0749192bfa",
      "parents": [
        "fd184ab4283a6a6105e8312a497d2a2a193eaf67"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu May 24 14:27:19 2007 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Thu May 24 14:27:19 2007 +0200"
      },
      "message": "[Bluetooth] Fix L2CAP configuration parameter handling\n\nThe L2CAP configuration parameter handling was missing the support\nfor rejecting unknown options. The capability to reject unknown\noptions is mandatory since the Bluetooth 1.2 specification. This\npatch implements its and also simplifies the parameter parsing.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0878b6667f28772aa7d6b735abff53efc7bf6d91",
      "tree": "5a1dbfb35f679335fbec4cbd17dfe64926db7750",
      "parents": [
        "dc87c3985e9b442c60994308a96f887579addc39"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat May 05 00:35:59 2007 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat May 05 00:35:59 2007 +0200"
      },
      "message": "[Bluetooth] Fix L2CAP and HCI setsockopt() information leaks\n\nThe L2CAP and HCI setsockopt() implementations have a small information\nleak that makes it possible to leak kernel stack memory to userspace.\n\nIf the optlen parameter is 0, no data will be copied by copy_from_user(),\nbut the uninitialized stack buffer will be read and stored later. A call\nto getsockopt() can now retrieve the leaked information.\n\nTo fix this problem the stack buffer given to copy_from_user() must be\ninitialized with the current settings.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "d626f62b11e00c16e81e4308ab93d3f13551812a",
      "tree": "fac4af6ced853755e12fc709d55f0c2bec51265d",
      "parents": [
        "2a123b86e2b242a4a6db990d2851d45e192f88e5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 27 18:55:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:23 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_copy_from_linear_data{_offset}\n\nTo clearly state the intent of copying from linear sk_buffs, _offset being a\noverly long variant but interesting for the sake of saving some bytes.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "aca3192cc60d2bf193c2252e45563c32e3117289",
      "tree": "d73dc39ae9c9f499a026c56517604af21d63bfd9",
      "parents": [
        "acde4855bb8f5fba8bb065d35ff6ac8a94b3dfa8"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sun Mar 25 20:12:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:54 2007 -0700"
      },
      "message": "[NET] BLUETOOTH: Use cpu_to_le{16,32}() where appropriate.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e87d14255acffeee36873de226dc25c11b5f46d",
      "tree": "e11c179c8db4ae3ad56ea02d583bc041dcc686b6",
      "parents": [
        "528930b91ee89a05a6264629cf99109652c19ca8"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:24:33 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:19:20 2007 -0800"
      },
      "message": "[NET] BLUETOOTH: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "847641d7db15ac3f18b3d4aa05479812abdf397a",
      "tree": "59c7f5f3fc3b6a06912487222cd1dbb4214825c4",
      "parents": [
        "7386397636d49cd5f03da29432467d3e98cbad35"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jan 22 22:00:45 2007 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jan 22 22:00:45 2007 +0100"
      },
      "message": "[Bluetooth] Restrict well known PSM to privileged users\n\nThe PSM values below 0x1001 of L2CAP are reserved for well known\nservices. Restrict the possibility to bind them to privileged\nusers.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "7386397636d49cd5f03da29432467d3e98cbad35",
      "tree": "e306cfa2d55c7085d77678e9f6b95bcf2b6aad58",
      "parents": [
        "a8b3485287731978899ced11f24628c927890e78"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jan 22 22:00:40 2007 +0100"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jan 22 22:00:40 2007 +0100"
      },
      "message": "[Bluetooth] Missing endian swapping for L2CAP socket list\n\nThe PSM value in the L2CAP socket list must be converted to host\norder before printing it.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "fcc70d5fdc9b0bd3e99c9dacb8198224af2b4b42",
      "tree": "f4450b97bb0cf61d731004f0fbe599662aba0f20",
      "parents": [
        "67f83cbf081a70426ff667e8d14f94e13ed3bdca"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 08 22:44:35 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:35 2006 -0800"
      },
      "message": "[BLUETOOTH] lockdep: annotate sk_lock nesting in AF_BLUETOOTH\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible recursive locking detected ]\n2.6.18-1.2726.fc6 #1\n"
    },
    {
      "commit": "354f60a9952d0af59e684b91cc6e06b95fbbf5ef",
      "tree": "56b583c406b7df011049ec2d0ca0c8c75f94bdc6",
      "parents": [
        "820ae1b865caa05e0614004d0183ca70de2b8665"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Nov 18 22:15:20 2006 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Nov 21 16:16:32 2006 -0800"
      },
      "message": "[Bluetooth] Ignore L2CAP config requests on disconnect\n\nAny L2CAP connection in disconnecting state shall not response\nto any further config requests from the remote side. So in case\nsuch a request is received, ignore it.\n\nSigned-off-by: Ville Tervo \u003cville.tervo@nokia.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "820ae1b865caa05e0614004d0183ca70de2b8665",
      "tree": "cf93320889db023d4049ffc0123bcfb4a407982f",
      "parents": [
        "ff2d367ac33b9278c9516ac1888207dac11d10b0"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sat Nov 18 22:15:00 2006 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Nov 21 16:16:31 2006 -0800"
      },
      "message": "[Bluetooth] Always include MTU in L2CAP config responses\n\nWhen sending a positive config response it shall include the actual\nMTU to be used on this channel. This differs from the Bluetooth 1.1\nspecification where it was enough to acknowledge the config request.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "74da626a1098640ddc40c0e3481c0cd41e8ec1e9",
      "tree": "65e6f72f07c0cccbb37b3b079d93276b061d9ade",
      "parents": [
        "cb19d9ea2ce2bcbe291d3d48e3501dc4f33ba627"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Oct 15 17:31:14 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Oct 15 23:14:34 2006 -0700"
      },
      "message": "[Bluetooth] Add locking for bt_proto array manipulation\n\nThe bt_proto array needs to be protected by some kind of locking to\nprevent a race condition between bt_sock_create and bt_sock_register.\n\nAnd in addition all calls to sk_alloc need to be made GFP_ATOMIC now.\n\nSigned-off-by: Masatake YAMATO \u003cjet@gyve.org\u003e\nSigned-off-by: Frederik Deweerdt \u003cfrederik.deweerdt@gmail.com\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "df5c37ea9a3820a9515d8204450aec00f48f8f88",
      "tree": "0a7ca311e03be7738ae9e2bcbd3c43c7b8f9cf74",
      "parents": [
        "e9c5702e3c5558dade169949abd730173e87ef9c"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Sun Oct 15 17:30:45 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Oct 15 23:14:28 2006 -0700"
      },
      "message": "[Bluetooth] Handle return values from driver core functions\n\nSome return values of the driver core register and create functions\nare not handled and so might cause unexpected problems.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "fd1278d720b48ad7576f64014b916cc77365cb3f",
      "tree": "5d692235135cbdeac93f10b52084ec72009a8541",
      "parents": [
        "0263603a01e802f79e369ac489793e5320031560"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Wed Jul 12 23:00:07 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jul 12 15:34:35 2006 -0700"
      },
      "message": "[Bluetooth] Fix deadlock in the L2CAP layer\n\nThe Bluetooth L2CAP layer has 2 locks that are used in softirq context,\n(one spinlock and one rwlock, where the softirq usage is readlock) but\nwhere not all usages of the lock were _bh safe. The patch below corrects\nthis.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "0139418c943c3389cf75afc4f4d2b2fa52bbf7c9",
      "tree": "f4f760f37b516d9c6c375217aec31a1d9f6fdaa2",
      "parents": [
        "a91f2e396f5b32b21d842b4757bc8de5e88eac66"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 03 10:02:46 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 03 19:54:05 2006 -0700"
      },
      "message": "[Bluetooth] Small cleanup of the L2CAP source code\n\nThis patch is a small cleanup of the L2CAP source code. It makes some\ncoding style changes and moves some functions around to avoid forward\ndeclarations.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "a91f2e396f5b32b21d842b4757bc8de5e88eac66",
      "tree": "174b88a20feea87734bf63ec7104eae0b205649a",
      "parents": [
        "27d35284258c596900e0e41c46932ec4abe6a7b1"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 03 10:02:41 2006 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Jul 03 19:54:02 2006 -0700"
      },
      "message": "[Bluetooth] Use real devices for host controllers\n\nThis patch converts the Bluetooth class devices into real devices. The\nBluetooth class is kept and the driver core provides the appropriate\nsymlinks for backward compatibility.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "4fc268d24ceb9f4150777c1b5b2b8e6214e56b2b",
      "tree": "d2aaf0b5986b03e6129ed3ccd65b9f706cd59c7f",
      "parents": [
        "16f7e0fe2ecc30f30652e8185e1772cdebe39109"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jan 11 12:17:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:14 2006 -0800"
      },
      "message": "[PATCH] capable/capability.h (net/)\n\nnet: Use \u003clinux/capability.h\u003e where capable() is used.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "90ddc4f0470427df306f308ad03db6b6b21644b8",
      "tree": "f97c1d57b25585394ebbd4b42b8d42a339f98644",
      "parents": [
        "77d76ea310b50a9c8ff15bd290fcb4ed4961adf2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Dec 22 12:49:22 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:15 2006 -0800"
      },
      "message": "[NET]: move struct proto_ops to const\n\nI noticed that some of \u0027struct proto_ops\u0027 used in the kernel may share\na cache line used by locks or other heavily modified data. (default\nlinker alignement is 32 bytes, and L1_CACHE_LINE is 64 or 128 at\nleast)\n\nThis patch makes sure a \u0027struct proto_ops\u0027 can be declared as const,\nso that all cpus can share all parts of it without false sharing.\n\nThis is not mandatory : a driver can still use a read/write structure\nif it needs to (and eventually a __read_mostly)\n\nI made a global stubstitute to change all existing occurences to make\nthem const.\n\nThis should reduce the possibility of false sharing on SMP, and\nspeedup some socket system calls.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1cbe4b7ad0bc4b1d98ea708a3fecb7362aa4088",
      "tree": "04ec26c728645dd1da2474b2b883a532b43811ad",
      "parents": [
        "f1f71e03b17db3b9edb0264a8be7719bd5c35582"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "benjamin.c.lahaise@intel.com",
        "time": "Tue Dec 13 23:22:19 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:44 2006 -0800"
      },
      "message": "[NET]: Avoid atomic xchg() for non-error case\n\nIt also looks like there were 2 places where the test on sk_err was\nmissing from the event wait logic (in sk_stream_wait_connect and\nsk_stream_wait_memory), while the rest of the sock_error() users look\nto be doing the right thing.  This version of the patch fixes those,\nand cleans up a few places that were testing -\u003esk_err directly.\n\nSigned-off-by: Benjamin LaHaise \u003cbenjamin.c.lahaise@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be9d122730c878baafe11e70d1436faac229f2fc",
      "tree": "d6644129b56d7cff9fb9781154eebf97746f296b",
      "parents": [
        "1ebb92521d0bc2d4ef772730d29333c06b807191"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Tue Nov 08 09:57:38 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 08 09:57:38 2005 -0800"
      },
      "message": "[Bluetooth]: Remove the usage of /proc completely\n\nThis patch removes all relics of the /proc usage from the Bluetooth\nsubsystem core and its upper layers. All the previous information are\nnow available via /sys/class/bluetooth through appropriate functions.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2eb25a6c34504254760e67172f7518d6bfdd7676",
      "tree": "fc2f39fedac03f773b7bbb3489774df57edc721c",
      "parents": [
        "3a5e903c09aed19ca4a1bb26d87b8d6461a93818"
      ],
      "author": {
        "name": "Victor Fusco",
        "email": "victor@cetuc.puc-rio.br",
        "time": "Tue Aug 09 20:29:11 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:55:07 2005 -0700"
      },
      "message": "[Bluetooth]: Fix sparse warnings (__nocast type)\n\nThis patch fixes the sparse warnings \"implicit cast to nocast type\"\nfor the priority or gfp_mask parameters of the memory allocations.\n\nSigned-off-by: Victor Fusco \u003cvictor@cetuc.puc-rio.br\u003e\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b453257f057b834fdf9f4a6ad6133598b79bd982",
      "tree": "fd1621a8c03331bd78abfe52c8c385977d0a9729",
      "parents": [
        "94f2f715771d0aa5554451d1e2a920f11b8be3fe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Apr 25 18:32:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Apr 25 18:32:13 2005 -0700"
      },
      "message": "[PATCH] kill gratitious includes of major.h under net/*\n\nA lot of places in there are including major.h for no reason whatsoever.\nRemoved.  And yes, it still builds. \n\nThe history of that stuff is often amusing.  E.g.  for net/core/sock.c\nthe story looks so, as far as I\u0027ve been able to reconstruct it: we used\nto need major.h in net/socket.c circa 1.1.early.  In 1.1.13 that need\nhad disappeared, along with register_chrdev(SOCKET_MAJOR, \"socket\",\n\u0026net_fops) in sock_init().  Include had not.  When 1.2 -\u003e 1.3 reorg of\nnet/* had moved a lot of stuff from net/socket.c to net/core/sock.c,\nthis crap had followed... \n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
