)]}'
{
  "log": [
    {
      "commit": "0d125074ebc8c971e939f8c2c8f90a80fa09aeb4",
      "tree": "fb31ee069ab0a2abc7681b999839fd81392110f7",
      "parents": [
        "1eeb479fda2405269b3a85c86ba0eca41fcc4ea0"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Sat Feb 18 11:27:34 2012 +0100"
      },
      "committer": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Wed Apr 18 09:54:01 2012 +0200"
      },
      "message": "batman-adv: use ETH_HLEN instead of sizeof(struct ethhdr)\n\nInstead of using sizeof(struct ethhdr) it is strongly recommended to use the\nkernel macro ETH_HLEN. This patch substitute each occurrence of the former\nexpressione with the latter one.\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\n"
    },
    {
      "commit": "567db7b0b7c0a94cc62846f8ebb429bdda2884bc",
      "tree": "c77ce9d27df43e72c14c8a57f7a348db2fca3a5b",
      "parents": [
        "92f90f56caa30dfcb6c5755776d73df23ef2ae1a"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun Jan 01 00:41:38 2012 +0100"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 17 02:50:21 2012 +0800"
      },
      "message": "batman-adv: Update copyright years\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "032b7969f8874d5ddc65691cd3d008beffd2a09e",
      "tree": "73a0e8bdd4dcf0f1dc3407b17df0424106027f9d",
      "parents": [
        "ea3d2fd1b11fb3ef8706a48ece0a49a61bcd08bc"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Tue Dec 20 19:30:40 2011 +0800"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 17 02:50:20 2012 +0800"
      },
      "message": "batman-adv: convert time_after instances to has_timed_out\n\nTo increase readability the has_timed_out() functions has been introduced.\nThis patch converts existing time_after() calls to use this wrapper\nfunction (if applicable).\nThis patch also converts all timeouts to miliseconds to be consistent.\n\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\nSigned-off-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\n"
    },
    {
      "commit": "76543d14aec6ce5cb3fc7be9b39c50fcebd2043b",
      "tree": "4f739cfadaee8ec9a06d7855956f3accc1dcc2be",
      "parents": [
        "17071578888c7c18709e48e74fae228c04581b9a"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun Nov 20 15:47:38 2011 +0100"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 17 02:50:19 2012 +0800"
      },
      "message": "batman-adv: Explicitly mark the common header structure\n\nAll batman-adv packets have a common 3 byte header. It can be used to share\nsome code between different code paths, but it was never explicit stated that\nthis header has to be always the same for all packets. Therefore, new code\nchanges always have the problem that they may accidently introduce regressions\nby moving some elements around.\n\nA new structure is introduced that contains the common header and makes it\neasier visible that these 3 bytes have to be the same for all on-wire packets.\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "48100bac89a6161ca53dd65697fe635f77986686",
      "tree": "369c12a754d2771d1b1fcc11a258b4e9de6567bd",
      "parents": [
        "ad24431277fc92717084d5b4c451e15982588206"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Sun Oct 30 12:17:33 2011 +0100"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun Nov 20 13:08:35 2011 +0100"
      },
      "message": "batman-adv: create a common substructure for tt_global/local_entry\n\nSeveral functions in the translation table management code assume that the\ntt_global_entry and tt_local_entry structures have the same initial fields such\nas \u0027addr\u0027 and \u0027hash_entry\u0027. To improve the code readability and to avoid\nmistakes in later changes, a common substructure that substitute the shared\nfields has been introduced (struct tt_common_entry).\n\nThanks to this modification, it has also been possible to slightly reduce the\ncode length by merging some functions like compare_ltt/gtt() and\ntt_local/global_hash_find()\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "c90681b8505946761b55d4981c9c3b56b3c4171b",
      "tree": "b260388317b5dc1f4a8c00493eea6ff30fb47652",
      "parents": [
        "eb7e2a1e20488f91c7007caa080b83b8e4222572"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Wed Oct 05 17:05:25 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun Nov 20 13:08:33 2011 +0100"
      },
      "message": "batman-adv: fixed hash functions type to uint32_t instead of int\n\nThere are two reasons for this fix:\n- the result of choose_orig() and vis_choose() is an index and therefore it can\u0027t\n  be negative. Hence it is correct to make the return type unsigned too.\n\n- sizeof(int) may not be the same on ALL the architectures. Since we plan to use\n  choose_orig() as DHT hash function, we need to guarantee that, given the same\n  argument, the result is the same. Then it is correct to explicitly express\n  the size of the return type (and the second argument). Since the expected\n  length is currently 4, uint32_t is the most convenient choice.\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "320f422f629c7ed5d07b4186aa491d1e11d18a4c",
      "tree": "8d32d97b2143abbab7bbbb19e8ef9b6e9235c2c4",
      "parents": [
        "45485ad7d24f9f1de964b3aea8beb199dbac141c"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Aug 29 14:17:24 2011 -0700"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Thu Sep 08 17:52:30 2011 +0200"
      },
      "message": "batman-adv: Remove unnecessary OOM logging messages\n\nRemoving unnecessary messages saves code and text.\n\nSite specific OOM messages are duplications of a generic MM\nout of memory message and aren\u0027t really useful, so just\ndelete them.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "015758d00251a4dd9287806cdab4b9c1298f97ed",
      "tree": "f7569640da23701bc5c391afc1033cf89e1626aa",
      "parents": [
        "1a1f37d9257a4792ca17b28b1c2e4ad15fe95b28"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Sat Jul 09 17:52:13 2011 +0200"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Mon Aug 22 15:16:19 2011 +0200"
      },
      "message": "batman-adv: correct several typ0s in the comments\n\nSeveral typos have been corrected and some sentences have been rephrased\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "1a1f37d9257a4792ca17b28b1c2e4ad15fe95b28",
      "tree": "5bc0aa0d34b87d1f9b70682f1c54298860ce7d13",
      "parents": [
        "322a8b034003c0d46d39af85bf24fee27b902f48"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Sun Jul 10 00:36:36 2011 +0200"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Mon Aug 22 15:16:19 2011 +0200"
      },
      "message": "batman-adv: hash_add() has to discriminate on the return value\n\nhash_add() returns 0 on success while returns -1 either on error and on\nentry already present. The caller could use such information to select\nits behaviour. For this reason it is useful that hash_add() returns -1\nin case on error and returns 1 in case of entry already present.\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Marek Lindner \u003clindner_marek@yahoo.de\u003e\n"
    },
    {
      "commit": "7683fdc1e88644ee8108a1f33faba80545f0024d",
      "tree": "6a06c51fc2344e1f88e31591f978f3944cfe230e",
      "parents": [
        "cc47f66e6b9ec7e7d465f74739a6fc9844593894"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Wed Apr 27 14:28:07 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon Jun 20 11:37:30 2011 +0200"
      },
      "message": "batman-adv: protect the local and the global trans-tables with rcu\n\nThe local and the global translation-tables are now lock free and rcu\nprotected.\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nAcked-by: Simon Wunderlich \u003csiwu@hrz.tu-chemnitz.de\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "f5d33d37786af139cecde5af831d64a671bb756b",
      "tree": "6978df634a520e574fbd10ec62c980d3079fdcd3",
      "parents": [
        "728cbc6ac1eef89660875c70a602c1a0ba8df4ff"
      ],
      "author": {
        "name": "Antonio Quartulli",
        "email": "ordex@autistici.org",
        "time": "Wed May 18 09:20:50 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon May 30 07:39:35 2011 +0200"
      },
      "message": "batman-adv: move smallest_signed_int(), seq_before() and seq_after() into main.h\n\nsmallest_signed_int(), seq_before() and seq_after() are very useful\nfunctions that help to handle comparisons between sequence numbers.\nHowever they were only defined in vis.c. With this patch every\nbatman-adv function will be able to use them.\n\nSigned-off-by: Antonio Quartulli \u003cordex@autistici.org\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "704509b8d44886cebfbaff1a9813c35dfa986954",
      "tree": "7b353f1d4a33b31d55d2a85f8d70882ade1868ce",
      "parents": [
        "958ca5985604a6f13387d32de489365df816558b"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sat May 14 23:14:54 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon May 30 07:39:33 2011 +0200"
      },
      "message": "batman-adv: Calculate sizeof using variable insead of types\n\nDocumentation/CodingStyle recommends to use the form\n\n\tp \u003d kmalloc(sizeof(*p), ...);\n\nto calculate the size of a struct and not the version where the struct\nname is spelled out to prevent bugs when the type of p changes. This\nalso seems appropriate for manipulation of buffers when they are\ndirectly associated with p.\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "958ca5985604a6f13387d32de489365df816558b",
      "tree": "6af620714788fb8dcfdd9d36063d3c0dd19de29f",
      "parents": [
        "5f718c20076f4b47c3dc0f1277aef9966928089c"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sat May 14 23:14:53 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon May 30 07:39:33 2011 +0200"
      },
      "message": "batman-adv: Remove casts from type x to type x\n\nCasting from pointer like \u0027struct orig_node*\u0027 to \u0027struct orig_node *\u0027\ndoesn\u0027t provide any additional functionality and can be savely removed.\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "747e4221a03cde62402b614ca1f8e961b8416130",
      "tree": "98428064fef191a5093e276d5a779b9e801a97f0",
      "parents": [
        "38e3c5f0dae7a3bbb32c3b2bb28c3f2557d40fe9"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sat May 14 23:14:50 2011 +0200"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Mon May 30 07:39:31 2011 +0200"
      },
      "message": "batman-adv: Add const type qualifier for pointers\n\nbatman-adv uses pointers which are marked as const and should not\nviolate that type qualifier by passing it to functions which force a\ncast to the non-const version.\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "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": "e1a5382f978b67b5cc36eec65e6046730ce07714",
      "tree": "f7ca07cde3a49858d0cfa33e0189a659a1fcc95d",
      "parents": [
        "57f0c07c4d0da8bcc23e21c330fe9c7c5cf776b5"
      ],
      "author": {
        "name": "Linus Lüssing",
        "email": "linus.luessing@web.de",
        "time": "Mon Mar 14 22:43:37 2011 +0000"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun Apr 17 21:11:01 2011 +0200"
      },
      "message": "batman-adv: Make orig_node-\u003erouter an rcu protected pointer\n\nThe rcu protected macros rcu_dereference() and rcu_assign_pointer()\nfor the orig_node-\u003erouter need to be used, as well as spin/rcu locking.\nOtherwise we might end up using a router pointer pointing to already\nfreed memory.\n\nTherefore this commit introduces the safe getter method\norig_node_get_router().\n\nSigned-off-by: Linus Lüssing \u003clinus.luessing@web.de\u003e\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": "39901e716275da4e831b40f9e45a1b61d6a776dc",
      "tree": "a7db25062f0e3df9b7f878adaeda8aadd5644181",
      "parents": [
        "9e0b33c221f1364e4d7562177a918eef8e85317a"
      ],
      "author": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Fri Feb 18 12:28:08 2011 +0000"
      },
      "committer": {
        "name": "Marek Lindner",
        "email": "lindner_marek@yahoo.de",
        "time": "Sat Mar 05 12:50:14 2011 +0100"
      },
      "message": "batman-adv: separate ethernet comparing calls from hash functions\n\nNote: The function compare_ether_addr() provided by the Linux kernel\nrequires aligned memory.\n\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": "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": "a5e3c2aae23a3719105c1ae662c67ef282f213db",
      "tree": "f951e78782757dfc2d4b7015601f65101ac2ef73",
      "parents": [
        "6b28ff3be829a851378551245fd6b3f9bf93b0ad",
        "091b948306d2628320e77977eb7ae4a757b12180"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 13:24:56 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 31 13:24:56 2011 -0800"
      },
      "message": "Merge branch \u0027batman-adv/next\u0027 of git://git.open-mesh.org/ecsv/linux-merge\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": "1181e1daace88018b2ff66592aa10a4791d705ff",
      "tree": "7cea108c5063c61b74904070396c98c4b1bf29fa",
      "parents": [
        "dda9fc6b2c59f056e7a2b313b8423b14a4df25a9"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Fri Jan 28 18:34:07 2011 +0100"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun Jan 30 10:32:08 2011 +0100"
      },
      "message": "batman-adv: Make vis info stack traversal threadsafe\n\nThe batman-adv vis server has to a stack which stores all information\nabout packets which should be send later. This stack is protected\nwith a spinlock that is used to prevent concurrent write access to it.\n\nThe send_vis_packets function has to take all elements from the stack\nand send them to other hosts over the primary interface. The send will\nbe initiated without the lock which protects the stack.\n\nThe implementation using list_for_each_entry_safe has the problem that\nit stores the next element as \"safe ptr\" to allow the deletion of the\ncurrent element in the list. The list may be modified during the\nunlock/lock pair in the loop body which may make the safe pointer\nnot pointing to correct next element.\n\nIt is safer to remove and use the first element from the stack until no\nelements are available. This does not need reduntant information which\nwould have to be validated each time the lock was removed.\n\nReported-by: Russell Senior \u003crussell@personaltelco.net\u003e\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "dda9fc6b2c59f056e7a2b313b8423b14a4df25a9",
      "tree": "0ad7d73e862e92d26b30b857f3ffa958f2637912",
      "parents": [
        "2674c15870f888cb732a564fc504ce17654afc64"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Fri Jan 28 18:34:06 2011 +0100"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun Jan 30 10:32:06 2011 +0100"
      },
      "message": "batman-adv: Remove vis info element in free_info\n\nThe free_info function will be called when no reference to the info\nobject exists anymore. It must be ensured that the allocated memory\ngets freed and not only the elements which are managed by the info\nobject.\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "2674c15870f888cb732a564fc504ce17654afc64",
      "tree": "98ae97713077307ee1f56ec5de362b53f8e3186d",
      "parents": [
        "dd58ddc6928f711d8fb7101182215a0f23cf41f1"
      ],
      "author": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Fri Jan 28 18:34:05 2011 +0100"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Sun Jan 30 10:32:02 2011 +0100"
      },
      "message": "batman-adv: Remove vis info on hashing errors\n\nA newly created vis info object must be removed when it couldn\u0027t be\nadded to the hash. The old_info which has to be replaced was already\nremoved and isn\u0027t related to the hash anymore.\n\nSigned-off-by: Sven Eckelmann \u003csven@narfation.org\u003e\n"
    },
    {
      "commit": "dd58ddc6928f711d8fb7101182215a0f23cf41f1",
      "tree": "7c5707c51d817e27e795bb77c5da9fe0c2fbc345",
      "parents": [
        "aa0adb1a85e159cf57f0e11282bc6c9e3606a5f3"
      ],
      "author": {
        "name": "Linus Lüssing",
        "email": "linus.luessing@web.de",
        "time": "Tue Jan 25 21:56:16 2011 +0000"
      },
      "committer": {
        "name": "Sven Eckelmann",
        "email": "sven@narfation.org",
        "time": "Tue Jan 25 23:58:33 2011 +0100"
      },
      "message": "batman-adv: Fix kernel panic when fetching vis data on a vis server\n\nThe hash_iterate removal introduced a bug leading to a kernel panic when\nfetching the vis data on a vis server. That commit forgot to rename one\nvariable name, which this commit fixes now.\n\nReported-by: Russell Senior \u003crussell@personaltelco.net\u003e\nSigned-off-by: Linus Lüssing \u003clinus.luessing@web.de\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"
    }
  ]
}
