)]}'
{
  "commit": "e97288386a316e3960b758a60ae7cd17b3ee10e7",
  "tree": "5a40713cc8ceec43a9ed0d2f02373a1e5a2d648f",
  "parents": [
    "2cce8263228ac8926d675cfa19e50ca0af9e05e4"
  ],
  "author": {
    "name": "Ralf Baechle",
    "email": "ralf@linux-mips.org",
    "time": "Tue Sep 20 10:56:26 2005 +0000"
  },
  "committer": {
    "name": "Ralf Baechle",
    "email": "ralf@linux-mips.org",
    "time": "Sat Oct 29 19:32:25 2005 +0100"
  },
  "message": "The type of sum in csum_tcpudp_nofold is \"unsigned int\", so when we assign\nto it in an asm() block, and we\u0027re running on a system with 64-bit\nregisters, it is vitally important that we sign extend it correctly before\nreturning to C.  Otherwise the stray high bits will be preserved into\ncsum_fold, and on the SB-1 processor, 32-bit arithmetic on a non\nsign-extended register will yield surprising results.\n    \nThis caused incorrect checksums in some UDP packets for NFS root.  The\nproblem was mild when using a 10.0.1.x IP address, but severe when\nusing 192.168.1.x.\n    \nSigned-off-by: Daniel Jacobowitz \u003cdan@codesourcery.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2ff53db8c0239e5ba76d6c1b89e9c9df9bf5e329",
      "old_mode": 33188,
      "old_path": "include/asm-mips/checksum.h",
      "new_id": "b09f8971e95d7fd1ba8ebb1f7ae1a9b758eec826",
      "new_mode": 33188,
      "new_path": "include/asm-mips/checksum.h"
    }
  ]
}
