)]}'
{
  "log": [
    {
      "commit": "d6b00a5345ce4e86e8b00a88bb84a2c0c1f69ddc",
      "tree": "11d68bb08584fbbae02a7bf22599bdd67da4408e",
      "parents": [
        "bd414ee605ff3ac5fcd79f57269a897879ee4cde"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 16:34:45 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 16:55:49 2010 +0100"
      },
      "message": "netfilter: xtables: change targets to return error code\n\nPart of the transition of done by this semantic patch:\n// \u003csmpl\u003e\n@ rule1 @\nstruct xt_target ops;\nidentifier check;\n@@\n ops.checkentry \u003d check;\n\n@@\nidentifier rule1.check;\n@@\n check(...) { \u003c...\n-return true;\n+return 0;\n ...\u003e }\n\n@@\nidentifier rule1.check;\n@@\n check(...) { \u003c...\n-return false;\n+return -EINVAL;\n ...\u003e }\n// \u003c/smpl\u003e\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "bd414ee605ff3ac5fcd79f57269a897879ee4cde",
      "tree": "3cff5d1f3fd43791341e9cde23dabb4dfbc94bd3",
      "parents": [
        "135367b8f6a18507af6b9a6910a14b5699415309"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Mar 23 16:35:56 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 16:55:24 2010 +0100"
      },
      "message": "netfilter: xtables: change matches to return error code\n\nThe following semantic patch does part of the transformation:\n// \u003csmpl\u003e\n@ rule1 @\nstruct xt_match ops;\nidentifier check;\n@@\n ops.checkentry \u003d check;\n\n@@\nidentifier rule1.check;\n@@\n check(...) { \u003c...\n-return true;\n+return 0;\n ...\u003e }\n\n@@\nidentifier rule1.check;\n@@\n check(...) { \u003c...\n-return false;\n+return -EINVAL;\n ...\u003e }\n// \u003c/smpl\u003e\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "135367b8f6a18507af6b9a6910a14b5699415309",
      "tree": "462e8efb6f4e634421b5c01e96b02280c512eeab",
      "parents": [
        "b0f38452ff73da7e9e0ddc68cd5c6b93c897ca0d"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Fri Mar 19 17:16:42 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 16:04:33 2010 +0100"
      },
      "message": "netfilter: xtables: change xt_target.checkentry return type\n\nRestore function signatures from bool to int so that we can report\nmemory allocation failures or similar using -ENOMEM rather than\nalways having to pass -EINVAL back.\n\n// \u003csmpl\u003e\n@@\ntype bool;\nidentifier check, par;\n@@\n-bool check\n+int check\n (struct xt_tgchk_param *par) { ... }\n// \u003c/smpl\u003e\n\nMinus the change it does to xt_ct_find_proto.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "b0f38452ff73da7e9e0ddc68cd5c6b93c897ca0d",
      "tree": "fd1bbb75556c88a581fc9dfe9faa045578e468ff",
      "parents": [
        "9f5673174161cc026a6c87f70d9b457e7ad82a80"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Fri Mar 19 17:16:42 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 16:03:13 2010 +0100"
      },
      "message": "netfilter: xtables: change xt_match.checkentry return type\n\nRestore function signatures from bool to int so that we can report\nmemory allocation failures or similar using -ENOMEM rather than\nalways having to pass -EINVAL back.\n\nThis semantic patch may not be too precise (checking for functions\nthat use xt_mtchk_param rather than functions referenced by\nxt_match.checkentry), but reviewed, it produced the intended result.\n\n// \u003csmpl\u003e\n@@\ntype bool;\nidentifier check, par;\n@@\n-bool check\n+int check\n (struct xt_mtchk_param *par) { ... }\n// \u003c/smpl\u003e\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "9f5673174161cc026a6c87f70d9b457e7ad82a80",
      "tree": "c0f763f86b93a476837193c4621f431960745ff1",
      "parents": [
        "7911b5c75b613f533b6cb6f999041dd5ea3bb004"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Mar 23 17:40:13 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 16:03:12 2010 +0100"
      },
      "message": "netfilter: xtables: untangle spaghetti if clauses in checkentry\n\nAs I\u0027m changing the return values soon, I want to have a clear visual\npath.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "7911b5c75b613f533b6cb6f999041dd5ea3bb004",
      "tree": "234c6392cfc94fdd34830b543a5805f260dd0ccb",
      "parents": [
        "5d877d876cfb96c0c3254184171b4767501f4f95"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Mar 23 04:08:46 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 16:03:07 2010 +0100"
      },
      "message": "netfilter: ipvs: use NFPROTO values for NF_HOOK invocation\n\nSemantic patch:\n// \u003csmpl\u003e\n@@\n@@\n IP_VS_XMIT(\n-PF_INET6,\n+NFPROTO_IPV6,\n ...)\n\n@@\n@@\n IP_VS_XMIT(\n-PF_INET,\n+NFPROTO_IPV4,\n ...)\n// \u003c/smpl\u003e\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "5d877d876cfb96c0c3254184171b4767501f4f95",
      "tree": "6d57a3b4fbda96e442e47ce83cdaf5d14c767dbd",
      "parents": [
        "b2e0b385d77069031edb957839aaaa8441b47287"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Mar 23 04:09:14 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 16:03:06 2010 +0100"
      },
      "message": "netfilter: decnet: use NFPROTO values for NF_HOOK invocation\n\nThe semantic patch used was:\n// \u003csmpl\u003e\n@@\n@@\n NF_HOOK(\n-PF_DECnet,\n+NFPROTO_DECNET,\n ...)\n// \u003c/smpl\u003e\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "b2e0b385d77069031edb957839aaaa8441b47287",
      "tree": "7b0cd8ed74fd0f8ab6a198cd1be735c6a972517e",
      "parents": [
        "9bbc768aa911a3ef336272eaa6d220abfba8ce50"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Mar 23 04:09:07 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 16:00:49 2010 +0100"
      },
      "message": "netfilter: ipv6: use NFPROTO values for NF_HOOK invocation\n\nThe semantic patch that was used:\n// \u003csmpl\u003e\n@@\n@@\n(NF_HOOK\n|NF_HOOK_THRESH\n|nf_hook\n)(\n-PF_INET6,\n+NFPROTO_IPV6,\n ...)\n// \u003c/smpl\u003e\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "9bbc768aa911a3ef336272eaa6d220abfba8ce50",
      "tree": "2c2d421e273eb78f3b1d4533b3a8b0654bcd45c0",
      "parents": [
        "713aefa3fb3929ce36305d4d1b7b4059d87ed115"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Mar 23 04:07:29 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 16:00:30 2010 +0100"
      },
      "message": "netfilter: ipv4: use NFPROTO values for NF_HOOK invocation\n\nThe semantic patch that was used:\n// \u003csmpl\u003e\n@@\n@@\n(NF_HOOK\n|NF_HOOK_COND\n|nf_hook\n)(\n-PF_INET,\n+NFPROTO_IPV4,\n ...)\n// \u003c/smpl\u003e\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "713aefa3fb3929ce36305d4d1b7b4059d87ed115",
      "tree": "d73b898fa5920b434bffd60dce669c48758a2b5d",
      "parents": [
        "5dc7a6d5749d3ddbf9fbea9512cb45762428512c"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Mar 23 04:07:21 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 16:00:29 2010 +0100"
      },
      "message": "netfilter: bridge: use NFPROTO values for NF_HOOK invocation\n\nThe first argument to NF_HOOK* is an nfproto since quite some time.\nCommit v2.6.27-2457-gfdc9314 was the first to practically start using\nthe new names. Do that now for the remaining NF_HOOK calls.\n\nThe semantic patch used was:\n// \u003csmpl\u003e\n@@\n@@\n(NF_HOOK\n|NF_HOOK_THRESH\n)(\n-PF_BRIDGE,\n+NFPROTO_BRIDGE,\n ...)\n\n@@\n@@\n NF_HOOK(\n-PF_INET6,\n+NFPROTO_IPV6,\n ...)\n\n@@\n@@\n NF_HOOK(\n-PF_INET,\n+NFPROTO_IPV4,\n ...)\n// \u003c/smpl\u003e\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "5dc7a6d5749d3ddbf9fbea9512cb45762428512c",
      "tree": "c70d10a2bd3d67202534b6e0e4f4495b357138b4",
      "parents": [
        "fd0ec0e6216baea854465bbdb177f2d1b2ccaf22"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Fri Mar 19 21:29:08 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 15:02:20 2010 +0100"
      },
      "message": "netfilter: xt_recent: allow changing ip_list_[ug]id at runtime\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "fd0ec0e6216baea854465bbdb177f2d1b2ccaf22",
      "tree": "47a935d96deae38aa0a030039e303b071a7803e0",
      "parents": [
        "d2a7b6bad2c38e41eddb0b24d03627d9e7aa3f7b"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Fri Jul 10 19:27:47 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 15:02:19 2010 +0100"
      },
      "message": "netfilter: xtables: consolidate code into xt_request_find_match\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "d2a7b6bad2c38e41eddb0b24d03627d9e7aa3f7b",
      "tree": "826eb9d112029819aa44925346a55f887b1c3baf",
      "parents": [
        "ff67e4e42bd178b1179c4d8e5c1fde18758ce84f"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Fri Jul 10 18:55:11 2009 +0200"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 15:02:19 2010 +0100"
      },
      "message": "netfilter: xtables: make use of xt_request_find_target\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "ff67e4e42bd178b1179c4d8e5c1fde18758ce84f",
      "tree": "5d4cc857d4bac40c3d78f90f8e21f12c424737a4",
      "parents": [
        "0d34545563f99886b997be7da63f0e8084af3bc5"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Fri Mar 19 21:08:16 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 15:00:04 2010 +0100"
      },
      "message": "netfilter: xt extensions: use pr_\u003clevel\u003e (2)\n\nSupplement to 1159683ef48469de71dc26f0ee1a9c30d131cf89.\n\nDowngrade the log level to INFO for most checkentry messages as they\nare, IMO, just an extra information to the -EINVAL code that is\nreturned as part of a parameter \"constraint violation\". Leave errors\nto real errors, such as being unable to create a LED trigger.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "0d34545563f99886b997be7da63f0e8084af3bc5",
      "tree": "92b5212ed186ba719ce12e02d3bdb4330b3d1727",
      "parents": [
        "2c46cd8163b25bf6f38e612e9f1d162f0357c8f1"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Fri Mar 19 18:47:51 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 25 02:54:51 2010 +0100"
      },
      "message": "netfilter: xtables: make use of caller family rather than target family\n\nSupplement to aa5fa3185791aac71c9172d4fda3e8729164b5d1.\nThe semantic patch for this change is:\n\n// \u003csmpl\u003e\n@@\nstruct xt_target_param *par;\n@@\n-par-\u003etarget-\u003efamily\n+par-\u003efamily\n\n@@\nstruct xt_tgchk_param *par;\n@@\n-par-\u003etarget-\u003efamily\n+par-\u003efamily\n\n@@\nstruct xt_tgdtor_param *par;\n@@\n-par-\u003etarget-\u003efamily\n+par-\u003efamily\n// \u003c/smpl\u003e\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "2c46cd8163b25bf6f38e612e9f1d162f0357c8f1",
      "tree": "12d374e94a183af8729273d314b5a70f4226a1e8",
      "parents": [
        "1159683ef48469de71dc26f0ee1a9c30d131cf89"
      ],
      "author": {
        "name": "Zhitong Wang",
        "email": "zhitong.wangzt@alibaba-inc.com",
        "time": "Fri Mar 19 16:04:10 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 19 16:04:10 2010 +0100"
      },
      "message": "netfilter: remove unused headers in net/ipv4/netfilter/nf_nat_h323.c\n\nRemove unused headers in net/ipv4/netfilter/nf_nat_h323.c\n\nSigned-off-by: Zhitong Wang \u003czhitong.wangzt@alibaba-inc.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "1159683ef48469de71dc26f0ee1a9c30d131cf89",
      "tree": "3e9c5aba8d6b8cdfca3f571ad690e6b09e6af881",
      "parents": [
        "8bee4bad03c5b601bd6cea123c31025680587ccc"
      ],
      "author": {
        "name": "Zhitong Wang",
        "email": "zhitong.wangzt@alibaba-inc.com",
        "time": "Fri Mar 19 16:01:54 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Mar 19 16:01:54 2010 +0100"
      },
      "message": "netfilter: remove unused headers in net/ipv6/netfilter/ip6t_LOG.c\n\nRemove unused headers in net/ipv6/netfilter/ip6t_LOG.c\n\nSigned-off-by: Zhitong Wang \u003czhitong.wangzt@alibaba-inc.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "8bee4bad03c5b601bd6cea123c31025680587ccc",
      "tree": "d3eb075492251d8ee16ac1282722b7fa66f9368c",
      "parents": [
        "be91fd5e323b46450ca82f6828e933e3791fb2f2"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Mar 17 16:04:40 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 14:20:07 2010 +0100"
      },
      "message": "netfilter: xt extensions: use pr_\u003clevel\u003e\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "be91fd5e323b46450ca82f6828e933e3791fb2f2",
      "tree": "1a664fb7887e8a0d7f1507780d3533e669e1c3a3",
      "parents": [
        "85bc3f38147c5d3fb1eb9ca2236536389b592cae"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 02:22:32 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 14:20:07 2010 +0100"
      },
      "message": "netfilter: xtables: replace custom duprintf with pr_debug\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "85bc3f38147c5d3fb1eb9ca2236536389b592cae",
      "tree": "1e853e78c883c5a2dcf72e7d432e7ebf6be04973",
      "parents": [
        "f5c511c67aaec323c186543856cfddab31bed1d1"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 00:27:03 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 14:20:07 2010 +0100"
      },
      "message": "netfilter: xtables: do not print any messages on ENOMEM\n\nENOMEM is a very obvious error code (cf. EINVAL), so I think we do not\nreally need a warning message. Not to mention that if the allocation\nfails, the user is most likely going to get a stack trace from slab\nalready.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "f5c511c67aaec323c186543856cfddab31bed1d1",
      "tree": "f8e13514ea497f75eeb7f89e3bfc6509c069b0ee",
      "parents": [
        "4f948db1915ff05e4ce0fd98e6323db6a3ec0fc0"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 14:02:10 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 14:20:07 2010 +0100"
      },
      "message": "netfilter: xtables: reduce holes in struct xt_target\n\nThis will save one full padding chunk (8 bytes on x86_64) per target.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "4f948db1915ff05e4ce0fd98e6323db6a3ec0fc0",
      "tree": "26960e5aa3ce14de1fbfcff6f0f602c0056f7869",
      "parents": [
        "16599786ae5e9d5f936706d2202d8c7224cd51ed"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 11:03:51 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 14:20:07 2010 +0100"
      },
      "message": "netfilter: xtables: remove almost-unused xt_match_param.data member\n\nThis member is taking up a \"long\" per match, yet is only used by one\nmodule out of the roughly 90 modules, ip6t_hbh. ip6t_hbh can be\nrestructured a little to accomodate for the lack of the .data member.\nThis variant uses checking the par-\u003ematch address, which should avoid\nhaving to add two extra functions, including calls, i.e.\n\n(hbh_mt6: call hbhdst_mt6(skb, par, NEXTHDR_OPT),\ndst_mt6: call hbhdst_mt6(skb, par, NEXTHDR_DEST))\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "16599786ae5e9d5f936706d2202d8c7224cd51ed",
      "tree": "13420246d8f2ae6c6d232425f598244f814c779f",
      "parents": [
        "aa5fa3185791aac71c9172d4fda3e8729164b5d1"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 10:30:44 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 14:20:07 2010 +0100"
      },
      "message": "netfilter: update documentation fields of x_tables.h\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "aa5fa3185791aac71c9172d4fda3e8729164b5d1",
      "tree": "ed49f5c01d7bdb0e994243c3a0888b4a54bb6981",
      "parents": [
        "115bc8f2874078e6ac78d88652a91b58447d5f4d"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 00:44:52 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 14:20:06 2010 +0100"
      },
      "message": "netfilter: xtables: make use of caller family rather than match family\n\nThe matches can have .family \u003d NFPROTO_UNSPEC, and though that is not\nthe case for the touched modules, it seems better to just use the\nnfproto from the caller.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "115bc8f2874078e6ac78d88652a91b58447d5f4d",
      "tree": "984a7352e6bea02df088b65e83e2de89bee32724",
      "parents": [
        "e5042a290097b7c2fc9b6a247585b6ed07b13026"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Mar 16 20:06:55 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 14:20:06 2010 +0100"
      },
      "message": "netfilter: xtables: resort osf kconfig text\n\nRestore alphabetical ordering of the list and put the xt_osf option\ninto its \u0027right\u0027 place again.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "e5042a290097b7c2fc9b6a247585b6ed07b13026",
      "tree": "b5eae5b4eb0c45c93fb4c752c164419c7e01535e",
      "parents": [
        "1d1c397db95f1c0cd95f6fa633c1e68acfaacec3"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Mar 16 21:44:44 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 14:20:06 2010 +0100"
      },
      "message": "netfilter: xtables: limit xt_mac to ethernet devices\n\nI do not see a point of allowing the MAC module to work with devices\nthat don\u0027t possibly have one, e.g. various tunnel interfaces such as\ntun and sit.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "1d1c397db95f1c0cd95f6fa633c1e68acfaacec3",
      "tree": "a73194780ee95ca32ceae75a8be425060b420169",
      "parents": [
        "7d5f7ed802507999c22949b84686d03987fe57ec"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Mar 16 21:09:04 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 14:20:06 2010 +0100"
      },
      "message": "netfilter: xtables: clean up xt_mac match routine\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "7d5f7ed802507999c22949b84686d03987fe57ec",
      "tree": "2318dbfb05f02c258a05a8616a16cbfec10f65ab",
      "parents": [
        "e8a96f69383f3d88cdc06d8ccd450f70c48628a3"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Mar 09 23:27:24 2010 +0100"
      },
      "committer": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 18 14:20:06 2010 +0100"
      },
      "message": "netfilter: xtables: do without explicit XT_ALIGN\n\nXT_ALIGN is already applied on matchsize/targetsize in x_tables.c,\nso it is not strictly needed in the extensions.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "e8a96f69383f3d88cdc06d8ccd450f70c48628a3",
      "tree": "b8ce41ee20eb379731e7592d7b6fb17471918a61",
      "parents": [
        "c01ae818a3e3578747861d9a0c7fabe9641786c1",
        "1da05f50f6a766c7611102382f85183b4db96c2d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Mar 18 12:55:50 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Mar 18 12:55:50 2010 +0100"
      },
      "message": "Merge branch \u0027master\u0027 of ../nf-2.6\n"
    },
    {
      "commit": "c01ae818a3e3578747861d9a0c7fabe9641786c1",
      "tree": "ad82c1a2529db9533702a037061f74c1a23d77e8",
      "parents": [
        "606a9a02633c02d0e09fc96706f041053dbc57ee"
      ],
      "author": {
        "name": "Zhitong Wang",
        "email": "zhitong.wangzt@alibaba-inc.com",
        "time": "Wed Mar 17 16:28:25 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 17 16:28:25 2010 +0100"
      },
      "message": "netfilter: remove unused headers in net/netfilter/nfnetlink.c\n\nRemove unused headers in net/netfilter/nfnetlink.c\n\nSigned-off-by: Zhitong Wang \u003czhitong.wangzt@alibaba-inc.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "606a9a02633c02d0e09fc96706f041053dbc57ee",
      "tree": "815148645d417a184479d9b83813c53441809e59",
      "parents": [
        "0079c5aee34880bcee7feee9960f0502c73dc5fa"
      ],
      "author": {
        "name": "Tim Gardner",
        "email": "tim.gardner@canonical.com",
        "time": "Wed Mar 17 16:18:56 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 17 16:18:56 2010 +0100"
      },
      "message": "netfilter: xt_recent: check for unsupported user space flags\n\nSigned-off-by: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "0079c5aee34880bcee7feee9960f0502c73dc5fa",
      "tree": "a828b04c52f6650cbd654ca7b7de5ccdab5762c7",
      "parents": [
        "5be4a4f589841ef06fd79b241de3d5353a6c5efa"
      ],
      "author": {
        "name": "Tim Gardner",
        "email": "tim.gardner@canonical.com",
        "time": "Tue Mar 16 19:53:13 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 17 15:53:12 2010 +0100"
      },
      "message": "netfilter: xt_recent: add an entry reaper\n\nOne of the problems with the way xt_recent is implemented is that\nthere is no efficient way to remove expired entries. Of course,\none can write a rule \u0027-m recent --remove\u0027, but you have to know\nbeforehand which entry to delete. This commit adds reaper\nlogic which checks the head of the LRU list when a rule\nis invoked that has a \u0027--seconds\u0027 value and XT_RECENT_REAP set. If an\nentry ceases to accumulate time stamps, then it will eventually bubble\nto the top of the LRU list where it is then reaped.\n\nSigned-off-by: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "5be4a4f589841ef06fd79b241de3d5353a6c5efa",
      "tree": "d2c85b4a0d40087117fb75c548cdcc9b1d9ea81b",
      "parents": [
        "06bf514e3199150c715ab72e8e0e335ae8f99666"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Mar 01 11:55:33 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 17 15:53:11 2010 +0100"
      },
      "message": "netfilter: xt_recent: remove old proc directory\n\nThe compat option was introduced in October 2008.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "06bf514e3199150c715ab72e8e0e335ae8f99666",
      "tree": "10bf89c517bc00e90dea8006fd2d249b424ca565",
      "parents": [
        "8244f4baf5e1793a75a1d4409efc3e2d9d71c9cb"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sun Feb 28 23:22:35 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 17 15:53:11 2010 +0100"
      },
      "message": "netfilter: xt_recent: update description\n\nIt had IPv6 for quite a while already :-)\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "8244f4baf5e1793a75a1d4409efc3e2d9d71c9cb",
      "tree": "60e4936fbda58f0f65336a09cde7ca6f7eaec032",
      "parents": [
        "408ffaa4a11ddd6f730be520479fd5cd890c57d3"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sun Feb 28 23:22:04 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 17 15:53:11 2010 +0100"
      },
      "message": "netfilter: ebt_ip6: add principal maintainer in a MODULE_AUTHOR tag\n\nCc: Kuo-Lang Tseng \u003ckuo-lang.tseng@intel.com\u003e\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "408ffaa4a11ddd6f730be520479fd5cd890c57d3",
      "tree": "e8da2ffc78b8502856ca34794814ee71f880e160",
      "parents": [
        "0cb47ea24d2f72ca91bbe60e1c831f57e03efa20"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sun Feb 28 23:19:52 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 17 15:53:10 2010 +0100"
      },
      "message": "netfilter: update my email address\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "0cb47ea24d2f72ca91bbe60e1c831f57e03efa20",
      "tree": "952541a0784e603dcbc3e0e3530ae3c4adc27508",
      "parents": [
        "b8f00ba27e4acc4a2224360ce3aa8a22354434c5"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Mar 16 18:25:12 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 17 15:53:10 2010 +0100"
      },
      "message": "netfilter: xtables: schedule xt_NOTRACK for removal\n\nIt is being superseded by xt_CT (-j CT --notrack).\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "b8f00ba27e4acc4a2224360ce3aa8a22354434c5",
      "tree": "60b9e536bc19ba6d4ddacd4bac5ebec1da9dc1d7",
      "parents": [
        "28b949885f80efb87d7cebdcf879c99db12c37bd"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Fri Feb 26 14:20:32 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 17 15:48:36 2010 +0100"
      },
      "message": "netfilter: xtables: merge xt_CONNMARK into xt_connmark\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "28b949885f80efb87d7cebdcf879c99db12c37bd",
      "tree": "f6c0acd5646a899c7eebb91fee856eebd8cbca83",
      "parents": [
        "44c5873199a90a45e9d64a86a1f54b1ccab21ec8"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Sat Feb 28 03:23:57 2009 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 17 15:48:36 2010 +0100"
      },
      "message": "netfilter: xtables: merge xt_MARK into xt_mark\n\nTwo arguments for combining the two:\n- xt_mark is pretty useless without xt_MARK\n- the actual code is so small anyway that the kmod metadata and the module\n  in its loaded state totally outweighs the combined actual code size.\n\ni586-before:\n-rw-r--r-- 1 jengelh users 3821 Feb 10 01:01 xt_MARK.ko\n-rw-r--r-- 1 jengelh users 2592 Feb 10 00:04 xt_MARK.o\n-rw-r--r-- 1 jengelh users 3274 Feb 10 01:01 xt_mark.ko\n-rw-r--r-- 1 jengelh users 2108 Feb 10 00:05 xt_mark.o\n   text    data     bss     dec     hex filename\n    354     264       0     618     26a xt_MARK.o\n    223     176       0     399     18f xt_mark.o\nAnd the runtime size is like 14 KB.\n\ni586-after:\n-rw-r--r-- 1 jengelh users 3264 Feb 18 17:28 xt_mark.o\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "44c5873199a90a45e9d64a86a1f54b1ccab21ec8",
      "tree": "a8b831b960e7e3b68299413b3869bcbd197a5452",
      "parents": [
        "f76a47c83247b453f25629618056a6d2c1e39103"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Fri Feb 26 14:14:22 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 17 15:48:35 2010 +0100"
      },
      "message": "netfilter: xtables: add comment markers to Xtables Kconfig\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "f76a47c83247b453f25629618056a6d2c1e39103",
      "tree": "e64261ff64e89b4853e7c25519f150e93ff90106",
      "parents": [
        "076f7839dd30b379f3cd468b13cf513cdcd5cee7"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Fri Jun 05 15:22:15 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 17 15:48:35 2010 +0100"
      },
      "message": "netfilter: xt_NFQUEUE: consolidate v4/v6 targets into one\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "076f7839dd30b379f3cd468b13cf513cdcd5cee7",
      "tree": "5a40afcc0d50c9eb8f0489340e65f6495168b8a2",
      "parents": [
        "e50208a080a8abdfa6c85865362a1cf329e9fe31"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 11 00:38:44 2010 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 17 15:48:35 2010 +0100"
      },
      "message": "netfilter: xt_CT: par-\u003efamily is an nfproto\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\n"
    },
    {
      "commit": "e50208a080a8abdfa6c85865362a1cf329e9fe31",
      "tree": "0e02999c4e2eed2f8e37fcd12792a4ade88e2c9c",
      "parents": [
        "fa05e1ad1b61b37fb64a66794c11ab478e975c56"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 23:36:24 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 23:36:24 2010 -0700"
      },
      "message": "e1000e: Fix build with CONFIG_PM disabled.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa05e1ad1b61b37fb64a66794c11ab478e975c56",
      "tree": "a263b733667b15857e823c10aed7afb721060406",
      "parents": [
        "abf35df21513c51d7761c41fa6d3b819cdf4103e"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Mar 16 21:24:32 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:24:32 2010 -0700"
      },
      "message": "drivers/net/e100.c: Use pr_\u003clevel\u003e and netif_\u003clevel\u003e\n\nConvert DPRINTK, commonly used for debugging, to netif_\u003clevel\u003e\nRemove #define PFX\nUse #define pr_fmt\nConsistently use no periods for non-sentence logging messages\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abf35df21513c51d7761c41fa6d3b819cdf4103e",
      "tree": "3152b04190035149aba67936ef0cff81cc6af3a0",
      "parents": [
        "23606cf5d1192c2b17912cb2ef6e62f9b11de133"
      ],
      "author": {
        "name": "Jason Gunthorpe",
        "email": "jgunthorpe@obsidianresearch.com",
        "time": "Tue Mar 09 09:17:42 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:23:42 2010 -0700"
      },
      "message": "NET: Support clause 45 MDIO commands at the MDIO bus level\n\nIEEE 802.3ae clause 45 specifies a somewhat modified MDIO protocol\nfor use by 10GIGE phys. The main change is a 21 bit address split into\na 5 bit device ID and a 16 bit register offset. The definition is designed\nso that normal and extended devices can run on the same MDIO bus.\n\nExtend mdio-bitbang to do the new protocol. At the MDIO bus level the\nprotocol is requested by or\u0027ing MII_ADDR_C45 into the register offset.\n\nMake phy_read/phy_write/etc pass a full 32 bit register offset.\n\nThis does not attempt to make the phy layer support C45 style PHYs, just\nto provide the MDIO bus support.\n\nTested against a Broadcom 10GE phy with ID 0x206034, and several\nBroadcom 10/100/1000 Phys in normal mode.\n\nSigned-off-by: Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23606cf5d1192c2b17912cb2ef6e62f9b11de133",
      "tree": "185de39a532ee3ce06f3f083bfcebad48beddbe0",
      "parents": [
        "e175944115db6762d3e98520c709e5a87f933c61"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Mar 14 14:35:17 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:23:35 2010 -0700"
      },
      "message": "e1000e / PCI / PM: Add basic runtime PM support (rev. 4)\n\nUse the PCI runtime power management framework to add basic PCI\nruntime PM support to the e1000e driver.  Namely, make the driver\nsuspend the device when the link is off and set it up for generating\na wakeup event after the link has been detected again.  [This\nfeature is disabled until the user space enables it with the help of\nthe /sys/devices/.../power/contol device attribute.]\n\nBased on a patch from Matthew Garrett.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e175944115db6762d3e98520c709e5a87f933c61",
      "tree": "b02c9f6128847c46a22504ee38357b4009022fc0",
      "parents": [
        "ff6e2163f28a1094fb5ca5950fe2b43c3cf6bc7a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Mar 14 14:33:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:23:34 2010 -0700"
      },
      "message": "r8169 / PCI / PM: Add simplified runtime PM support (rev. 3)\n\nUse the PCI runtime power management framework to add basic PCI\nruntime PM support to the r8169 driver.  Namely, make the driver\nsuspend the device when the link is not present and set it up for\ngenerating a wakeup event after the link has been detected again.\n[This feature is disabled until the user space enables it with the\nhelp of the /sys/devices/.../power/contol device attribute.]\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff6e2163f28a1094fb5ca5950fe2b43c3cf6bc7a",
      "tree": "38673e8515a0948ed435dc0b9403c62269c7f8f4",
      "parents": [
        "0dc7d2b3cbfcf4ff20bdc68f563a2e52e6a2178f"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Mon Mar 01 05:09:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:23:25 2010 -0700"
      },
      "message": "net: convert multiple drivers to use netdev_for_each_mc_addr, part7\n\nIn mlx4, using char * to store mc address in private structure instead.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0dc7d2b3cbfcf4ff20bdc68f563a2e52e6a2178f",
      "tree": "9f81abd6d5d494230a4d23b1a27f399f5832f9e7",
      "parents": [
        "ca50910185fcce694af0cc194de50d2374a7c7ef"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sat Feb 27 14:43:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:23:25 2010 -0700"
      },
      "message": "drivers/net/ks*: Use netdev_\u003clevel\u003e, netif_\u003clevel\u003e and pr_\u003clevel\u003e\n\nI\u0027m not sure this is correct.\n\nIt changes logging macros from:\n\tdev_\u003clevel\u003e(\u0026ks-\u003espidev-\u003edev,\nto\n\tnetdev_\u003clevel\u003e(ks-\u003enetdev,\n\nComments?\n\nUse netdev_\u003clevel\u003e\nUse netif_\u003clevel\u003e\nUse pr_\u003clevel\u003e\nAdd #define pr_fmt(fmt) KBUILD_MODNAME \": \" fmt\nAdd missing line to message in ks8851_remove\nChange kmalloc/memset(,0) to kzalloc\nRemove ks_\u003clevel\u003e macros\nConsolidation code into set_media_state\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca50910185fcce694af0cc194de50d2374a7c7ef",
      "tree": "536680f779e146ba2f793c6139e569c8af8178d6",
      "parents": [
        "1a624832a06b465d0e5651901bcbc3680c78d374"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Mar 15 07:58:45 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:23:24 2010 -0700"
      },
      "message": "tipc: Allow retransmission of cloned buffers\n\nForward port commit\nfc477e160af086f6e30c3d4fdf5f5c000d29beb5\nfrom git://tipc.cslab.ericsson.net/pub/git/people/allan/tipc.git\n\nOrigional commit message:\n\nAllow retransmission of cloned buffers\n\nThis patch fixes an issue with TIPC\u0027s message retransmission logic\nthat prevented retransmission of clone sk_buffs.  Originally intended\nas a means of avoiding wasted work in retransmitting messages that\nwere still on the driver\u0027s outbound queue, it also prevented TIPC\nfrom retransmitting messages through other means -- such as the\nsecondary bearer of the broadcast link, or another interface in a\nset of bonded interfaces.  This fix removes existing checks for\ncloned sk_buffs that prevented such retransmission.\n\nOrigionally-Signed-off-by: Allan Stephens \u003callan.stephens@windriver.com\u003e\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a624832a06b465d0e5651901bcbc3680c78d374",
      "tree": "b8a4eb2917e5e02f410a9563a7fbf268fabc9d44",
      "parents": [
        "10708f37ae729baba9b67bd134c3720709d4ae62"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Mar 15 08:02:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:23:23 2010 -0700"
      },
      "message": "tipc: Increase frequency of load distribution over broadcast link\n\nForward port commit 29eb572941501c40ac6e62dbc5043bf9ee76ee56\nfrom git://tipc.cslab.ericsson.net/pub/git/people/allan/tipc.git\n\nOrigional commit message:\nIncrease frequency of load distribution over broadcast link\n\nThis patch enhances the behavior of TIPC\u0027s broadcast link so that it\nalternates between redundant bearers (if available) after every\nmessage sent, rather than after every 10 messages.  This change helps\nto speed up delivery of retransmitted messages by ensuring that\nthey are not sent repeatedly over a bearer that is no longer working,\nbut not yet recognized as failed.\n\nTested by myself in the latest net-2.6 tree using the tipc sanity test suite\n\nOrigionally-signed-off-by: Allan Stephens \u003callan.stephens@windriver.com\u003e\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n\nbcast.c |   35 ++++++++++++++---------------------\n1 file changed, 14 insertions(+), 21 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "10708f37ae729baba9b67bd134c3720709d4ae62",
      "tree": "fa3e20c31e7d6907668d45eee702d02d646cae8f",
      "parents": [
        "6ce1a6df6efbbeaa262a225a1a439ebc30a75d2e"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 11 09:57:29 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:23:22 2010 -0700"
      },
      "message": "net: core: add IFLA_STATS64 support\n\n`ip -s link` shows interface counters truncated to 32 bit. This is\nbecause interface statistics are transported only in 32-bit quantity\nto userspace. This commit adds a new IFLA_STATS64 attribute that\nexports them in full 64 bit.\n\nReferences: http://lkml.indiana.edu/hypermail/linux/kernel/0307.3/0215.html\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ce1a6df6efbbeaa262a225a1a439ebc30a75d2e",
      "tree": "0d16b7e04b3b5f9d58a74ba1d0ec9a1cc6540ca6",
      "parents": [
        "dd2acaa7bcb150dadac0b17c8eb654b0712a62ab"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 11 09:57:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:23:21 2010 -0700"
      },
      "message": "net: tcp: make veno selectable as default congestion module\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd2acaa7bcb150dadac0b17c8eb654b0712a62ab",
      "tree": "5abf928b75036f6c453cb213af2538d63d986eac",
      "parents": [
        "2fb3573dfbca0bd853ddc1e47617eb446fa3deae"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Mar 11 09:57:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:23:20 2010 -0700"
      },
      "message": "net: tcp: make hybla selectable as default congestion module\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2fb3573dfbca0bd853ddc1e47617eb446fa3deae",
      "tree": "790601c538c5b9d1d80bb5f2779c77ebb54354db",
      "parents": [
        "14bb4789833a2e2610f30e2d3e1451701ac96ec1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Mar 09 20:03:38 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:23:19 2010 -0700"
      },
      "message": "net: remove rcu locking from fib_rules_event()\n\nWe hold RTNL at this point and dont use RCU variants of list traversals,\nwe dont need rcu_read_lock()/rcu_read_unlock()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14bb4789833a2e2610f30e2d3e1451701ac96ec1",
      "tree": "992a40f1c885d22f6bce27d270e5839b1d8d121b",
      "parents": [
        "0a9627f2649a02bea165cfd529d7bcb625c2fcad"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Mar 02 13:32:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:23:19 2010 -0700"
      },
      "message": "bridge: per-cpu packet statistics (v3)\n\nThe shared packet statistics are a potential source of slow down\non bridged traffic. Convert to per-cpu array, but only keep those\nstatistics which change per-packet.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a9627f2649a02bea165cfd529d7bcb625c2fcad",
      "tree": "e5d4424b99208c78e2b2fe6ff5a158fc21bdf782",
      "parents": [
        "768bbedf9ca4cc4784eae2003f37abe0818fe0b0"
      ],
      "author": {
        "name": "Tom Herbert",
        "email": "therbert@google.com",
        "time": "Tue Mar 16 08:03:29 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:23:18 2010 -0700"
      },
      "message": "rps: Receive Packet Steering\n\nThis patch implements software receive side packet steering (RPS).  RPS\ndistributes the load of received packet processing across multiple CPUs.\n\nProblem statement: Protocol processing done in the NAPI context for received\npackets is serialized per device queue and becomes a bottleneck under high\npacket load.  This substantially limits pps that can be achieved on a single\nqueue NIC and provides no scaling with multiple cores.\n\nThis solution queues packets early on in the receive path on the backlog queues\nof other CPUs.   This allows protocol processing (e.g. IP and TCP) to be\nperformed on packets in parallel.   For each device (or each receive queue in\na multi-queue device) a mask of CPUs is set to indicate the CPUs that can\nprocess packets. A CPU is selected on a per packet basis by hashing contents\nof the packet header (e.g. the TCP or UDP 4-tuple) and using the result to index\ninto the CPU mask.  The IPI mechanism is used to raise networking receive\nsoftirqs between CPUs.  This effectively emulates in software what a multi-queue\nNIC can provide, but is generic requiring no device support.\n\nMany devices now provide a hash over the 4-tuple on a per packet basis\n(e.g. the Toeplitz hash).  This patch allow drivers to set the HW reported hash\nin an skb field, and that value in turn is used to index into the RPS maps.\nUsing the HW generated hash can avoid cache misses on the packet when\nsteering it to a remote CPU.\n\nThe CPU mask is set on a per device and per queue basis in the sysfs variable\n/sys/class/net/\u003cdevice\u003e/queues/rx-\u003cn\u003e/rps_cpus.  This is a set of canonical\nbit maps for receive queues in the device (numbered by \u003cn\u003e).  If a device\ndoes not support multi-queue, a single variable is used for the device (rx-0).\n\nGenerally, we have found this technique increases pps capabilities of a single\nqueue device with good CPU utilization.  Optimal settings for the CPU mask\nseem to depend on architectures and cache hierarcy.  Below are some results\nrunning 500 instances of netperf TCP_RR test with 1 byte req. and resp.\nResults show cumulative transaction rate and system CPU utilization.\n\ne1000e on 8 core Intel\n   Without RPS: 108K tps at 33% CPU\n   With RPS:    311K tps at 64% CPU\n\nforcedeth on 16 core AMD\n   Without RPS: 156K tps at 15% CPU\n   With RPS:    404K tps at 49% CPU\n\nbnx2x on 16 core AMD\n   Without RPS  567K tps at 61% CPU (4 HW RX queues)\n   Without RPS  738K tps at 96% CPU (8 HW RX queues)\n   With RPS:    854K tps at 76% CPU (4 HW RX queues)\n\nCaveats:\n- The benefits of this patch are dependent on architecture and cache hierarchy.\nTuning the masks to get best performance is probably necessary.\n- This patch adds overhead in the path for processing a single packet.  In\na lightly loaded server this overhead may eliminate the advantages of\nincreased parallelism, and possibly cause some relative performance degradation.\nWe have found that masks that are cache aware (share same caches with\nthe interrupting CPU) mitigate much of this.\n- The RPS masks can be changed dynamically, however whenever the mask is changed\nthis introduces the possibility of generating out of order packets.  It\u0027s\nprobably best not change the masks too frequently.\n\nSigned-off-by: Tom Herbert \u003ctherbert@google.com\u003e\n\n include/linux/netdevice.h |   32 ++++-\n include/linux/skbuff.h    |    3 +\n net/core/dev.c            |  335 +++++++++++++++++++++++++++++++++++++--------\n net/core/net-sysfs.c      |  225 ++++++++++++++++++++++++++++++-\n net/core/skbuff.c         |    2 +\n 5 files changed, 538 insertions(+), 59 deletions(-)\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "768bbedf9ca4cc4784eae2003f37abe0818fe0b0",
      "tree": "8dbf42a46924c7403f29a530a09b371e5b9dd183",
      "parents": [
        "561c7df63e259203515509a7ad075382a42bff0c"
      ],
      "author": {
        "name": "Tina Yang",
        "email": "tina.yang@oracle.com",
        "time": "Thu Mar 11 13:50:07 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:17:02 2010 -0700"
      },
      "message": "RDS: Enable per-cpu workqueue threads\n\nCreate per-cpu workqueue threads instead of a single\nkrdsd thread. This is a step towards better scalability.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "561c7df63e259203515509a7ad075382a42bff0c",
      "tree": "80d3d382ba155d4bced37b716dcac0e31062f2c5",
      "parents": [
        "450d06c0208ad195ccd74a7edd11321e316791ad"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Thu Mar 11 13:50:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:17:01 2010 -0700"
      },
      "message": "RDS: Do not call set_page_dirty() with irqs off\n\nset_page_dirty() unconditionally re-enables interrupts, so\nif we call it with irqs off, they will be on after the call,\nand that\u0027s bad. This patch moves the call after we\u0027ve re-enabled\ninterrupts in send_drop_to(), so it\u0027s safe.\n\nAlso, add BUG_ONs to let us know if we ever do call set_page_dirty\nwith interrupts off.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "450d06c0208ad195ccd74a7edd11321e316791ad",
      "tree": "92abe1897ad7ab857e091475bcb84227af01962a",
      "parents": [
        "b98ba52f96e7cdb4dbe2b06bced83d95d94c9d02"
      ],
      "author": {
        "name": "Sherman Pun",
        "email": "sherman.pun@sun.com",
        "time": "Thu Mar 11 13:50:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:17:00 2010 -0700"
      },
      "message": "RDS: Properly unmap when getting a remote access error\n\nIf the RDMA op has aborted with a remote access error,\nin addition to what we already do (tell userspace it has\ncompleted with an error) also unmap it and put() the rm.\n\nOtherwise, hangs may occur on arches that track maps and\nwill not exit without proper cleanup.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b98ba52f96e7cdb4dbe2b06bced83d95d94c9d02",
      "tree": "72e22772c6326ff554bd030bda35abcb1526249e",
      "parents": [
        "550a8002e4340eaf3bc333e33b59427e9c20272d"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Thu Mar 11 13:50:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:16:59 2010 -0700"
      },
      "message": "RDS: only put sockets that have seen congestion on the poll_waitq\n\nrds_poll_waitq\u0027s listeners will be awoken if we receive a congestion\nnotification. Bad performance may result because *all* polled sockets\ncontend for this single lock. However, it should not be necessary to\nwake pollers when a congestion update arrives if they have never\nexperienced congestion, and not putting these on the waitq will\nhopefully greatly reduce contention.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "550a8002e4340eaf3bc333e33b59427e9c20272d",
      "tree": "545fe5bccea8aa087233ccecd1dc18570d634d7e",
      "parents": [
        "97069788d6784ac92d050557a02f6e7bf4d1f53d"
      ],
      "author": {
        "name": "Tina Yang",
        "email": "tina.yang@oracle.com",
        "time": "Thu Mar 11 13:50:03 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:16:58 2010 -0700"
      },
      "message": "RDS: Fix locking in rds_send_drop_to()\n\nIt seems rds_send_drop_to() called\n__rds_rdma_send_complete(rs, rm, RDS_RDMA_CANCELED)\nwith only rds_sock lock, but not rds_message lock. It raced with\nother threads that is attempting to modify the rds_message as well,\nsuch as from within rds_rdma_send_complete().\n\nSigned-off-by: Tina Yang \u003ctina.yang@oracle.com\u003e\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "97069788d6784ac92d050557a02f6e7bf4d1f53d",
      "tree": "a1749dae883efd89777c031b18285f0570080b89",
      "parents": [
        "571c02fa81e43ebb4b793f626d6c7bf0fa18902b"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Thu Mar 11 13:50:02 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:16:57 2010 -0700"
      },
      "message": "RDS: Turn down alarming reconnect messages\n\nRDS\u0027s error messages when a connection goes down are a little\nextreme. A connection may go down, and it will be re-established,\nand everything is fine. This patch links these messages through\nrdsdebug(), instead of to printk directly.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "571c02fa81e43ebb4b793f626d6c7bf0fa18902b",
      "tree": "08868b2379bc577d64654ea14047edd2eeaf55c7",
      "parents": [
        "048c15e641289d902f7ef9f1241068d8045e210c"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Thu Mar 11 13:50:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:16:56 2010 -0700"
      },
      "message": "RDS: Workaround for in-use MRs on close causing crash\n\nif a machine is shut down without closing sockets properly, and\nfreeing all MRs, then a BUG_ON will bring it down. This patch\nchanges these to WARN_ONs -- leaking MRs is not fatal (although\nnot ideal, and there is more work to do here for a proper fix.)\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "048c15e641289d902f7ef9f1241068d8045e210c",
      "tree": "f4e7f27a411b9310c98c41e82285e211abcbfbd7",
      "parents": [
        "2e7b3b994529d4760231a45a6b88950187bda877"
      ],
      "author": {
        "name": "Tina Yang",
        "email": "Tina.Yang@oracle.com",
        "time": "Thu Mar 11 13:50:00 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:16:55 2010 -0700"
      },
      "message": "RDS: Fix send locking issue\n\nFix a deadlock between rds_rdma_send_complete() and\nrds_send_remove_from_sock() when rds socket lock and\nrds message lock are acquired out-of-order.\n\nSigned-off-by: Tina Yang \u003cTina.Yang@oracle.com\u003e\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e7b3b994529d4760231a45a6b88950187bda877",
      "tree": "d073317ace5a9ef948a826aed32e8b35f21e2193",
      "parents": [
        "8e82376e5f72bb576504c8c6117685e56c1b97db"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Thu Mar 11 13:49:59 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:16:55 2010 -0700"
      },
      "message": "RDS: Fix congestion issues for loopback\n\nWe have two kinds of loopback: software (via loop transport)\nand hardware (via IB). sw is used for 127.0.0.1, and doesn\u0027t\nsupport rdma ops. hw is used for sends to local device IPs,\nand supports rdma. Both are used in different cases.\n\nFor both of these, when there is a congestion map update, we\nwant to call rds_cong_map_updated() but not actually send\nanything -- since loopback local and foreign congestion maps\npoint to the same spot, they\u0027re already in sync.\n\nThe old code never called sw loop\u0027s xmit_cong_map(),so\nrds_cong_map_updated() wasn\u0027t being called for it. sw loop\nports would not work right with the congestion monitor.\n\nFixing that meant that hw loopback now would send congestion maps\nto itself. This is also undesirable (racy), so we check for this\ncase in the ib-specific xmit code.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e82376e5f72bb576504c8c6117685e56c1b97db",
      "tree": "8aa3e7a354620a0d67a403aedd056c9a58b4e57a",
      "parents": [
        "b075cfdb666d6fa90c55c8619186398a3c4fd865"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Thu Mar 11 13:49:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:16:55 2010 -0700"
      },
      "message": "RDS/TCP: Wait to wake thread when write space available\n\nInstead of waking the send thread whenever any send space is available,\nwait until it is at least half empty. This is modeled on how\nsock_def_write_space() does it, and may help to minimize context\nswitches.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b075cfdb666d6fa90c55c8619186398a3c4fd865",
      "tree": "a63ed941bccb9910978519350c1c14704706c58b",
      "parents": [
        "1123fd734df6ad82373a5a27f0f2ed3115555b9d"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Thu Mar 11 13:49:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:16:54 2010 -0700"
      },
      "message": "RDS: update copy_to_user state in tcp transport\n\nOther transports use rds_page_copy_user, which updates our\ns_copy_to_user counter. TCP doesn\u0027t, so it needs to explicity\ncall rds_stats_add().\n\nReported-by: Richard Frank \u003crichard.frank@oracle.com\u003e\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1123fd734df6ad82373a5a27f0f2ed3115555b9d",
      "tree": "9f0348b2d603a4d18855f01bbd34249c2c2b3f72",
      "parents": [
        "735f61e62611161588123930823af6e6a9fd5c2c"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Thu Mar 11 13:49:56 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:16:54 2010 -0700"
      },
      "message": "RDS: sendmsg() should check sndtimeo, not rcvtimeo\n\nMost likely cut n paste error - sendmsg() was checking sock_rcvtimeo.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "735f61e62611161588123930823af6e6a9fd5c2c",
      "tree": "d07e16026909daa692ddab9c7b0801cc418cb3bc",
      "parents": [
        "87faf3ccf1c939938600ab57c6c9ed5bd2e5f4cc"
      ],
      "author": {
        "name": "Andy Grover",
        "email": "andy.grover@oracle.com",
        "time": "Thu Mar 11 13:49:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:16:53 2010 -0700"
      },
      "message": "RDS: Do not BUG() on error returned from ib_post_send\n\nBUGging on a runtime error code should be avoided. This\npatch also eliminates all other BUG()s that have no real\nreason to exist.\n\nSigned-off-by: Andy Grover \u003candy.grover@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87faf3ccf1c939938600ab57c6c9ed5bd2e5f4cc",
      "tree": "fdfec5682c7c5e4e1ac462ae25e0537a1b9d429c",
      "parents": [
        "32dec5dd0233ebffa9cae25ce7ba6daeb7df4467"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 14:37:47 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 14:37:47 2010 -0700"
      },
      "message": "bridge: Make first arg to deliver_clone const.\n\nOtherwise we get a warning from the call in br_forward().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32dec5dd0233ebffa9cae25ce7ba6daeb7df4467",
      "tree": "b086e355e9afa2cb6ab51988175afd619787029b",
      "parents": [
        "858a18a6a2f74e8f0e5b2e9671d4b74694aba708"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki / 吉藤英明",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Mar 15 21:51:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 14:34:23 2010 -0700"
      },
      "message": "bridge br_multicast: Don\u0027t refer to BR_INPUT_SKB_CB(skb)-\u003emrouters_only without IGMP snooping.\n\nWithout CONFIG_BRIDGE_IGMP_SNOOPING,\nBR_INPUT_SKB_CB(skb)-\u003emrouters_only is not appropriately\ninitialized, so we can see garbage.\n\nA clear option to fix this is to set it even without that\nconfig, but we cannot optimize out the branch.\n\nLet\u0027s introduce a macro that returns value of mrouters_only\nand let it return 0 without CONFIG_BRIDGE_IGMP_SNOOPING.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "858a18a6a2f74e8f0e5b2e9671d4b74694aba708",
      "tree": "ccdb6cff136e02b47803b1fe5cec77821f6c7c9f",
      "parents": [
        "8440853bb70010f2f8edc26cb0f7af60da8b2c5a"
      ],
      "author": {
        "name": "Vitaliy Gusev",
        "email": "vgusev@openvz.org",
        "time": "Tue Mar 16 01:07:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 14:15:47 2010 -0700"
      },
      "message": "route: Fix caught BUG_ON during rt_secret_rebuild_oneshot()\n\nroute: Fix caught BUG_ON during rt_secret_rebuild_oneshot()\n\nCall rt_secret_rebuild can cause BUG_ON(timer_pending(\u0026net-\u003eipv4.rt_secret_timer)) in\nadd_timer as there is not any synchronization for call rt_secret_rebuild_oneshot()\nfor the same net namespace.\n\nAlso this issue affects to rt_secret_reschedule().\n\nThus use mod_timer enstead.\n\nSigned-off-by: Vitaliy Gusev \u003cvgusev@openvz.org\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8440853bb70010f2f8edc26cb0f7af60da8b2c5a",
      "tree": "d0f5098be166558deb5baf3292f770dee2d7e326",
      "parents": [
        "0ba8c9ec25465cd0680b80c0f5836f558e3b972d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki / 吉藤英明",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Mar 15 19:26:56 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 14:15:46 2010 -0700"
      },
      "message": "bridge br_multicast: Fix skb leakage in error path.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ba8c9ec25465cd0680b80c0f5836f558e3b972d",
      "tree": "28de185348a076c79e1e28196099a04515d9b700",
      "parents": [
        "21edbb223ed2af88b090e7945af7d91d672e3aa6"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki / 吉藤英明",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Mar 15 19:27:00 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 14:15:46 2010 -0700"
      },
      "message": "bridge br_multicast: Fix handling of Max Response Code in IGMPv3 message.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "21edbb223ed2af88b090e7945af7d91d672e3aa6",
      "tree": "b159ba512fdbdfe92d896a77109e7c0dadd36f87",
      "parents": [
        "a2f46ee1ba5ee249ce2ca1ee7a7a0ac46529fb4f"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Tue Mar 16 05:29:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 14:15:45 2010 -0700"
      },
      "message": "NET: netpoll, fix potential NULL ptr dereference\n\nStanse found that one error path in netpoll_setup dereferences npinfo\neven though it is NULL. Avoid that by adding new label and go to that\ninstead.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Daniel Borkmann \u003cdanborkmann@googlemail.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: chavey@google.com\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2f46ee1ba5ee249ce2ca1ee7a7a0ac46529fb4f",
      "tree": "a791769005885ab26a3353b70940c635b63b3e8d",
      "parents": [
        "c3259c8a7060d480e8eb2166da0a99d6879146b4"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Mar 16 08:14:33 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 14:15:45 2010 -0700"
      },
      "message": "tipc: fix lockdep warning on address assignment\n\nSo in the forward porting of various tipc packages, I was constantly\ngetting this lockdep warning everytime I used tipc-config to set a network\naddress for the protocol:\n\n[ INFO: possible circular locking dependency detected ]\n2.6.33 #1\ntipc-config/1326 is trying to acquire lock:\n(ref_table_lock){+.-...}, at: [\u003cffffffffa0315148\u003e] tipc_ref_discard+0x53/0xd4 [tipc]\n\nbut task is already holding lock:\n(\u0026(\u0026entry-\u003elock)-\u003erlock#2){+.-...}, at: [\u003cffffffffa03150d5\u003e] tipc_ref_lock+0x43/0x63 [tipc]\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #1 (\u0026(\u0026entry-\u003elock)-\u003erlock#2){+.-...}:\n[\u003cffffffff8107b508\u003e] __lock_acquire+0xb67/0xd0f\n[\u003cffffffff8107b78c\u003e] lock_acquire+0xdc/0x102\n[\u003cffffffff8145471e\u003e] _raw_spin_lock_bh+0x3b/0x6e\n[\u003cffffffffa03152b1\u003e] tipc_ref_acquire+0xe8/0x11b [tipc]\n[\u003cffffffffa031433f\u003e] tipc_createport_raw+0x78/0x1b9 [tipc]\n[\u003cffffffffa031450b\u003e] tipc_createport+0x8b/0x125 [tipc]\n[\u003cffffffffa030f221\u003e] tipc_subscr_start+0xce/0x126 [tipc]\n[\u003cffffffffa0308fb2\u003e] process_signal_queue+0x47/0x7d [tipc]\n[\u003cffffffff81053e0c\u003e] tasklet_action+0x8c/0xf4\n[\u003cffffffff81054bd8\u003e] __do_softirq+0xf8/0x1cd\n[\u003cffffffff8100aadc\u003e] call_softirq+0x1c/0x30\n[\u003cffffffff810549f4\u003e] _local_bh_enable_ip+0xb8/0xd7\n[\u003cffffffff81054a21\u003e] local_bh_enable_ip+0xe/0x10\n[\u003cffffffff81454d31\u003e] _raw_spin_unlock_bh+0x34/0x39\n[\u003cffffffffa0308eb8\u003e] spin_unlock_bh.clone.0+0x15/0x17 [tipc]\n[\u003cffffffffa0308f47\u003e] tipc_k_signal+0x8d/0xb1 [tipc]\n[\u003cffffffffa0308dd9\u003e] tipc_core_start+0x8a/0xad [tipc]\n[\u003cffffffffa01b1087\u003e] 0xffffffffa01b1087\n[\u003cffffffff8100207d\u003e] do_one_initcall+0x72/0x18a\n[\u003cffffffff810872fb\u003e] sys_init_module+0xd8/0x23a\n[\u003cffffffff81009b42\u003e] system_call_fastpath+0x16/0x1b\n\n-\u003e #0 (ref_table_lock){+.-...}:\n[\u003cffffffff8107b3b2\u003e] __lock_acquire+0xa11/0xd0f\n[\u003cffffffff8107b78c\u003e] lock_acquire+0xdc/0x102\n[\u003cffffffff81454836\u003e] _raw_write_lock_bh+0x3b/0x6e\n[\u003cffffffffa0315148\u003e] tipc_ref_discard+0x53/0xd4 [tipc]\n[\u003cffffffffa03141ee\u003e] tipc_deleteport+0x40/0x119 [tipc]\n[\u003cffffffffa0316e35\u003e] release+0xeb/0x137 [tipc]\n[\u003cffffffff8139dbf4\u003e] sock_release+0x1f/0x6f\n[\u003cffffffff8139dc6b\u003e] sock_close+0x27/0x2b\n[\u003cffffffff811116f6\u003e] __fput+0x12a/0x1df\n[\u003cffffffff811117c5\u003e] fput+0x1a/0x1c\n[\u003cffffffff8110e49b\u003e] filp_close+0x68/0x72\n[\u003cffffffff8110e552\u003e] sys_close+0xad/0xe7\n[\u003cffffffff81009b42\u003e] system_call_fastpath+0x16/0x1b\n\nFinally decided I should fix this.  Its a straightforward inversion,\ntipc_ref_acquire takes two locks in this order:\nref_table_lock\nentry-\u003elock\n\nwhile tipc_deleteport takes them in this order:\nentry-\u003elock (via tipc_port_lock())\nref_table_lock (via tipc_ref_discard())\n\nwhen the same entry is referenced, we get the above warning.  The fix is equally\nstraightforward.  Theres no real relation between the entry-\u003elock and the\nref_table_lock (they just are needed at the same time), so move the entry-\u003elock\naquisition in tipc_ref_acquire down, after we unlock ref_table_lock (this is\nsafe since the ref_table_lock guards changes to the reference table, and we\u0027ve\nalready claimed a slot there.  I\u0027ve tested the below fix and confirmed that it\nclears up the lockdep issue\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: Allan Stephens \u003callan.stephens@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3259c8a7060d480e8eb2166da0a99d6879146b4",
      "tree": "426adf20cdf728f9f283fde9b20ea1e61e7f7c1e",
      "parents": [
        "db443c441e204cecc1bcec490d40997db988ce3a"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Tue Mar 16 06:29:20 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 14:15:44 2010 -0700"
      },
      "message": "l2tp: Fix UDP socket reference count bugs in the pppol2tp driver\n\nThis patch fixes UDP socket refcnt bugs in the pppol2tp driver.\n\nA bug can cause a kernel stack trace when a tunnel socket is closed.\n\nA way to reproduce the issue is to prepare the UDP socket for L2TP (by\nopening a tunnel pppol2tp socket) and then close it before any L2TP\nsessions are added to it. The sequence is\n\nCreate UDP socket\nCreate tunnel pppol2tp socket to prepare UDP socket for L2TP\n  pppol2tp_connect: session_id\u003d0, peer_session_id\u003d0\nL2TP SCCRP control frame received (tunnel_id\u003d\u003d0)\n  pppol2tp_recv_core: sock_hold()\n  pppol2tp_recv_core: sock_put\nL2TP ZLB control frame received (tunnel_id\u003dnnn)\n  pppol2tp_recv_core: sock_hold()\n  pppol2tp_recv_core: sock_put\nClose tunnel management socket\n  pppol2tp_release: session_id\u003d0, peer_session_id\u003d0\nClose UDP socket\n  udp_lib_close: BUG\n\nThe addition of sock_hold() in pppol2tp_connect() solves the problem.\n\nFor data frames, two sock_put() calls were added to plug a refcnt leak\nper received data frame. The ref that is grabbed at the top of\npppol2tp_recv_core() must always be released, but this wasn\u0027t done for\naccepted data frames or data frames discarded because of bad UDP\nchecksums. This leak meant that any UDP socket that had passed L2TP\ndata traffic (i.e. L2TP data frames, not just L2TP control frames)\nusing pppol2tp would not be released by the kernel.\n\nWARNING: at include/net/sock.h:435 udp_lib_unhash+0x117/0x120()\nPid: 1086, comm: openl2tpd Not tainted 2.6.33-rc1 #8\nCall Trace:\n [\u003cc119e9b7\u003e] ? udp_lib_unhash+0x117/0x120\n [\u003cc101b871\u003e] ? warn_slowpath_common+0x71/0xd0\n [\u003cc119e9b7\u003e] ? udp_lib_unhash+0x117/0x120\n [\u003cc101b8e3\u003e] ? warn_slowpath_null+0x13/0x20\n [\u003cc119e9b7\u003e] ? udp_lib_unhash+0x117/0x120\n [\u003cc11598a7\u003e] ? sk_common_release+0x17/0x90\n [\u003cc11a5e33\u003e] ? inet_release+0x33/0x60\n [\u003cc11577b0\u003e] ? sock_release+0x10/0x60\n [\u003cc115780f\u003e] ? sock_close+0xf/0x30\n [\u003cc106e542\u003e] ? __fput+0x52/0x150\n [\u003cc106b68e\u003e] ? filp_close+0x3e/0x70\n [\u003cc101d2e2\u003e] ? put_files_struct+0x62/0xb0\n [\u003cc101eaf7\u003e] ? do_exit+0x5e7/0x650\n [\u003cc1081623\u003e] ? mntput_no_expire+0x13/0x70\n [\u003cc106b68e\u003e] ? filp_close+0x3e/0x70\n [\u003cc101eb8a\u003e] ? do_group_exit+0x2a/0x70\n [\u003cc101ebe1\u003e] ? sys_exit_group+0x11/0x20\n [\u003cc10029b0\u003e] ? sysenter_do_call+0x12/0x26\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db443c441e204cecc1bcec490d40997db988ce3a",
      "tree": "74197ec00dbcddf4882ef014ff5d1074b283ee30",
      "parents": [
        "3feec9095d12e311b7d4eb7fe7e5dfa75d4a72a5"
      ],
      "author": {
        "name": "Steve Glendinning",
        "email": "steve.glendinning@smsc.com",
        "time": "Tue Mar 16 09:03:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 14:15:44 2010 -0700"
      },
      "message": "smsc95xx: wait for PHY to complete reset during init\n\nThis patch ensures the PHY correctly completes its reset before\nsetting register values.\n\nSigned-off-by: Steve Glendinning \u003csteve.glendinning@smsc.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3feec9095d12e311b7d4eb7fe7e5dfa75d4a72a5",
      "tree": "0c1dc5d83248baae70ba8c4b70e7c662fedda59a",
      "parents": [
        "d0cad871703b898a442e4049c532ec39168e5b57"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Tue Mar 16 06:46:31 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 14:15:43 2010 -0700"
      },
      "message": "l2tp: Fix oops in pppol2tp_xmit\n\nWhen transmitting L2TP frames, we derive the outgoing interface\u0027s UDP\nchecksum hardware assist capabilities from the tunnel dst dev. This\ncan sometimes be NULL, especially when routing protocols are used and\nrouting changes occur. This patch just checks for NULL dst or dev\npointers when checking for netdev hardware assist features.\n\nBUG: unable to handle kernel NULL pointer dereference at 0000000c\nIP: [\u003cf89d074c\u003e] pppol2tp_xmit+0x341/0x4da [pppol2tp]\n*pde \u003d 00000000\nOops: 0000 [#1] SMP\nlast sysfs file: /sys/class/net/lo/operstate\nModules linked in: pppol2tp pppox ppp_generic slhc ipv6 dummy loop snd_hda_codec_atihdmi snd_hda_intel snd_hda_codec snd_pcm snd_timer snd soundcore snd_page_alloc evdev psmouse serio_raw processor button i2c_piix4 i2c_core ati_agp agpgart pcspkr ext3 jbd mbcache sd_mod ide_pci_generic atiixp ide_core ahci ata_generic floppy ehci_hcd ohci_hcd libata e1000e scsi_mod usbcore nls_base thermal fan thermal_sys [last unloaded: scsi_wait_scan]\n\nPid: 0, comm: swapper Not tainted (2.6.32.8 #1)\nEIP: 0060:[\u003cf89d074c\u003e] EFLAGS: 00010297 CPU: 3\nEIP is at pppol2tp_xmit+0x341/0x4da [pppol2tp]\nEAX: 00000000 EBX: f64d1680 ECX: 000005b9 EDX: 00000000\nESI: f6b91850 EDI: f64d16ac EBP: f6a0c4c0 ESP: f70a9cac\n DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068\nProcess swapper (pid: 0, ti\u003df70a8000 task\u003df70a31c0 task.ti\u003df70a8000)\nStack:\n 000005a9 000005b9 f734c400 f66652c0 f7352e00 f67dc800 00000000 f6b91800\n\u003c0\u003e 000005a3 f70ef6c4 f67dcda9 000005a3 f89b192e 00000246 000005a3 f64d1680\n\u003c0\u003e f63633e0 f6363320 f64d1680 f65a7320 f65a7364 f65856c0 f64d1680 f679f02f\nCall Trace:\n [\u003cf89b192e\u003e] ? ppp_push+0x459/0x50e [ppp_generic]\n [\u003cf89b217f\u003e] ? ppp_xmit_process+0x3b6/0x430 [ppp_generic]\n [\u003cf89b2306\u003e] ? ppp_start_xmit+0x10d/0x120 [ppp_generic]\n [\u003cc11c15cb\u003e] ? dev_hard_start_xmit+0x21f/0x2b2\n [\u003cc11d0947\u003e] ? sch_direct_xmit+0x48/0x10e\n [\u003cc11c19a0\u003e] ? dev_queue_xmit+0x263/0x3a6\n [\u003cc11e2a9f\u003e] ? ip_finish_output+0x1f7/0x221\n [\u003cc11df682\u003e] ? ip_forward_finish+0x2e/0x30\n [\u003cc11de645\u003e] ? ip_rcv_finish+0x295/0x2a9\n [\u003cc11c0b19\u003e] ? netif_receive_skb+0x3e9/0x404\n [\u003cf814b791\u003e] ? e1000_clean_rx_irq+0x253/0x2fc [e1000e]\n [\u003cf814cb7a\u003e] ? e1000_clean+0x63/0x1fc [e1000e]\n [\u003cc1047eff\u003e] ? sched_clock_local+0x15/0x11b\n [\u003cc11c1095\u003e] ? net_rx_action+0x96/0x195\n [\u003cc1035750\u003e] ? __do_softirq+0xaa/0x151\n [\u003cc1035828\u003e] ? do_softirq+0x31/0x3c\n [\u003cc10358fe\u003e] ? irq_exit+0x26/0x58\n [\u003cc1004b21\u003e] ? do_IRQ+0x78/0x89\n [\u003cc1003729\u003e] ? common_interrupt+0x29/0x30\n [\u003cc101ac28\u003e] ? native_safe_halt+0x2/0x3\n [\u003cc1008c54\u003e] ? default_idle+0x55/0x75\n [\u003cc1009045\u003e] ? c1e_idle+0xd2/0xd5\n [\u003cc100233c\u003e] ? cpu_idle+0x46/0x62\nCode: 8d 45 08 f0 ff 45 08 89 6b 08 c7 43 68 7e fb 9c f8 8a 45 24 83 e0 0c 3c 04 75 09 80 63 64 f3 e9 b4 00 00 00 8b 43 18 8b 4c 24 04 \u003c8b\u003e 40 0c 8d 79 11 f6 40 44 0e 8a 43 64 75 51 6a 00 8b 4c 24 08\nEIP: [\u003cf89d074c\u003e] pppol2tp_xmit+0x341/0x4da [pppol2tp] SS:ESP 0068:f70a9cac\nCR2: 000000000000000c\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d0cad871703b898a442e4049c532ec39168e5b57",
      "tree": "7b14f8689629c25e70c520f8d9c4afd69b1e7510",
      "parents": [
        "c5e49fb5189dbce00bc37f27c83ab0f9e4748bc6"
      ],
      "author": {
        "name": "Steve Glendinning",
        "email": "steve.glendinning@smsc.com",
        "time": "Tue Mar 16 08:46:46 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 14:15:42 2010 -0700"
      },
      "message": "smsc75xx: SMSC LAN75xx USB gigabit ethernet adapter driver\n\nThis patch adds a driver for SMSC\u0027s LAN7500 family of USB 2.0\nto gigabit ethernet adapters.  It\u0027s loosely based on the smsc95xx\ndriver but the device registers for LAN7500 are completely different.\n\nSigned-off-by: Steve Glendinning \u003csteve.glendinning@smsc.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5e49fb5189dbce00bc37f27c83ab0f9e4748bc6",
      "tree": "3d7387e17fd1aaecc72c82832ec490dff1f3dfb4",
      "parents": [
        "edee39321be9f88c47627379e8abadfce0508768"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Tue Mar 16 05:27:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 14:15:42 2010 -0700"
      },
      "message": "ne: Do not use slashes in irq name string\n\nThis patch fixes following warning introduced by commit\n12bac0d9f4dbf3445a0319beee848d15fa32775e (\"proc: warn on non-existing\nproc entries\"):\n\nWARNING: at /work/mips-linux/make/linux/fs/proc/generic.c:316 __xlate_proc_name+0xe0/0xe8()\nname \u0027RBHMA4X00/RTL8019\u0027\n\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "edee39321be9f88c47627379e8abadfce0508768",
      "tree": "455df0017e6d6be1d16ccb415fc0205097953e04",
      "parents": [
        "6ad34145cf809384359fe513481d6e16638a57a3"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Tue Mar 16 04:53:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 14:15:41 2010 -0700"
      },
      "message": "NET: ksz884x, fix lock imbalance\n\nStanse found that one error path (when alloc_skb fails) in netdev_tx\nomits to unlock hw_priv-\u003ehwlock. Fix that.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Tristram Ha \u003cTristram.Ha@micrel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ad34145cf809384359fe513481d6e16638a57a3",
      "tree": "33e57286febf0bfbbc8c276f2858de9327b8516f",
      "parents": [
        "7f7708f0055e49e331f267700aa8b2ee879f004c"
      ],
      "author": {
        "name": "Tilman Schmidt",
        "email": "tilman@imap.cc",
        "time": "Tue Mar 16 07:04:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 14:15:41 2010 -0700"
      },
      "message": "gigaset: correct range checking off by one error\n\nCorrect a potential array overrun due to an off by one error in the\nrange check on the CAPI CONNECT_REQ CIPValue parameter.\nFound and reported by Dan Carpenter using smatch.\n\nImpact: bugfix\nSigned-off-by: Tilman Schmidt \u003ctilman@imap.cc\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7f7708f0055e49e331f267700aa8b2ee879f004c",
      "tree": "385da7d1b722232c3c9003af52079318aa51326e",
      "parents": [
        "0821ec55bb1382dd3b9476dc15d5dbbb19f0c3fd"
      ],
      "author": {
        "name": "Michael Braun",
        "email": "michael-dev@fami-braun.de",
        "time": "Tue Mar 16 00:26:22 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 00:26:22 2010 -0700"
      },
      "message": "bridge: Fix br_forward crash in promiscuous mode\n\nFrom: Michael Braun \u003cmichael-dev@fami-braun.de\u003e\n\nbridge: Fix br_forward crash in promiscuous mode\n\nIt\u0027s a linux-next kernel from 2010-03-12 on an x86 system and it\nOOPs in the bridge module in br_pass_frame_up (called by\nbr_handle_frame_finish) because brdev cannot be dereferenced (its set to\na non-null value).\n\nAdding some BUG_ON statements revealed that\n BR_INPUT_SKB_CB(skb)-\u003ebrdev \u003d\u003d br-dev\n(as set in br_handle_frame_finish first)\nonly holds until br_forward is called.\nThe next call to br_pass_frame_up then fails.\n\nDigging deeper it seems that br_forward either frees the skb or passes\nit to NF_HOOK which will in turn take care of freeing the skb. The\nsame is holds for br_pass_frame_ip. So it seems as if two independent\nskb allocations are required. As far as I can see, commit\nb33084be192ee1e347d98bb5c9e38a53d98d35e2 (\"bridge: Avoid unnecessary\nclone on forward path\") removed skb duplication and so likely causes\nthis crash. This crash does not happen on 2.6.33.\n\nI\u0027ve therefore modified br_forward the same way br_flood has been\nmodified so that the skb is not freed if skb0 is going to be used\nand I can confirm that the attached patch resolves the issue for me.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0821ec55bb1382dd3b9476dc15d5dbbb19f0c3fd",
      "tree": "f5698d42aa24da271ec6a9a5eef8d6b89e5b4e2c",
      "parents": [
        "d00561a2f64b381aefb41f4a140ff5dc373b52e7"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Mar 15 20:38:25 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 15 20:38:25 2010 -0700"
      },
      "message": "bridge: Move NULL mdb check into br_mdb_ip_get\n\nSince all callers of br_mdb_ip_get need to check whether the\nhash table is NULL, this patch moves the check into the function.\n\nThis fixes the two callers (query/leave handler) that didn\u0027t\ncheck it.\n\nReported-by: Michael Braun \u003cmichael-dev@fami-braun.de\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d00561a2f64b381aefb41f4a140ff5dc373b52e7",
      "tree": "cd4095c9296d6181ace4b59e946a66d1b7b4d421",
      "parents": [
        "4961e02f1999e1c3468c09b2669c94d7c3ae82a8"
      ],
      "author": {
        "name": "Lars Ellenberg",
        "email": "lars.ellenberg@linbit.com",
        "time": "Mon Mar 15 19:09:28 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 15 19:09:28 2010 -0700"
      },
      "message": "ISDN: Add PCI ID for HFC-2S/4S Beronet Card PCIe\n\nA few subdevice IDs seem to have been dropped when hfc_multi was\nincluded upstream, just compare the list at\nhttp://www.openvox.cn/viewvc/misdn/trunk/hfc_multi.c?revision\u003d75\u0026view\u003dannotate#l175\nwith the IDs in drivers/isdn/hardware/mISDN/hfcmulti.c\n\nAdded PCIe 2 Port card and LED settings (same as PCI)\nDo not use \u003clinux/pci_ids.h\u003e /KKe\n\nSigned-off-by: Lars Ellenberg \u003clars.ellenberg@linbit.com\u003e\nSigned-off-by: Karsten Keil \u003ckeil@b1-systems.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4961e02f1999e1c3468c09b2669c94d7c3ae82a8",
      "tree": "44c15abb09d7ba5e17a9aba95ee246648b1c1a8a",
      "parents": [
        "d14a0ebda7d3daede1a99c01527affb9ceaa4c22",
        "a3d3203e4bb40f253b1541e310dc0f9305be7c84"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 15 16:23:54 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 15 16:23:54 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n"
    },
    {
      "commit": "d14a0ebda7d3daede1a99c01527affb9ceaa4c22",
      "tree": "8bee27033c0e771a9df0c3e8cc3f1dc1091587f0",
      "parents": [
        "b8d689743106bab5c49dda87080e76aa78db8a56"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Mar 14 20:13:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 15 16:00:50 2010 -0700"
      },
      "message": "net-2.6 [Bug-Fix][dccp]: fix oops caused after failed initialisation\n\ndccp: fix panic caused by failed initialisation\n\nThis fixes a kernel panic reported thanks to Andre Noll:\n\nif DCCP is compiled into the kernel and any out of the initialisation\nsteps in net/dccp/proto.c:dccp_init() fail, a subsequent attempt to create\na SOCK_DCCP socket will panic, since inet{,6}_create() are not prevented\nfrom creating DCCP sockets.\n\nThis patch fixes the problem by propagating a failure in dccp_init() to\ndccp_v{4,6}_init_net(), and from there to dccp_v{4,6}_init(), so that the\nDCCP protocol is not made available if its initialisation fails.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8d689743106bab5c49dda87080e76aa78db8a56",
      "tree": "7f8d333e234a8021fbb094739d46d436d29a3530",
      "parents": [
        "873a69a358a6b393fd8d9d92e193ec8895cac4d7"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sun Mar 14 22:24:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 15 16:00:50 2010 -0700"
      },
      "message": "myri: remove dead code\n\nWe can never reach the return statement.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "873a69a358a6b393fd8d9d92e193ec8895cac4d7",
      "tree": "985836029ec83bdaaf1a990955c7216180cf4f00",
      "parents": [
        "3a0a3a6b92edf181f849ebd8417122392ba73a96"
      ],
      "author": {
        "name": "Tilman Schmidt",
        "email": "tilman@imap.cc",
        "time": "Sun Mar 14 12:58:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 15 16:00:49 2010 -0700"
      },
      "message": "gigaset: prune use of tty_buffer_request_room\n\nCalling tty_buffer_request_room() before tty_insert_flip_string()\nis unnecessary, costs CPU and for big buffers can mess up the\nmulti-page allocation avoidance.\n\nSigned-off-by: Tilman Schmidt \u003ctilman@imap.cc\u003e\nAcked-by: Karsten Keil \u003ckeil@b1-systems.de\u003e\nCC: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e, stable@kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a0a3a6b92edf181f849ebd8417122392ba73a96",
      "tree": "9cbaea368c2a5e90fcf0e2c1c45510da7bfa3cc1",
      "parents": [
        "bc35b4e347c047fb1c665bb761ddb22482539f7f"
      ],
      "author": {
        "name": "Tilman Schmidt",
        "email": "tilman@imap.cc",
        "time": "Sun Mar 14 12:58:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 15 16:00:49 2010 -0700"
      },
      "message": "gigaset: correct clearing of at_state strings on RING\n\nIn RING handling, clear the table of received parameter strings in\na loop like everywhere else, instead of by enumeration which had\nalready gotten out of sync.\n\nImpact: minor bugfix\nSigned-off-by: Tilman Schmidt \u003ctilman@imap.cc\u003e\nAcked-by: Karsten Keil \u003ckeil@b1-systems.de\u003e\nCC: stable@kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc35b4e347c047fb1c665bb761ddb22482539f7f",
      "tree": "4f5b4b1c882b2f36015e0aada78e9307e812a0f9",
      "parents": [
        "4d823be98c5b24d94c7f41a384a4bb60d7848ad5"
      ],
      "author": {
        "name": "Tilman Schmidt",
        "email": "tilman@imap.cc",
        "time": "Sun Mar 14 12:58:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 15 16:00:49 2010 -0700"
      },
      "message": "gigaset: avoid registering CAPI driver more than once\n\nRegistering/unregistering the Gigaset CAPI driver when a device is\nconnected/disconnected causes an Oops when disconnecting two Gigaset\ndevices in a row, because the same capi_driver structure gets\nunregistered twice. Fix by making driver registration/unregistration\na separate operation (empty in the ISDN4Linux case) called when the\nmain module is loaded/unloaded.\n\nImpact: bugfix\nSigned-off-by: Tilman Schmidt \u003ctilman@imap.cc\u003e\nAcked-by: Karsten Keil \u003ckeil@b1-systems.de\u003e\nCC: stable@kernel.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d823be98c5b24d94c7f41a384a4bb60d7848ad5",
      "tree": "0ba104de56b41f698868cf1c58f4e1a17f6b5c8d",
      "parents": [
        "6329da5f258ae752d1f33b549bae4f8a20b6871a"
      ],
      "author": {
        "name": "Christoph Egger",
        "email": "siccegge@stud.informatik.uni-erlangen.de",
        "time": "Thu Mar 11 12:07:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 15 16:00:48 2010 -0700"
      },
      "message": "obsolete config in kernel source: HSO_AUTOPM\n\nCONFIG_HSO_AUTOPM is set by KConfig / set in the Kernel source, makefiles\nand won\u0027t be ever set this way, therefor simply removing the protected\ncode.\n\nSigned-off-by: Christoph Egger \u003csiccegge@stud.informatik.uni-erlangen.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6329da5f258ae752d1f33b549bae4f8a20b6871a",
      "tree": "b8cb7e8dd3b5a6783cbe4e1ae7d36f3c2e369af4",
      "parents": [
        "d287d66ee460b8d90b9ac840dd37f524a289bf97"
      ],
      "author": {
        "name": "Christoph Egger",
        "email": "siccegge@stud.informatik.uni-erlangen.de",
        "time": "Thu Mar 11 12:07:52 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 15 16:00:48 2010 -0700"
      },
      "message": "obsolete config in kernel source: USE_INTERNAL_TIMER\n\nCONFIG_USE_INTERNAL_TIMER seems to be the remainings of some experiment.\nIt is explicitely #undef-ed as not working, only referenced from one\nsource file and rather aged.\n\nHereby cleaning it from the kernel tree.\n\nSigned-off-by: Christoph Egger \u003csiccegge@stud.informatik.uni-erlangen.de\u003e\nAcked-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d287d66ee460b8d90b9ac840dd37f524a289bf97",
      "tree": "d91ccc754f34bf179817253015e9ed4f069421ae",
      "parents": [
        "a1ca14ac54675d3bf48d442b5a7b9eba133f1888"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Thu Mar 11 12:07:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 15 16:00:47 2010 -0700"
      },
      "message": "atm: use for_each_set_bit()\n\nReplace open-coded loop with for_each_set_bit().\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Chas Williams \u003cchas@cmf.nrl.navy.mil\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1ca14ac54675d3bf48d442b5a7b9eba133f1888",
      "tree": "4c140c289bf166b99f716cc685a34097520681d0",
      "parents": [
        "f28f9e43b3d81d1e69da0ebf77c8a6780cb5e0c8"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Thu Mar 11 12:07:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 15 16:00:47 2010 -0700"
      },
      "message": "phonet: use for_each_set_bit()\n\nReplace open-coded loop with for_each_set_bit().\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Rémi Denis-Courmont \u003cremi.denis-courmont@nokia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f28f9e43b3d81d1e69da0ebf77c8a6780cb5e0c8",
      "tree": "691df61b8d3456f1e952df04926f09b91827b39b",
      "parents": [
        "876e956f207373f974f2808c36aabcd4e32c9ee4"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Mar 12 19:23:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 15 16:00:46 2010 -0700"
      },
      "message": "timestamping: fix example build\n\nFix Makefiles so that Documentation/networking/timestamping/timestamping.c\nwill build when using the CONFIG_BUILD_DOCSRC kconfig option.\n(timestamping.c does not build currently with its simple Makefile.)\n\nAlso fix printf format warnings.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Patrick Ohly \u003cpatrick.ohly@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "876e956f207373f974f2808c36aabcd4e32c9ee4",
      "tree": "98ea73adefeecf951fe0d3d4afa825356c46f13c",
      "parents": [
        "255f5c327ec3a1d77fe54ef5773ef5eaf7c35a3e"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Mar 09 11:14:11 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 15 15:47:03 2010 -0700"
      },
      "message": "drivers/net: drop redundant memset\n\nThe region set by the call to memset is immediately overwritten by the\nsubsequent call to memcpy.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression e1,e2,e3,e4;\n@@\n\n- memset(e1,e2,e3);\n  memcpy(e1,e4,e3);\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "255f5c327ec3a1d77fe54ef5773ef5eaf7c35a3e",
      "tree": "d6aa998fc560df1c44e353818ec04db3daf3e779",
      "parents": [
        "8b4017d8c191822f1c93744e7876c9020e6209aa"
      ],
      "author": {
        "name": "Ian Munsie",
        "email": "imunsie@au.ibm.com",
        "time": "Thu Mar 11 12:07:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 15 15:47:02 2010 -0700"
      },
      "message": "i4l: change magic numbers in Eicon DIVA ISDN driver to symbolic names\n\nReplace references to the \u002720\u0027 magic number found throughout the Eicon\nISDN driver for the length of the station_id field in the T30_INFO struct\nwith the T30_MAX_STATION_ID_LENGTH symbolic constant.\n\nSigned-off-by: Ian Munsie \u003cimunsie@au.ibm.com\u003e\nCc: Armin Schindler \u003cmac@melware.de\u003e\nCc: Karsten Keil \u003cisdn@linux-pingi.de\u003e\nCc: Stoyan Gaydarov \u003csgayda2@uiuc.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "8b4017d8c191822f1c93744e7876c9020e6209aa"
}
