)]}'
{
  "commit": "cd40b7d3983c708aabe3d3008ec64ffce56d33b0",
  "tree": "0d6fe9cfd2f03fdeee126e317d4bfb145afc458d",
  "parents": [
    "aed815601f3f95281ab3a01f7e2cbe1bd54285a0"
  ],
  "author": {
    "name": "Denis V. Lunev",
    "email": "den@openvz.org",
    "time": "Wed Oct 10 21:15:29 2007 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Wed Oct 10 21:15:29 2007 -0700"
  },
  "message": "[NET]: make netlink user -\u003e kernel interface synchronious\n\nThis patch make processing netlink user -\u003e kernel messages synchronious.\nThis change was inspired by the talk with Alexey Kuznetsov about current\nnetlink messages processing. He says that he was badly wrong when introduced \nasynchronious user -\u003e kernel communication.\n\nThe call netlink_unicast is the only path to send message to the kernel\nnetlink socket. But, unfortunately, it is also used to send data to the\nuser.\n\nBefore this change the user message has been attached to the socket queue\nand sk-\u003esk_data_ready was called. The process has been blocked until all\npending messages were processed. The bad thing is that this processing\nmay occur in the arbitrary process context.\n\nThis patch changes nlk-\u003edata_ready callback to get 1 skb and force packet\nprocessing right in the netlink_unicast.\n\nKernel -\u003e user path in netlink_unicast remains untouched.\n\nEINTR processing for in netlink_run_queue was changed. It forces rtnl_lock\ndrop, but the process remains in the cycle until the message will be fully\nprocessed. So, there is no need to use this kludges now.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "569070997cc1fac4d6847b404371ff8cb93cda27",
      "old_mode": 33188,
      "old_path": "drivers/connector/connector.c",
      "new_id": "0e328d387af4cbecdb326238b12d904dfe4988b1",
      "new_mode": 33188,
      "new_path": "drivers/connector/connector.c"
    },
    {
      "type": "modify",
      "old_id": "163acf6ad2d3b40dfcbf229b5a2a7849ebca2c8c",
      "old_mode": 33188,
      "old_path": "drivers/scsi/scsi_netlink.c",
      "new_id": "40579edca101a465f997266343a5862ccebcb2c0",
      "new_mode": 33188,
      "new_path": "drivers/scsi/scsi_netlink.c"
    },
    {
      "type": "modify",
      "old_id": "4916f01230dc548067ab1a67bde17eccab9617f3",
      "old_mode": 33188,
      "old_path": "drivers/scsi/scsi_transport_iscsi.c",
      "new_id": "5428d15f23c617d5bfc579baea6391664c1c47c4",
      "new_mode": 33188,
      "new_path": "drivers/scsi/scsi_transport_iscsi.c"
    },
    {
      "type": "modify",
      "old_id": "056519cd92bcf5e1583ebf1deaa6f5bc2e8ee045",
      "old_mode": 33188,
      "old_path": "fs/ecryptfs/netlink.c",
      "new_id": "9aa345121e09cf2bf2f600259f95a03557f85de3",
      "new_mode": 33188,
      "new_path": "fs/ecryptfs/netlink.c"
    },
    {
      "type": "modify",
      "old_id": "10eb56b2940ad8c8b7f6775de247d552a99cc6fe",
      "old_mode": 33188,
      "old_path": "include/linux/connector.h",
      "new_id": "b62f823e90cf631537a23ec7e5f17f87c6ce64e9",
      "new_mode": 33188,
      "new_path": "include/linux/connector.h"
    },
    {
      "type": "modify",
      "old_id": "7b552b6c2c19b5277efb4e47e7877653c6cc2a98",
      "old_mode": 33188,
      "old_path": "include/linux/netlink.h",
      "new_id": "7c1f3b1d2ee5a3e3b6c6cda0794a4847e6e044ae",
      "new_mode": 33188,
      "new_path": "include/linux/netlink.h"
    },
    {
      "type": "modify",
      "old_id": "1afd3e837d2328f15950b79608d59291550f3b88",
      "old_mode": 33188,
      "old_path": "include/net/netlink.h",
      "new_id": "9298218c07f9afa7fda027fcbb07a8b4684b673f",
      "new_mode": 33188,
      "new_path": "include/net/netlink.h"
    },
    {
      "type": "modify",
      "old_id": "f3c390f6c0b402e18ccd9992e6a4d1ccef2de290",
      "old_mode": 33188,
      "old_path": "kernel/audit.c",
      "new_id": "2924251a6547bebb25d952dc64ea5590848b1bce",
      "new_mode": 33188,
      "new_path": "kernel/audit.c"
    },
    {
      "type": "modify",
      "old_id": "471d2d9f8eae8c9722e27f4326d0f716703154d0",
      "old_mode": 33188,
      "old_path": "net/core/rtnetlink.c",
      "new_id": "1072d16696c3b651993ef7130bd09a475c072b81",
      "new_mode": 33188,
      "new_path": "net/core/rtnetlink.c"
    },
    {
      "type": "modify",
      "old_id": "ebb38feb4df3b8e0e49ab5c856fe0c4615e0c084",
      "old_mode": 33188,
      "old_path": "net/decnet/netfilter/dn_rtmsg.c",
      "new_id": "f7fba7721e639812e89f1c75d00b4ebaca9a1581",
      "new_mode": 33188,
      "new_path": "net/decnet/netfilter/dn_rtmsg.c"
    },
    {
      "type": "modify",
      "old_id": "f823ca34cb12fd691e7e2ccbdf13fa59cf5bf478",
      "old_mode": 33188,
      "old_path": "net/ipv4/fib_frontend.c",
      "new_id": "a5cba2349605e75528216ff9936ceeb2db32a14d",
      "new_mode": 33188,
      "new_path": "net/ipv4/fib_frontend.c"
    },
    {
      "type": "modify",
      "old_id": "b04a6ee5a9a118c313bbc450922597cc857f20b6",
      "old_mode": 33188,
      "old_path": "net/ipv4/inet_diag.c",
      "new_id": "7eb83ebed2ec5754af310cb17db9a8108bcb0578",
      "new_mode": 33188,
      "new_path": "net/ipv4/inet_diag.c"
    },
    {
      "type": "modify",
      "old_id": "aaa3f5c567611ab77168d0104ea0b61fd6671cba",
      "old_mode": 33188,
      "old_path": "net/ipv4/netfilter/ip_queue.c",
      "new_id": "23cbfc7c80fd982f7b1f57a51d7cc2125342432a",
      "new_mode": 33188,
      "new_path": "net/ipv4/netfilter/ip_queue.c"
    },
    {
      "type": "modify",
      "old_id": "c75f467a8f51175c4f536109b3742e85994f20a3",
      "old_mode": 33188,
      "old_path": "net/ipv6/netfilter/ip6_queue.c",
      "new_id": "0473145ac534fd98dc60997418a94b1c68e37d91",
      "new_mode": 33188,
      "new_path": "net/ipv6/netfilter/ip6_queue.c"
    },
    {
      "type": "modify",
      "old_id": "99775af19ff4071ff71407dadb72ea618dc45918",
      "old_mode": 33188,
      "old_path": "net/netfilter/nfnetlink.c",
      "new_id": "2128542995f79279fb026bcc4688eef46b434305",
      "new_mode": 33188,
      "new_path": "net/netfilter/nfnetlink.c"
    },
    {
      "type": "modify",
      "old_id": "4ce7dcbcb6ef94c2c87d934322abb8ab1587ca8c",
      "old_mode": 33188,
      "old_path": "net/netlink/af_netlink.c",
      "new_id": "c776bcd9f8257b8008b968aec37c93d389d6854f",
      "new_mode": 33188,
      "new_path": "net/netlink/af_netlink.c"
    },
    {
      "type": "modify",
      "old_id": "3f1104dc128bbe5b33eb1c44dfa96d167abcb3e6",
      "old_mode": 33188,
      "old_path": "net/netlink/genetlink.c",
      "new_id": "150579a21469d664563dfcee8bdef5d3f0e355e1",
      "new_mode": 33188,
      "new_path": "net/netlink/genetlink.c"
    },
    {
      "type": "modify",
      "old_id": "5238f6a8dfad9face8a889132fe3ba4aa27e19ed",
      "old_mode": 33188,
      "old_path": "net/xfrm/xfrm_user.c",
      "new_id": "d41588d101d01db756f5db3a1cd40d6e783883a9",
      "new_mode": 33188,
      "new_path": "net/xfrm/xfrm_user.c"
    }
  ]
}
