)]}'
{
  "log": [
    {
      "commit": "3925e6fc1f774048404fdd910b0345b06c699eb4",
      "tree": "c9a58417d9492f39f7fe81d4721d674c34dd8be2",
      "parents": [
        "334d094504c2fe1c44211ecb49146ae6bca8c321",
        "7cea51be4e91edad05bd834f3235b45c57783f0d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:18:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:18:30 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  security: fix up documentation for security_module_enable\n  Security: Introduce security\u003d boot parameter\n  Audit: Final renamings and cleanup\n  SELinux: use new audit hooks, remove redundant exports\n  Audit: internally use the new LSM audit hooks\n  LSM/Audit: Introduce generic Audit LSM hooks\n  SELinux: remove redundant exports\n  Netlink: Use generic LSM hook\n  Audit: use new LSM hooks instead of SELinux exports\n  SELinux: setup new inode/ipc getsecid hooks\n  LSM: Introduce inode_getsecid and ipc_getsecid hooks\n"
    },
    {
      "commit": "0ce784ca729dce8c9076a6339a15530ca13212f2",
      "tree": "37efdaaa08c1a5cec7ff91be2287358f5ca79ede",
      "parents": [
        "2a862b32f3da5a2120043921ad301322ad526084"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 21:56:22 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:35 2008 +1000"
      },
      "message": "Netlink: Use generic LSM hook\n\nDon\u0027t use SELinux exported selinux_get_task_sid symbol.\nUse the generic LSM equivalent instead.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\n"
    },
    {
      "commit": "878628fbf2589eb24357e42027d5f54b1dafd3c8",
      "tree": "30c109d8f337b3910e3b5364877c3c521dd700b5",
      "parents": [
        "57da52c1e62c6c13875e97de6c69d3156f8416da"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 03:57:35 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:40:00 2008 +0900"
      },
      "message": "[NET] NETNS: Omit namespace comparision without CONFIG_NET_NS.\n\nIntroduce an inline net_eq() to compare two namespaces.\nWithout CONFIG_NET_NS, since no namespace other than \u0026init_net\nexists, it is always 1.\n\nWe do not need to convert 1) inline vs inline and\n2) inline vs \u0026init_net comparisons.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "1218854afa6f659be90b748cf1bc7badee954a35",
      "tree": "78b83e3941fa7e5a03c04e2e4f6ddb1a08ea38a0",
      "parents": [
        "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:36:06 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:56 2008 +0900"
      },
      "message": "[NET] NETNS: Omit seq_net_private-\u003enet without CONFIG_NET_NS.\n\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists,\nno need to store net in seq_net_private.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9",
      "tree": "09edb35f32ebcfb1b4dad904425128a110ef16ee",
      "parents": [
        "c346dca10840a874240c78efe3f39acf4312a1f2"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:26:21 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:55 2008 +0900"
      },
      "message": "[NET] NETNS: Omit sock-\u003esk_net without CONFIG_NET_NS.\n\nIntroduce per-sock inlines: sock_net(), sock_net_set()\nand per-inet_timewait_sock inlines: twsk_net(), twsk_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "b1153f29ee07dc1a788964409255a4b4fae50b98",
      "tree": "3e9c09804e805da77d225a8508c28e064a310c45",
      "parents": [
        "6f8b13bcb3369a5df2e63acc422bed6098f5b8c4"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Mar 21 15:46:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 21 15:46:12 2008 -0700"
      },
      "message": "netlink: make socket filters work on netlink\n\nMake socket filters work for netlink unicast and notifications.\nThis is useful for applications like Zebra that get overrun with\nmessages that are then ignored.\n\nNote: netlink messages are in host byte order, but packet filter\nstate machine operations are done as network byte order.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "edf0208702007ec1f6a36756fdd005f771a4cf17",
      "tree": "f323141ddde44db532d984ea7bf769a05220aa0c",
      "parents": [
        "9dfbec1fb2bedff6b118504055cd9f0485edba45"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:18:32 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:18:32 2008 -0800"
      },
      "message": "[NET]: Make netlink_kernel_release publically available as sk_release_kernel.\n\nThis staff will be needed for non-netlink kernel sockets, which should\nalso not pin a namespace like tcp_socket and icmp_socket.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9dfbec1fb2bedff6b118504055cd9f0485edba45",
      "tree": "1aea75182391bb8fc8d46e268897ae683ef49056",
      "parents": [
        "79c911595390c8fdc8d8a487ac1951d854b1cd09"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:17:56 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:17:56 2008 -0800"
      },
      "message": "[NETLINK]: No need for a separate __netlink_release call.\n\nMerge it to netlink_kernel_release.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "910d6c320cac65c81d66e8fd30dca167092722eb",
      "tree": "8c15459ad21e293081636c535945682a079d51cf",
      "parents": [
        "4c3a0a254e5d706d3fe01bf42261534858d05586"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Feb 12 22:16:33 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 12 22:16:33 2008 -0800"
      },
      "message": "[GENETLINK]: Relax dances with genl_lock.\n\nThe genl_unregister_family() calls the genl_unregister_mc_groups(), \nwhich takes and releases the genl_lock and then locks and releases\nthis lock itself.\n\nRelax this behavior, all the more so the genl_unregister_mc_groups() \nis called from genl_unregister_family() only.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c11b9428f619ab377c92eff2f160a834a6585dd",
      "tree": "35b573715ad5730a77d067486838345132771a7a",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 10 04:20:52 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:04:59 2008 -0500"
      },
      "message": "[PATCH] switch audit_get_loginuid() to task_struct *\n\nall callers pass something-\u003eaudit_context\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "23fe18669e7fdaf5b229747858d943a723124e2e",
      "tree": "1610562f5a80cb8c97102acafa16443de0e659f7",
      "parents": [
        "533cb5b0a63f28ecab5503cfceb77e641fa7f7c4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jan 30 19:31:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:22 2008 -0800"
      },
      "message": "[NETNS]: Fix race between put_net() and netlink_kernel_create().\n\nThe comment about \"race free view of the set of network\nnamespaces\" was a bit hasty. Look (there even can be only\none CPU, as discovered by Alexey Dobriyan and Denis Lunev):\n\nput_net()\n  if (atomic_dec_and_test(\u0026net-\u003erefcnt))\n    /* true */\n      __put_net(net);\n        queue_work(...);\n\n/*\n * note: the net now has refcnt 0, but still in\n * the global list of net namespaces\n */\n\n\u003d\u003d re-schedule \u003d\u003d\n\nregister_pernet_subsys(\u0026some_ops);\n  register_pernet_operations(\u0026some_ops);\n    (*some_ops)-\u003einit(net);\n      /*\n       * we call netlink_kernel_create() here\n       * in some places\n       */\n      netlink_kernel_create();\n         sk_alloc();\n            get_net(net); /* refcnt \u003d 1 */\n         /*\n          * now we drop the net refcount not to\n          * block the net namespace exit in the\n          * future (or this can be done on the\n          * error path)\n          */\n         put_net(sk-\u003esk_net);\n             if (atomic_dec_and_test(\u0026...))\n                   /*\n                    * true. BOOOM! The net is\n                    * scheduled for release twice\n                    */\n\nWhen thinking on this problem, I decided, that getting and\nputting the net in init callback is wrong. If some init\ncallback needs to have a refcount-less reference on the struct\nnet, _it_ has to be careful himself, rather than relying on\nthe infrastructure to handle this correctly.\n\nIn case of netlink_kernel_create(), the problem is that the\nsk_alloc() gets the given namespace, but passing the info\nthat we don\u0027t want to get it inside this call is too heavy.\n\nInstead, I propose to crate the socket inside an init_net\nnamespace and then re-attach it to the desired one right\nafter the socket is created.\n\nAfter doing this, we also have to be careful on error paths\nnot to drop the reference on the namespace, we didn\u0027t get\nthe one on.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Denis Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "01480e1cf5e2118eba8a8968239f3242072f9563",
      "tree": "c967ad4acfeb3929ff191457a45fdb47eaf94bdb",
      "parents": [
        "2eb9d75c723252c1fa8f0206e6a0df220e3c64c0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jan 22 22:10:59 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:09 2008 -0800"
      },
      "message": "[NETLINK]: Add nla_append()\n\nUsed to append data to a message without a header or padding.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "775516bfa2bd7993620c9039191a0c30b8d8a496",
      "tree": "7385f35edda9f4124b802ccf337c55070d2e00bc",
      "parents": [
        "b7c6ba6eb1234e35a74fb8ba8123232a7b1ba9e4"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Jan 18 23:55:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:08:08 2008 -0800"
      },
      "message": "[NETNS]: Namespace stop vs \u0027ip r l\u0027 race.\n\nDuring network namespace stop process kernel side netlink sockets\nbelonging to a namespace should be closed. They should not prevent\nnamespace to stop, so they do not increment namespace usage\ncounter. Though this counter will be put during last sock_put.\n\nThe raplacement of the correct netns for init_ns solves the problem\nonly partial as socket to be stoped until proper stop is a valid\nnetlink kernel socket and can be looked up by the user processes. This\nis not a problem until it resides in initial namespace (no processes\ninside this net), but this is not true for init_net.\n\nSo, hold the referrence for a socket, remove it from lookup tables and\nonly after that change namespace and perform a last put.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nTested-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7c6ba6eb1234e35a74fb8ba8123232a7b1ba9e4",
      "tree": "672c08c95229a6ac242ab12a5195dceddb0f3127",
      "parents": [
        "4f84d82f7a623f8641af2574425c329431ff158f"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 28 14:41:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:08:07 2008 -0800"
      },
      "message": "[NETNS]: Consolidate kernel netlink socket destruction.\n\nCreate a specific helper for netlink kernel socket disposal. This just\nlet the code look better and provides a ground for proper disposal\ninside a namespace.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nTested-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "869e58f87094b1e8a0df49232e4a5172678d46c9",
      "tree": "9ac2dc45be284ac66099e3e71b16a03fb5c21b8d",
      "parents": [
        "7d460db953d6d205e4c8ecc2017aea1ec22b6c9a"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Jan 18 23:53:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:08:05 2008 -0800"
      },
      "message": "[NETNS]: Double free in netlink_release.\n\nNetlink protocol table is global for all namespaces. Some netlink\nprotocols have been virtualized, i.e. they have per/namespace netlink\nsocket. This difference can easily lead to double free if more than 1\nnamespace is started. Count the number of kernel netlink sockets to\ntrack that this table is not used any more.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nTested-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f25252675770e08d97bc112e52208e8c70ce0e5",
      "tree": "4bb63ed9e34af592b1791ce6d70916e415baebbb",
      "parents": [
        "50eb431d6e98189eb40606fcd4d03ecd8e168afa"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Jan 12 03:21:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:50 2008 -0800"
      },
      "message": "[NETLINK] af_netlink: kill some bloat\n\nnet/netlink/af_netlink.c:\n  netlink_realloc_groups        |  -46\n  netlink_insert                |  -49\n  netlink_autobind              |  -94\n  netlink_clear_multicast_users |  -48\n  netlink_bind                  |  -55\n  netlink_setsockopt            |  -54\n  netlink_release               |  -86\n  netlink_kernel_create         |  -47\n  netlink_change_ngroups        |  -56\n 9 functions changed, 535 bytes removed, diff: -535\n\nnet/netlink/af_netlink.c:\n  netlink_table_ungrab |  +53\n 1 function changed, 53 bytes added, diff: +53\n\nnet/netlink/af_netlink.o:\n 10 functions changed, 53 bytes added, 535 bytes removed, diff: -482\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a429c4983deae020f1e757ecc8f547b6d4e2f2b",
      "tree": "172e27a5866e182b902cd77506df1755aafadb60",
      "parents": [
        "b950dfcf504842a0f2bb142a33ef938f1c00d300"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jan 01 21:58:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:31 2008 -0800"
      },
      "message": "[NET]: Add some acquires/releases sparse annotations.\n\nAdd __acquires() and __releases() annotations to suppress some sparse\nwarnings.\n\nexample of warnings :\n\nnet/ipv4/udp.c:1555:14: warning: context imbalance in \u0027udp_seq_start\u0027 - wrong\ncount at exit\nnet/ipv4/udp.c:1571:13: warning: context imbalance in \u0027udp_seq_stop\u0027 -\nunexpected unlock\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea72912c888661d1a847f1b1450643d4114097cf",
      "tree": "de938be7d4887f974f67b09fbae6942726839bb8",
      "parents": [
        "64b7d96167977850f4a24e52dd0a76b03c6542cf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Dec 11 02:09:47 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:06 2008 -0800"
      },
      "message": "[NETLINK]: kzalloc() conversion\n\nnl_pid_hash_alloc() is renamed to nl_pid_hash_zalloc().\nIt is now returning zeroed memory to its callers.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ac552fdc6e96bf2f39c18d6e66b8c8080bbb06e",
      "tree": "f727965dc562c96603dbd50c24f545277a038eb5",
      "parents": [
        "2fcb45b6b87914f072314e5b5d9c196f45984683"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Dec 04 00:19:38 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:50 2008 -0800"
      },
      "message": "[NETLINK]: af_netlink.c checkpatch cleanups\n\nFix large number of checkpatch errors.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e372c41401993b45c721c4d92730e7e0a79f7c1b",
      "tree": "8f062f506c0578fc83b7d05c8751a7ccac96e50e",
      "parents": [
        "097e66c578459f79e3a2128c54e9df5194e1419a"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Nov 19 22:31:54 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:28 2008 -0800"
      },
      "message": "[NET]: Consolidate net namespace related proc files creation.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "022cbae611a37eda80d498f8f379794c8ac3be47",
      "tree": "c6fe8fe45748127c916d32ec97601c435065d5cb",
      "parents": [
        "ed160e839d2e1118529e58b04d52dba703ca629c"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Nov 13 03:23:50 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 13 03:23:50 2007 -0800"
      },
      "message": "[NET]: Move unneeded data to initdata section.\n\nThis patch reverts Eric\u0027s commit 2b008b0a8e96b726c603c5e1a5a7a509b5f61e35\n\nIt diets .text \u0026 .data section of the kernel if CONFIG_NET_NS is not set.\nThis is safe after list operations cleanup.\n\nSigned-of-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3d8d1e30cace31fed6186a4b8c6b1401836d89c",
      "tree": "7122fccf27aa337438123071f3cb07999429de9e",
      "parents": [
        "230140cffa7feae90ad50bf259db1fa07674f3a7"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Nov 07 02:42:09 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:15:12 2007 -0800"
      },
      "message": "[NETLINK]: Fix unicast timeouts\n\nCommit ed6dcf4a in the history.git tree broke netlink_unicast timeouts\nby moving the schedule_timeout() call to a new function that doesn\u0027t\npropagate the remaining timeout back to the caller. This means on each\nretry we start with the full timeout again.\n\nipc/mqueue.c seems to actually want to wait indefinitely so this\nbehaviour is retained.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6257ff2177ff02d7f260a7a501876aa41cb9a9f6",
      "tree": "9d9f80ccf16f3d4ef062e896f62974c5496193ad",
      "parents": [
        "154adbc8469ff21fbf5c958446ee92dbaab01be1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "message": "[NET]: Forget the zero_it argument of sk_alloc()\n\nFinally, the zero_it argument can be completely removed from\nthe callers and from the function prototype.\n\nBesides, fix the checkpatch.pl warnings about using the\nassignments inside if-s.\n\nThis patch is rather big, and it is a part of the previous one.\nI splitted it wishing to make the patches more readable. Hope \nthis particular split helped.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b008b0a8e96b726c603c5e1a5a7a509b5f61e35",
      "tree": "80d71a763d3e8365805203cf22093783e64e1bbc",
      "parents": [
        "72998d8c84247817c4b8b05b0256f29453e435f5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Oct 26 22:54:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 26 22:54:53 2007 -0700"
      },
      "message": "[NET]: Marking struct pernet_operations __net_initdata was inappropriate\n\nIt is not safe to to place struct pernet_operations in a special section.\nWe need struct pernet_operations to last until we call unregister_pernet_subsys.\nWhich doesn\u0027t happen until module unload.\n\nSo marking struct pernet_operations is a disaster for modules in two ways.\n- We discard it before we call the exit method it points to.\n- Because I keep struct pernet_operations on a linked list discarding\n  it for compiled in code removes elements in the middle of a linked\n  list and does horrible things for linked insert.\n\nSo this looks safe assuming __exit_refok is not discarded\nfor modules.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c58298c2536252ab95aa2b1497ab47eb878ca5d",
      "tree": "c21815b2b3c16aaf7ebb5750fe4fe195f1d04e3c",
      "parents": [
        "be7f827360b5dfecd8f43adbd48f2c39556004c9"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Oct 23 20:29:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Oct 23 21:27:51 2007 -0700"
      },
      "message": "[NETLINK]: Fix ACK processing after netlink_dump_start\n\nRevert to original netlink behavior. Do not reply with ACK if the\nnetlink dump has bees successfully started.\n\nlibnl has been broken by the cd40b7d3983c708aabe3d3008ec64ffce56d33b0\nThe following command reproduce the problem:\n   /nl-route-get 192.168.1.1\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f937f1f46b6d2f9bef94e0d6b769a4c67615d34e",
      "tree": "4aadb89d07e7bb0789d5a754e65db686f339f07c",
      "parents": [
        "1dff92e09eb3adfcf3d3dffd0507b850f911f280"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Mon Oct 15 01:39:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:32 2007 -0700"
      },
      "message": "[NETLINK]: Don\u0027t leak \u0027listeners\u0027 in netlink_kernel_create()\n\nThe Coverity checker spotted that we\u0027ll leak the storage allocated\nto \u0027listeners\u0027 in netlink_kernel_create() when the\n  if (!nl_table[unit].registered)\ncheck is false.\n\nThis patch avoids the leak.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd40b7d3983c708aabe3d3008ec64ffce56d33b0",
      "tree": "0d6fe9cfd2f03fdeee126e317d4bfb145afc458d",
      "parents": [
        "aed815601f3f95281ab3a01f7e2cbe1bd54285a0"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 10 21:15:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:15:29 2007 -0700"
      },
      "message": "[NET]: make netlink user -\u003e kernel interface synchronious\n\nThis patch make processing netlink user -\u003e kernel messages synchronious.\nThis change was inspired by the talk with Alexey Kuznetsov about current\nnetlink messages processing. He says that he was badly wrong when introduced \nasynchronious user -\u003e kernel communication.\n\nThe call netlink_unicast is the only path to send message to the kernel\nnetlink socket. But, unfortunately, it is also used to send data to the\nuser.\n\nBefore this change the user message has been attached to the socket queue\nand sk-\u003esk_data_ready was called. The process has been blocked until all\npending messages were processed. The bad thing is that this processing\nmay occur in the arbitrary process context.\n\nThis patch changes nlk-\u003edata_ready callback to get 1 skb and force packet\nprocessing right in the netlink_unicast.\n\nKernel -\u003e user path in netlink_unicast remains untouched.\n\nEINTR processing for in netlink_run_queue was changed. It forces rtnl_lock\ndrop, but the process remains in the cycle until the message will be fully\nprocessed. So, there is no need to use this kludges now.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aed815601f3f95281ab3a01f7e2cbe1bd54285a0",
      "tree": "9aa4d01bcb33ca319a5d13db1bf1e5c4549d64cc",
      "parents": [
        "7ee015e0fa3c856416e9477aac4b850ec6f09017"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 10 21:14:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:14:32 2007 -0700"
      },
      "message": "[NET]: unify netlink kernel socket recognition\n\nThere are currently two ways to determine whether the netlink socket is a\nkernel one or a user one. This patch creates a single inline call for\nthis purpose and unifies all the calls in the af_netlink.c\n\nNo similar calls are found outside af_netlink.c.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ee015e0fa3c856416e9477aac4b850ec6f09017",
      "tree": "b91741163f47515d00faba9d36d37fcf03ded29f",
      "parents": [
        "3b71535f357a2e5d013a44a06b0c26a6a8d8fb5b"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 10 21:14:03 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:14:03 2007 -0700"
      },
      "message": "[NET]: cleanup 3rd argument in netlink_sendskb\n\nnetlink_sendskb does not use third argument. Clean it and save a couple of\nbytes.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b71535f357a2e5d013a44a06b0c26a6a8d8fb5b",
      "tree": "259158a50b97626063a4c779e8cb2ed81c911555",
      "parents": [
        "1536cc0d55a2820b71daf912060fe43ec15630c2"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 10 21:13:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:13:32 2007 -0700"
      },
      "message": "[NET]: Make netlink processing routines semi-synchronious (inspired by rtnl) v2\n\nThe code in netfilter/nfnetlink.c and in ./net/netlink/genetlink.c looks\nlike outdated copy/paste from rtnetlink.c. Push them into sync with the\noriginal.\n\nChanges from v1:\n- deleted comment in nfnetlink_rcv_msg by request of Patrick McHardy\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf7732e4cc14b56d593ff53352673e1fd5e3ba52",
      "tree": "3479e278b72f9d535a58066bc2a26238806252ce",
      "parents": [
        "39699037a5c94d7cd1363dfe48a50c78c643fd9a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 10 02:29:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:33 2007 -0700"
      },
      "message": "[NET]: Make core networking code use seq_open_private\n\nThis concerns the ipv4 and ipv6 code mostly, but also the netlink\nand unix sockets.\n\nThe netlink code is an example of how to use the __seq_open_private()\ncall - it saves the net namespace on this private.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4665079cbb2a3e17de82f2ab2940b9f97f37d65e",
      "tree": "8e51e9b9e6155eaeccf28783620a07b20a067d8d",
      "parents": [
        "d62a38d1ab350f787e4941e42a3d3e97971e38f5"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 08 20:38:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:58 2007 -0700"
      },
      "message": "[NETNS]: Move some code into __init section when CONFIG_NET_NS\u003dn\n\nWith the net namespaces many code leaved the __init section,\nthus making the kernel occupy more memory than it did before.\nSince we have a config option that prohibits the namespace\ncreation, the functions that initialize/finalize some netns\nstuff are simply not needed and can be freed after the boot.\n\nCurrently, this is almost not noticeable, since few calls\nare no longer in __init, but when the namespaces will be\nmerged it will be possible to free more code. I propose to\nuse the __net_init, __net_exit and __net_initdata \"attributes\"\nfor functions/variables that are not used if the CONFIG_NET_NS\nis not set to save more space in memory.\n\nThe exiting functions cannot just reside in the __exit section,\nas noticed by David, since the init section will have\nreferences on it and the compilation will fail due to modpost\nchecks. These references can exist, since the init namespace\nnever dies and the exit callbacks are never called. So I\nintroduce the __exit_refok attribute just like it is already\ndone with the __init_refok.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "26ff5ddc5ab11e37ab3db469f24324e0ef1d6f63",
      "tree": "c4f68c97ef2421dce8b0289ecd56b1d48b9dff15",
      "parents": [
        "99406c885ab27c369fa4a1b15c4a5a5ad0d61fcd"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Sun Sep 16 16:36:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:25 2007 -0700"
      },
      "message": "[NETLINK]: the temp variable name max is ambiguous\n\nwith the macro max provided by \u003clinux/kernel.h\u003e, so changed its name\nto a more proper one: limit\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "99406c885ab27c369fa4a1b15c4a5a5ad0d61fcd",
      "tree": "0ea0cc02e563297809fa393c5677ae0022efa877",
      "parents": [
        "52886051ffdc087a4f7f11540395fd64040101ad"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Sun Sep 16 16:34:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:25 2007 -0700"
      },
      "message": "[NETLINK]: use the macro min(x,y) provided by \u003clinux/kernel.h\u003e instead\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0cfad07555312468296ea3bbbcdf99038f58678b",
      "tree": "a95c432bcafaf22e965dcaf27bfd4a61723d1d64",
      "parents": [
        "007e3936bdaaa012483c9fe06ca71c272458c710"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Sep 16 16:24:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:24 2007 -0700"
      },
      "message": "[NETLINK]: Avoid pointer in netlink_run_queue\n\nI was looking at Patrick\u0027s fix to inet_diag and it occured\nto me that we\u0027re using a pointer argument to return values\nunnecessarily in netlink_run_queue.  Changing it to return\nthe value will allow the compiler to generate better code\nsince the value won\u0027t have to be memory-backed.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "077130c0cf7d5ba1992f5b51b96136d7b1c8aad5",
      "tree": "c8fd2622e7d633cc504c7543b55e25bd6d99a2fa",
      "parents": [
        "4fabcd7118162e36eea5c53e8895ecc13762bef3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Sep 13 09:18:57 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:22 2007 -0700"
      },
      "message": "[NET]: Fix race when opening a proc file while a network namespace is exiting.\n\nThe problem:  proc_net files remember which network namespace the are\nagainst but do not remember hold a reference count (as that would pin\nthe network namespace).   So we currently have a small window where\nthe reference count on a network namespace may be incremented when opening\na /proc file when it has already gone to zero.\n\nTo fix this introduce maybe_get_net and get_proc_net.\n\nmaybe_get_net increments the network namespace reference count only if it is\ngreater then zero, ensuring we don\u0027t increment a reference count after it\nhas gone to zero.\n\nget_proc_net handles all of the magic to go from a proc inode to the network\nnamespace instance and call maybe_get_net on it.\n\nPROC_NET the old accessor is removed so that we don\u0027t get confused and use\nthe wrong helper function.\n\nThen I fix up the callers to use get_proc_net and handle the case case\nwhere get_proc_net returns NULL.  In that case I return -ENXIO because\neffectively the network namespace has already gone away so the files\nwe are trying to access don\u0027t exist anymore.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f4c1f9b049df3be11090f1c2c4738700302acae",
      "tree": "51271d32096e4419173072d120176b4428e52a11",
      "parents": [
        "9d5010db7ecfd6ec00119d3b185c4c0cd3265167"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Sep 12 14:44:36 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:16 2007 -0700"
      },
      "message": "[NETLINK]: Introduce nested and byteorder flag to netlink attribute\n\nThis change allows the generic attribute interface to be used within\nthe netfilter subsystem where this flag was initially introduced.\n\nThe byte-order flag is yet unused, it\u0027s intended use is to\nallow automatic byte order convertions for all atomic types.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4b510290b056b86611757ce1175a230f1080f53",
      "tree": "7bd1d45855ac7457be6d50338c60751f19e436d9",
      "parents": [
        "e9dc86534051b78e41e5b746cccc291b57a3a311"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:05:38 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Support multiple network namespaces with netlink\n\nEach netlink socket will live in exactly one network namespace,\nthis includes the controlling kernel sockets.\n\nThis patch updates all of the existing netlink protocols\nto only support the initial network namespace.  Request\nby clients in other namespaces will get -ECONREFUSED.\nAs they would if the kernel did not have the support for\nthat netlink protocol compiled in.\n\nAs each netlink protocol is updated to be multiple network\nnamespace safe it can register multiple kernel sockets\nto acquire a presence in the rest of the network namespaces.\n\nThe implementation in af_netlink is a simple filter implementation\nat hash table insertion and hash table look up time.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b8d7ae42d02e483ad94035cca851e4f7fbecb40",
      "tree": "81f8cc0ee49ef99cc67dfed3dc7b7ecb510abf8b",
      "parents": [
        "457c4cbc5a3dde259d2a1f15d5f9785290397267"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 08 23:24:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:07 2007 -0700"
      },
      "message": "[NET]: Make socket creation namespace safe.\n\nThis patch passes in the namespace a new socket should be created in\nand has the socket code do the appropriate reference counting.  By\nvirtue of this all socket create methods are touched.  In addition\nthe socket create methods are modified so that they will fail if\nyou attempt to create a socket in a non-default network namespace.\n\nFailing if we attempt to create a socket outside of the default\nnetwork namespace ensures that as we incrementally make the network stack\nnetwork namespace aware we will not export functionality that someone\nhas not audited and made certain is network namespace safe.\nAllowing us to partially enable network namespaces before all of the\nexotic protocols are supported.\n\nAny protocol layers I have missed will fail to compile because I now\npass an extra parameter into the socket creation code.\n\n[ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ]\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "457c4cbc5a3dde259d2a1f15d5f9785290397267",
      "tree": "a2ceee88780cbce27433b9a4434b3e9251efd81a",
      "parents": [
        "07feaebfcc10cd35e745c7073667935246494bee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 12:01:34 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:06 2007 -0700"
      },
      "message": "[NET]: Make /proc/net per network namespace\n\nThis patch makes /proc/net per network namespace.  It modifies the global\nvariables proc_net and proc_net_stat to be per network namespace.\nThe proc_net file helpers are modified to take a network namespace argument,\nand all of their callers are fixed to pass \u0026init_net for that argument.\nThis ensures that all of the /proc/net files are only visible and\nusable in the initial network namespace until the code behind them\nhas been updated to be handle multiple network namespaces.\n\nMaking /proc/net per namespace is necessary as at least some files\nin /proc/net depend upon the set of network devices which is per\nnetwork namespace, and even more files in /proc/net have contents\nthat are relevant to a single network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32b21e034be9954eaae0278df20e0251eb958ded",
      "tree": "3a0e55f59fae96505b908b1e65a2df42e9377c41",
      "parents": [
        "f7944fb1913130ae7858008af96e52a3a6b04118"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Tue Aug 28 15:41:11 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:35 2007 -0700"
      },
      "message": "[NETLINK]: use container_of instead\n\nThis could make future redesign of struct netlink_sock easier.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79d310d01ec2a55e0ac1810aee56886ebee58c53",
      "tree": "80c4e2ab418c921bb7a492a8e6fd168825784722",
      "parents": [
        "2c04ddb707b4d50c314186249f466b6720ee4289"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jul 24 15:34:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 24 15:34:53 2007 -0700"
      },
      "message": "[GENETLINK]: Correctly report errors while registering a multicast group\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c04ddb707b4d50c314186249f466b6720ee4289",
      "tree": "49c4f918f41ff16442c20c4a165f41d836bcd8d5",
      "parents": [
        "79dc4386aec655ad829f320ab90888bacbc7037b"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jul 24 15:33:51 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 24 15:33:51 2007 -0700"
      },
      "message": "[GENETLINK]: Fix adjustment of number of multicast groups\n\nThe current calculation of the maximum number of genetlink\nmulticast groups seems odd, fix it.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79dc4386aec655ad829f320ab90888bacbc7037b",
      "tree": "82340d9c2be1c96e3e894a4fa29132e4234e74a1",
      "parents": [
        "85ccc365e91de9f0053c94de4cbc6ce97f8170e7"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jul 24 15:32:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 24 15:32:46 2007 -0700"
      },
      "message": "[GENETLINK]: Fix race in genl_unregister_mc_groups()\n\nfamily-\u003emcast_groups is protected by genl_lock so it must\nbe held while accessing the list in genl_unregister_mc_groups().\nRequires adding a non-locking variant of genl_unregister_mc_group().\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2dbba6f773d1e1e4c78f03b0dbf19790d9017693",
      "tree": "19535af46e79a0af756275f751d7b0080b72001d",
      "parents": [
        "84659eb529b33572bb3f8c94e0978bd5d084bc7e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 18 15:47:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 15:47:52 2007 -0700"
      },
      "message": "[GENETLINK]: Dynamic multicast groups.\n\nIntroduce API to dynamically register and unregister multicast groups.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84659eb529b33572bb3f8c94e0978bd5d084bc7e",
      "tree": "3eddcba4b7e4779a51480c3cc24384ff2046b287",
      "parents": [
        "b4ff4f0419ae5db83553fab79d03a89c10d540a8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 18 15:47:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 15:47:05 2007 -0700"
      },
      "message": "[NETLIKN]: Allow removing multicast groups.\n\nAllow kicking listeners out of a multicast group when necessary\n(for example if that group is going to be removed.)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4ff4f0419ae5db83553fab79d03a89c10d540a8",
      "tree": "17695af46692c31ec1f33ffb68bc686064227913",
      "parents": [
        "c81de6addb913423acef6e692fd70688180ab5dd"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 18 15:46:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 15:46:06 2007 -0700"
      },
      "message": "[NETLINK]: allocate group bitmaps dynamically\n\nAllow changing the number of groups for a netlink family\nafter it has been created, use RCU to protect the listeners\nbitmap keeping netlink_has_listeners() lock-free.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb4965344965530411359891214cd6fcab483649",
      "tree": "d6007042cd1ca2ac1f2378ea93ce3878bec89d0b",
      "parents": [
        "f77ae9390438409b535f3b1854672e54120cd38b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 18 02:07:51 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 02:07:51 2007 -0700"
      },
      "message": "[NETLINK]: negative groups in netlink_setsockopt\n\nReading netlink_setsockopt it\u0027s not immediately clear why there isn\u0027t a\nbug when you pass in negative numbers, the reason being that the \u003e\u003d\ncomparison is really unsigned although \u0027val\u0027 is signed because\nnlk-\u003engroups is unsigned. Make \u0027val\u0027 unsigned too.\n\n[ Update the get_user() cast to match.  --DaveM ]\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56b3d975bbce65f655c5612b4822da671f9fd9b2",
      "tree": "7e29d70405d9c8e28ddee3b03a07157477fc780f",
      "parents": [
        "3be550f34b03e5eb762f74d447ebbeba97efbd6d"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Tue Jul 10 23:07:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 10 23:07:31 2007 -0700"
      },
      "message": "[NET]: Make all initialized struct seq_operations const.\n\nMake all initialized struct seq_operations in net/ const\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1092cb219774a82b1f16781aec7b8d4ec727c981",
      "tree": "dddd1d559e08c07b41715d8cf2678ff7d45d5230",
      "parents": [
        "334a8132d9950f769f390f0f35c233d099688e7a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 25 13:49:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:38 2007 -0700"
      },
      "message": "[NETLINK]: attr: add nested compat attribute type\n\nAdd a nested compat attribute type that can be used to convert\nattributes that contain a structure to nested attributes in a\nbackwards compatible way.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef7c79ed645f52bcbdd88f8d54a9702c4d3fd15d",
      "tree": "4c27ec3362d958b99672366437d5eb6038dd561d",
      "parents": [
        "14a49e1fd2bb91ba2bf0e1f06711b6dbc21de02d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 05 12:38:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 07 13:40:10 2007 -0700"
      },
      "message": "[NETLINK]: Mark netlink policies const\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e71efcd6d659afb9d390eea69b558a7432ba23e",
      "tree": "92837dbdfc9802017297e6be84e79a3828221aea",
      "parents": [
        "db3459d1a71d885334831cdca6646a48f5ea0483"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri May 04 12:15:11 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 04 12:15:11 2007 -0700"
      },
      "message": "[NETLINK]: Remove bogus BUG_ON\n\nRemove bogus BUG_ON(mutex_is_locked(nlk_sk(sk)-\u003ecb_mutex)), when the\nnetlink_kernel_create caller specifies an external mutex it might\nvalidly be locked.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "188ccb5583b8f501e1d0f5ba4f056afa141694e7",
      "tree": "3df30fcc6e333048517e79a3ec3a49b98617f447",
      "parents": [
        "3f660d66dfbc13ea4b61d3865851b348444c24b4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu May 03 03:27:01 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:27:01 2007 -0700"
      },
      "message": "[NETLINK]: Fix use after free in netlink_recvmsg\n\nWhen the user passes in MSG_TRUNC the skb is used after getting freed.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f660d66dfbc13ea4b61d3865851b348444c24b4",
      "tree": "3e2e67f1589d3568423673651d682fd14322b93b",
      "parents": [
        "be52178b9f73969b583c6a781ca613f4e601221a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu May 03 03:17:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:17:14 2007 -0700"
      },
      "message": "[NETLINK]: Kill CB only when socket is unused\n\nSince we can still receive packets until all references to the\nsocket are gone, we don\u0027t need to kill the CB until that happens.\nThis also aligns ourselves with the receive queue purging which\nhappens at that point.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42bad1da506cafa7041a02ab84033a724afe88ac",
      "tree": "2850b3483c2fd05341c32663f4adb8f2ce7506da",
      "parents": [
        "55404bca6c45595fee1a546f1a0cc616aeef0b00"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Apr 26 00:57:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 26 00:57:41 2007 -0700"
      },
      "message": "[NETLINK]: Possible cleanups.\n\n- make the following needlessly global variables static:\n  - core/rtnetlink.c: struct rtnl_msg_handlers[]\n  - netfilter/nf_conntrack_proto.c: struct nf_ct_protos[]\n- make the following needlessly global functions static:\n  - core/rtnetlink.c: rtnl_dump_all()\n  - netlink/af_netlink.c: netlink_queue_skip()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ffa4d7216e848fbfdcb8e6f0bb66abeaa1888964",
      "tree": "a967ec65627e2f15c48cfddbd1b2283fd9ad260b",
      "parents": [
        "6313c1e0992feaee56bc09b85042b3186041fa3c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Apr 25 14:01:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:06 2007 -0700"
      },
      "message": "[NETLINK]: don\u0027t reinitialize callback mutex\n\nDon\u0027t reinitialize the callback mutex the netlink_kernel_create caller\nhanded in, it is supposed to already be initialized and could already\nbe held by someone.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af65bdfce98d7965fbe93a48b8128444a2eea024",
      "tree": "e6ac5ff82a0d5067213135cdf049b912b02e824d",
      "parents": [
        "b076deb8498e26c9aa2f44046fe5e9936ae2fb5a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Apr 20 14:14:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:03 2007 -0700"
      },
      "message": "[NETLINK]: Switch cb_lock spinlock to mutex and allow to override it\n\nSwitch cb_lock to mutex and allow netlink kernel users to override it\nwith a subsystem specific mutex for consistent locking in dump callbacks.\nAll netlink_dump_start users have been audited not to rely on any\nside-effects of the previously used spinlock.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d30045a0bcf144753869175dd9d840f7ceaf4aba",
      "tree": "a5f5b5f7073fbd733a7c5ac877161018f43cf1fc",
      "parents": [
        "703315712cfccfe0b45ef4aa6994527d8ee95e33"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Mar 23 11:37:48 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:05 2007 -0700"
      },
      "message": "[NETLINK]: introduce NLA_BINARY type\n\nThis patch introduces a new NLA_BINARY attribute policy type with the\nverification of simply checking the maximum length of the payload.\n\nIt also fixes a small typo in the example.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c702e8047fe74648f7852a9c1de781b0d5a98402",
      "tree": "24bd031d79f3d1159bc08704a51c84de01d712b0",
      "parents": [
        "ead592ba246dfcc643b3f0f0c8c03f7bc898a59f"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:30:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:33 2007 -0700"
      },
      "message": "[NETLINK]: Directly return -EINTR from netlink_dump_start()\n\nNow that all users of netlink_dump_start() use netlink_run_queue()\nto process the receive queue, it is possible to return -EINTR from\nnetlink_dump_start() directly, therefore simplying the callers.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d00a4eb42bdade33a6ec0961cada93577a66ae6",
      "tree": "a181b141818f594eb544601386bf09e45e6193bb",
      "parents": [
        "45e7ae7f716086994e4e747226881f901c67b031"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:30:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:30 2007 -0700"
      },
      "message": "[NETLINK]: Remove error pointer from netlink message handler\n\nThe error pointer argument in netlink message handlers is used\nto signal the special case where processing has to be interrupted\nbecause a dump was started but no error happened. Instead it is\nsimpler and more clear to return -EINTR and have netlink_run_queue()\ndeal with getting the queue right.\n\nnfnetlink passed on this error pointer to its subsystem handlers\nbut only uses it to signal the start of a netlink dump. Therefore\nit can be removed there as well.\n\nThis patch also cleans up the error handling in the affected\nmessage handlers to be consistent since it had to be touched anyway.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "45e7ae7f716086994e4e747226881f901c67b031",
      "tree": "8f61cb9e3f67ac433e915176c2bf233d8899691d",
      "parents": [
        "d35b685640aeb39eb4f5e98c75e8e001e406f9a3"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:29:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:29 2007 -0700"
      },
      "message": "[NETLINK]: Ignore control messages directly in netlink_run_queue()\n\nChanges netlink_rcv_skb() to skip netlink controll messages and don\u0027t\npass them on to the message handler.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d35b685640aeb39eb4f5e98c75e8e001e406f9a3",
      "tree": "c3ec38a2fb54a3783dd9c764bf58be68557f9396",
      "parents": [
        "33a0543cd9e090d2c6759e0ed85c3049c6efcc06"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:28:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:29 2007 -0700"
      },
      "message": "[NETLINK]: Ignore !NLM_F_REQUEST messages directly in netlink_run_queue()\n\nnetlink_rcv_skb() is changed to skip messages which don\u0027t have the\nNLM_F_REQUEST bit to avoid every netlink family having to perform this\ncheck on their own.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33a0543cd9e090d2c6759e0ed85c3049c6efcc06",
      "tree": "1dac1a5bd688dd169d08de399be38c03adf5d7ca",
      "parents": [
        "267281058c4cfd6a9a173aa957bffa58239f9656"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:27:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:27 2007 -0700"
      },
      "message": "[NETLINK]: Remove unused groups variable\n\nLeftover from dynamic multicast groups allocation work.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b529ccf2799c14346d1518e9bdf1f88f03643e99",
      "tree": "f899a5a5d66d2ca21724c1871ee3afeda6c4a670",
      "parents": [
        "965ffea43d4ebe8cd7b9fee78d651268dd7d23c5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 19:08:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:34 2007 -0700"
      },
      "message": "[NETLINK]: Introduce nlmsg_hdr() helper\n\nFor the common \"(struct nlmsghdr *)skb-\u003edata\" sequence, so that we reduce the\nnumber of direct accesses to skb-\u003edata and for consistency with all the other\ncast skb member helpers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4305b541357ddbd205aa145dc378926b7cb12283",
      "tree": "9b1f57ee4ee757a9324c48a7dea84bc8c279ad82",
      "parents": [
        "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:43:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:29 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003eend to sk_buff_data_t\n\nNow to convert the last one, skb-\u003edata, that will allow many simplifications\nand removal of some of the offset helpers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26",
      "tree": "5a267e40f9b94014be38dad5de0a52b6628834e0",
      "parents": [
        "be8bd86321fa7f06359d866ef61fb4d2f3e9dce9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:29:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003etail to sk_buff_data_t\n\nSo that it is also an offset from skb-\u003ehead, reduces its size from 8 to 4 bytes\non 64bit architectures, allowing us to combine the 4 bytes hole left by the\nlayer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4\n64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...\n:-)\n\nMany calculations that previously required that skb-\u003e{transport,network,\nmac}_header be first converted to a pointer now can be done directly, being\nmeaningful as offsets or pointers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "badff6d01a8589a1c828b0bf118903ca38627f4e",
      "tree": "89611d7058c612085c58dfb9913ee30ddf04b604",
      "parents": [
        "0660e03f6b18f19b6bbafe7583265a51b90daf36"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 13:06:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:15 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_transport_header(skb)\n\nFor the common, open coded \u0027skb-\u003eh.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003eh.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple cases:\n\nskb-\u003eh.raw \u003d skb-\u003edata;\nskb-\u003eh.raw \u003d {skb_push|[__]skb_pull}()\n\nThe next ones will handle the slightly more \"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb69cc52364690d7789940c480b3a9490784b680",
      "tree": "725cef0cfc7e43b0826490ccd99769baacf2977d",
      "parents": [
        "fe067e8ab5e0dc5ca3c54634924c628da92090b4"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Mar 07 19:33:52 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:03 2007 -0700"
      },
      "message": "[TCP/DCCP/RANDOM]: Remove unused exports.\n\nThis patch removes the following not or no longer used exports:\n- drivers/char/random.c: secure_tcp_sequence_number\n- net/dccp/options.c: sysctl_dccp_feat_sequence_window\n- net/netlink/af_netlink.c: netlink_set_err\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b558ff799977a4eda8b3823d1cf6c1c33becb671",
      "tree": "b68b90c1891120e2904fd5b68d9192ef6ae74d43",
      "parents": [
        "b7aa0bf70c4afb9e38be25f5c0922498d0f8684c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Mar 06 17:02:35 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:35 2007 -0700"
      },
      "message": "[NETLINK]: Mirror UDP MSG_TRUNC semantics.\n\nIf the user passes MSG_TRUNC in via msg_flags, return\nthe full packet size not the truncated size.\n\nIdea from Herbert Xu and Thomas Graf.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac57b3a9ce280763296f99e32187a0b4384d9389",
      "tree": "5aa81b60abfe3436a5d7d52a93a9c5cb9b9d71a5",
      "parents": [
        "bfb6709d0b239af5e3ce5859aae926e1b79ba84b"
      ],
      "author": {
        "name": "Denis Lunev",
        "email": "den@openvz.org",
        "time": "Wed Apr 18 17:05:58 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 18 17:05:58 2007 -0700"
      },
      "message": "[NETLINK]: Don\u0027t attach callback to a going-away netlink socket\n\nThere is a race between netlink_dump_start() and netlink_release()\nthat can lead to the situation when a netlink socket with non-zero\ncallback is freed.\n\nHere it is:\n\nCPU1:                           CPU2\nnetlink_release():              netlink_dump_start():\n\n                                sk \u003d netlink_lookup(); /* OK */\n\nnetlink_remove();\n\nspin_lock(\u0026nlk-\u003ecb_lock);\nif (nlk-\u003ecb) { /* false */\n  ...\n}\nspin_unlock(\u0026nlk-\u003ecb_lock);\n\n                                spin_lock(\u0026nlk-\u003ecb_lock);\n                                if (nlk-\u003ecb) { /* false */\n                                         ...\n                                }\n                                nlk-\u003ecb \u003d cb;\n                                spin_unlock(\u0026nlk-\u003ecb_lock);\n                                ...\nsock_orphan(sk);\n/*\n * proceed with releasing\n * the socket\n */\n\nThe proposal it to make sock_orphan before detaching the callback\nin netlink_release() and to check for the sock to be SOCK_DEAD in\nnetlink_dump_start() before setting a new callback.\n\nSigned-off-by: Denis Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da7071d7e32d15149cc513f096a3638097b66387",
      "tree": "f56fb200090ad55b2e2a72c379b1eeea29795670",
      "parents": [
        "9a32144e9d7b4e21341174b1a83b82a82353be86"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:36 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 8\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "746fac4dcd82864c6ecd85d3f09cc173db9b1870",
      "tree": "d87e5eb8802c16f3f06a73d0a84b183953883f9b",
      "parents": [
        "e1a95265b44ca31456adaacebebcde12714f0c03"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:25:07 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:19:58 2007 -0800"
      },
      "message": "[NET] NETLINK: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e7c001c6279f38b15fef5369496fe1043765727",
      "tree": "84be64d45878d3dfd5720eafc82f46f63fdded23",
      "parents": [
        "22e700502380b80cc81a44e219282762429ebe71"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "m.kozlowski@tuxland.pl",
        "time": "Tue Jan 02 15:24:30 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jan 03 18:38:15 2007 -0800"
      },
      "message": "[AF_NETLINK]: module_put cleanup\n\nThis patch removes redundant argument check for module_put().\n\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6db5fc5d536560e31978c6911b1f5662e42083ac",
      "tree": "0afa5e26a0daff7742becf5f7073b8dfac9aae41",
      "parents": [
        "6df81ab22700aadbbefaf0aa00bb9a18f9f54028"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:37:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:48 2006 -0800"
      },
      "message": "[PATCH] struct path: convert netlink\n\nSigned-off-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "48d4ed7a86d70a7e381cc8e48a97312182093ce2",
      "tree": "a23c8df3c67febebe23ab5b3c871b8e90ae22626",
      "parents": [
        "b9e3dd0ea167df1d7c118170551e08e8e28f27b6"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Wed Dec 06 20:06:25 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 06 20:06:25 2006 -0800"
      },
      "message": "[GENETLINK]: Fix misplaced command flags.\n\nThe command flags for dump and do were swapped..\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "334c29a64507dda187565dd0db0403de3d70ec8b",
      "tree": "a01eb4f714f598806e6362f6c291e5dc77e29463",
      "parents": [
        "620034c84d1d939717bdfbe02c51a3fee43541c3"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Mon Dec 04 19:31:51 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 06 18:38:41 2006 -0800"
      },
      "message": "[GENETLINK]: Move command capabilities to flags.\n\nThis patch moves command capabilities to command flags. Other than\nbeing cleaner, saves several bytes.\nWe increment the nlctrl version so as to signal to user space that\nto not expect the attributes. We will try to be careful\nnot to do this too often ;-\u003e\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4d1366d5080fcb4514db58c320b9f60d78918e6",
      "tree": "8358724419b81add4a32e70d9bdcc4676ccd531e",
      "parents": [
        "c40a27f48ceee648e9cfdda040b69e7010d9f82c"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Fri Dec 01 20:07:42 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:32:09 2006 -0800"
      },
      "message": "[GENETLINK]: Add cmd dump completion.\n\nRemove assumption that generic netlink commands cannot have dump\ncompletion callbacks.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e9b82693542003b028c8494e9e3c49615b91ce7",
      "tree": "955620d0b859b3e5817faafcbe7de6b355bb7d05",
      "parents": [
        "d61c167dd0797a16584f7a922dd5d50efad1d28a"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Mon Nov 27 09:25:58 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:43 2006 -0800"
      },
      "message": "[NETLINK]: Remove unused dst_pid field in netlink_skb_parms\n\nThe destination PID is passed directly to netlink_unicast()\nrespectively netlink_multicast().\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e94ef682053a6eeca91aefdaecf8efe7fd7e33a5",
      "tree": "a3b4796490471d313bab2af4510594a157a400a9",
      "parents": [
        "cdbc6dae5cc90d7d9e109e7d0568979d5355b653"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Nov 23 11:44:37 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:23 2006 -0800"
      },
      "message": "[GENETLINK] ctrl: Avoid empty CTRL_ATTR_OPS attribute when dumping\n\nBased on Jamal\u0027s patch but compiled and even tested. :-)\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17c157c889f4b07258af6bfec9e4e9dcf3c00178",
      "tree": "f17be049a40b5742ca7e67094d6a7063146568d5",
      "parents": [
        "81878d27fdd297a33f3cfcf29483fe1abaf26dec"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Nov 14 19:46:02 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:42 2006 -0800"
      },
      "message": "[GENL]: Add genlmsg_put_reply() to simplify building reply headers\n\nBy modyfing genlmsg_put() to take a genl_family and by adding\ngenlmsg_put_reply() the process of constructing the netlink\nand generic netlink headers is simplified.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nAcked-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "81878d27fdd297a33f3cfcf29483fe1abaf26dec",
      "tree": "4ce8183643abce3ec5fe5fdab0c9104204e88e6e",
      "parents": [
        "3dabc7157859e706770c825aa229f8943db4e0e1"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Nov 14 19:45:27 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:41 2006 -0800"
      },
      "message": "[GENL]: Add genlmsg_reply() to simply unicast replies to requests\n\nA generic netlink user has no interest in knowing how to\naddress the source of the original request.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nAcked-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "339bf98ffc6a8d8eb16fc532ac57ffbced2f8a68",
      "tree": "499ad948863d2753ca10283dcf006ad28954538e",
      "parents": [
        "a94f723d595ee085f81b1788d18e031af7eeba91"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Fri Nov 10 14:10:15 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:11 2006 -0800"
      },
      "message": "[NETLINK]: Do precise netlink message allocations where possible\n\nAccount for the netlink message header size directly in nlmsg_new()\ninstead of relying on the caller calculate it correctly.\n\nReplaces error handling of message construction functions when\nconstructing notifications with bug traps since a failure implies\na bug in calculating the size of the skb.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nAcked-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a27b58fed90cc5654e2daf1d292cc5bc61be4dd7",
      "tree": "4f01c7b0bc168b9a73cd9d5406e7fbf426ab169c",
      "parents": [
        "28cd7752734563d5b0967b96a6bade7a1dc89c7f"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Mon Oct 30 15:06:12 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 30 15:24:41 2006 -0800"
      },
      "message": "[NET]: fix uaccess handling\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb328111efde7bca782f340fe805756039ec6a0c",
      "tree": "77c38b0a7ee67703c95caf16c6691576e2f77d03",
      "parents": [
        "78e5b8916e7db119850f57ce8548fbb9767078fc"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Mon Sep 18 00:01:59 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:18:51 2006 -0700"
      },
      "message": "[GENL]: Provide more information to userspace about registered genl families\n\nAdditionaly exports the following information when providing\nthe list of registered generic netlink families:\n  - protocol version\n  - header size\n  - maximum number of attributes\n  - list of available operations including\n      - id\n      - flags\n      - avaiability of policy and doit/dumpit function\n\nlibnl HEAD provides a utility to read this new information:\n\n\t0x0010 nlctrl version 1\n\t    hdrsize 0 maxattr 6\n\t      op GETFAMILY (0x03) [POLICY,DOIT,DUMPIT]\n\t0x0011 NLBL_MGMT version 1\n\t    hdrsize 0 maxattr 0\n\t      op unknown (0x02) [DOIT]\n\t      op unknown (0x03) [DOIT]\n\t      ....\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5176f91ea83f1a59eba4dba88634a4729d51d1ac",
      "tree": "80b35d2cd7ab316f0ee96ab742fee5073b949130",
      "parents": [
        "a5531a5d852008be40811496029012f4ad3093d1"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Sat Aug 26 20:13:18 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:18:25 2006 -0700"
      },
      "message": "[NETLINK]: Make use of NLA_STRING/NLA_NUL_STRING attribute validation\n\nConverts existing NLA_STRING attributes to use the new\nvalidation features, saving a couple of temporary buffers.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5531a5d852008be40811496029012f4ad3093d1",
      "tree": "f59a1b240753ef4f0a672f256fc01d8a965793d1",
      "parents": [
        "e3b4eadbea77ecb3c3a74d1bc81b392f454c7f2e"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Sat Aug 26 20:11:47 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:18:24 2006 -0700"
      },
      "message": "[NETLINK]: Improve string attribute validation\n\nIntroduces a new attribute type NLA_NUL_STRING to support NUL\nterminated strings. Attributes of this kind require to carry\na terminating NUL within the maximum specified in the policy.\n\nThe `old\u0027 NLA_STRING which is not required to be NUL terminated\nis extended to provide means to specify a maximum length of the\nstring.\n\nAims at easing the pain with using nla_strlcpy() on temporary\nbuffers.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef047f5e1085d6393748d1ee27d6327905f098dc",
      "tree": "b1ac74cd97e5e39afedbecbffd8feaf59458d3d8",
      "parents": [
        "366e4adc0f9ef33f56c62f980a7d83775e64abd0"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Sep 01 00:29:06 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:18:15 2006 -0700"
      },
      "message": "[NET]: Use BUILD_BUG_ON() for checking size of skb-\u003ecb.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d387f6ad10764fc2174373b4a1cca443adee36e3",
      "tree": "ed22c34f55de9c668eed1727d46239f3b48599b7",
      "parents": [
        "2942e90050569525628a9f34e0daaa9b661b49cc"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Aug 15 00:31:06 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:54:49 2006 -0700"
      },
      "message": "[NETLINK]: Add notification message sending interface\n\nAdds nlmsg_notify() implementing proper notification logic. The\nmessage is multicasted to all listeners in the group. The\napplications the requests orignates from can request a unicast\nback report in which case said socket will be excluded from the\nmulticast to avoid duplicated notifications.\n\nnlmsg_multicast() is extended to take allocation flags to\nallow notification in atomic contexts.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf8b79e444a748963c71d2a58709e1ce5597e1b5",
      "tree": "4f598fc078926f3729cc615d0a5a00c2d1e57967",
      "parents": [
        "fe4944e59c357f945f81bc67edb7ed1392e875ad"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Fri Aug 04 23:03:29 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:44 2006 -0700"
      },
      "message": "[NETLINK]: Convert core netlink handling to new netlink api\n\nFixes a theoretical memory and locking leak when the size of\nthe netlink header would exceed the skb tailroom.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe4944e59c357f945f81bc67edb7ed1392e875ad",
      "tree": "9634365d416ac574442fc7e21e1eaa26a71a26d1",
      "parents": [
        "e1ef4bf23b1ced0bf78a1c98289f746486e5c912"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Fri Aug 04 23:03:05 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:43 2006 -0700"
      },
      "message": "[NETLINK]: Extend netlink messaging interface\n\nAdds:\n nlmsg_get_pos()                 return current position in message\n nlmsg_trim()                    trim part of message\n nla_reserve_nohdr(skb, len)     reserve room for an attribute w/o hdr\n nla_put_nohdr(skb, len, data)   add attribute w/o hdr\n nla_find_nested()               find attribute in nested attributes\n\nFixes nlmsg_new() to take allocation flags and consider size.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fab2caf62ed03d83bd3a3598b859c3c345a8e8b5",
      "tree": "b72cbc8e158fe6d7f71f21d3007a47eba41123b3",
      "parents": [
        "3fdf3f0c99e90e167f0d0643fcc8739e27456697"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "mita@miraclelinux.com",
        "time": "Tue Aug 29 02:15:24 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Aug 29 21:22:18 2006 -0700"
      },
      "message": "[NETLINK]: Call panic if nl_table allocation fails\n\nThis patch makes crash happen if initialization of nl_table fails\nin initcalls. It is better than getting use after free crash later.\n\nSigned-off-by: Akinobu Mita \u003cmita@miraclelinux.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0da974f4f303a6842516b764507e3c0a03f41e5a",
      "tree": "8872aec792f02040269c6769dd1009b20f71d186",
      "parents": [
        "a0ee7c70b22f78593957f99faa06acb4747b8bc0"
      ],
      "author": {
        "name": "Panagiotis Issaris",
        "email": "takis@issaris.org",
        "time": "Fri Jul 21 14:51:30 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 21 14:51:30 2006 -0700"
      },
      "message": "[NET]: Conversions from kmalloc+memset to k(z|c)alloc.\n\nSigned-off-by: Panagiotis Issaris \u003ctakis@issaris.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "6abd219c6eab92172038e4719e02905acb7b68d4",
      "tree": "b9ab0e856e1acf921f86baaebf14c5f34aa21371",
      "parents": [
        "b02454f43578b24bc8b8ab54a239156841f56f6d"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Mon Jul 03 00:24:07 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:26:58 2006 -0700"
      },
      "message": "[PATCH] bcm43xx: netlink deadlock fix\n\nreported by Jure Repinc:\n\n\u003e \u003e http://bugzilla.kernel.org/show_bug.cgi?id\u003d6773\n\n\u003e \u003e checked out dmesg output and found the message\n\u003e \u003e\n\u003e \u003e \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003e \u003e [ BUG: hard-safe -\u003e hard-unsafe lock order detected! ]\n\u003e \u003e ------------------------------------------------------\n\u003e \u003e\n\u003e \u003e starting at line 660 of the dmesg.txt that I will attach.\n\nThe patch below should fix the deadlock, albeit I suspect it\u0027s not the\n\"right\" fix; the right fix may well be to move the rx processing in bcm43xx\nto softirq context.  [it\u0027s debatable, ipw2200 hit this exact same bug; at\nsome point it\u0027s better to bite the bullet and move this to the common layer\nas my patch below does]\n\nMake the nl_table_lock irq-safe; it\u0027s taken for read in various netlink\nfunctions, including functions that several wireless drivers (ipw2200,\nbcm43xx) want to call from hardirq context.\n\nThe deadlock was found by the lock validator.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nAcked-by: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: jamal \u003chadi@cyberus.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "c7bdb545d23026b18be53289fd866d1ac07f5f8c",
      "tree": "6d9a218871d88f7579dd53f14692df2529b6e712",
      "parents": [
        "576a30eb6453439b3c37ba24455ac7090c247b5a"
      ],
      "author": {
        "name": "Darrel Goeddel",
        "email": "dgoeddel@trustedcs.com",
        "time": "Tue Jun 27 13:26:11 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 29 16:57:55 2006 -0700"
      },
      "message": "[NETLINK]: Encapsulate eff_cap usage within security framework.\n\nThis patch encapsulates the usage of eff_cap (in netlink_skb_params) within\nthe security framework by extending security_netlink_recv to include a required\ncapability parameter and converting all direct usage of eff_caps outside\nof the lsm modules to use the interface.  It also updates the SELinux\nimplementation of the security_netlink_send and security_netlink_recv\nhooks to take advantage of the sid in the netlink_skb_params struct.\nThis also enables SELinux to perform auditing of netlink capability checks.\nPlease apply, for 2.6.18 if possible.\n\nSigned-off-by: Darrel Goeddel \u003cdgoeddel@trustedcs.com\u003e\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by:  James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "532f57da408c5a5710075d17047e2d97bdfd22f3",
      "tree": "3fb378bea1816f637aeeed0df805d0c30969cfc3",
      "parents": [
        "46c5ea3c9ae7fbc6e52a13c92e59d4fc7f4ca80a",
        "2ad312d2093ae506ae0fa184d8d026b559083087"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 01 21:43:05 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon May 01 21:43:05 2006 -0700"
      },
      "message": "Merge branch \u0027audit.b10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b10\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  [PATCH] Audit Filter Performance\n  [PATCH] Rework of IPC auditing\n  [PATCH] More user space subject labels\n  [PATCH] Reworked patch for labels on user space messages\n  [PATCH] change lspp ipc auditing\n  [PATCH] audit inode patch\n  [PATCH] support for context based audit filtering, part 2\n  [PATCH] support for context based audit filtering\n  [PATCH] no need to wank with task_lock() and pinning task down in audit_syscall_exit()\n  [PATCH] drop task argument of audit_syscall_{entry,exit}\n  [PATCH] drop gfp_mask in audit_log_exit()\n  [PATCH] move call of audit_free() into do_exit()\n  [PATCH] sockaddr patch\n  [PATCH] deal with deadlocks in audit_free()\n"
    },
    {
      "commit": "e7c3497013a7e5496ce3d5fd3c73b5cf5af7a56e",
      "tree": "2a57da5e958011b300256988e414387b1455660c",
      "parents": [
        "9c7aa6aa74fa8a5cda36e54cbbe4fffe0214497d"
      ],
      "author": {
        "name": "Steve Grubb",
        "email": "sgrubb@redhat.com",
        "time": "Mon Apr 03 09:08:13 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon May 01 06:09:58 2006 -0400"
      },
      "message": "[PATCH] Reworked patch for labels on user space messages\n\nThe below patch should be applied after the inode and ipc sid patches.\nThis patch is a reworking of Tim\u0027s patch that has been updated to match\nthe inode and ipc patches since its similar.\n\n[updated:\n\u003e  Stephen Smalley also wanted to change a variable from isec to tsec in the\n\u003e  user sid patch.                                                              ]\n\nSigned-off-by: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "09493abfdbe8144ce0805efac7a8a3c4eb869c12",
      "tree": "d29bab6343b66273a96b93acd887f6853ad6e87b",
      "parents": [
        "89bbb0a361cdae50eec863f10a876b58abf7d312"
      ],
      "author": {
        "name": "Soyoung Park",
        "email": "speattle@yahoo.com",
        "time": "Fri Apr 28 14:59:44 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Apr 29 18:33:13 2006 -0700"
      },
      "message": "[NETLINK]: cleanup unused macro in net/netlink/af_netlink.c\n\n1 line removal, of unused macro.\nran \u0027egrep -r\u0027 from linux-2.6.16/ for Nprintk and\ndidn\u0027t see it anywhere else but here, in #define...\n\nSigned-off-by: Soyoung Park \u003cspeattle@yahoo.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e041c683412d5bf44dc2b109053e3b837b71742d",
      "tree": "9d271066ef379da0c0fb3b8cb4137abd5d2ebba0",
      "parents": [
        "76b81e2b0e2241accebcc68e126bc5ab958661b9"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Mar 27 01:16:30 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Mar 27 08:44:50 2006 -0800"
      },
      "message": "[PATCH] Notifier chain update: API changes\n\nThe kernel\u0027s implementation of notifier chains is unsafe.  There is no\nprotection against entries being added to or removed from a chain while the\nchain is in use.  The issues were discussed in this thread:\n\n    http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d113018709002036\u0026w\u003d2\n\nWe noticed that notifier chains in the kernel fall into two basic usage\nclasses:\n\n\t\"Blocking\" chains are always called from a process context\n\tand the callout routines are allowed to sleep;\n\n\t\"Atomic\" chains can be called from an atomic context and\n\tthe callout routines are not allowed to sleep.\n\nWe decided to codify this distinction and make it part of the API.  Therefore\nthis set of patches introduces three new, parallel APIs: one for blocking\nnotifiers, one for atomic notifiers, and one for \"raw\" notifiers (which is\nreally just the old API under a new name).  New kinds of data structures are\nused for the heads of the chains, and new routines are defined for\nregistration, unregistration, and calling a chain.  The three APIs are\nexplained in include/linux/notifier.h and their implementation is in\nkernel/sys.c.\n\nWith atomic and blocking chains, the implementation guarantees that the chain\nlinks will not be corrupted and that chain callers will not get messed up by\nentries being added or removed.  For raw chains the implementation provides no\nguarantees at all; users of this API must provide their own protections.  (The\nidea was that situations may come up where the assumptions of the atomic and\nblocking APIs are not appropriate, so it should be possible for users to\nhandle these things in their own way.)\n\nThere are some limitations, which should not be too hard to live with.  For\natomic/blocking chains, registration and unregistration must always be done in\na process context since the chain is protected by a mutex/rwsem.  Also, a\ncallout routine for a non-raw chain must not try to register or unregister\nentries on its own chain.  (This did happen in a couple of places and the code\nhad to be changed to avoid it.)\n\nSince atomic chains may be called from within an NMI handler, they cannot use\nspinlocks for synchronization.  Instead we use RCU.  The overhead falls almost\nentirely in the unregister routine, which is okay since unregistration is much\nless frequent that calling a chain.\n\nHere is the list of chains that we adjusted and their classifications.  None\nof them use the raw API, so for the moment it is only a placeholder.\n\n  ATOMIC CHAINS\n  -------------\narch/i386/kernel/traps.c:\t\ti386die_chain\narch/ia64/kernel/traps.c:\t\tia64die_chain\narch/powerpc/kernel/traps.c:\t\tpowerpc_die_chain\narch/sparc64/kernel/traps.c:\t\tsparc64die_chain\narch/x86_64/kernel/traps.c:\t\tdie_chain\ndrivers/char/ipmi/ipmi_si_intf.c:\txaction_notifier_list\nkernel/panic.c:\t\t\t\tpanic_notifier_list\nkernel/profile.c:\t\t\ttask_free_notifier\nnet/bluetooth/hci_core.c:\t\thci_notifier\nnet/ipv4/netfilter/ip_conntrack_core.c:\tip_conntrack_chain\nnet/ipv4/netfilter/ip_conntrack_core.c:\tip_conntrack_expect_chain\nnet/ipv6/addrconf.c:\t\t\tinet6addr_chain\nnet/netfilter/nf_conntrack_core.c:\tnf_conntrack_chain\nnet/netfilter/nf_conntrack_core.c:\tnf_conntrack_expect_chain\nnet/netlink/af_netlink.c:\t\tnetlink_chain\n\n  BLOCKING CHAINS\n  ---------------\narch/powerpc/platforms/pseries/reconfig.c:\tpSeries_reconfig_chain\narch/s390/kernel/process.c:\t\tidle_chain\narch/x86_64/kernel/process.c\t\tidle_notifier\ndrivers/base/memory.c:\t\t\tmemory_chain\ndrivers/cpufreq/cpufreq.c\t\tcpufreq_policy_notifier_list\ndrivers/cpufreq/cpufreq.c\t\tcpufreq_transition_notifier_list\ndrivers/macintosh/adb.c:\t\tadb_client_list\ndrivers/macintosh/via-pmu.c\t\tsleep_notifier_list\ndrivers/macintosh/via-pmu68k.c\t\tsleep_notifier_list\ndrivers/macintosh/windfarm_core.c\twf_client_list\ndrivers/usb/core/notify.c\t\tusb_notifier_list\ndrivers/video/fbmem.c\t\t\tfb_notifier_list\nkernel/cpu.c\t\t\t\tcpu_chain\nkernel/module.c\t\t\t\tmodule_notify_list\nkernel/profile.c\t\t\tmunmap_notifier\nkernel/profile.c\t\t\ttask_exit_notifier\nkernel/sys.c\t\t\t\treboot_notifier_list\nnet/core/dev.c\t\t\t\tnetdev_chain\nnet/decnet/dn_dev.c:\t\t\tdnaddr_chain\nnet/ipv4/devinet.c:\t\t\tinetaddr_chain\n\nIt\u0027s possible that some of these classifications are wrong.  If they are,\nplease let us know or submit a patch to fix them.  Note that any chain that\ngets called very frequently should be atomic, because the rwsem read-locking\nused for blocking chains is very likely to incur cache misses on SMP systems.\n(However, if the chain\u0027s callout routines may sleep then the chain cannot be\natomic.)\n\nThe patch set was written by Alan Stern and Chandra Seetharaman, incorporating\nmaterial written by Keith Owens and suggestions from Paul McKenney and Andrew\nMorton.\n\n[jes@sgi.com: restructure the notifier chain initialization macros]\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "14cc3e2b633bb64063698980974df4535368e98f"
}
