)]}'
{
  "commit": "1ea472e2dedcf23d5f31c63fc790cccfab93c0de",
  "tree": "1886e87c59bc3efe9edee6f2473d5a2ad5b22e9e",
  "parents": [
    "9de6d99a7559d20f7ababd1cacdc61ee5315f3c1"
  ],
  "author": {
    "name": "Benjamin Thery",
    "email": "benjamin.thery@bull.net",
    "time": "Wed Dec 03 22:21:47 2008 -0800"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Wed Dec 03 22:21:47 2008 -0800"
  },
  "message": "net: fix /proc/net/ip_mr_cache display - V2\n\n/proc/net/ip_mr_cache and /proc/net/ip6_mr_cache displays garbage when\nshowing unresolved mfc_cache entries.\n\n[root@qemu tests]# cat /proc/net/ip_mr_cache\nGroup    Origin   Iif     Pkts    Bytes    Wrong Oifs\n014C00EF 010014AC 1         10    10050        0  2:1    3:1\n024C00EF 010014AC 65535      514        2 -559067475\n\nThe first line is correct. It is a resolved cache entry, 10 packets used it...\nThe second line represents an unresolved entry, and the columns Pkts(4th),\nBytes(5th) and Wrong(6th) just show garbage.\n\nIn struct mfc_cache, there\u0027s an union to store data for resolved and\nunresolved cases. And what ipmr_mfc_seq_show() is printing in these \ncolumns for the unresolved entries is some bytes from mfc_cache.mfc_un.res.\nBad.\n(eg. In our case -559067475 is in fact 0xdead4ead which is the spinlock\nmagic from mfc_cache.mfc_un.unres.unresolved.lock.magic).\n\nThis patch replaces the garbage data written in these columns for the\nunresolved entries by \u00270\u0027 (zeros) which is more correct.\nThis change doesn\u0027t break the ABI.\n\nAlso, mfc-\u003emfc_un.res.pkt, mfc-\u003emfc_un.res.bytes, mfc-\u003emfc_un.res.wrong_if\nare unsigned long.\n\nIt applies on top of net-next-2.6.\n\nThe patch for net-2.6 is slightly different because of the NIP6_FMT to\n%pI6 conversion that was made in the seq_printf.\n\nChangelog:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nV2:\n* Instead of breaking the ABI by suppressing the columns that have no\n  meaning for unresolved entries, fill them with 0 values.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "77fc4d3fdf6129aa90ddf794c8fffa32ed56b548",
      "old_mode": 33188,
      "old_path": "net/ipv4/ipmr.c",
      "new_id": "cb3a57d46af64f2cb60496a994def922a4cd9565",
      "new_mode": 33188,
      "new_path": "net/ipv4/ipmr.c"
    },
    {
      "type": "modify",
      "old_id": "dfba9fd0c248842a2b023c415e88e2c068fb32d0",
      "old_mode": 33188,
      "old_path": "net/ipv6/ip6mr.c",
      "new_id": "2dc4b0190878068bbf8658b7c227f2ef7aea09f4",
      "new_mode": 33188,
      "new_path": "net/ipv6/ip6mr.c"
    }
  ]
}
