)]}'
{
  "log": [
    {
      "commit": "2dafb49d84a9195193b28ac5047df1bbab6053b9",
      "tree": "cb3a9a77496257c54ce9fb61c4ff08743a98dc31",
      "parents": [
        "01df2b65e97735547ce37844f4134b5ea99b4037"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Thu May 05 08:42:45 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun May 08 16:10:42 2011 +0200"
      },
      "message": "batman-adv: rename everything from *hna* into *tt* (translation table)\n\nTo be coherent, all the functions/variables/constants have been renamed\nto the TranslationTable style\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "32ae9b221e788413ce68feaae2ca39e406211a0a",
      "tree": "d827f989976a28fea5cdcb349c308baa98182c35",
      "parents": [
        "71e4aa9c465fd66c110667ab5d620fb6a4ef2157"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Wed Apr 20 15:40:58 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun May 01 22:49:03 2011 +0200"
      },
      "message": "batman-adv: Make bat_priv-\u003eprimary_if an rcu protected pointer\n\nThe rcu protected macros rcu_dereference() and rcu_assign_pointer()\nfor the bat_priv-\u003eprimary_if need to be used, as well as spin/rcu locking.\n\nOtherwise we might end up using a primary_if pointer pointing to already\nfreed memory.\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "c4aac1ab9b973798163b34939b522f01e4d28ac9",
      "tree": "7adda276282cf72b87c110b8743dae91fde27ad3",
      "parents": [
        "68003903e4eeec5288f074ff0751a381750ceb34"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Wed Mar 23 11:24:34 2011 +0100"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun Apr 17 21:11:01 2011 +0200"
      },
      "message": "batman-adv: concentrate all curr_gw related rcu operations in select/deselect functions\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "b8cec4a415e807a2f8679efa89558a040a7003de",
      "tree": "1a5fc7c31c4f8b55ea850599bb7309871165f48e",
      "parents": [
        "5e2b61f78411be25f0b84f97d5b5d312f184dfd1",
        "e44d8fe2b5c27ecc230f886d4cc49fcbd86f87a0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 00:37:13 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 00:37:13 2011 -0800"
      },
      "message": "Merge branch \u0027batman-adv/next\u0027 of git://git.open-mesh.org/ecsv/linux-merge\n"
    },
    {
      "commit": "e6c10f433af9c98994c94a10ae862c152fcfb2a9",
      "tree": "56b4a82b83da44f7c3657a283c92c5cc8e248b9f",
      "parents": [
        "4389e47af856635eb17d03b2572a50576c12db24"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 18 12:33:20 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:52:06 2011 +0100"
      },
      "message": "batman-adv: rename batman_if struct to hard_iface\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "d0072609baebaffb522083d367f4f195187f60f8",
      "tree": "44e014264e2a2815d63f09c6ba9283d2866cbf48",
      "parents": [
        "1605d0d60b66b9461cfcff86f8cfc80964f23430"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Wed Jan 19 20:01:44 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:52:04 2011 +0100"
      },
      "message": "batman-adv: remove orig_hash spinlock\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "7b36e8eef989fc59535b4f1d3fc0f83afaf419d4",
      "tree": "f0900101542966e0655ca5f115b5b0bc409b1e74",
      "parents": [
        "7aadf889e897155c45cda230d2a6701ad1fbff61"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 18 12:28:10 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:52:01 2011 +0100"
      },
      "message": "batman-adv: Correct rcu refcounting for orig_node\n\nIt might be possible that 2 threads access the same data in the same\nrcu grace period. The first thread calls call_rcu() to decrement the\nrefcount and free the data while the second thread increases the\nrefcount to use the data. To avoid this race condition all refcount\noperations have to be atomic.\n\nReported-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "7aadf889e897155c45cda230d2a6701ad1fbff61",
      "tree": "4a31df411c29844afe25ccde17d2ff9e618241c1",
      "parents": [
        "39901e716275da4e831b40f9e45a1b61d6a776dc"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 18 12:28:09 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:52:00 2011 +0100"
      },
      "message": "batman-adv: remove extra layer between hash and hash element - hash bucket\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "43c70ad5ce5691cce24dae6610731694c0f3fcc8",
      "tree": "7dc7a769a166f846aebac8e37b3dfcdad9b6dc86",
      "parents": [
        "5d02b3cdfafeb23ab7cf43ef1d2118007370e8d0"
      ],
      "author": {
        "name": "Linus Lüssing",
        "email": "linus.luessing@ascom.ch",
        "time": "Sun Feb 13 21:13:04 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:12 2011 +0100"
      },
      "message": "batman-adv: Increase orig_node refcount before releasing rcu read lock\n\nWhen unicast_send_skb() is increasing the orig_node\u0027s refcount another\nthread might have been freeing this orig_node already. We need to\nincrease the refcount in the rcu read lock protected area to avoid that.\n\nSigned-off-by: Linus Lüssing \u003clinus.luessing@ascom.ch\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "44524fcdf6ca19b58c24f7622c4af1d8d8fe59f8",
      "tree": "297c76f80d68d56e3c65a23c70de645a1c93df47",
      "parents": [
        "a4c135c561106c397bae33455acfca4aa8065a30"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Thu Feb 10 14:33:53 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:03 2011 +0100"
      },
      "message": "batman-adv: Correct rcu refcounting for neigh_node\n\nIt might be possible that 2 threads access the same data in the same\nrcu grace period. The first thread calls call_rcu() to decrement the\nrefcount and free the data while the second thread increases the\nrefcount to use the data. To avoid this race condition all refcount\noperations have to be atomic.\n\nReported-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "a4c135c561106c397bae33455acfca4aa8065a30",
      "tree": "09613dd5443fb6abfdab5b851eccdd610d1b0783",
      "parents": [
        "2ae2daf6c3f23364862a7d4f2ca79eab041b701b"
      ],
      "author": {
        "name": "Simon Wunderlich",
        "email": "siwu@hrz.tu-chemnitz.de",
        "time": "Wed Jan 19 20:01:43 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:01 2011 +0100"
      },
      "message": "batman-adv: protect bonding with rcu locks\n\nbonding / alternating candidates need to be secured by rcu locks\nas well. This patch therefore converts the bonding list\nfrom a plain pointer list to a rcu securable lists and references\nthe bonding candidates.\n\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "fb778ea173fcd58b8fc3d75c674f07fab187b55f",
      "tree": "b14cfc99b7ca61ddcb49cc56c9a8e2822675debc",
      "parents": [
        "a775eb847ae66211577d4fd2c46749b77c9993c9"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Wed Jan 19 20:01:40 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:49:58 2011 +0100"
      },
      "message": "batman-adv: protect each hash row with rcu locks\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "ab889e6607f6e3d52a76c5a43c8c4ad1d354da36",
      "tree": "bb98f2977e03bd2d4812ec5442e6cfb0e7678721",
      "parents": [
        "dcf96f1ff66f328fecf1e14437ac73db71b08c03",
        "3878f1f075470990d9c2418b53f31694e774f743"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 11 21:20:27 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 11 21:20:27 2011 -0800"
      },
      "message": "Merge branch \u0027batman-adv/next\u0027 of git://git.open-mesh.org/ecsv/linux-merge\n"
    },
    {
      "commit": "3878f1f075470990d9c2418b53f31694e774f743",
      "tree": "6ef77c4a0c44445cdee8b7d5b748d7ed29033716",
      "parents": [
        "ee1e884194eb19574898ce6d5eaef5e8afdec7f2"
      ],
      "author": {
        "name": "Linus Lüssing",
        "email": "linus.luessing@ascom.ch",
        "time": "Mon Feb 07 00:14:40 2011 +0000"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Fri Feb 11 23:30:33 2011 +0100"
      },
      "message": "batman-adv: Disallow originator addressing within mesh layer\n\nFor a host in the mesh network, the batman layer should be transparent.\nHowever, we had one exception, data packets within the mesh network\nwhich have the same destination as a originator are being routed to\nthat node, although there is no host that node\u0027s bat0 interface and\ntherefore gets dropped anyway. This commit removes this exception.\n\nSigned-off-by: Linus Lüssing \u003clinus.luessing@ascom.ch\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "14062064167ecdda4a17ec9190740c189223550a",
      "tree": "5841e9449311f6b51b31f1fd37385ac5d73401de",
      "parents": [
        "c2f7f0e7b3ce55eee32892d6aa5cd88a7512ea25"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Tue Feb 08 12:43:54 2011 +0000"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Fri Feb 11 23:29:00 2011 +0100"
      },
      "message": "batman-adv: Split combined variable declarations\n\nMultiple variable declarations in a single statements over multiple lines can\nbe split into multiple variable declarations without changing the actual\nbehavior.\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "c2f7f0e7b3ce55eee32892d6aa5cd88a7512ea25",
      "tree": "93be054cc3f80e20e704bafa6073fd8b44e89514",
      "parents": [
        "091b948306d2628320e77977eb7ae4a757b12180"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Thu Feb 10 14:33:56 2011 +0000"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Fri Feb 11 00:25:10 2011 +0100"
      },
      "message": "batman-adv: Use successive sequence numbers for fragments\n\nThe two fragments of an unicast packet must have successive sequence numbers to\nallow the receiver side to detect matching fragments and merge them again. The\ncurrent implementation doesn\u0027t provide that property because a sequence of two\natomic_inc_return may be interleaved with another sequence which also changes\nthe variable.\n\nThe access to the fragment sequence number pool has either to be protected by\ncorrect locking or it has to reserve two sequence numbers in a single fetch.\nThe latter one can easily be done by increasing the value of the last used\nsequence number by 2 in a single step. The generated window of two currently\nunused sequence numbers can now be scattered across the two fragments.\n\nReported-by: Linus Lüssing \u003clinus.luessing@web.de\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "263fb5b1bf9265d0e4ce59ff6ea92f478b5b61ea",
      "tree": "5ee497d530185d32421122729af86cf77d0dc649",
      "parents": [
        "8d13a2a9fb3e5e3f68e9d3ec0de3c8fcfa56a224",
        "c69b90920a36b88ab0d649963d81355d865eeb05"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 17:19:01 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 08 17:19:01 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/e1000e/netdev.c\n"
    },
    {
      "commit": "531c9da8c854c5b075383253a57fdd4e0be82e99",
      "tree": "ad3cd10621d05b18b1b403f28733e0bc11b8eb8f",
      "parents": [
        "1181e1daace88018b2ff66592aa10a4791d705ff"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun Feb 06 23:26:43 2011 +0000"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Tue Feb 08 00:54:31 2011 +0100"
      },
      "message": "batman-adv: Linearize fragment packets before merge\n\nWe access the data inside the skbs of two fragments directly using memmove\nduring the merge. The data of the skb could span over multiple skb pages. An\ndirect access without knowledge about the pages would lead to an invalid memory\naccess.\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n[lindner_marek@yahoo.de: Move return from function to the end]\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "64afe35398269577ef9809474dd7dc0e5d265176",
      "tree": "ea50beef8d6eadf653c66f513d5cee1a5d98d7c2",
      "parents": [
        "1299bdaa1cb522de940d912f661bef59b9a39dd7"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Thu Jan 27 10:38:15 2011 +0100"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon Jan 31 14:57:12 2011 +0100"
      },
      "message": "batman-adv: Update copyright years\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "ae361ce19fa135035c6b83ac1f07090b72fd4b8f",
      "tree": "00410704b2dd5f0d7310f5cb9796385d7e8b7e91",
      "parents": [
        "5c77d8bb8aeb4ec6804b6c32061109ba2ea6988d"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Tue Jan 25 22:02:31 2011 +0000"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon Jan 31 14:57:08 2011 +0100"
      },
      "message": "batman-adv: Calculate correct size for merged packets\n\nThe routing algorithm must be able to decide if a fragment can be merged with\nthe missing part and still be passed to a forwarding interface. The fragments\ncan only differ by one byte in case that the original payload had an uneven\nlength. In that situation the sender has to inform all possible receivers that\nthe tail is one byte longer using the flag UNI_FRAG_LARGETAIL.\n\nThe combination of UNI_FRAG_LARGETAIL and UNI_FRAG_HEAD flag makes it possible\nto calculate the correct length for even and uneven sized payloads.\n\nThe original formula missed to add the unicast header at all and forgot to\nremove the fragment header of the second fragment. This made the results highly\nunreliable and only useful for machines with large differences between the\nconfigured MTUs.\n\nReported-by: Russell Senior \u003crussell@personaltelco.net\u003e\nReported-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "5c77d8bb8aeb4ec6804b6c32061109ba2ea6988d",
      "tree": "7ffb0ce70d1185502eb9ed41351eff8083baa0fc",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Tue Jan 25 21:59:26 2011 +0000"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon Jan 31 14:57:08 2011 +0100"
      },
      "message": "batman-adv: Create roughly equal sized fragments\n\nThe routing algorithm must know how large two fragments are to be able to\ndecide that it is safe to merge them or if it should resubmit without waiting\nfor the second part. When these two fragments have a too different size, it is\nnot possible to guess right in every situation.\n\nThe user could easily configure the MTU of the attached cards so that one\nfragment is forwarded and the other one is added to the fragments table to wait\nfor the missing part.\n\nFor even sized packets, it is possible to split it so that the resulting\npackages are equal sized by ignoring the old non-fragment header at the\nbeginning of the original packet.\n\nThis still creates different sized fragments for uneven sized packets.\n\nReported-by: Russell Senior \u003crussell@personaltelco.net\u003e\nReported-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "ed7809d9c41b514115ddffaa860694393c2016b3",
      "tree": "ef0e14d7477b2363f787ace24b683a439ea103f2",
      "parents": [
        "53320fe3bb1b1eef1aaff8dd47aae530ebeeb1e5"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Thu Jan 13 21:53:38 2011 +0100"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Thu Jan 13 22:11:12 2011 +0100"
      },
      "message": "batman-adv: Even Batman should not dereference NULL pointers\n\nThere\u0027s a problem in net/batman-adv/unicast.c::frag_send_skb().\ndev_alloc_skb() allocates memory and may fail, thus returning NULL. If\nthis happens we\u0027ll pass a NULL pointer on to skb_split() which in turn\nhands it to skb_split_inside_header() from where it gets passed to\nskb_put() that lets skb_tail_pointer() play with it and that function\ndereferences it. And thus the bat dies.\n\nWhile I was at it I also moved the call to dev_alloc_skb() above the\nassignment to \u0027unicast_packet\u0027 since there\u0027s no reason to do that\nassignment if the memory allocation fails.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "c6c8fea29769d998d94fcec9b9f14d4b52b349d3",
      "tree": "2c8dc8d1a64d48c5737a5745e3c510ff53a23047",
      "parents": [
        "b236da6931e2482bfe44a7865dd4e7bb036f3496"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon Dec 13 11:19:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 13:44:24 2010 -0800"
      },
      "message": "net: Add batman-adv meshing protocol\n\nB.A.T.M.A.N. (better approach to mobile ad-hoc networking) is a routing\nprotocol for multi-hop ad-hoc mesh networks. The networks may be wired or\nwireless. See http://www.open-mesh.org/ for more information and user space\ntools.\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
