)]}'
{
  "commit": "93b174ad71b08e504c2cf6e8a58ecce778b77a40",
  "tree": "f9e7fd386880ae14d4625de9801a57c5bf5fa105",
  "parents": [
    "1afa471706963643ceeda7cbbe9c605a1e883d53"
  ],
  "author": {
    "name": "Yuchung Cheng",
    "email": "ycheng@google.com",
    "time": "Thu Dec 06 08:45:32 2012 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Fri Dec 07 14:39:28 2012 -0500"
  },
  "message": "tcp: bug fix Fast Open client retransmission\n\nIf SYN-ACK partially acks SYN-data, the client retransmits the\nremaining data by tcp_retransmit_skb(). This increments lost recovery\nstate variables like tp-\u003eretrans_out in Open state. If loss recovery\nhappens before the retransmission is acked, it triggers the WARN_ON\ncheck in tcp_fastretrans_alert(). For example: the client sends\nSYN-data, gets SYN-ACK acking only ISN, retransmits data, sends\nanother 4 data packets and get 3 dupacks.\n\nSince the retransmission is not caused by network drop it should not\nupdate the recovery state variables. Further the server may return a\nsmaller MSS than the cached MSS used for SYN-data, so the retranmission\nneeds a loop. Otherwise some data will not be retransmitted until timeout\nor other loss recovery events.\n\nSigned-off-by: Yuchung Cheng \u003cycheng@google.com\u003e\nAcked-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6feeccd83dd7557abd30e32c0547f483b79bd238",
      "old_mode": 33188,
      "old_path": "include/net/tcp.h",
      "new_id": "4af45e33105db2ee37b8ca66d6ec4122aa487456",
      "new_mode": 33188,
      "new_path": "include/net/tcp.h"
    },
    {
      "type": "modify",
      "old_id": "609ff98aeb47ce99500614ff4a8a9cfe3a290d28",
      "old_mode": 33188,
      "old_path": "net/ipv4/tcp_input.c",
      "new_id": "181fc8234a529d5b6663f683e0da19e5ab17c1e8",
      "new_mode": 33188,
      "new_path": "net/ipv4/tcp_input.c"
    },
    {
      "type": "modify",
      "old_id": "2798706cb06385aa87fdb05ba1ed2c6a0a14e6e5",
      "old_mode": 33188,
      "old_path": "net/ipv4/tcp_output.c",
      "new_id": "948ac275b9b52ed10c1adaa9f931760a0903c788",
      "new_mode": 33188,
      "new_path": "net/ipv4/tcp_output.c"
    }
  ]
}
