)]}'
{
  "log": [
    {
      "commit": "b225ee5bed70254a100896c473e6dd8c2be45c18",
      "tree": "2f044d5898d15edcff858f624618c788d5b58760",
      "parents": [
        "2e532d68a2b3e2aa6b19731501222069735c741c",
        "95a5afca4a8d2e1cb77e1d4bc6ff9f718dc32f7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 08:58:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 17 08:58:52 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  net: Remove CONFIG_KMOD from net/ (towards removing CONFIG_KMOD entirely)\n  ipv4: Add a missing rcu_assign_pointer() in routing cache.\n  [netdrvr] ibmtr: PCMCIA IBMTR is ok on 64bit\n  xen-netfront: Avoid unaligned accesses to IP header\n  lmc: copy_*_user under spinlock\n  [netdrvr] myri10ge, ixgbe: remove broken select INTEL_IOATDMA\n"
    },
    {
      "commit": "95a5afca4a8d2e1cb77e1d4bc6ff9f718dc32f7a",
      "tree": "15452d28df4e4d76fc1276e791a7cc3c6e1a9b3a",
      "parents": [
        "00269b54edbf25f3bb0dccb558ae23a6fc77ed86"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 16 15:24:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 16 15:24:51 2008 -0700"
      },
      "message": "net: Remove CONFIG_KMOD from net/ (towards removing CONFIG_KMOD entirely)\n\nSome code here depends on CONFIG_KMOD to not try to load\nprotocol modules or similar, replace by CONFIG_MODULES\nwhere more than just request_module depends on CONFIG_KMOD\nand and also use try_then_request_module in ebtables.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f221e726bf4e082a05dcd573379ac859bfba7126",
      "tree": "a05f674caac693dc9aec7e46dd06115389f7ece3",
      "parents": [
        "f40cbaa5b0a4719489e6e7947351c99a159aca30"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 15 22:04:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:47 2008 -0700"
      },
      "message": "sysctl: simplify -\u003estrategy\n\nname and nlen parameters passed to -\u003estrategy hook are unused, remove\nthem.  In general -\u003estrategy hook should know what it\u0027s doing, and don\u0027t\ndo something tricky for which, say, pointer to original userspace array\nmay be needed (name).\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e [ networking bits ]\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06770843c2f0f929a6e0c758dc433902a01aabfb",
      "tree": "b579cbcf3f960289cfe5c586f7e38a03abc88df6",
      "parents": [
        "9d7d74029e0f5fde3b88b39892b9b9cfdf4ea10a"
      ],
      "author": {
        "name": "Breno Leitao",
        "email": "leitao@linux.vnet.ibm.com",
        "time": "Tue Sep 02 17:28:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 02 17:28:58 2008 -0700"
      },
      "message": "ipv: Re-enable IP when MTU \u003e 68\n\nRe-enable IP when the MTU gets back to a valid size. \n\nThis patch just checks if the in_dev is NULL on a NETDEV_CHANGEMTU event\nand if MTU is valid (bigger than 68), then re-enable in_dev. \n\nAlso a function that checks valid MTU size was created.\n\nSigned-off-by: Breno Leitao \u003cleitao@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "547b792cac0a038b9dbf958d3c120df3740b5572",
      "tree": "08554d083b0ca7d65739dc1ce12f9b12a9b8e1f8",
      "parents": [
        "53e5e96ec18da6f65e89f05674711e1c93d8df67"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "message": "net: convert BUG_TRAP to generic WARN_ON\n\nRemoves legacy reinvent-the-wheel type thing. The generic\nmachinery integrates much better to automated debugging aids\nsuch as kerneloops.org (and others), and is unambiguous due to\nbetter naming. Non-intuively BUG_TRAP() is actually equal to\nWARN_ON() rather than BUG_ON() though some might actually be\npromoted to BUG_ON() but I left that to future.\n\nI could make at least one BUILD_BUG_ON conversion.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76e6ebfb40a2455c18234dcb0f9df37533215461",
      "tree": "f3b435e8b27a297f330fc7d497a0ef44022e7239",
      "parents": [
        "f43798c27684ab925adde7d8acc34c78c6e50df8"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Jul 05 19:00:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 19:00:44 2008 -0700"
      },
      "message": "netns: add namespace parameter to rt_cache_flush\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0187bdfb05674147774ca79a79942537f3ad54bd",
      "tree": "43980261ce9e2b6ef76356dbbbc7efe3dbb60a02",
      "parents": [
        "2e3216cd54b142ba605e87522e15f42e0c4e3996"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Thu Jun 19 16:15:47 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 19 16:15:47 2008 -0700"
      },
      "message": "net: Disable LRO on devices that are forwarding\n\nLarge Receive Offload (LRO) is only appropriate for packets that are\ndestined for the host, and should be disabled if received packets may be\nforwarded.  It can also confuse the GSO on output.\n\nAdd dev_disable_lro() function which uses the appropriate ethtool ops to\ndisable LRO if enabled.\n\nAdd calls to dev_disable_lro() in br_add_if() and functions that enable\nIPv4 and IPv6 forwarding.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b040829952d84bf2a62526f0e24b624e0699447",
      "tree": "b2e836e7e64343f19b949e50099bbe2ea554ec30",
      "parents": [
        "573bf470e693f73a6ac437b17a64a10902ba54bf"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jun 10 22:46:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 11 21:00:38 2008 -0700"
      },
      "message": "net: remove CVS keywords\n\nThis patch removes CVS keywords that weren\u0027t updated for a long time\nfrom comments.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "573bf470e693f73a6ac437b17a64a10902ba54bf",
      "tree": "d76de1d4fccf60e4822826a2e919b0f9c480fd49",
      "parents": [
        "c5ec514016d1a65922465372ff1e6748e6f7dea9"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jun 10 15:40:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 10 15:40:04 2008 -0700"
      },
      "message": "ipv4 addr: Send netlink notification for address label changes\n\nMakes people happy who try to keep a list of addresses up to date by\nlistening to notifications.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab32cd793dca21eec846a8204390d9594ed994d5",
      "tree": "ed3c2d053ed6206ad7e440c0a20982d6266e1df5",
      "parents": [
        "bc3ed28caaef55e7e3a9316464256353c5f9b1df"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jun 03 16:37:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 03 16:37:33 2008 -0700"
      },
      "message": "route: Remove unused ifa_anycast field\n\nThe field was supposed to allow the creation of an anycast route by\nassigning an anycast address to an address prefix. It was never\nimplemented so this field is unused and serves no purpose. Remove it.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "c346dca10840a874240c78efe3f39acf4312a1f2",
      "tree": "c04cff20124eba5cc337cc5ec260ad2513eeb065",
      "parents": [
        "7cbca67c073263c179f605bdbbdc565ab29d801d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 25 21:47:49 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:53 2008 +0900"
      },
      "message": "[NET] NETNS: Omit net_device-\u003end_net without CONFIG_NET_NS.\n\nIntroduce per-net_device inlines: dev_net(), dev_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": "c4544c724322984923b3331a4319ae60a62b7803",
      "tree": "c92eafe3431c5665d50242156647b5d500028a71",
      "parents": [
        "3776c8891a2d3c5892fa50ab9e2a3b68f5674be6"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:52:54 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:52:54 2008 -0800"
      },
      "message": "[NETNS]: Process inet_select_addr inside a namespace.\n\nThe context is available from a network device passed in.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3776c8891a2d3c5892fa50ab9e2a3b68f5674be6",
      "tree": "2af79954a2f3867ce1a55872ad0c2a0348ed1de9",
      "parents": [
        "1937504dd156573a1883f10a5a167f3f78c6cb4a"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:52:25 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:52:25 2008 -0800"
      },
      "message": "[NETNS]: Enable IPv4 address manipulations inside namespace.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5b13cb10de209f924fdf9478214bcf7e4008d6d",
      "tree": "212d723fe14e2dd49ab044f8ca969303f316645c",
      "parents": [
        "73b3871165e45ea6d57775c6bfb1a1760ad6e36b"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:51:43 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:51:43 2008 -0800"
      },
      "message": "[NETNS]: Process devinet ioctl in the correct namespace.\n\nAdd namespace parameter to devinet_ioctl and locate device inside it for\nstate changes.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be162d6288053305c32588c0596eb5e8dd90c564",
      "tree": "04f30314da3b49f3fd32ac79b1e1b603c4c62c35",
      "parents": [
        "2430aa85de8343662e8496dac9f9e4dade680023"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:49:13 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:49:13 2008 -0800"
      },
      "message": "[NETNS]: Enable inetdev_event notifier.\n\nAfter all these preparations it is time to enable main IPv4 device\ninitialization routine inside namespace. It is safe do this now.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "148f97292e8fa2c35fcef60a7725cf1b073d6818",
      "tree": "8f612110246bf58ffa3b6b077060ff786059a8e4",
      "parents": [
        "f1243c2db6e3b8e5a602b1be2d256b582fc78ce4"
      ],
      "author": {
        "name": "Bjorn Mork",
        "email": "bjorn@mork.no",
        "time": "Tue Feb 26 18:17:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 26 18:42:41 2008 -0800"
      },
      "message": "[IPV4]: Reset scope when changing address\n\nThis bug did bite at least one user, who did have to resort to rebooting\nthe system after an \"ifconfig eth0 127.0.0.1\" typo.\n\nDeleting the address and adding a new is a less intrusive workaround.\nBut I still beleive this is a bug that should be fixed.  Some way or\nanother.\n\nAnother possibility would be to remove the scope mangling based on\naddress.  This will always be incomplete (are 127/8 the only address\nspace with host scope requirements?)\n\nWe set the scope to RT_SCOPE_HOST if an IPv4 interface is configured\nwith a loopback address (127/8).  The scope is never reset, and will\nremain set to RT_SCOPE_HOST after changing the address. This patch\nresets the scope if the address is changed again, to restore normal\nfunctionality.\n\nSigned-off-by: Bjorn Mork \u003cbjorn@mork.no\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b8aa9abee2e108b132dea7a7c4e81a167895354",
      "tree": "892d1380ae4a6566932903ddc6c167fc7ecefc7d",
      "parents": [
        "7b2185747c32260a3e43b94812e96d22a8725f09"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jan 31 18:47:40 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:39 2008 -0800"
      },
      "message": "[NETNS]: Process interface address manipulation routines in the namespace.\n\nThe namespace is available when required except rtm_to_ifaddr. Add\nnamespace argument to it.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b2185747c32260a3e43b94812e96d22a8725f09",
      "tree": "942b0af12bab516a627075fcd0b2e2cf4d34711b",
      "parents": [
        "dce5cbeec32eb5db4d406b732b1256c6f702bde5"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jan 31 18:47:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:38 2008 -0800"
      },
      "message": "[IPV4]: Small style cleanup of the error path in rtm_to_ifaddr.\n\nRemove error code assignment inside brackets on failure. The code\nlooks better if the error is assigned before condition check. Also,\nthe compiler treats this better.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0027ba843450a5e28dd7fed580ad1e1546b7696b",
      "tree": "94546bf994ef1b187ddce1a92c122866af2ab675",
      "parents": [
        "81a21eb4ec4ad47a776a8ab89309fb2614e63ae5"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Thu Jan 31 17:17:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:28:31 2008 -0800"
      },
      "message": "[IPV4]: Make struct ipv4_devconf static.\n\nstruct ipv4_devconf can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7fee0ca23711ce1a6b13d3ab78915809a72a59ec",
      "tree": "e2df8e3997d996749b5169df59a56f3df67158c5",
      "parents": [
        "da0e28cb68a7e22b47c6ae1a5b12cb538c13c69f"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 21 17:32:38 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:20 2008 -0800"
      },
      "message": "[NETNS]: Add netns parameter to inetdev_by_index.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39a6d06300128d32f361f4f790beba0ca83730eb",
      "tree": "7f47f52708e17eed923cfbbc56e348ab4c573cb9",
      "parents": [
        "9bd85e32644d4d3744117b0a196ad4382f8acf35"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 14 23:06:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:02:13 2008 -0800"
      },
      "message": "[NETNS]: Process inet_confirm_addr in the correct namespace.\n\ninet_confirm_addr can be called with NULL in_dev from arp_ignore iff\nscope is RT_SCOPE_LINK.\n\nLets always pass the device and check for RT_SCOPE_LINK scope inside\ninet_confirm_addr. This let us take network namespace from in_device a\nneed for an additional argument.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9bd85e32644d4d3744117b0a196ad4382f8acf35",
      "tree": "d25bb624d799e787f9de589f317001ee8b2357aa",
      "parents": [
        "06f0511df1b3b32fc8e0840514d4b207150f1fa7"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 14 23:05:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:02:12 2008 -0800"
      },
      "message": "[IPV4]: Remove extra argument from arp_ignore.\n\narp_ignore has two arguments: dev \u0026 in_dev. dev is used for\ninet_confirm_addr calling only.\n\ninet_confirm_addr, in turn, either gets in_dev from the device passed\nor iterates over all network devices if the device passed is NULL. It\nseems logical to directly pass in_dev into inet_confirm_addr.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a75de0c1de2dde9ef41aeb45a21048681421b8a",
      "tree": "f4af1e1cc93781087088a3f93077df2ff159023b",
      "parents": [
        "6e32814bc89e7103e2b75b841155faf51f60a8f1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sat Jan 05 23:08:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:40 2008 -0800"
      },
      "message": "[NETNS]: Should build with CONFIG_SYSCTL\u003dn\n\nPrevious NETNS patches broke CONFIG_SYSCTL\u003dn case\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f97c1e0c6ebdb606c97b6cb5e837c6110ac5a961",
      "tree": "2af3da0114614a127099f9ab2ef706f676faa376",
      "parents": [
        "21cf2253ebcf070bc307e0b56d696a2519c75cb4"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Dec 16 13:45:43 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:15 2008 -0800"
      },
      "message": "[IPV4] net/ipv4: Use ipv4_is_\u003ctype\u003e\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "586f12115264b767ea6a48ce081ca25a39c1e3dd",
      "tree": "48bb41f07d4dc2a1e0d9f9d71286594d3b9800fa",
      "parents": [
        "9355bbd685bf705a7f7bd6470b92ca0562c7a661"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Dec 16 13:32:48 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:12 2008 -0800"
      },
      "message": "[IPV4]: Switch users of ipv4_devconf(_all) to use the pernet one\n\nThese are scattered over the code, but almost all the\n\"critical\" places already have the proper struct net\nat hand except for snmp proc showing function and routing\nrtnl handler.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9355bbd685bf705a7f7bd6470b92ca0562c7a661",
      "tree": "58bb5c2d890011781100405628dc8a5ad7b2910d",
      "parents": [
        "752d14dc6aa9d0fc8f3b25e5052596fb549e5157"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Dec 16 13:32:16 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:11 2008 -0800"
      },
      "message": "[IPV4]: Switch users of ipv4_devconf_dflt to use the pernet one\n\nThey are all collected in the net/ipv4/devinet.c file and\nmostly use the IPV4_DEVCONF_DFLT macro.\n\nSo I add the net parameter to it and patch users accordingly.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "752d14dc6aa9d0fc8f3b25e5052596fb549e5157",
      "tree": "d8ab58f743e1f442631ffb557389dae9679cad51",
      "parents": [
        "c0ce9fb304871daa0dd2bf0efb1b241b9fa4a279"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Dec 16 13:31:47 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:11 2008 -0800"
      },
      "message": "[IPV4]: Move the devinet pointers on the struct net\n\nThis is the core.\n\nAdd all and default pointers on the netns_ipv4 and register\na new pernet subsys to initialize them.\n\nAlso add the ctl_table_header to register the\nnet.ipv4.ip_forward ctl.\n\nI don\u0027t allocate additional memory for init_net, but use\nglobal devinets.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c0ce9fb304871daa0dd2bf0efb1b241b9fa4a279",
      "tree": "3783b5871680d9cf5712c4aade60fc2e4c8e790f",
      "parents": [
        "32e569b7277f13c4b27bb29c761189963e49ce7a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Dec 16 13:31:14 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:10 2008 -0800"
      },
      "message": "[IPV4]: Store the net pointer on devinet\u0027s ctl tables\n\nSome handers and strategies of devinet sysctl tables need\nto know the net to propagate the ctl change to all the\nnet devices.\n\nI use the (currently unused) extra2 pointer on the tables\nto get it.\n\nHolding the reference on the struct net is not possible,\nbecause otherwise we\u0027ll get a net-\u003ectl_table-\u003enet circular\ndependency. But since the ctl tables are unregistered during\nthe net destruction, this is safe to get it w/o additional\nprotection.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea40b324d791d86a42b858d073007de4d133227e",
      "tree": "0fa2465408c90f18afafecef1ed9565f77ef3496",
      "parents": [
        "8afd351c772d1815347d5c46716b099fde00a579"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Dec 16 13:30:07 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:09 2008 -0800"
      },
      "message": "[IPV4]: Make __devinet_sysctl_register return an error\n\nCurrently, this function is void, so failures in creating\nsysctls for new/renamed devices are not reported to anywhere.\n\nFixing this is another complex (needed?) task, but this\nreturn value is needed during the namespaces creation to\nhandle the case, when we failed to create \"all\" and \"default\"\nentries.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51602b2a5e849babd94311e555bf1ba58151b8d4",
      "tree": "5082a8d99c8b9a83f1b0b491ceda9b9c315b1700",
      "parents": [
        "01ecfe9ba63aa0f23bbdb15371916ba4d5382330"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Dec 11 02:17:40 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:09 2008 -0800"
      },
      "message": "[IPV4]: Cleanup sysctl manipulations in devinet.c\n\nThis includes:\n\n * moving neigh_sysctl_(un)register calls inside\n   devinet_sysctl_(un)register ones, as they are always\n   called in pairs;\n * making __devinet_sysctl_unregister() to unregister\n   the ipv4_devconf struct, while original devinet_sysctl_unregister()\n   works with the in_device to handle both - devconf and\n   neigh sysctls;\n * make stubs for CONFIG_SYSCTL\u003dn case to get rid of\n   in-code ifdefs.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68dd299bc84dede6aef32e6f4777a676314f5d21",
      "tree": "665132d14a68b3d5676b3fc87424c8be79c28487",
      "parents": [
        "4d43b78ac27ca50fe42718192ac7c80474417389"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Dec 05 01:44:58 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:31 2008 -0800"
      },
      "message": "[INET]: Merge sys.net.ipv4.ip_forward and sys.net.ipv4.conf.all.forwarding\n\nAFAIS these two entries should do the same thing - change the\nforwarding state on ipv4_devconf and on all the devices.\n\nI propose to merge the handlers together using ctl paths.\n\nThe inet_forward_change() is static after this and I move\nit higher to be closer to other \"propagation\" helpers and\nto avoid diff making patches based on { and } matching :)\ni.e. - make them easier to read.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bfada697bd534d2c16fd07fbef3a4924c4d4e014",
      "tree": "ed62ad7709e70f5ee6286497bb9b975ef8fa7562",
      "parents": [
        "66f27a52037c89183e83689b0531412577be0101"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Dec 02 00:57:08 2007 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:37 2008 -0800"
      },
      "message": "[IPV4]: Use ctl paths to register devinet sysctls\n\nThis looks very much like the patch for neighbors.\n\nThe path is also located on the stack and is prepared\ninside the function. This time, the call to the registering\nfunction is guarded with the RTNL lock, but I decided\nto keep it on the stack not to litter the devinet.c file\nwith unneeded names and to make it look similar to the\nneighbors code.\n\nThis is also intended to help us with the net namespaces\nand saves the vmlinux size as well - this time by more\nthan 670 bytes.\n\nThe difference from the first version is just the patch\noffsets, that changed due to changes in the patch #2.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "66f27a52037c89183e83689b0531412577be0101",
      "tree": "a746d24ad70e9eb7d3aef9e4c798cd65db2cfe63",
      "parents": [
        "edae58ead57319b0bcf16e48a32365145c7bf0b7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Dec 02 00:55:54 2007 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:36 2008 -0800"
      },
      "message": "[IPV4]: Unify and cleanup calls to devinet_sysctl_register\n\nCurrently this call is used to register sysctls for devices\nand for the \"default\" confs. The \"all\" sysctls are registered\nseparately.\n\nBesides, the inet_device is passed to this function, but it is\nnot needed there at all - just the device name and ifindex are\nrequired.\n\nThanks to Herbert, who noticed, that this call doesn\u0027t even\nrequire the devconf pointer (the last argument) - all we need\nwe can take from the in_device itself.\n\nThe fix is to make a __devinet_sysctl_register(), which registers\nsysctls for all \"devices\" we need, including \"default\" and \"all\" :)\n\nThe original devinet_sysctl_register() works with struct net_device,\nnot the inet_device, and calls the introduced function, passing\nthe device name and ifindex (to be used as procname and ctl_name)\ninto it.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9fa896429905eccc263ff0d5e592ecaf651af12d",
      "tree": "310374164f56cb624e4bcbad976a0dfae2918e2a",
      "parents": [
        "c3bac5a71b24f6ed892b250d4f7511cedc33d34c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Dec 02 00:17:46 2007 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:25 2008 -0800"
      },
      "message": "[IPV4]: Cleanup the devinet_sysctl_register\n\nI moved the call to kmalloc() from the *t declaration into\nthe code (this is confusing when a variable is initialized\nwith the result of some call) and removed unneeded comment\nnear the error path. Just like I did with the neigh ctl-s.\n\nBesides, I fixed the goto\u0027s and the labels - they were indented\nwith spaces :(\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "97c53cacf00d1f5aa04adabfebcc806ca8b22b10",
      "tree": "6b7223df312aa27a5017c4d7c4d1e500a33ed8d8",
      "parents": [
        "b854272b3c732316676e9128f7b9e6f1e1ff88b0"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Nov 19 22:26:51 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:25 2008 -0800"
      },
      "message": "[NET]: Make rtnetlink infrastructure network namespace aware (v3)\n\nAfter this patch none of the netlink callback support anything\nexcept the initial network namespace but the rtnetlink infrastructure\nnow handles multiple network namespaces.\n\nChanges from v2:\n- IPv6 addrlabel processing\n\nChanges from v1:\n- no need for special rtnl_unlock handling\n- fixed IPv6 ndisc\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b854272b3c732316676e9128f7b9e6f1e1ff88b0",
      "tree": "c90c74b9ec068453881f1173da4c57d6bb00a7d9",
      "parents": [
        "ad5d20a63940fcfb40af76ba06148f36d5d0b433"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Dec 01 00:21:31 2007 +1100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:24 2008 -0800"
      },
      "message": "[NET]: Modify all rtnetlink methods to only work in the initial namespace (v2)\n\nBefore I can enable rtnetlink to work in all network namespaces I need\nto be certain that something won\u0027t break.  So this patch deliberately\ndisables all of the rtnletlink methods in everything except the\ninitial network namespace.  After the methods have been audited this\nextra check can be disabled.\n\nChanges from v1:\n- added IPv6 addrlabel protection\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "44344b2a85f03326c7047a8c861b0c625c674839",
      "tree": "fe578496a5c71a74500260a5f9bcced8d5299f22",
      "parents": [
        "14be85f555fa53a3b80119569e4c2fe88aa9fd3e"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Fri Jan 04 00:56:25 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 04 03:55:34 2008 -0800"
      },
      "message": "[INET]: Fix netdev renaming and inet address labels\n\nWhen re-naming an interface, the previous secondary address\nlabels get lost e.g.\n\n  $\u003e brctl addbr foo\n  $\u003e ip addr add 192.168.0.1 dev foo\n  $\u003e ip addr add 192.168.0.2 dev foo label foo:00\n  $\u003e ip addr show dev foo | grep inet\n    inet 192.168.0.1/32 scope global foo\n    inet 192.168.0.2/32 scope global foo:00\n  $\u003e ip link set foo name bar\n  $\u003e ip addr show dev bar | grep inet\n    inet 192.168.0.1/32 scope global bar\n    inet 192.168.0.2/32 scope global bar:2\n\nTurns out to be a simple thinko in inetdev_changename() - clearly we\nwant to look at the address label, rather than the device name, for\na suffix to retain.\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4e65d36a959005f14142535b58c44cd0f1de8cb",
      "tree": "8f6e438dfb7e869387538bd4205c01ba05f665f1",
      "parents": [
        "1df2e44560c0d72f381126e52a3ba53614c1c484"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Dec 07 23:55:43 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Dec 11 02:45:25 2007 -0800"
      },
      "message": "[IPV4]: Swap the ifa allocation with the\"ipv4_devconf_setall\" call\n\nAccording to Herbert, the ipv4_devconf_setall should be called\nonly when the ifa is added to the device. However, failed\nifa allocation may bring things into inconsistent state.\n\nMove the call to ipv4_devconf_setall after the ifa allocation.\n\nFits both net-2.6 (with offsets) and net-2.6.25 (cleanly).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0cc217e16cb8ca8ef2544363571fce94259900e0",
      "tree": "05d7ef10fd9971fffa3f3870a4c3e66077bb1dc2",
      "parents": [
        "5967789dbc8aafdba5813fa8e8cfce3c90516f83"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:10:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:48 2007 -0700"
      },
      "message": "[IPV4]: When possible test for IFF_LOOPBACK and not dev \u003d\u003d loopback_dev\n\nNow that multiple loopback devices are becoming possible it makes\nthe code a little cleaner and more maintainable to test if a deivice\nis th a loopback device by testing dev-\u003eflags \u0026 IFF_LOOPBACK instead\nof dev \u003d\u003d loopback_dev.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5967789dbc8aafdba5813fa8e8cfce3c90516f83",
      "tree": "0ea20278a6210297812cb8b3ed962e38d98ce3b8",
      "parents": [
        "5f6d88b9149d537f3db0798f7d312be632422e15"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:09:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:48 2007 -0700"
      },
      "message": "[IPV4]: Remove unnecessary test for the loopback device from inetdev_destroy\n\nCurrently we never call unregister_netdev for the loopback device so\nit is impossible for us to reach inetdev_destroy with the loopback\ndevice.  So the test in inetdev_destroy is unnecessary.\n\nFurther when testing with my network namespace patches removing\nunregistering the loopback device and calling inetdev_destroy works\nfine so there appears to be no reason for avoiding unregistering the\nloopback device.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de3cb747ffac5f2a4a6bb156e7e2fd5229e688e5",
      "tree": "fe79764b8093843934c9b9f82f573e7a92cef406",
      "parents": [
        "556829657397b9b05baec6691ead4e22ee8d1567"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Tue Sep 25 19:16:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:14 2007 -0700"
      },
      "message": "[NET]: Dynamically allocate the loopback device, part 1.\n\nThis patch replaces all occurences to the static variable\nloopback_dev to a pointer loopback_dev. That provides the\nmindless, trivial, uninteressting change part for the dynamic\nallocation for the loopback.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9dc86534051b78e41e5b746cccc291b57a3a311",
      "tree": "1cd4a1dde4c51b6311749428a22cc8a8f5436825",
      "parents": [
        "e730c15519d09ea528b4d2f1103681fa5937c0e6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:02:17 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Make device event notification network namespace safe\n\nEvery user of the network device notifiers is either a protocol\nstack or a pseudo device.  If a protocol stack that does not have\nsupport for multiple network namespaces receives an event for a\ndevice that is not in the initial network namespace it quite possibly\ncan get confused and do the wrong thing.\n\nTo avoid problems until all of the protocol stacks are converted\nthis patch modifies all netdev event handlers to ignore events on\ndevices that are not in the initial network namespace.\n\nAs the rest of the code is made network namespace aware these\nchecks can be removed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "596e41509550447b030f7b16adaeb0138ab585a8",
      "tree": "eafb66a4e5dcd5d15a8dc8187aef8d7d483b83d6",
      "parents": [
        "ef8aef55ce61fd0e2af798695f7386ac756ae1e7"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Sep 11 10:41:04 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 11 10:41:04 2007 +0200"
      },
      "message": "[IPV4] devinet: show all addresses assigned to interface\n\nBug: http://bugzilla.kernel.org/show_bug.cgi?id\u003d8876\n\nNot all ips are shown by \"ip addr show\" command when IPs number assigned to an\ninterface is more than 60-80 (in fact it depends on broadcast/label etc\npresence on each address).\n\nSteps to reproduce:\nIt\u0027s terribly simple to reproduce:\n\n# for i in $(seq 1 100); do ip ad add 10.0.$i.1/24 dev eth10 ; done\n# ip addr show\n\nthis will _not_ show all IPs.\nLooks like the problem is in netlink/ipv4 message processing.\n\nThis is fix from bug submitter, it looks correct.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b217d616a15fcfb3caf2a72c1a071c6d3f182f8d",
      "tree": "301422d7c0fba653dfb5e32c80fedc2cede627e3",
      "parents": [
        "fcc5a03ac42564e9e255c1134dda47442289e466"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jul 30 17:04:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:16 2007 -0700"
      },
      "message": "[IPV4/IPV6]: Fail registration if inet device construction fails\n\nNow that netdev notifications can fail, we can use this to signal\nerrors during registration for IPv4/IPv6.  In particular, if we\nfail to allocate memory for the inet device, we can fail the netdev\nregistration.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6363097cc4d182f93788131b5d8f72aa91d950a0",
      "tree": "a90b11cc948ce3dcb48bd14f82c0776cf25e8eaf",
      "parents": [
        "85f6038f2170e3335dda09c3dfb0f83110e87019"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 07 18:35:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 08 13:33:08 2007 -0700"
      },
      "message": "[IPV4]: Do not remove idev when addresses are cleared\n\nNow that we create idev before addresses are added, it no longer makes\nsense to remove them when addresses are all deleted.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\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": "71e27da9618b5f4d525ec821def83991da20429f",
      "tree": "521645ee5c7e43cc0de100bc4425668e078d92f9",
      "parents": [
        "31be308541e990592a2d0a3e77e8e51bd0cea0e0"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 04 23:36:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 07 13:39:26 2007 -0700"
      },
      "message": "[IPV4]: Restore old behaviour of default config values\n\nPreviously inet devices were only constructed when addresses are added\n(or rarely in ipmr).  Therefore the default config values they get are\nthe ones at the time of these operations.\n\nNow that we\u0027re creating inet devices earlier, this changes the\nbehaviour of default config values in an incompatible way (see bug\n#8519).\n\nThis patch creates a compromise by setting the default values at the\nsame point as before but only for those that have not been explicitly\nset by the user since the inet device\u0027s creation.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31be308541e990592a2d0a3e77e8e51bd0cea0e0",
      "tree": "4b37efef3a38439be092ca269e687706be07f8f1",
      "parents": [
        "42f811b8bcdf6695bf74de580b1daf53445e8949"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 04 23:35:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 07 13:39:19 2007 -0700"
      },
      "message": "[IPV4]: Add default config support after inetdev_init\n\nPreviously once inetdev_init has been called on a device any changes\nmade to ipv4_devconf_dflt would have no effect on that device\u0027s\nconfiguration.\n\nThis creates a problem since we have moved the point where\ninetdev_init is called from when an address is added to where the\ndevice is registered.\n\nThis patch is the first half of a set that tries to mimic the old\nbehaviour while still calling inetdev_init.\n\nIt propagates any changes to ipv4_devconf_dflt to those devices that\nhave not had the corresponding attribute set.\n\nThe next patch will forcibly set all values at the point where\ninetdev_init was previously called.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42f811b8bcdf6695bf74de580b1daf53445e8949",
      "tree": "c7c9dd321c63eb24c5d41488b47b7178c6c9b572",
      "parents": [
        "8d76527e728d00d1cf9d5dd663caffb2dcf05ae6"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 04 23:34:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 07 13:39:13 2007 -0700"
      },
      "message": "[IPV4]: Convert IPv4 devconf to an array\n\nThis patch converts the ipv4_devconf config members (everything except\nsysctl) to an array.  This allows easier manipulation which will be\nneeded later on to provide better management of default config values.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d76527e728d00d1cf9d5dd663caffb2dcf05ae6",
      "tree": "e3cae9cff087f2330a64a8ee7bff36c312d9471b",
      "parents": [
        "f0e48dbfc5c74e967fea4c0fd0c5ad07557ae0c8"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 04 23:34:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 07 13:39:03 2007 -0700"
      },
      "message": "[IPV4]: Only panic if inetdev_init fails for loopback\n\nWhen I made the inetdev_init call work on all devices I incorrectly\nleft in the panic call as well.  It is obviously undesirable to\npanic on an allocation failure for a normal network device.  This\npatch moves the panic call under the loopback if clause.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7562f876cd93800f2f8c89445f2a563590b24e09",
      "tree": "78a34c011af275efa0d55ba59c3bd49b771dd533",
      "parents": [
        "03fba0479600114f32d29eee74ca3eaa364606bf"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu May 03 15:13:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 15:13:45 2007 -0700"
      },
      "message": "[NET]: Rework dev_base via list_head (v3)\n\nCleanup of dev_base list use, with the aim to simplify making device\nlist per-namespace. In almost every occasion, use of dev_base variable\nand dev-\u003enext pointer could be easily replaced by for_each_netdev\nloop. A few most complicated places were converted to using\nfirst_netdev()/next_netdev().\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Kirill Korotaev \u003cdev@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6313c1e0992feaee56bc09b85042b3186041fa3c",
      "tree": "f75cda674d8f2b62bcdb09e59f8bc7010003a91f",
      "parents": [
        "1c2d670f3660e9103fdcdca702f6dbf8ea7d6afb"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 16 17:00:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:05 2007 -0700"
      },
      "message": "[RTNETLINK]: Remove unnecessary locking in dump callbacks\n\nSince we\u0027re now holding the rtnl during the entire dump operation, we can\nremove additional locking for rtnl protected data. This patch does that\nfor all simple cases (dev_base_lock for dev_base walking, RCU protection\nfor FIB rule dumping).\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63f3444fb9a54c024d55f1205f8b94e7d2786595",
      "tree": "41cde0c702a2b4400a34f02380eb3baf1cc72a2b",
      "parents": [
        "9d9e6a5819230b5a5cc036f213135cb123ab1e50"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:55:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:08 2007 -0700"
      },
      "message": "[IPv4]: Use rtnl registration interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "132adf54639cf7dd9315e8df89c2faa59f6e46d9",
      "tree": "256e3e30e843e6144bdae68e4aad181db5819d0e",
      "parents": [
        "1ac58ee37f439044eb09381f33c97ce0e7f2643b"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Thu Mar 08 20:44:43 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:11 2007 -0700"
      },
      "message": "[IPV4]: cleanup\n\nAdd whitespace around keywords.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4e38f41e34ad853651d66227aae23e48457dce0",
      "tree": "1bbae8ba06b94474d09cf1834d8e1fabbf62162f",
      "parents": [
        "30fbc9f77c5a77f5f7f053d29eb92e41f6043406"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Fri Mar 09 13:43:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 09 13:43:24 2007 -0800"
      },
      "message": "[IPV4]: Fix rtm_to_ifaddr() error handling.\n\nReturn negative error value (embedded in the pointer) instead of\nreturning NULL.\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8030f54499925d073a88c09f30d5d844fb1b3190",
      "tree": "4a5dddb3eff8a6eecf3ac5611c45cbac356f495c",
      "parents": [
        "45ba9dd2007da23da5ac21179451c3c9fee30a96"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Feb 22 01:53:47 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Feb 26 11:42:56 2007 -0800"
      },
      "message": "[IPV4] devinet: Register inetdev earlier.\n\nThis patch allocates inetdev at registration for all devices\nin line with IPv6.  This allows sysctl configuration on the\ndevices to occur before they\u0027re brought up or addresses are\nadded.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "3fbfa98112fc3962c416452a0baf2214381030e6",
      "tree": "5a14a9d97ba05f415698de7b4ec5949363c268a6",
      "parents": [
        "d912b0cc1a617d7c590d57b7ea971d50c7f02503"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:34:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:10:00 2007 -0800"
      },
      "message": "[PATCH] sysctl: remove the proc_dir_entry member for the sysctl tables\n\nIt isn\u0027t needed anymore, all of the users are gone, and all of the ctl_table\ninitializers have been converted to use explicit names of the fields they are\ninitializing.\n\n[akpm@osdl.org: NTFS fix]\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b4d414714f0d2f922d39424b0c5c82ad900a381",
      "tree": "5079ec59a5622c9cacfe0fce484ba2c4626c406f",
      "parents": [
        "ae836810263509ff7a3c2c021754ce6f66b3fab6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:34:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:59 2007 -0800"
      },
      "message": "[PATCH] sysctl: remove insert_at_head from register_sysctl\n\nThe semantic effect of insert_at_head is that it would allow new registered\nsysctl entries to override existing sysctl entries of the same name.  Which is\npain for caching and the proc interface never implemented.\n\nI have done an audit and discovered that none of the current users of\nregister_sysctl care as (excpet for directories) they do not register\nduplicate sysctl entries.\n\nSo this patch simply removes the support for overriding existing entries in\nthe sys_sysctl interface since no one uses it or cares and it makes future\nenhancments harder.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e905a9edab7f4f14f9213b52234e4a346c690911",
      "tree": "9e52a5f47eec47c5685c347ff7af22290a10305b",
      "parents": [
        "642656518b2e64fd59d9bbd15b6885cac5fe99b1"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:24:47 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:19:39 2007 -0800"
      },
      "message": "[NET] IPV4: 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": "26932566a42d46aee7e5d526cb34fba9380cad10",
      "tree": "3991d9209ddf2454ba4c71daccdc33951811dcf1",
      "parents": [
        "2cf6c36cb46d69057db2ebae0d8ec352e065f48b"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jan 31 23:16:40 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 12:38:41 2007 -0800"
      },
      "message": "[NETLINK]: Don\u0027t BUG on undersized allocations\n\nCurrently netlink users BUG when the allocated skb for an event\nnotification is undersized. While this is certainly a kernel bug,\nits not critical and crashing the kernel is too drastic, especially\nwhen considering that these errors have appeared multiple times in\nthe past and it BUGs even if no listeners are present.\n\nThis patch replaces BUG by WARN_ON and changes the notification\nfunctions to inform potential listeners of undersized allocations\nusing a unique error code (EMSGSIZE).\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "483479ecc565b7f5845997138eddf5ecbc2684b1",
      "tree": "0760f0ae7f2f0d4b81bc052101d150766104bd6d",
      "parents": [
        "469de9b90f739f130ab3d483e819888e977596b8"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@o2.pl",
        "time": "Tue Jan 09 14:38:31 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 09 14:38:31 2007 -0800"
      },
      "message": "[IPV4] devinet: inetdev_init out label moved after RCU assignment\n\ninetdev_init out label moved after RCU assignment\n(final suggestion by Herbert Xu)\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@o2.pl\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "30c4cf577fb5b68c16e5750d6bdbd7072e42b279",
      "tree": "36f558c08ebdd1830536aab92b8abac79330cdbc",
      "parents": [
        "0d630cc0a6cb8ad544b5913a26ff1349ed7c8587"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Thu Jan 04 12:31:14 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 04 12:31:14 2007 -0800"
      },
      "message": "[IPV4/IPV6]: Fix inet{,6} device initialization order.\n\nIt is important that we only assign dev-\u003eip{,6}_ptr\nonly after all portions of the inet{,6} are setup.\n\nOtherwise we can receive packets before the multicast\nspinlocks et al. are initialized.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1f29bcd739972f71f2fd5d5d265daf3e1208fa5e",
      "tree": "96e20e4d0a077d813d8625d6919aba9bd0b5ed13",
      "parents": [
        "98d7340c360993fdd703609ff7462051e03cc2fb"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Dec 10 02:19:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:55:41 2006 -0800"
      },
      "message": "[PATCH] sysctl: remove unused \"context\" param\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "42e5ea466c1897c4ac2e3b4fe0b33a28e9e3d5de",
      "tree": "3184524900251020a19f338295473616e884be97",
      "parents": [
        "fac5d7315126f4b6745a8565c3a875617e02f8b8"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Nov 17 11:18:20 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:56 2006 -0800"
      },
      "message": "[IPV4]: Use kmemdup in net/ipv4/devinet.c\n\nCode diff stats:\n\n[acme@newtoy net-2.6.20]$ codiff /tmp/devinet.o.before /tmp/devinet.o.after\n/pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/devinet.c:\n  devinet_sysctl_register |  -38\n 1 function changed, 38 bytes removed\n[acme@newtoy net-2.6.20]$\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "714e85be3557222bc25f69c252326207c900a7db",
      "tree": "cb59a6d0a94245dc8575507386af1be31dd7fad9",
      "parents": [
        "252e33467a3b016f20dd8df12269cef3b167f21e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 20:51:49 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:50 2006 -0800"
      },
      "message": "[IPV6]: Assorted trivial endianness annotations.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "60cad5da5791ceb0beefe9a79b570cca45791f50",
      "tree": "a70aaf76021d0824855d48f975ac2a12a14a045d",
      "parents": [
        "a7a628c442ed28511e1569a975c993b27fa034f4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 22:17:09 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:05 2006 -0700"
      },
      "message": "[IPV4]: annotate inetdev.h helpers\n\ninet_confirm_addr(), inet_ifa_byprefix(), ip_dev_find(), inet_make_mask() and\ninet_ifa_match() annotated, along with inferred net-endian variables\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7a628c442ed28511e1569a975c993b27fa034f4",
      "tree": "f0fa844d3a742afbfff63c9a83919a44b8ae8d92",
      "parents": [
        "a144ea4b7a13087081ab5402fa9ad0bcfd249e67"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 22:16:43 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:04 2006 -0700"
      },
      "message": "[IPV4]: IFA_{LOCAL,ADDRESS,BROADCAST,ANYCAST} on ipv4 annotated\n\nuse be32 netlink accessors\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a144ea4b7a13087081ab5402fa9ad0bcfd249e67",
      "tree": "a0452a546c231d85a89e8920c26e5dec4595ba54",
      "parents": [
        "6d85c10abe840e98cbac673202fe7cc9ada2180c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Sep 28 18:00:55 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 28 18:00:55 2006 -0700"
      },
      "message": "[IPV4]: annotate struct in_ifaddr\n\nifa_local, ifa_address, ifa_mask, ifa_broadcast and ifa_anycast are\nnet-endian.  Annotated them and variables that are inferred to be\nnet-endian.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff428d72c59b35e4ba34bc1b487e707648010fe3",
      "tree": "27fca5deb97e0a91f731327d13510b0050863e7a",
      "parents": [
        "a60c4923da795c74db9ff61a60e2f1df5754e4ce"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 22:13:35 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:11 2006 -0700"
      },
      "message": "[IPV4]: inet_addr_onlink() annotated\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a61ced5d1c2e773620d7855ea2009d770c10a6e6",
      "tree": "ca9d49774eb4740a60e5338d4da51af1c8c862d6",
      "parents": [
        "011a92610826bdeec4b80ab423958d4c512639f6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 21:27:54 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:08 2006 -0700"
      },
      "message": "[IPV4]: inet_select_addr() annotations\n\nargument and return value are net-endian.  Annotated function and inferred\nnet-endian variables in callers.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "d6062cbbd1f5e92c94e5eae9ef1a280ed48d56d5",
      "tree": "1712e15976e15f63e2038772179276ffe926d336",
      "parents": [
        "dc738dd83e88c3c5de55431f8cfb758de5d4df48"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Aug 15 00:33:59 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:54:53 2006 -0700"
      },
      "message": "[IPv4] address: Convert address notification to use rtnl_notify()\n\nAdds support for NLM_F_ECHO allowing applications to easly\nsee which address have been deleted, added, or promoted.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1823730fbc89fadde72a7bb3b7bdf03cc7b8835c",
      "tree": "c11f23e7cc15f47d61994fc370ece9841203dec2",
      "parents": [
        "47f68512d2685431f1781830dfcbab31bda87644"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Fri Aug 04 23:04:54 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:47 2006 -0700"
      },
      "message": "[IPv4]: Move interface address bits to linux/if_addr.h\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47f68512d2685431f1781830dfcbab31bda87644",
      "tree": "3bf7335dd213ac1a51f497ee1f0c2ea49a26820a",
      "parents": [
        "dfdd5fd4e93d98e06be9ac9db84e3b98c6c26706"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Fri Aug 04 23:04:36 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:46 2006 -0700"
      },
      "message": "[IPV4]: Convert address dumping to new netlink api\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dfdd5fd4e93d98e06be9ac9db84e3b98c6c26706",
      "tree": "521f60c85516ace4a28db7c1e7a7a04e2a6557a2",
      "parents": [
        "5c7539781d392629fb40b04aad9a1f197b66cd01"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Fri Aug 04 23:04:17 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:45 2006 -0700"
      },
      "message": "[IPV4]: Convert address deletion to new netlink api\n\nFixes various unvalidated netlink attributes causing\nmemory corruptions when left empty by userspace.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c7539781d392629fb40b04aad9a1f197b66cd01",
      "tree": "4c625e6191c7dd9fdb7d2479993c4b94ea322290",
      "parents": [
        "bf8b79e444a748963c71d2a58709e1ce5597e1b5"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Fri Aug 04 23:03:53 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:45 2006 -0700"
      },
      "message": "[IPV4]: Convert address addition to new netlink api\n\nAdds rtm_to_ifaddr() transforming a netlink message to a\nstruct in_ifaddr. Fixes various unvalidated netlink attributes\ncausing memory corruptions when left empty by userspace\napplications.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1ef4bf23b1ced0bf78a1c98289f746486e5c912",
      "tree": "9085559a5bf39e2dffa33d2ae4548d7b15d27064",
      "parents": [
        "101367c2f8c464ea96643192673aa18d88e6336d"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Fri Aug 04 03:39:22 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:42 2006 -0700"
      },
      "message": "[IPV4]: Use Protocol Independant Policy Routing Rules Framework\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\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": "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": "6c97e72a162648eaf7c401cfc139493cefa6bed2",
      "tree": "c39ad40f44e0439cb7c30db3d394cb9c8496010c",
      "parents": [
        "f043ca43c1ae354346f72dc5826d820d5619f0b2"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Apr 12 13:57:59 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Apr 14 15:00:20 2006 -0700"
      },
      "message": "[IPV4]: Possible cleanups.\n\nThis patch contains the following possible cleanups:\n- make the following needlessly global function static:\n  - arp.c: arp_rcv()\n- remove the following unused EXPORT_SYMBOL\u0027s:\n  - devinet.c: devinet_ioctl\n  - fib_frontend.c: ip_rt_ioctl\n  - inet_hashtables.c: inet_bind_bucket_create\n  - inet_hashtables.c: inet_bind_hash\n  - tcp_input.c: sysctl_tcp_abc\n  - tcp_ipv4.c: sysctl_tcp_tw_reuse\n  - tcp_output.c: sysctl_tcp_mtu_probing\n  - tcp_output.c: sysctl_tcp_base_mss\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\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"
    },
    {
      "commit": "abd596a4b68b6526c2676233e10602dd9660e9d7",
      "tree": "4122bd7fc36c18ffb762ea8ae6d5c794c1924222",
      "parents": [
        "59f1741e541bf4f6139599389610a70de49c3ad2"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Mar 20 22:39:47 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:39:47 2006 -0800"
      },
      "message": "[IPV4] ARP: Alloc acceptance of unsolicited ARP via netdevice sysctl.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "28633514afd68afa77ed2fa34fa53626837bf2d5",
      "tree": "5f816a81d5aad85521b0c092885bd2b735bafd1d",
      "parents": [
        "a70ea994a0d83fd0151a070be72b87d014ef0a7e"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Thu Feb 09 16:40:58 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 09 16:43:41 2006 -0800"
      },
      "message": "[NETLINK]: illegal use of pid in rtnetlink\n\nWhen a netlink message is not related to a netlink socket,\nit is issued by kernel socket with pid 0. Netlink \"pid\" has nothing\nto do with current-\u003epid. I called it incorrectly, if it was named \"port\",\nthe confusion would be avoided.\n\nSigned-off-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4fc268d24ceb9f4150777c1b5b2b8e6214e56b2b",
      "tree": "d2aaf0b5986b03e6129ed3ccd65b9f706cd59c7f",
      "parents": [
        "16f7e0fe2ecc30f30652e8185e1772cdebe39109"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jan 11 12:17:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:14 2006 -0800"
      },
      "message": "[PATCH] capable/capability.h (net/)\n\nnet: Use \u003clinux/capability.h\u003e where capable() is used.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "14c850212ed8f8cbb5972ad6b8812e08a0bc901c",
      "tree": "53c88f03e7bbac4064f6e80d462ad484ee038326",
      "parents": [
        "25995ff577675b58dbd848b7758e7bad87411947"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 27 02:43:12 2005 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:21 2006 -0800"
      },
      "message": "[INET_SOCK]: Move struct inet_sock \u0026 helper functions to net/inet_sock.h\n\nTo help in reducing the number of include dependencies, several files were\ntouched as they were getting needed headers indirectly for stuff they use.\n\nThanks also to Alan Menegotto for pointing out that net/dccp/proto.c had\nlinux/dccp.h include twice.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ff60a45678e67b2547256a636fd00c1667ce4fa",
      "tree": "664625450d2821c2d22e35e3f9f22192bf41d7d4",
      "parents": [
        "c27bd492fd84c590767a3c0f9f74e637b17af138"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Tue Nov 22 14:47:37 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 22 14:47:37 2005 -0800"
      },
      "message": "[IPV4]: Fix secondary IP addresses after promotion\n\nThis patch fixes the problem with promoting aliases when:\na) a single primary and \u003e 1 secondary addresses\nb) multiple primary addresses each with at least one secondary address\n\nBased on earlier efforts from Brian Pomerantz \u003cbapper@piratehaven.org\u003e,\nPatrick McHardy \u003ckaber@trash.net\u003e and Thomas Graf \u003ctgraf@suug.ch\u003e\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dcab5e1eeccf5e226c771ecc013631cde157435f",
      "tree": "d0e6f0c63caee92c8ac86d24fb280a0c65be11d9",
      "parents": [
        "95df1c04ab3f7ca617774930df62c0893a188c2c"
      ],
      "author": {
        "name": "David Engel",
        "email": "gigem@comcast.net",
        "time": "Fri Oct 21 22:09:16 2005 -0500"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Wed Oct 26 01:20:21 2005 -0200"
      },
      "message": "[IPV4]: Fix setting broadcast for SIOCSIFNETMASK\n\nFix setting of the broadcast address when the netmask is set via\nSIOCSIFNETMASK in Linux 2.6.  The code wanted the old value of\nifa-\u003eifa_mask but used it after it had already been overwritten with\nthe new value.\n\nSigned-off-by: David Engel \u003cgigem@comcast.net\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "e5ed639913eea3e4783a550291775ab78dd84966",
      "tree": "e6e915aa686d2a7125181fc83a847e1955a8ba46",
      "parents": [
        "a5e7c210fefd2454c757a3542e41063407ca7108"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 03 14:35:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:35:55 2005 -0700"
      },
      "message": "[IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl\n\nThe following patch renames __in_dev_get() to __in_dev_get_rtnl() and\nintroduces __in_dev_get_rcu() to cover the second case.\n\n1) RCU with refcnt should use in_dev_get().\n2) RCU without refcnt should use __in_dev_get_rcu().\n3) All others must hold RTNL and use __in_dev_get_rtnl().\n\nThere is one exception in net/ipv4/route.c which is in fact a pre-existing\nrace condition.  I\u0027ve marked it as such so that we remember to fix it.\n\nThis patch is based on suggestions and prior work by Suzanne Wood and\nPaul McKenney.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac6d439d2097b72ea0cbc2322ce1263a38bc1fd0",
      "tree": "19e638a226993dddede5a2da577e2572f7555a95",
      "parents": [
        "d629b836d151d43332492651dd841d32e57ebe3b"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Aug 14 19:29:52 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:00:54 2005 -0700"
      },
      "message": "[NETLINK]: Convert netlink users to use group numbers instead of bitmasks\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "543537bd922692bc978e2e356fcd8bfc9c2ee7d5",
      "tree": "0089e3907e7d6c17c01cffc6ea4a8962ed053079",
      "parents": [
        "991114c6fa6a21d1fa4d544abe78592352860c82"
      ],
      "author": {
        "name": "Paulo Marques",
        "email": "pmarques@grupopie.com",
        "time": "Thu Jun 23 00:09:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:18 2005 -0700"
      },
      "message": "[PATCH] create a kstrdup library function\n\nThis patch creates a new kstrdup library function and changes the \"local\"\nimplementations in several places to use this function.\n\nMost of the changes come from the sound and net subsystems.  The sound part\nhad already been acknowledged by Takashi Iwai and the net part by David S.\nMiller.\n\nI left UML alone for now because I would need more time to read the code\ncarefully before making changes there.\n\nSigned-off-by: Paulo Marques \u003cpmarques@grupopie.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ed19f339e12e731986de84134ac293cd15910a7",
      "tree": "6a39cb14e7b51dcc3d1f31b0cf30801f27da9618",
      "parents": [
        "e431b8c004af6be03783dddea31b6e514118051d"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Sat Jun 18 22:55:51 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:55:51 2005 -0700"
      },
      "message": "[NETLINK]: Set correct pid for ioctl originating netlink events\n\nThis patch ensures that netlink events created as a result of programns\nusing ioctls (such as ifconfig, route etc) contains the correct PID of\nthose events.\n \nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6544c0b4cf2bd96195f3cdb7cebfb35090fc557",
      "tree": "717f69a0c204b12eeedb8035fb66c8e9bb2d5a09",
      "parents": [
        "1797754ea7ee5e0d859b0a32506ff999f8d5fb71"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Sat Jun 18 22:54:12 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:54:12 2005 -0700"
      },
      "message": "[NETLINK]: Correctly set NLM_F_MULTI without checking the pid\n\nThis patch rectifies some rtnetlink message builders that derive the\nflags from the pid. It is now explicit like the other cases\nwhich get it right. Also fixes half a dozen dumpers which did not\nset NLM_F_MULTI at all.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f937c6099858eee15fae14009dcbd05177fa91d",
      "tree": "c0aa5c7983c4402a46ea397b0612d5ecd3e9a853",
      "parents": [
        "79158229b09873ca296ac53de5c952488f944646"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@gnumonks.org",
        "time": "Sun May 29 20:23:46 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 29 20:23:46 2005 -0700"
      },
      "message": "[IPV4]: Primary and secondary addresses\n\nAdd an option to make secondary IP addresses get promoted\nwhen primary IP addresses are removed from the device.\nIt defaults to off to preserve existing behavior.\n\nSigned-off-by: Harald Welte \u003claforge@gnumonks.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "02c30a84e6298b6b20a56f0896ac80b47839e134",
      "tree": "031e9d68ad83c371af7ebeb6840f3ede52698663",
      "parents": [
        "125947f2ab8c45417feaa4a8800e89529ca4612f"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Thu May 05 16:16:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:49 2005 -0700"
      },
      "message": "[PATCH] update Ross Biro bouncing email address\n\nRoss moved.  Remove the bad email address so people will find the correct\none in ./CREDITS.\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "db46edc6d3b66bf708a8f23a9aa89f63a49ebe33",
      "tree": "7b3d9568a5561b5344e98dc8d881481420b8e581",
      "parents": [
        "f90a0a74b864fdc46737614f03b8868f4f31e3bf"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue May 03 14:29:39 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 14:29:39 2005 -0700"
      },
      "message": "[RTNETLINK] Cleanup rtnetlink_link tables\n\nConverts remaining rtnetlink_link tables to use c99 designated\ninitializers to make greping a little bit easier.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
