)]}'
{
  "commit": "f60e5990d9c1424af9dbca60a23ba2a1c7c1ce90",
  "tree": "bba5ed057073e42c0113473e1cdbff0bc46ab875",
  "parents": [
    "576b7cd2f6ff1e90b3fc0a000d2fe74f8a50a4bb"
  ],
  "author": {
    "name": "hannes@stressinduktion.org",
    "email": "hannes@stressinduktion.org",
    "time": "Wed Apr 01 17:07:44 2015 +0200"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Mon Apr 06 16:12:49 2015 -0400"
  },
  "message": "ipv6: protect skb-\u003esk accesses from recursive dereference inside the stack\n\nWe should not consult skb-\u003esk for output decisions in xmit recursion\nlevels \u003e 0 in the stack. Otherwise local socket settings could influence\nthe result of e.g. tunnel encapsulation process.\n\nipv6 does not conform with this in three places:\n\n1) ip6_fragment: we do consult ipv6_npinfo for frag_size\n\n2) sk_mc_loop in ipv6 uses skb-\u003esk and checks if we should\n   loop the packet back to the local socket\n\n3) ip6_skb_dst_mtu could query the settings from the user socket and\n   force a wrong MTU\n\nFurthermore:\nIn sk_mc_loop we could potentially land in WARN_ON(1) if we use a\nPF_PACKET socket ontop of an IPv6-backed vxlan device.\n\nReuse xmit_recursion as we are currently only interested in protecting\ntunnel devices.\n\nCc: Jiri Pirko \u003cjiri@resnulli.us\u003e\nSigned-off-by: Hannes Frederic Sowa \u003channes@stressinduktion.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dcf6ec27739b1d8bfb98c82e8902ca0b697df5f8",
      "old_mode": 33188,
      "old_path": "include/linux/netdevice.h",
      "new_id": "278738873703c119dfa322c13b2755e2176a61f5",
      "new_mode": 33188,
      "new_path": "include/linux/netdevice.h"
    },
    {
      "type": "modify",
      "old_id": "025c61c0dffbfe9ddfcc2cd6f9eb38b2af504d3f",
      "old_mode": 33188,
      "old_path": "include/net/ip.h",
      "new_id": "6cc1eafb153a75c4665f375836f5592c282f9a8f",
      "new_mode": 33188,
      "new_path": "include/net/ip.h"
    },
    {
      "type": "modify",
      "old_id": "1d09b46c1e489325b95f9987327d95ca8affed08",
      "old_mode": 33188,
      "old_path": "include/net/ip6_route.h",
      "new_id": "eda131d179d971147f5b7ac254876dbf07946861",
      "new_mode": 33188,
      "new_path": "include/net/ip6_route.h"
    },
    {
      "type": "modify",
      "old_id": "ab186b1d31fffe7cc5b4888d85aca99c2d875da4",
      "old_mode": 33188,
      "old_path": "include/net/sock.h",
      "new_id": "e4079c28e6b8588da92a8826d63e07195859a33b",
      "new_mode": 33188,
      "new_path": "include/net/sock.h"
    },
    {
      "type": "modify",
      "old_id": "962ee9d719641291853715f366717bf1626e115c",
      "old_mode": 33188,
      "old_path": "net/core/dev.c",
      "new_id": "45109b70664e8abb1b7957aabd619c4e0d711db4",
      "new_mode": 33188,
      "new_path": "net/core/dev.c"
    },
    {
      "type": "modify",
      "old_id": "78e89eb7eb705624d3ff63324f5002ae10b51145",
      "old_mode": 33188,
      "old_path": "net/core/sock.c",
      "new_id": "71e3e5f1eaa04816b8bdd1d34b4fd575f19793b9",
      "new_mode": 33188,
      "new_path": "net/core/sock.c"
    },
    {
      "type": "modify",
      "old_id": "7e80b61b51ff474db6c188218b70f12709209256",
      "old_mode": 33188,
      "old_path": "net/ipv6/ip6_output.c",
      "new_id": "36cf0ab685a00d57fbdc6787ba77116dae638f21",
      "new_mode": 33188,
      "new_path": "net/ipv6/ip6_output.c"
    }
  ]
}
