)]}'
{
  "commit": "7708bfb1c855f2a076ef71cc21647deea022ebe7",
  "tree": "9e4ba2b0074217b30a684eb9e77f6619434f4577",
  "parents": [
    "1a46674b996bf9a15f0333178f5829ca2d7c32e2"
  ],
  "author": {
    "name": "Pavel Emelyanov",
    "email": "xemul@openvz.org",
    "time": "Tue Apr 29 01:02:40 2008 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue Apr 29 08:06:23 2008 -0700"
  },
  "message": "sysctl: merge equal proc_sys_read and proc_sys_write\n\nMany (most of) sysctls do not have a per-container sense.  E.g.\nkernel.print_fatal_signals, vm.panic_on_oom, net.core.netdev_budget and so on\nand so forth.  Besides, tuning then from inside a container is not even\nsecure.  On the other hand, hiding them completely from the container\u0027s tasks\nsometimes causes user-space to stop working.\n\nWhen developing net sysctl, the common practice was to duplicate a table and\ndrop the write bits in table-\u003emode, but this approach was not very elegant,\nlead to excessive memory consumption and was not suitable in general.\n\nHere\u0027s the alternative solution.  To facilitate the per-container sysctls\nctl_table_root-s were introduced.  Each root contains a list of\nctl_table_header-s that are visible to different namespaces.  The idea of this\nset is to add the permissions() callback on the ctl_table_root to allow ctl\nroot limit permissions to the same ctl_table-s.\n\nThe main user of this functionality is the net-namespaces code, but later this\nwill (should) be used by more and more namespaces, containers and control\ngroups.\n\nActually, this idea\u0027s core is in a single hunk in the third patch.  First two\npatches are cleanups for sysctl code, while the third one mostly extends the\narguments set of some sysctl functions.\n\nThis patch:\n\nThese -\u003eread and -\u003ewrite callbacks act in a very similar way, so merge these\npaths to reduce the number of places to patch later and shrink the .text size\n(a bit).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "614c34b6d1c22214ffcdeb46a5f9e9eb63d69678",
      "old_mode": 33188,
      "old_path": "fs/proc/proc_sysctl.c",
      "new_id": "5e31585292a0e3f9be9a6f1b4703ef66fb6c9062",
      "new_mode": 33188,
      "new_path": "fs/proc/proc_sysctl.c"
    }
  ]
}
