)]}'
{
  "commit": "306b13eb3cf9515a8214bbf5d69d811371d05792",
  "tree": "7a7d7c717c578d54861b6301f3728238974b3933",
  "parents": [
    "29fda25a2d31098044f8dfa177c4d2834071828e"
  ],
  "author": {
    "name": "Tom Herbert",
    "email": "tom@quantonium.net",
    "time": "Fri Jul 28 16:22:41 2017 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Tue Aug 01 15:26:18 2017 -0700"
  },
  "message": "proto_ops: Add locked held versions of sendmsg and sendpage\n\nAdd new proto_ops sendmsg_locked and sendpage_locked that can be\ncalled when the socket lock is already held. Correspondingly, add\nkernel_sendmsg_locked and kernel_sendpage_locked as front end\nfunctions.\n\nThese functions will be used in zero proxy so that we can take\nthe socket lock in a ULP sendmsg/sendpage and then directly call the\nbackend transport proto_ops functions.\n\nSigned-off-by: Tom Herbert \u003ctom@quantonium.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dda2cc939a531dab67441c6ddf4b7869c6a06159",
      "old_mode": 33188,
      "old_path": "include/linux/net.h",
      "new_id": "b5c15b31709b794a924587da591977139f0e56fe",
      "new_mode": 33188,
      "new_path": "include/linux/net.h"
    },
    {
      "type": "modify",
      "old_id": "7c0632c7e87043ca18fe5d32d7d55792f75ca6e8",
      "old_mode": 33188,
      "old_path": "include/net/sock.h",
      "new_id": "393c38e9f6aa799a27681f2405750d43081788f9",
      "new_mode": 33188,
      "new_path": "include/net/sock.h"
    },
    {
      "type": "modify",
      "old_id": "3ecb628110042de7a533335361a67b2c601eeb87",
      "old_mode": 33188,
      "old_path": "include/net/tcp.h",
      "new_id": "bb1881b4ce486b38ade45e5a7d9a2ba03bb7c279",
      "new_mode": 33188,
      "new_path": "include/net/tcp.h"
    },
    {
      "type": "modify",
      "old_id": "ac2a404c73eb83fc100ed0a2d3bee40ad5a2044c",
      "old_mode": 33188,
      "old_path": "net/core/sock.c",
      "new_id": "742f68c9c84a2b73f2df6069ad24469f0c233088",
      "new_mode": 33188,
      "new_path": "net/core/sock.c"
    },
    {
      "type": "modify",
      "old_id": "5ce44fb7d49885ffe1496248b4cdfa2eae531c1f",
      "old_mode": 33188,
      "old_path": "net/ipv4/af_inet.c",
      "new_id": "f0103ffe1cdbd5c0b9fb5019546e44be9e3de5b4",
      "new_mode": 33188,
      "new_path": "net/ipv4/af_inet.c"
    },
    {
      "type": "modify",
      "old_id": "5326b50a345060b7aabcc1fdf2f01329f1515ed2",
      "old_mode": 33188,
      "old_path": "net/ipv4/tcp.c",
      "new_id": "9dd6f4dba9b136153054e2c5a3db59c695fc9b0a",
      "new_mode": 33188,
      "new_path": "net/ipv4/tcp.c"
    },
    {
      "type": "modify",
      "old_id": "cb0fdf799f40d8f64660ce37ea6dc95ffdef3479",
      "old_mode": 33188,
      "old_path": "net/socket.c",
      "new_id": "b332d1e8e4e4f6e9ec3517062d0ed3879f6e29d0",
      "new_mode": 33188,
      "new_path": "net/socket.c"
    }
  ]
}
