)]}'
{
  "commit": "04f482faf50535229a5a5c8d629cf963899f857c",
  "tree": "698d5c8e22e68f9a621c03972556e3a73c525465",
  "parents": [
    "e2666f84958adb3a034b98e99699b55705117e01"
  ],
  "author": {
    "name": "Patrick McHardy",
    "email": "kaber@trash.net",
    "time": "Mon Mar 28 08:39:36 2011 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Wed Mar 30 17:14:33 2011 -0700"
  },
  "message": "connector: convert to synchronous netlink message processing\n\nCommits 01a16b21 (netlink: kill eff_cap from struct netlink_skb_parms)\nand c53fa1ed (netlink: kill loginuid/sessionid/sid members from struct\nnetlink_skb_parms) removed some members from struct netlink_skb_parms\nthat depend on the current context, all netlink users are now required\nto do synchronous message processing.\n\nconnector however queues received messages and processes them in a work\nqueue, which is not valid anymore. This patch converts connector to do\nsynchronous message processing by invoking the registered callback handler\ndirectly from the netlink receive function.\n\nIn order to avoid invoking the callback with connector locks held, a\nreference count is added to struct cn_callback_entry, the reference\nis taken when finding a matching callback entry on the device\u0027s queue_list\nand released after the callback handler has been invoked.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "55653aba6735ae18662d2f23aa056e8605b14c60",
      "old_mode": 33188,
      "old_path": "drivers/connector/cn_queue.c",
      "new_id": "c42c9d517790b35d8570197a2038a0cda66f4a42",
      "new_mode": 33188,
      "new_path": "drivers/connector/cn_queue.c"
    },
    {
      "type": "modify",
      "old_id": "f7554de3be5e80270c89e99bb17f765037459f8d",
      "old_mode": 33188,
      "old_path": "drivers/connector/connector.c",
      "new_id": "d77005849af857935fe270725f2ee0d08561d265",
      "new_mode": 33188,
      "new_path": "drivers/connector/connector.c"
    },
    {
      "type": "modify",
      "old_id": "bcafc942e5e463598ee1e183e7ae6182db14866d",
      "old_mode": 33188,
      "old_path": "include/linux/connector.h",
      "new_id": "7c60d0942adb436b7ddb58d5132d952c0bd65541",
      "new_mode": 33188,
      "new_path": "include/linux/connector.h"
    }
  ]
}
