)]}'
{
  "commit": "013d97e9da1877f1334aa8ff3a19921ebbfe99b5",
  "tree": "ed05c2420ea75eb036507d556d46d713ebe3bd9a",
  "parents": [
    "35d87e3325e91ec6bc446bf71f50eccc9a7b3b8f"
  ],
  "author": {
    "name": "Francesco Ruggeri",
    "email": "fruggeri@aristanetworks.com",
    "time": "Mon Jan 16 10:40:10 2012 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Wed Jan 18 16:38:34 2012 -0500"
  },
  "message": "net: race condition in ipv6 forwarding and disable_ipv6 parameters\n\nThere is a race condition in addrconf_sysctl_forward() and\naddrconf_sysctl_disable().\nThese functions change idev-\u003ecnf.forwarding (resp. idev-\u003ecnf.disable_ipv6)\nand then try to grab the rtnl lock before performing any actions.\nIf that fails they restore the original value and restart the syscall.\nThis creates race conditions if ipv6 code tries to access\nthese parameters, or if multiple instances try to do the same operation.\nAs an example of the former, if __ipv6_ifa_notify() finds a 0 in\nidev-\u003ecnf.forwarding when invoked by addrconf_ifdown() it may not free\nanycast addresses, ultimately resulting in the net_device not being freed.\nThis patch reads the user parameters into a temporary location and only\nwrites the actual parameters when the rtnl lock is acquired.\nTested in 2.6.38.8.\nSigned-off-by: Francesco Ruggeri \u003cfruggeri@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a225d5ee3c2fc877f25e7af417c58de124fe8cb9",
      "old_mode": 33188,
      "old_path": "net/ipv6/addrconf.c",
      "new_id": "c02280a4d126980540daac44a8b541b92c0b16f0",
      "new_mode": 33188,
      "new_path": "net/ipv6/addrconf.c"
    }
  ]
}
