)]}'
{
  "commit": "86357b19bcabd9355937f3fb84f90ba9fe76a5d3",
  "tree": "ec9dfe857ce9d5c807b7cce4cd0c831c8e1fcdee",
  "parents": [
    "244546f0d3101c5441f5b14cfe8a79d62679eaea"
  ],
  "author": {
    "name": "Andy Grover",
    "email": "andy.grover@oracle.com",
    "time": "Fri Oct 30 08:51:54 2009 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Fri Oct 30 15:06:38 2009 -0700"
  },
  "message": "RDS: Fix potential race around rds_i[bw]_allocation\n\n\"At rds_ib_recv_refill_one(), it first executes atomic_read(\u0026rds_ib_allocation)\nfor if-condition checking,\n\nand then executes atomic_inc(\u0026rds_ib_allocation) if the condition was\nnot satisfied.\n\nHowever, if any other code which updates rds_ib_allocation executes\nbetween these two atomic operation executions,\nit seems that it may result race condition. (especially when\nrds_ib_allocation + 1 \u003d\u003d rds_ib_sysctl_max_recv_allocation)\"\n\nThis patch fixes this by using atomic_inc_unless to eliminate the\npossibility of allocating more than rds_ib_sysctl_max_recv_allocation\nand then decrementing the count if the allocation fails. It also\nmakes an identical change to the iwarp transport.\n\nReported-by: Shin Hong \u003chongshin@gmail.com\u003e\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cd7a6cfcab03b4aa25bd335d6622aef881d6dc6d",
      "old_mode": 33188,
      "old_path": "net/rds/ib_recv.c",
      "new_id": "2f009d391c293c4ae59fcf44bf6bbe8476b1e43d",
      "new_mode": 33188,
      "new_path": "net/rds/ib_recv.c"
    },
    {
      "type": "modify",
      "old_id": "8683f5f66c4b2931583b84e1f40daeeecaf2e64b",
      "old_mode": 33188,
      "old_path": "net/rds/iw_recv.c",
      "new_id": "9f98150af19f52435281190606439e196bbef13e",
      "new_mode": 33188,
      "new_path": "net/rds/iw_recv.c"
    }
  ]
}
