{"push_id":896855063,"size":126,"distinct_size":126,"ref":"refs/heads/linux-4.2.y","head":"7317505d86acdb03b248901d198386764fb6c2f6","before":"1c02865136fee1d10d434dc9e3616c8e39905e9b","commits":[{"sha":"87056ada2a1d6906db244551a33f8f439d8d1af1","author":{"email":"ff341aa343d564f9e53e9dcb6996be8c04859a66@oracle.com","name":"Dan Carpenter"},"message":"irda: precedence bug in irlmp_seq_hb_idx()\n\n[ Upstream commit 50010c20597d14667eff0fdb628309986f195230 ]\n\nThis is decrementing the pointer, instead of the value stored in the\npointer.  KASan detects it as an out of bounds reference.\n\nReported-by: \"Berry Cheng 程君(成淼)\" <chengmiao.cj@alibaba-inc.com>\nSigned-off-by: Dan Carpenter <dan.carpenter@oracle.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/87056ada2a1d6906db244551a33f8f439d8d1af1"},{"sha":"c19282fd54a19e4651a4e67836cd842082546677","author":{"email":"0e60c7c02f6d30eccc82572d2a89766b1b2a3d45@ericsson.com","name":"Jon Paul Maloy"},"message":"tipc: allow non-linear first fragment buffer\n\n[ Upstream commit 45c8b7b175ceb2d542e0fe15247377bf3bce29ec ]\n\nThe current code for message reassembly is erroneously assuming that\nthe the first arriving fragment buffer always is linear, and then goes\nahead resetting the fragment list of that buffer in anticipation of\nmore arriving fragments.\n\nHowever, if the buffer already happens to be non-linear, we will\ninadvertently drop the already attached fragment list, and later\non trig a BUG() in __pskb_pull_tail().\n\nWe see this happen when running fragmented TIPC multicast across UDP,\nsomething made possible since\ncommit d0f91938bede (\"tipc: add ip/udp media type\")\n\nWe fix this by not resetting the fragment list when the buffer is non-\nlinear, and by initiatlizing our private fragment list tail pointer to\nthe tail of the existing fragment list.\n\nFixes: commit d0f91938bede (\"tipc: add ip/udp media type\")\nSigned-off-by: Jon Maloy <jon.maloy@ericsson.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/c19282fd54a19e4651a4e67836cd842082546677"},{"sha":"9a14758e5ab97d4da8813d5dec0c2d5cbe8458d0","author":{"email":"995786239fa45a46922d8c141fb8143e2bcc6f67@gmail.com","name":"Renato Westphal"},"message":"tcp: remove improper preemption check in tcp_xmit_probe_skb()\n\n[ Upstream commit e2e8009ff72ad2a795b67785f3238af152146368 ]\n\nCommit e520af48c7e5a introduced the following bug when setting the\nTCP_REPAIR sockoption:\n\n[ 2860.657036] BUG: using __this_cpu_add() in preemptible [00000000] code: daemon/12164\n[ 2860.657045] caller is __this_cpu_preempt_check+0x13/0x20\n[ 2860.657049] CPU: 1 PID: 12164 Comm: daemon Not tainted 4.2.3 #1\n[ 2860.657051] Hardware name: Dell Inc. PowerEdge R210 II/0JP7TR, BIOS 2.0.5 03/13/2012\n[ 2860.657054]  ffffffff81c7f071 ffff880231e9fdf8 ffffffff8185d765 0000000000000002\n[ 2860.657058]  0000000000000001 ffff880231e9fe28 ffffffff8146ed91 ffff880231e9fe18\n[ 2860.657062]  ffffffff81cd1a5d ffff88023534f200 ffff8800b9811000 ffff880231e9fe38\n[ 2860.657065] Call Trace:\n[ 2860.657072]  [<ffffffff8185d765>] dump_stack+0x4f/0x7b\n[ 2860.657075]  [<ffffffff8146ed91>] check_preemption_disabled+0xe1/0xf0\n[ 2860.657078]  [<ffffffff8146edd3>] __this_cpu_preempt_check+0x13/0x20\n[ 2860.657082]  [<ffffffff817e0bc7>] tcp_xmit_probe_skb+0xc7/0x100\n[ 2860.657085]  [<ffffffff817e1e2d>] tcp_send_window_probe+0x2d/0x30\n[ 2860.657089]  [<ffffffff817d1d8c>] do_tcp_setsockopt.isra.29+0x74c/0x830\n[ 2860.657093]  [<ffffffff817d1e9c>] tcp_setsockopt+0x2c/0x30\n[ 2860.657097]  [<ffffffff81767b74>] sock_common_setsockopt+0x14/0x20\n[ 2860.657100]  [<ffffffff817669e1>] SyS_setsockopt+0x71/0xc0\n[ 2860.657104]  [<ffffffff81865172>] entry_SYSCALL_64_fastpath+0x16/0x75\n\nSince tcp_xmit_probe_skb() can be called from process context, use\nNET_INC_STATS() instead of NET_INC_STATS_BH().\n\nFixes: e520af48c7e5 (\"tcp: add TCPWinProbe and TCPKeepAlive SNMP counters\")\nSigned-off-by: Renato Westphal <renatow@taghos.com.br>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/9a14758e5ab97d4da8813d5dec0c2d5cbe8458d0"},{"sha":"aa23ddc33c318841c3e856665e4c7fd0b432a1f5","author":{"email":"fb53b2ddb8d141e0cb39d7c67c2f81b6bc2eb0f7@gmail.com","name":"David Herrmann"},"message":"netlink: fix locking around NETLINK_LIST_MEMBERSHIPS\n\n[ Upstream commit 47191d65b647af5eb5c82ede70ed4c24b1e93ef4 ]\n\nCurrently, NETLINK_LIST_MEMBERSHIPS grabs the netlink table while copying\nthe membership state to user-space. However, grabing the netlink table is\neffectively a write_lock_irq(), and as such we should not be triggering\npage-faults in the critical section.\n\nThis can be easily reproduced by the following snippet:\n    int s = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);\n    void *p = mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0);\n    int r = getsockopt(s, 0x10e, 9, p, (void*)((char*)p + 4092));\n\nThis should work just fine, but currently triggers EFAULT and a possible\nWARN_ON below handle_mm_fault().\n\nFix this by reducing locking of NETLINK_LIST_MEMBERSHIPS to a read-side\nlock. The write-lock was overkill in the first place, and the read-lock\nallows page-faults just fine.\n\nReported-by: Dmitry Vyukov <dvyukov@google.com>\nSigned-off-by: David Herrmann <dh.herrmann@gmail.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/aa23ddc33c318841c3e856665e4c7fd0b432a1f5"},{"sha":"7eaa9188e51d5d1584ba58bcdfa4395ae371aeed","author":{"email":"8a2957e0063f2abf61bd145b6236a74a3708ac54@mork.no","name":"Bjørn Mork"},"message":"qmi_wwan: add Sierra Wireless MC74xx/EM74xx\n\n[ Upstream commit 0db65fcfcded76fe4f74e3ca9f4e2baf67b683ef ]\n\nNew device IDs shamelessly lifted from the vendor driver.\n\nSigned-off-by: Bjørn Mork <bjorn@mork.no>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/7eaa9188e51d5d1584ba58bcdfa4395ae371aeed"},{"sha":"bd71bc5efc6ee83c4aa2f2515ad72430c84a9c00","author":{"email":"808efd45667dbd241e4e026b5673172419ecb43e@redhat.com","name":"Jason Wang"},"message":"macvtap: unbreak receiving of gro skb with frag list\n\n[ Upstream commit f23d538bc24a83c16127c2eb82c9cf1adc2b5149 ]\n\nWe don't have fraglist support in TAP_FEATURES. This will lead\nsoftware segmentation of gro skb with frag list. Fixes by having\nfrag list support in TAP_FEATURES.\n\nWith this patch single session of netperf receiving were restored from\nabout 5Gb/s to about 12Gb/s on mlx4.\n\nFixes a567dd6252 (\"macvtap: simplify usage of tap_features\")\nCc: Vlad Yasevich <vyasevic@redhat.com>\nCc: Michael S. Tsirkin <mst@redhat.com>\nSigned-off-by: Jason Wang <jasowang@redhat.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/bd71bc5efc6ee83c4aa2f2515ad72430c84a9c00"},{"sha":"8edcc554fb85b929844363d2ec6a0316a3007366","author":{"email":"c9cf31cb6c9821bed82e940f06145b026ca536b5@alphalink.fr","name":"Guillaume Nault"},"message":"ppp: fix pppoe_dev deletion condition in pppoe_release()\n\n[ Upstream commit 1acea4f6ce1b1c0941438aca75dd2e5c6b09db60 ]\n\nWe can't rely on PPPOX_ZOMBIE to decide whether to clear po->pppoe_dev.\nPPPOX_ZOMBIE can be set by pppoe_disc_rcv() even when po->pppoe_dev is\nNULL. So we have no guarantee that (sk->sk_state & PPPOX_ZOMBIE) implies\n(po->pppoe_dev != NULL).\nSince we're releasing a PPPoE socket, we want to release the pppoe_dev\nif it exists and reset sk_state to PPPOX_DEAD, no matter the previous\nvalue of sk_state. So we can just check for po->pppoe_dev and avoid any\nassumption on sk->sk_state.\n\nFixes: 2b018d57ff18 (\"pppoe: drop PPPOX_ZOMBIEs in pppoe_release\")\nSigned-off-by: Guillaume Nault <g.nault@alphalink.fr>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/8edcc554fb85b929844363d2ec6a0316a3007366"},{"sha":"3bc6cb1eeee449c1e30df02dd5e59b3d8d768a5c","author":{"email":"40f3d151eada3a611836d28c7df9b8079e0eb43c@amd.com","name":"Lendacky, Thomas"},"message":"amd-xgbe: Use wmb before updating current descriptor count\n\n[ Upstream commit 20a41fba679d665cdae2808e2b9cae97c073351f ]\n\nThe code currently uses the lightweight dma_wmb barrier before updating\nthe current descriptor count. Under heavy load, the Tx cleanup routine\nwas seeing the updated current descriptor count before the updated\ndescriptor information. As a result, the Tx descriptor was being cleaned\nup before it was used because it was not \"owned\" by the hardware yet,\nresulting in a Tx queue hang.\n\nUsing the wmb barrier insures that the descriptor is updated before the\ndescriptor counter preventing the Tx queue hang. For extra insurance,\nthe Tx cleanup routine is changed to grab the current decriptor count on\nentry and uses that initial value in the processing loop rather than\ntrying to chase the current value.\n\nSigned-off-by: Tom Lendacky <thomas.lendacky@amd.com>\nTested-by: Christoffer Dall <christoffer.dall@linaro.org>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/3bc6cb1eeee449c1e30df02dd5e59b3d8d768a5c"},{"sha":"6077315234f4c83dbacd4ba6456856df7f1c17ed","author":{"email":"40f3d151eada3a611836d28c7df9b8079e0eb43c@amd.com","name":"Lendacky, Thomas"},"message":"amd-xgbe: Fix race between access of desc and desc index\n\n[ Upstream commit 20986ed826cbb36bb8f2d77f872e3c52d8d30647 ]\n\nDuring Tx cleanup it's still possible for the descriptor data to be\nread ahead of the descriptor index. A memory barrier is required between\nthe read of the descriptor index and the start of the Tx cleanup loop.\nThis allows a change to a lighter-weight barrier in the Tx transmit\nroutine just before updating the current descriptor index.\n\nSince the memory barrier does result in extra overhead on arm64, keep\nthe previous change to not chase the current descriptor value. This\nprevents the execution of the barrier for each loop performed.\n\nSuggested-by: Alexander Duyck <alexander.duyck@gmail.com>\nSigned-off-by: Tom Lendacky <thomas.lendacky@amd.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/6077315234f4c83dbacd4ba6456856df7f1c17ed"},{"sha":"914eba928de4ef337deecee507b889d27d5ac592","author":{"email":"679188261afeb60eb822cd934fd7b46a48ddd743@freescale.com","name":"Fabio Estevam"},"message":"net: fec: Remove unneeded use of IS_ERR_VALUE() macro\n\n[ Upstream commit b0c6ce24911fcb64715de9569f0f7b4f54d1d045 ]\n\nThere is no need to use the IS_ERR_VALUE() macro for checking\nthe return value from pm_runtime_* functions.\n\nJust do a simple negative test instead.\n\nThe semantic patch that makes this change is available\nin scripts/coccinelle/api/pm_runtime.cocci.\n\nSigned-off-by: Fabio Estevam <fabio.estevam@freescale.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/914eba928de4ef337deecee507b889d27d5ac592"},{"sha":"0a7f9f1c37ef991a13dfeedd9709a7020a35d321","author":{"email":"312c7d941f03386814be517ffdb3e0eb6624e275@google.com","name":"Eric Dumazet"},"message":"ipv6: gre: support SIT encapsulation\n\n[ Upstream commit 7e3b6e7423d5f994257c1de88e06b509673fdbcf ]\n\ngre_gso_segment() chokes if SIT frames were aggregated by GRO engine.\n\nFixes: 61c1db7fae21e (\"ipv6: sit: add GSO/TSO support\")\nSigned-off-by: Eric Dumazet <edumazet@google.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/0a7f9f1c37ef991a13dfeedd9709a7020a35d321"},{"sha":"e8b3a1a94d0aea81385adb9561ec17b38d0ba860","author":{"email":"1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e@maciej.szmigiero.name","name":"Maciej S. Szmigiero"},"message":"net: fec: normalize return value of pm_runtime_get_sync() in MDIO write\n\n[ Upstream commit 42ea4457aea7aaeddf0c0b06724f297608f5e9d2 ]\n\nIf fec MDIO write method succeeds its return value comes from\ncall to pm_runtime_get_sync().\nBut pm_runtime_get_sync() can also return 1.\n\nIn case of Micrel KSZ9031 PHY this value will then\nbe returned along the call chain of phy_write() ->\nksz9031_extended_write() -> ksz9031_center_flp_timing() ->\nksz9031_config_init() -> phy_init_hw() -> phy_attach_direct() ->\nphy_connect_direct().\n\nThen phy_connect() will cast it into a pointer using ERR_PTR(),\nwhich then fec_enet_mii_probe() will try to dereference\nresulting in an oops.\n\nFix it by normalizing return value of pm_runtime_get_sync()\nto be zero if positive in MDIO write method.\n\nFixes: 8fff755e9f8d (\"net: fec: Ensure clocks are enabled while using mdio bus\")\nSigned-off-by: Maciej Szmigiero <mail@maciej.szmigiero.name>\nAcked-by: Andrew Lunn <andrew@lunn.ch>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/e8b3a1a94d0aea81385adb9561ec17b38d0ba860"},{"sha":"438da3c1178949a52f4a96af8de4ea2476c5e9c9","author":{"email":"65fbf386e60e512f5266151fdc208e509cb2778b@mirantis.com","name":"Alexander Duyck"},"message":"fib_trie: leaf_walk_rcu should not compute key if key is less than pn->key\n\n[ Upstream commit c2229fe1430d4e1c70e36520229dd64a87802b20 ]\n\nWe were computing the child index in cases where the key value we were\nlooking for was actually less than the base key of the tnode.  As a result\nwe were getting incorrect index values that would cause us to skip over\nsome children.\n\nTo fix this I have added a test that will force us to use child index 0 if\nthe key we are looking for is less than the key of the current tnode.\n\nFixes: 8be33e955cb9 (\"fib_trie: Fib walk rcu should take a tnode and key instead of a trie and a leaf\")\nReported-by: Brian Rak <brak@gameservers.com>\nSigned-off-by: Alexander Duyck <aduyck@mirantis.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/438da3c1178949a52f4a96af8de4ea2476c5e9c9"},{"sha":"aee5e801d81f1d5f509cc105ae15568214919f62","author":{"email":"1a53202f7826b15a582486d4ea9c371e05720251@oracle.com","name":"Sowmini Varadhan"},"message":"RDS-TCP: Recover correctly from pskb_pull()/pksb_trim() failure in rds_tcp_data_recv\n\n[ Upstream commit 8ce675ff39b9958d1c10f86cf58e357efaafc856 ]\n\nEither of pskb_pull() or pskb_trim() may fail under low memory conditions.\nIf rds_tcp_data_recv() ignores such failures, the application will\nreceive corrupted data because the skb has not been correctly\ncarved to the RDS datagram size.\n\nAvoid this by handling pskb_pull/pskb_trim failure in the same\nmanner as the skb_clone failure: bail out of rds_tcp_data_recv(), and\nretry via the deferred call to rds_send_worker() that gets set up on\nENOMEM from rds_tcp_read_sock()\n\nSigned-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>\nAcked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/aee5e801d81f1d5f509cc105ae15568214919f62"},{"sha":"769053d221a67da8357b6713890041d3ecb41aad","author":{"email":"85eaff3c03d4b4d3d601e96c3e1c7f9e58a5538d@linux.vnet.ibm.com","name":"Carol L Soto"},"message":"net/mlx4: Copy/set only sizeof struct mlx4_eqe bytes\n\n[ Upstream commit c02b05011fadf8e409e41910217ca689f2fc9d91 ]\n\nWhen doing memcpy/memset of EQEs, we should use sizeof struct\nmlx4_eqe as the base size and not caps.eqe_size which could be bigger.\n\nIf caps.eqe_size is bigger than the struct mlx4_eqe then we corrupt\ndata in the master context.\n\nWhen using a 64 byte stride, the memcpy copied over 63 bytes to the\nslave_eq structure.  This resulted in copying over the entire eqe of\ninterest, including its ownership bit -- and also 31 bytes of garbage\ninto the next WQE in the slave EQ -- which did NOT include the ownership\nbit (and therefore had no impact).\n\nHowever, once the stride is increased to 128, we are overwriting the\nownership bits of *three* eqes in the slave_eq struct.  This results\nin an incorrect ownership bit for those eqes, which causes the eq to\nseem to be full. The issue therefore surfaced only once 128-byte EQEs\nstarted being used in SRIOV and (overarchitectures that have 128/256\nbyte cache-lines such as PPC) - e.g after commit 77507aa249ae\n\"net/mlx4_core: Enable CQE/EQE stride support\".\n\nFixes: 08ff32352d6f ('mlx4: 64-byte CQE/EQE support')\nSigned-off-by: Carol L Soto <clsoto@linux.vnet.ibm.com>\nSigned-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>\nSigned-off-by: Or Gerlitz <ogerlitz@mellanox.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/769053d221a67da8357b6713890041d3ecb41aad"},{"sha":"2d52c83a9f8c8eaef7e1f14b2c011d60339c8d03","author":{"email":"0e60c7c02f6d30eccc82572d2a89766b1b2a3d45@ericsson.com","name":"Jon Paul Maloy"},"message":"tipc: linearize arriving NAME_DISTR and LINK_PROTO buffers\n\n[ Upstream commit 5cbb28a4bf65c7e4daa6c25b651fed8eb888c620 ]\n\nTesting of the new UDP bearer has revealed that reception of\nNAME_DISTRIBUTOR, LINK_PROTOCOL/RESET and LINK_PROTOCOL/ACTIVATE\nmessage buffers is not prepared for the case that those may be\nnon-linear.\n\nWe now linearize all such buffers before they are delivered up to the\ngeneric reception layer.\n\nIn order for the commit to apply cleanly to 'net' and 'stable', we do\nthe change in the function tipc_udp_recv() for now. Later, we will post\na commit to 'net-next' moving the linearization to generic code, in\ntipc_named_rcv() and tipc_link_proto_rcv().\n\nFixes: commit d0f91938bede (\"tipc: add ip/udp media type\")\nSigned-off-by: Jon Maloy <jon.maloy@ericsson.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/2d52c83a9f8c8eaef7e1f14b2c011d60339c8d03"},{"sha":"ee256463e827ce5cf65e290d0c2852852662a489","author":{"email":"84572ef2253ef81e2d8cd8c65849f4d9a3881f47@ssi.bg","name":"Julian Anastasov"},"message":"ipv4: fix to not remove local route on link down\n\n[ Upstream commit 4f823defdd5b106a5e89745ee8b163c71855de1e ]\n\nWhen fib_netdev_event calls fib_disable_ip on NETDEV_DOWN event\nwe should not delete the local routes if the local address\nis still present. The confusion comes from the fact that both\nfib_netdev_event and fib_inetaddr_event use the NETDEV_DOWN\nconstant. Fix it by returning back the variable 'force'.\n\nSteps to reproduce:\nmodprobe dummy\nifconfig dummy0 192.168.168.1 up\nifconfig dummy0 down\nip route list table local | grep dummy | grep host\nlocal 192.168.168.1 dev dummy0  proto kernel  scope host  src 192.168.168.1\n\nFixes: 8a3d03166f19 (\"net: track link-status of ipv4 nexthops\")\nSigned-off-by: Julian Anastasov <ja@ssi.bg>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/ee256463e827ce5cf65e290d0c2852852662a489"},{"sha":"d5f4b22792972ecbf5984a6b482793a9edff523d","author":{"email":"84572ef2253ef81e2d8cd8c65849f4d9a3881f47@ssi.bg","name":"Julian Anastasov"},"message":"ipv4: update RTNH_F_LINKDOWN flag on UP event\n\n[ Upstream commit c9b3292eeb52c6834e972eb5b8fe38914771ed12 ]\n\nWhen nexthop is part of multipath route we should clear the\nLINKDOWN flag when link goes UP or when first address is added.\nThis is needed because we always set LINKDOWN flag when DEAD flag\nwas set but now on UP the nexthop is not dead anymore. Examples when\nLINKDOWN bit can be forgotten when no NETDEV_CHANGE is delivered:\n\n- link goes down (LINKDOWN is set), then link goes UP and device\nshows carrier OK but LINKDOWN remains set\n\n- last address is deleted (LINKDOWN is set), then address is\nadded and device shows carrier OK but LINKDOWN remains set\n\nSteps to reproduce:\nmodprobe dummy\nifconfig dummy0 192.168.168.1 up\n\nhere add a multipath route where one nexthop is for dummy0:\n\nip route add 1.2.3.4 nexthop dummy0 nexthop SOME_OTHER_DEVICE\nifconfig dummy0 down\nifconfig dummy0 up\n\nnow ip route shows nexthop that is not dead. Now set the sysctl var:\n\necho 1 > /proc/sys/net/ipv4/conf/dummy0/ignore_routes_with_linkdown\n\nnow ip route will show a dead nexthop because the forgotten\nRTNH_F_LINKDOWN is propagated as RTNH_F_DEAD.\n\nFixes: 8a3d03166f19 (\"net: track link-status of ipv4 nexthops\")\nSigned-off-by: Julian Anastasov <ja@ssi.bg>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/d5f4b22792972ecbf5984a6b482793a9edff523d"},{"sha":"912bd0daa23af0c2841404eced4c0ed324495813","author":{"email":"9ed25c1e46edeeb687b7db39c190450024a615a1@electromag.com.au","name":"Phil Reid"},"message":"stmmac: Correctly report PTP capabilities.\n\n[ Upstream commit e6dbe1eb2db0d7a14991c06278dd3030c45fb825 ]\n\npriv->hwts_*_en indicate if timestamping is enabled/disabled at run\ntime. But  priv->dma_cap.time_stamp  and priv->dma_cap.atime_stamp\nindicates HW is support for PTPv1/PTPv2.\n\nSigned-off-by: Phil Reid <preid@electromag.com.au>\nAcked-by: Richard Cochran <richardcochran@gmail.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/912bd0daa23af0c2841404eced4c0ed324495813"},{"sha":"176dae31a5901158a77986d260d02e55d437a0e8","author":{"email":"3f79ccd1432f8960aa9062d90665feabb5fd19d8@arista.com","name":"Ani Sinha"},"message":"ipmr: fix possible race resulting from improper usage of IP_INC_STATS_BH() in preemptible context.\n\n[ Upstream commit 44f49dd8b5a606870a1f21101522a0f9c4414784 ]\n\nFixes the following kernel BUG :\n\nBUG: using __this_cpu_add() in preemptible [00000000] code: bash/2758\ncaller is __this_cpu_preempt_check+0x13/0x15\nCPU: 0 PID: 2758 Comm: bash Tainted: P           O   3.18.19 #2\n ffffffff8170eaca ffff880110d1b788 ffffffff81482b2a 0000000000000000\n 0000000000000000 ffff880110d1b7b8 ffffffff812010ae ffff880007cab800\n ffff88001a060800 ffff88013a899108 ffff880108b84240 ffff880110d1b7c8\nCall Trace:\n[<ffffffff81482b2a>] dump_stack+0x52/0x80\n[<ffffffff812010ae>] check_preemption_disabled+0xce/0xe1\n[<ffffffff812010d4>] __this_cpu_preempt_check+0x13/0x15\n[<ffffffff81419d60>] ipmr_queue_xmit+0x647/0x70c\n[<ffffffff8141a154>] ip_mr_forward+0x32f/0x34e\n[<ffffffff8141af76>] ip_mroute_setsockopt+0xe03/0x108c\n[<ffffffff810553fc>] ? get_parent_ip+0x11/0x42\n[<ffffffff810e6974>] ? pollwake+0x4d/0x51\n[<ffffffff81058ac0>] ? default_wake_function+0x0/0xf\n[<ffffffff810553fc>] ? get_parent_ip+0x11/0x42\n[<ffffffff810613d9>] ? __wake_up_common+0x45/0x77\n[<ffffffff81486ea9>] ? _raw_spin_unlock_irqrestore+0x1d/0x32\n[<ffffffff810618bc>] ? __wake_up_sync_key+0x4a/0x53\n[<ffffffff8139a519>] ? sock_def_readable+0x71/0x75\n[<ffffffff813dd226>] do_ip_setsockopt+0x9d/0xb55\n[<ffffffff81429818>] ? unix_seqpacket_sendmsg+0x3f/0x41\n[<ffffffff813963fe>] ? sock_sendmsg+0x6d/0x86\n[<ffffffff813959d4>] ? sockfd_lookup_light+0x12/0x5d\n[<ffffffff8139650a>] ? SyS_sendto+0xf3/0x11b\n[<ffffffff810d5738>] ? new_sync_read+0x82/0xaa\n[<ffffffff813ddd19>] compat_ip_setsockopt+0x3b/0x99\n[<ffffffff813fb24a>] compat_raw_setsockopt+0x11/0x32\n[<ffffffff81399052>] compat_sock_common_setsockopt+0x18/0x1f\n[<ffffffff813c4d05>] compat_SyS_setsockopt+0x1a9/0x1cf\n[<ffffffff813c4149>] compat_SyS_socketcall+0x180/0x1e3\n[<ffffffff81488ea1>] cstar_dispatch+0x7/0x1e\n\nSigned-off-by: Ani Sinha <ani@arista.com>\nAcked-by: Eric Dumazet <edumazet@google.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/Whissi/linux-stable/commits/176dae31a5901158a77986d260d02e55d437a0e8"}]}