{"push_id":802467490,"size":1,"distinct_size":1,"ref":"refs/heads/lp5.1","head":"e1348666f4bc3c30bce72dbfa6bdf4ba7541ce21","before":"a66475c87c07e0f714487b4bca8ee9638f1c746a","commits":[{"sha":"e1348666f4bc3c30bce72dbfa6bdf4ba7541ce21","author":{"email":"966b74740c67c4df944e25f0a65bfdba363503f7@blackwall.org","name":"Nikolay Aleksandrov"},"message":"bridge: fix multicast router rlist endless loop\n\ncommit 1a040eaca1a22f8da8285ceda6b5e4a2cb704867 upstream.\n\nSince the addition of sysfs multicast router support if one set\nmulticast_router to \"2\" more than once, then the port would be added to\nthe hlist every time and could end up linking to itself and thus causing an\nendless loop for rlist walkers.\nSo to reproduce just do:\necho 2 > multicast_router; echo 2 > multicast_router;\nin a bridge port and let some igmp traffic flow, for me it hangs up\nin br_multicast_flood().\nFix this by adding a check in br_multicast_add_router() if the port is\nalready linked.\nThe reason this didn't happen before the addition of multicast_router\nsysfs entries is because there's a !hlist_unhashed check that prevents\nit.\n\nSigned-off-by: Nikolay Aleksandrov <razor@blackwall.org>\nFixes: 0909e11758bd (\"bridge: Add multicast_router sysfs entries\")\nAcked-by: Herbert Xu <herbert@gondor.apana.org.au>\nSigned-off-by: David S. Miller <davem@davemloft.net>\n[lizf: Backported to 3.4: adjust context]\nSigned-off-by: Zefan Li <lizefan@huawei.com>","distinct":true,"url":"https://api.github.com/repos/lenzwagner/android_kernel_lge_p880/commits/e1348666f4bc3c30bce72dbfa6bdf4ba7541ce21"}]}