{"push_id":656521241,"size":94,"distinct_size":1,"ref":"refs/heads/linux-3.14.x-mvebu","head":"dcf9d1c92c5c05c2b7b8e30c9ff4529460b9de57","before":"cead13f5076661e1baa214d5312bdb9fd4f5a4f0","commits":[{"sha":"880e4c22700dc2e3ee0f3764b4dafae49579a7b7","author":{"email":"7b8d3696a9dd47ee3daf66a5e039df0a275cda03@gmail.com","name":"Sebastian Pöhn"},"message":"ip_forward: Drop frames with attached skb->sk\n\n[ Upstream commit 2ab957492d13bb819400ac29ae55911d50a82a13 ]\n\nInitial discussion was:\n[FYI] xfrm: Don't lookup sk_policy for timewait sockets\n\nForwarded frames should not have a socket attached. Especially\ntw sockets will lead to panics later-on in the stack.\n\nThis was observed with TPROXY assigning a tw socket and broken\npolicy routing (misconfigured). As a result frame enters\nforwarding path instead of input. We cannot solve this in\nTPROXY as it cannot know that policy routing is broken.\n\nv2:\nRemove useless comment\n\nSigned-off-by: Sebastian Poehn <sebastian.poehn@gmail.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/880e4c22700dc2e3ee0f3764b4dafae49579a7b7"},{"sha":"6dac0a783713ca81b51eec52041a75a6cecd0907","author":{"email":"312c7d941f03386814be517ffdb3e0eb6624e275@google.com","name":"Eric Dumazet"},"message":"tcp: fix possible deadlock in tcp_send_fin()\n\n[ Upstream commit d83769a580f1132ac26439f50068a29b02be535e ]\n\nUsing sk_stream_alloc_skb() in tcp_send_fin() is dangerous in\ncase a huge process is killed by OOM, and tcp_mem[2] is hit.\n\nTo be able to free memory we need to make progress, so this\npatch allows FIN packets to not care about tcp_mem[2], if\nskb allocation succeeded.\n\nIn a follow-up patch, we might abort tcp_send_fin() infinite loop\nin case TIF_MEMDIE is set on this thread, as memory allocator\ndid its best getting extra memory already.\n\nThis patch reverts d22e15371811 (\"tcp: fix tcp fin memory accounting\")\n\nFixes: d22e15371811 (\"tcp: fix tcp fin memory accounting\")\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":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/6dac0a783713ca81b51eec52041a75a6cecd0907"},{"sha":"4fbc90829691a912bb47f6f66bfbfccf654c81fb","author":{"email":"312c7d941f03386814be517ffdb3e0eb6624e275@google.com","name":"Eric Dumazet"},"message":"tcp: avoid looping in tcp_send_fin()\n\n[ Upstream commit 845704a535e9b3c76448f52af1b70e4422ea03fd ]\n\nPresence of an unbound loop in tcp_send_fin() had always been hard\nto explain when analyzing crash dumps involving gigantic dying processes\nwith millions of sockets.\n\nLets try a different strategy :\n\nIn case of memory pressure, try to add the FIN flag to last packet\nin write queue, even if packet was already sent. TCP stack will\nbe able to deliver this FIN after a timeout event. Note that this\nFIN being delivered by a retransmit, it also carries a Push flag\ngiven our current implementation.\n\nBy checking sk_under_memory_pressure(), we anticipate that cooking\nmany FIN packets might deplete tcp memory.\n\nIn the case we could not allocate a packet, even with __GFP_WAIT\nallocation, then not sending a FIN seems quite reasonable if it allows\nto get rid of this socket, free memory, and not block the process from\neventually doing other useful work.\n\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":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/4fbc90829691a912bb47f6f66bfbfccf654c81fb"},{"sha":"d810156278d9b5fe9b1034da3fce1a28219ab9ee","author":{"email":"312c7d941f03386814be517ffdb3e0eb6624e275@google.com","name":"Eric Dumazet"},"message":"net: do not deplete pfmemalloc reserve\n\n[ Upstream commit 79930f5892e134c6da1254389577fffb8bd72c66 ]\n\nbuild_skb() should look at the page pfmemalloc status.\nIf set, this means page allocator allocated this page in the\nexpectation it would help to free other pages. Networking\nstack can do that only if skb->pfmemalloc is also set.\n\nAlso, we must refrain using high order pages from the pfmemalloc\nreserve, so __page_frag_refill() must also use __GFP_NOMEMALLOC for\nthem. Under memory pressure, using order-0 pages is probably the best\nstrategy.\n\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":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/d810156278d9b5fe9b1034da3fce1a28219ab9ee"},{"sha":"503c0602a0c54f3e6b55b2c98963fdb384b85729","author":{"email":"312c7d941f03386814be517ffdb3e0eb6624e275@google.com","name":"Eric Dumazet"},"message":"net: fix crash in build_skb()\n\n[ Upstream commit 2ea2f62c8bda242433809c7f4e9eae1c52c40bbe ]\n\nWhen I added pfmemalloc support in build_skb(), I forgot netlink\nwas using build_skb() with a vmalloc() area.\n\nIn this patch I introduce __build_skb() for netlink use,\nand build_skb() is a wrapper handling both skb->head_frag and\nskb->pfmemalloc\n\nThis means netlink no longer has to hack skb->head_frag\n\n[ 1567.700067] kernel BUG at arch/x86/mm/physaddr.c:26!\n[ 1567.700067] invalid opcode: 0000 [#1] PREEMPT SMP KASAN\n[ 1567.700067] Dumping ftrace buffer:\n[ 1567.700067]    (ftrace buffer empty)\n[ 1567.700067] Modules linked in:\n[ 1567.700067] CPU: 9 PID: 16186 Comm: trinity-c182 Not tainted 4.0.0-next-20150424-sasha-00037-g4796e21 #2167\n[ 1567.700067] task: ffff880127efb000 ti: ffff880246770000 task.ti: ffff880246770000\n[ 1567.700067] RIP: __phys_addr (arch/x86/mm/physaddr.c:26 (discriminator 3))\n[ 1567.700067] RSP: 0018:ffff8802467779d8  EFLAGS: 00010202\n[ 1567.700067] RAX: 000041000ed8e000 RBX: ffffc9008ed8e000 RCX: 000000000000002c\n[ 1567.700067] RDX: 0000000000000004 RSI: 0000000000000000 RDI: ffffffffb3fd6049\n[ 1567.700067] RBP: ffff8802467779f8 R08: 0000000000000019 R09: ffff8801d0168000\n[ 1567.700067] R10: ffff8801d01680c7 R11: ffffed003a02d019 R12: ffffc9000ed8e000\n[ 1567.700067] R13: 0000000000000f40 R14: 0000000000001180 R15: ffffc9000ed8e000\n[ 1567.700067] FS:  00007f2a7da3f700(0000) GS:ffff8801d1000000(0000) knlGS:0000000000000000\n[ 1567.700067] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[ 1567.700067] CR2: 0000000000738308 CR3: 000000022e329000 CR4: 00000000000007e0\n[ 1567.700067] Stack:\n[ 1567.700067]  ffffc9000ed8e000 ffff8801d0168000 ffffc9000ed8e000 ffff8801d0168000\n[ 1567.700067]  ffff880246777a28 ffffffffad7c0a21 0000000000001080 ffff880246777c08\n[ 1567.700067]  ffff88060d302e68 ffff880246777b58 ffff880246777b88 ffffffffad9a6821\n[ 1567.700067] Call Trace:\n[ 1567.700067] build_skb (include/linux/mm.h:508 net/core/skbuff.c:316)\n[ 1567.700067] netlink_sendmsg (net/netlink/af_netlink.c:1633 net/netlink/af_netlink.c:2329)\n[ 1567.774369] ? sched_clock_cpu (kernel/sched/clock.c:311)\n[ 1567.774369] ? netlink_unicast (net/netlink/af_netlink.c:2273)\n[ 1567.774369] ? netlink_unicast (net/netlink/af_netlink.c:2273)\n[ 1567.774369] sock_sendmsg (net/socket.c:614 net/socket.c:623)\n[ 1567.774369] sock_write_iter (net/socket.c:823)\n[ 1567.774369] ? sock_sendmsg (net/socket.c:806)\n[ 1567.774369] __vfs_write (fs/read_write.c:479 fs/read_write.c:491)\n[ 1567.774369] ? get_lock_stats (kernel/locking/lockdep.c:249)\n[ 1567.774369] ? default_llseek (fs/read_write.c:487)\n[ 1567.774369] ? vtime_account_user (kernel/sched/cputime.c:701)\n[ 1567.774369] ? rw_verify_area (fs/read_write.c:406 (discriminator 4))\n[ 1567.774369] vfs_write (fs/read_write.c:539)\n[ 1567.774369] SyS_write (fs/read_write.c:586 fs/read_write.c:577)\n[ 1567.774369] ? SyS_read (fs/read_write.c:577)\n[ 1567.774369] ? __this_cpu_preempt_check (lib/smp_processor_id.c:63)\n[ 1567.774369] ? trace_hardirqs_on_caller (kernel/locking/lockdep.c:2594 kernel/locking/lockdep.c:2636)\n[ 1567.774369] ? trace_hardirqs_on_thunk (arch/x86/lib/thunk_64.S:42)\n[ 1567.774369] system_call_fastpath (arch/x86/kernel/entry_64.S:261)\n\nFixes: 79930f5892e (\"net: do not deplete pfmemalloc reserve\")\nSigned-off-by: Eric Dumazet <edumazet@google.com>\nReported-by: Sasha Levin <sasha.levin@oracle.com>\nSigned-off-by: David S. Miller <davem@davemloft.net>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/503c0602a0c54f3e6b55b2c98963fdb384b85729"},{"sha":"f1e1dad20f148670bbeb9586f6066b18f6257b8e","author":{"email":"e0fcd583df77ec6c08e6d1257619cc1216ddc994@suse.com","name":"Filipe Manana"},"message":"Btrfs: fix log tree corruption when fs mounted with -o discard\n\ncommit dcc82f4783ad91d4ab654f89f37ae9291cdc846a upstream.\n\nWhile committing a transaction we free the log roots before we write the\nnew super block. Freeing the log roots implies marking the disk location\nof every node/leaf (metadata extent) as pinned before the new super block\nis written. This is to prevent the disk location of log metadata extents\nfrom being reused before the new super block is written, otherwise we\nwould have a corrupted log tree if before the new super block is written\na crash/reboot happens and the location of any log tree metadata extent\nended up being reused and rewritten.\n\nEven though we pinned the log tree's metadata extents, we were issuing a\ndiscard against them if the fs was mounted with the -o discard option,\nresulting in corruption of the log tree if a crash/reboot happened before\nwriting the new super block - the next time the fs was mounted, during\nthe log replay process we would find nodes/leafs of the log btree with\na content full of zeroes, causing the process to fail and require the\nuse of the tool btrfs-zero-log to wipeout the log tree (and all data\npreviously fsynced becoming lost forever).\n\nFix this by not doing a discard when pinning an extent. The discard will\nbe done later when it's safe (after the new super block is committed) at\nextent-tree.c:btrfs_finish_extent_commit().\n\nFixes: e688b7252f78 (Btrfs: fix extent pinning bugs in the tree log)\nSigned-off-by: Filipe Manana <fdmanana@suse.com>\nSigned-off-by: Chris Mason <clm@fb.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/f1e1dad20f148670bbeb9586f6066b18f6257b8e"},{"sha":"16c855a64c28016904d436d3f9d86897570cb9ef","author":{"email":"a2ce9d316ca04d17b520237d2846a218b8284e52@suse.cz","name":"David Sterba"},"message":"btrfs: don't accept bare namespace as a valid xattr\n\ncommit 3c3b04d10ff1811a27f86684ccd2f5ba6983211d upstream.\n\nDue to insufficient check in btrfs_is_valid_xattr, this unexpectedly\nworks:\n\n $ touch file\n $ setfattr -n user. -v 1 file\n $ getfattr -d file\nuser.=\"1\"\n\nie. the missing attribute name after the namespace.\n\nBugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=94291\nReported-by: William Douglas <william.douglas@intel.com>\nSigned-off-by: David Sterba <dsterba@suse.cz>\nSigned-off-by: Chris Mason <clm@fb.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/16c855a64c28016904d436d3f9d86897570cb9ef"},{"sha":"81a65d1f0fcda11ff10f6a1bd0da5b39961bf493","author":{"email":"e0fcd583df77ec6c08e6d1257619cc1216ddc994@suse.com","name":"Filipe Manana"},"message":"Btrfs: fix inode eviction infinite loop after cloning into it\n\ncommit ccccf3d67294714af2d72a6fd6fd7d73b01c9329 upstream.\n\nIf we attempt to clone a 0 length region into a file we can end up\ninserting a range in the inode's extent_io tree with a start offset\nthat is greater then the end offset, which triggers immediately the\nfollowing warning:\n\n[ 3914.619057] WARNING: CPU: 17 PID: 4199 at fs/btrfs/extent_io.c:435 insert_state+0x4b/0x10b [btrfs]()\n[ 3914.620886] BTRFS: end < start 4095 4096\n(...)\n[ 3914.638093] Call Trace:\n[ 3914.638636]  [<ffffffff81425fd9>] dump_stack+0x4c/0x65\n[ 3914.639620]  [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb\n[ 3914.640789]  [<ffffffffa03ca44f>] ? insert_state+0x4b/0x10b [btrfs]\n[ 3914.642041]  [<ffffffff810453f0>] warn_slowpath_fmt+0x46/0x48\n[ 3914.643236]  [<ffffffffa03ca44f>] insert_state+0x4b/0x10b [btrfs]\n[ 3914.644441]  [<ffffffffa03ca729>] __set_extent_bit+0x107/0x3f4 [btrfs]\n[ 3914.645711]  [<ffffffffa03cb256>] lock_extent_bits+0x65/0x1bf [btrfs]\n[ 3914.646914]  [<ffffffff8142b2fb>] ? _raw_spin_unlock+0x28/0x33\n[ 3914.648058]  [<ffffffffa03cbac4>] ? test_range_bit+0xcc/0xde [btrfs]\n[ 3914.650105]  [<ffffffffa03cb3c3>] lock_extent+0x13/0x15 [btrfs]\n[ 3914.651361]  [<ffffffffa03db39e>] lock_extent_range+0x3d/0xcd [btrfs]\n[ 3914.652761]  [<ffffffffa03de1fe>] btrfs_ioctl_clone+0x278/0x388 [btrfs]\n[ 3914.654128]  [<ffffffff811226dd>] ? might_fault+0x58/0xb5\n[ 3914.655320]  [<ffffffffa03e0909>] btrfs_ioctl+0xb51/0x2195 [btrfs]\n(...)\n[ 3914.669271] ---[ end trace 14843d3e2e622fc1 ]---\n\nThis later makes the inode eviction handler enter an infinite loop that\nkeeps dumping the following warning over and over:\n\n[ 3915.117629] WARNING: CPU: 22 PID: 4228 at fs/btrfs/extent_io.c:435 insert_state+0x4b/0x10b [btrfs]()\n[ 3915.119913] BTRFS: end < start 4095 4096\n(...)\n[ 3915.137394] Call Trace:\n[ 3915.137913]  [<ffffffff81425fd9>] dump_stack+0x4c/0x65\n[ 3915.139154]  [<ffffffff81045390>] warn_slowpath_common+0xa1/0xbb\n[ 3915.140316]  [<ffffffffa03ca44f>] ? insert_state+0x4b/0x10b [btrfs]\n[ 3915.141505]  [<ffffffff810453f0>] warn_slowpath_fmt+0x46/0x48\n[ 3915.142709]  [<ffffffffa03ca44f>] insert_state+0x4b/0x10b [btrfs]\n[ 3915.143849]  [<ffffffffa03ca729>] __set_extent_bit+0x107/0x3f4 [btrfs]\n[ 3915.145120]  [<ffffffffa038c1e3>] ? btrfs_kill_super+0x17/0x23 [btrfs]\n[ 3915.146352]  [<ffffffff811548f6>] ? deactivate_locked_super+0x3b/0x50\n[ 3915.147565]  [<ffffffffa03cb256>] lock_extent_bits+0x65/0x1bf [btrfs]\n[ 3915.148785]  [<ffffffff8142b7e2>] ? _raw_write_unlock+0x28/0x33\n[ 3915.149931]  [<ffffffffa03bc325>] btrfs_evict_inode+0x196/0x482 [btrfs]\n[ 3915.151154]  [<ffffffff81168904>] evict+0xa0/0x148\n[ 3915.152094]  [<ffffffff811689e5>] dispose_list+0x39/0x43\n[ 3915.153081]  [<ffffffff81169564>] evict_inodes+0xdc/0xeb\n[ 3915.154062]  [<ffffffff81154418>] generic_shutdown_super+0x49/0xef\n[ 3915.155193]  [<ffffffff811546d1>] kill_anon_super+0x13/0x1e\n[ 3915.156274]  [<ffffffffa038c1e3>] btrfs_kill_super+0x17/0x23 [btrfs]\n(...)\n[ 3915.167404] ---[ end trace 14843d3e2e622fc2 ]---\n\nSo just bail out of the clone ioctl if the length of the region to clone\nis zero, without locking any extent range, in order to prevent this issue\n(same behaviour as a pwrite with a 0 length for example).\n\nThis is trivial to reproduce. For example, the steps for the test I just\nmade for fstests:\n\n  mkfs.btrfs -f SCRATCH_DEV\n  mount SCRATCH_DEV $SCRATCH_MNT\n\n  touch $SCRATCH_MNT/foo\n  touch $SCRATCH_MNT/bar\n\n  $CLONER_PROG -s 0 -d 4096 -l 0 $SCRATCH_MNT/foo $SCRATCH_MNT/bar\n  umount $SCRATCH_MNT\n\nA test case for fstests follows soon.\n\nSigned-off-by: Filipe Manana <fdmanana@suse.com>\nReviewed-by: Omar Sandoval <osandov@osandov.com>\nSigned-off-by: Chris Mason <clm@fb.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/81a65d1f0fcda11ff10f6a1bd0da5b39961bf493"},{"sha":"09ad914f6588c10c54cc5e4ca75ef671604e32b3","author":{"email":"e0fcd583df77ec6c08e6d1257619cc1216ddc994@suse.com","name":"Filipe Manana"},"message":"Btrfs: fix inode eviction infinite loop after extent_same ioctl\n\ncommit 113e8283869b9855c8b999796aadd506bbac155f upstream.\n\nIf we pass a length of 0 to the extent_same ioctl, we end up locking an\nextent range with a start offset greater then its end offset (if the\ndestination file's offset is greater than zero). This results in a warning\nfrom extent_io.c:insert_state through the following call chain:\n\n  btrfs_extent_same()\n    btrfs_double_lock()\n      lock_extent_range()\n        lock_extent(inode->io_tree, offset, offset + len - 1)\n          lock_extent_bits()\n            __set_extent_bit()\n              insert_state()\n                --> WARN_ON(end < start)\n\nThis leads to an infinite loop when evicting the inode. This is the same\nproblem that my previous patch titled\n\"Btrfs: fix inode eviction infinite loop after cloning into it\" addressed\nbut for the extent_same ioctl instead of the clone ioctl.\n\nSigned-off-by: Filipe Manana <fdmanana@suse.com>\nReviewed-by: Omar Sandoval <osandov@osandov.com>\nSigned-off-by: Chris Mason <clm@fb.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/09ad914f6588c10c54cc5e4ca75ef671604e32b3"},{"sha":"9308cced73acb67f24e95cd4ac94901f6be0b93a","author":{"email":"b060cfa1096cc6e8be83699ddb4ed8a77dd63af5@intel.com","name":"Len Brown"},"message":"sched/idle/x86: Restore mwait_idle() to fix boot hangs, to improve power savings and to improve performance\n\ncommit b253149b843f89cd300cbdbea27ce1f847506f99 upstream.\n\nIn Linux-3.9 we removed the mwait_idle() loop:\n\n  69fb3676df33 (\"x86 idle: remove mwait_idle() and \"idle=mwait\" cmdline param\")\n\nThe reasoning was that modern machines should be sufficiently\nhappy during the boot process using the default_idle() HALT\nloop, until cpuidle loads and either acpi_idle or intel_idle\ninvoke the newer MWAIT-with-hints idle loop.\n\nBut two machines reported problems:\n\n 1. Certain Core2-era machines support MWAIT-C1 and HALT only.\n    MWAIT-C1 is preferred for optimal power and performance.\n    But if they support just C1, cpuidle never loads and\n    so they use the boot-time default idle loop forever.\n\n 2. Some laptops will boot-hang if HALT is used,\n    but will boot successfully if MWAIT is used.\n    This appears to be a hidden assumption in BIOS SMI,\n    that is presumably valid on the proprietary OS\n    where the BIOS was validated.\n\n       https://bugzilla.kernel.org/show_bug.cgi?id=60770\n\nSo here we effectively revert the patch above, restoring\nthe mwait_idle() loop.  However, we don't bother restoring\nthe idle=mwait cmdline parameter, since it appears to add\nno value.\n\nMaintainer notes:\n\n  For 3.9, simply revert 69fb3676df\n  for 3.10, patch -F3 applies, fuzz needed due to __cpuinit use in\n  context For 3.11, 3.12, 3.13, this patch applies cleanly\n\nTested-by: Mike Galbraith <bitbucket@online.de>\nSigned-off-by: Len Brown <len.brown@intel.com>\nAcked-by: Mike Galbraith <bitbucket@online.de>\nCc: <stable@vger.kernel.org> # 3.9+\nCc: Borislav Petkov <bp@alien8.de>\nCc: H. Peter Anvin <hpa@zytor.com>\nCc: Ian Malone <ibmalone@gmail.com>\nCc: Josh Boyer <jwboyer@redhat.com>\nCc: Linus Torvalds <torvalds@linux-foundation.org>\nCc: Mike Galbraith <efault@gmx.de>\nCc: Peter Zijlstra <peterz@infradead.org>\nCc: Thomas Gleixner <tglx@linutronix.de>\nLink: http://lkml.kernel.org/r/345254a551eb5a6a866e048d7ab570fd2193aca4.1389763084.git.len.brown@intel.com\n[ Ported to recent kernels. ]\n[ Mike: 3.10 backport ]\nSigned-off-by: Ingo Molnar <mingo@kernel.org>\nSigned-off-by: Mike Galbraith <efault@gmx.de>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/9308cced73acb67f24e95cd4ac94901f6be0b93a"},{"sha":"8bd13670f4a6a0f71079cde5e827c0db646d9074","author":{"email":"94dddeeef08b001e003cce128ddc162a4e2c6cd2@ti.com","name":"Felipe Balbi"},"message":"usb: gadget: composite: enable BESL support\n\ncommit a6615937bcd9234e6d6bb817c3701fce44d0a84d upstream.\n\nAccording to USB 2.0 ECN Errata for Link Power\nManagement (USB2-LPM-Errata-final.pdf), BESL\nmust be enabled if LPM is enabled.\n\nThis helps with USB30CV TD 9.21 LPM L1\nSuspend Resume Test.\n\nSigned-off-by: Felipe Balbi <balbi@ti.com>\nSigned-off-by: Du, Changbin <changbin.du@intel.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/8bd13670f4a6a0f71079cde5e827c0db646d9074"},{"sha":"86de6aaf3e72cbbdff49753c281930ca2d9b65a8","author":{"email":"f287211da676ffdf91aea974631e3d58cbf5cace@linux.vnet.ibm.com","name":"Ekaterina Tumanova"},"message":"KVM: s390: Zero out current VMDB of STSI before including level3 data.\n\ncommit b75f4c9afac2604feb971441116c07a24ecca1ec upstream.\n\ns390 documentation requires words 0 and 10-15 to be reserved and stored as\nzeros. As we fill out all other fields, we can memset the full structure.\n\nSigned-off-by: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com>\nReviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>\nSigned-off-by: Christian Borntraeger <borntraeger@de.ibm.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/86de6aaf3e72cbbdff49753c281930ca2d9b65a8"},{"sha":"71f6e012e96f05d7648ae7f7fff061024deebfff","author":{"email":"8dcf0f69152f32f23184f83357a3731522e56b9c@de.ibm.com","name":"Heiko Carstens"},"message":"s390/hibernate: fix save and restore of kernel text section\n\ncommit d74419495633493c9cd3f2bbeb7f3529d0edded6 upstream.\n\nSebastian reported a crash caused by a jump label mismatch after resume.\nThis happens because we do not save the kernel text section during suspend\nand therefore also do not restore it during resume, but use the kernel image\nthat restores the old system.\n\nThis means that after a suspend/resume cycle we lost all modifications done\nto the kernel text section.\nThe reason for this is the pfn_is_nosave() function, which incorrectly\nreturns that read-only pages don't need to be saved. This is incorrect since\nwe mark the kernel text section read-only.\nWe still need to make sure to not save and restore pages contained within\nNSS and DCSS segment.\nTo fix this add an extra case for the kernel text section and only save\nthose pages if they are not contained within an NSS segment.\n\nFixes the following crash (and the above bugs as well):\n\nJump label code mismatch at netif_receive_skb_internal+0x28/0xd0\nFound:    c0 04 00 00 00 00\nExpected: c0 f4 00 00 00 11\nNew:      c0 04 00 00 00 00\nKernel panic - not syncing: Corrupted kernel text\nCPU: 0 PID: 9 Comm: migration/0 Not tainted 3.19.0-01975-gb1b096e70f23 #4\nCall Trace:\n  [<0000000000113972>] show_stack+0x72/0xf0\n  [<000000000081f15e>] dump_stack+0x6e/0x90\n  [<000000000081c4e8>] panic+0x108/0x2b0\n  [<000000000081be64>] jump_label_bug.isra.2+0x104/0x108\n  [<0000000000112176>] __jump_label_transform+0x9e/0xd0\n  [<00000000001121e6>] __sm_arch_jump_label_transform+0x3e/0x50\n  [<00000000001d1136>] multi_cpu_stop+0x12e/0x170\n  [<00000000001d1472>] cpu_stopper_thread+0xb2/0x168\n  [<000000000015d2ac>] smpboot_thread_fn+0x134/0x1b0\n  [<0000000000158baa>] kthread+0x10a/0x110\n  [<0000000000824a86>] kernel_thread_starter+0x6/0xc\n\nReported-and-tested-by: Sebastian Ott <sebott@linux.vnet.ibm.com>\nSigned-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>\nSigned-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/71f6e012e96f05d7648ae7f7fff061024deebfff"},{"sha":"89c9a4574aecad5dd491bb9ee43dd861f3419542","author":{"email":"e4aea3f2c531804c57884e1d444a6744efb5af4d@redhat.com","name":"Radim Krčmář"},"message":"KVM: use slowpath for cross page cached accesses\n\ncommit ca3f0874723fad81d0c701b63ae3a17a408d5f25 upstream.\n\nkvm_write_guest_cached() does not mark all written pages as dirty and\ncode comments in kvm_gfn_to_hva_cache_init() talk about NULL memslot\nwith cross page accesses.  Fix all the easy way.\n\nThe check is '<= 1' to have the same result for 'len = 0' cache anywhere\nin the page.  (nr_pages_needed is 0 on page boundary.)\n\nFixes: 8f964525a121 (\"KVM: Allow cross page reads and writes from cached translations.\")\nSigned-off-by: Radim Krčmář <rkrcmar@redhat.com>\nMessage-Id: <20150408121648.GA3519@potion.brq.redhat.com>\nReviewed-by: Wanpeng Li <wanpeng.li@linux.intel.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/89c9a4574aecad5dd491bb9ee43dd861f3419542"},{"sha":"dc47dff305502021de6ab9ea652ca2ef2fdf227f","author":{"email":"bddc6ef64099649954804bf58f2e4dee9b3b798f@lemote.com","name":"Huacai Chen"},"message":"MIPS: Hibernate: flush TLB entries earlier\n\ncommit a843d00d038b11267279e3b5388222320f9ddc1d upstream.\n\nWe found that TLB mismatch not only happens after kernel resume, but\nalso happens during snapshot restore. So move it to the beginning of\nswsusp_arch_suspend().\n\nSigned-off-by: Huacai Chen <chenhc@lemote.com>\nCc: Steven J. Hill <Steven.Hill@imgtec.com>\nCc: linux-mips@linux-mips.org\nCc: Fuxin Zhang <zhangfx@lemote.com>\nCc: Zhangjin Wu <wuzhangjin@gmail.com>\nPatchwork: https://patchwork.linux-mips.org/patch/9621/\nSigned-off-by: Ralf Baechle <ralf@linux-mips.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/dc47dff305502021de6ab9ea652ca2ef2fdf227f"},{"sha":"d12a39f9297b848817e764c0dab6ff4064c7f5a3","author":{"email":"1c00aa603bb92d594c03cff60ecf8e63b2a5bcb1@suse.de","name":"NeilBrown"},"message":"md/raid0: fix bug with chunksize not a power of 2.\n\ncommit 47d68979cc968535cb87f3e5f2e6a3533ea48fbd upstream.\n\nSince commit 20d0189b1012a37d2533a87fb451f7852f2418d1\nin v3.14-rc1 RAID0 has performed incorrect calculations\nwhen the chunksize is not a power of 2.\n\nThis happens because \"sector_div()\" modifies its first argument, but\nthis wasn't taken into account in the patch.\n\nSo restore that first arg before re-using the variable.\n\nReported-by: Joe Landman <joe.landman@gmail.com>\nReported-by: Dave Chinner <david@fromorbit.com>\nFixes: 20d0189b1012a37d2533a87fb451f7852f2418d1\nSigned-off-by: NeilBrown <neilb@suse.de>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/d12a39f9297b848817e764c0dab6ff4064c7f5a3"},{"sha":"a50c386212bc54c5c235cd342fc2eec6c5f1428e","author":{"email":"bfee72d94d376f4e00f72b756466867d7f9eb24e@suse.de","name":"Oliver Neukum"},"message":"cdc-wdm: fix endianness bug in debug statements\n\ncommit 323ece54e0761198946ecd0c2091f1d2bfdfcb64 upstream.\n\nValues directly from descriptors given in debug statements\nmust be converted to native endianness.\n\nSigned-off-by: Oliver Neukum <oneukum@suse.de>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/a50c386212bc54c5c235cd342fc2eec6c5f1428e"},{"sha":"f53d31162a8dd5994fe44aff0a2d36c7681b9520","author":{"email":"9e6ba6483b6a3e14d61f7c987e72ecb5b46122d6@mev.co.uk","name":"Ian Abbott"},"message":"spi: spidev: fix possible arithmetic overflow for multi-transfer message\n\ncommit f20fbaad7620af2df36a1f9d1c9ecf48ead5b747 upstream.\n\n`spidev_message()` sums the lengths of the individual SPI transfers to\ndetermine the overall SPI message length.  It restricts the total\nlength, returning an error if too long, but it does not check for\narithmetic overflow.  For example, if the SPI message consisted of two\ntransfers and the first has a length of 10 and the second has a length\nof (__u32)(-1), the total length would be seen as 9, even though the\nsecond transfer is actually very long.  If the second transfer specifies\na null `rx_buf` and a non-null `tx_buf`, the `copy_from_user()` could\noverrun the spidev's pre-allocated tx buffer before it reaches an\ninvalid user memory address.  Fix it by checking that neither the total\nnor the individual transfer lengths exceed the maximum allowed value.\n\nThanks to Dan Carpenter for reporting the potential integer overflow.\n\nSigned-off-by: Ian Abbott <abbotti@mev.co.uk>\nSigned-off-by: Mark Brown <broonie@kernel.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/f53d31162a8dd5994fe44aff0a2d36c7681b9520"},{"sha":"223bdc47550279dc657923786d2356577be069d7","author":{"email":"1a8531307367602b8284517edb33d53d54e5ce8e@samsung.com","name":"Krzysztof Kozlowski"},"message":"compal-laptop: Check return value of power_supply_register\n\ncommit 1915a718b1872edffcb13e5436a9f7302d3d36f0 upstream.\n\nThe return value of power_supply_register() call was not checked and\neven on error probe() function returned 0. If registering failed then\nduring unbind the driver tried to unregister power supply which was not\nactually registered.\n\nThis could lead to memory corruption because power_supply_unregister()\nunconditionally cleans up given power supply.\n\nFix this by checking return status of power_supply_register() call. In\ncase of failure, clean up sysfs entries and fail the probe.\n\nSigned-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>\nFixes: 9be0fcb5ed46 (\"compal-laptop: add JHL90, battery & hwmon interface\")\nSigned-off-by: Sebastian Reichel <sre@kernel.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/223bdc47550279dc657923786d2356577be069d7"},{"sha":"16d35612e886548cf794b8a4c29ff9abeb328154","author":{"email":"43232e92d70cc7aa53504ad0397085ee47bad87f@goodmis.org","name":"Steven Rostedt"},"message":"ring-buffer: Replace this_cpu_*() with __this_cpu_*()\n\ncommit 80a9b64e2c156b6523e7a01f2ba6e5d86e722814 upstream.\n\nIt has come to my attention that this_cpu_read/write are horrible on\narchitectures other than x86. Worse yet, they actually disable\npreemption or interrupts! This caused some unexpected tracing results\non ARM.\n\n   101.356868: preempt_count_add <-ring_buffer_lock_reserve\n   101.356870: preempt_count_sub <-ring_buffer_lock_reserve\n\nThe ring_buffer_lock_reserve has recursion protection that requires\naccessing a per cpu variable. But since preempt_disable() is traced, it\ntoo got traced while accessing the variable that is suppose to prevent\nrecursion like this.\n\nThe generic version of this_cpu_read() and write() are:\n\n #define this_cpu_generic_read(pcp)\t\t\t\t\t\\\n ({\ttypeof(pcp) ret__;\t\t\t\t\t\t\\\n\tpreempt_disable();\t\t\t\t\t\t\\\n\tret__ = *this_cpu_ptr(&(pcp));\t\t\t\t\t\\\n\tpreempt_enable();\t\t\t\t\t\t\\\n\tret__;\t\t\t\t\t\t\t\t\\\n })\n\n #define this_cpu_generic_to_op(pcp, val, op)\t\t\t\t\\\n do {\t\t\t\t\t\t\t\t\t\\\n\tunsigned long flags;\t\t\t\t\t\t\\\n\traw_local_irq_save(flags);\t\t\t\t\t\\\n\t*__this_cpu_ptr(&(pcp)) op val;\t\t\t\t\t\\\n\traw_local_irq_restore(flags);\t\t\t\t\t\\\n } while (0)\n\nWhich is unacceptable for locations that know they are within preempt\ndisabled or interrupt disabled locations.\n\nPaul McKenney stated that __this_cpu_() versions produce much better code on\nother architectures than this_cpu_() does, if we know that the call is done in\na preempt disabled location.\n\nI also changed the recursive_unlock() to use two local variables instead\nof accessing the per_cpu variable twice.\n\nLink: http://lkml.kernel.org/r/20150317114411.GE3589@linux.vnet.ibm.com\nLink: http://lkml.kernel.org/r/20150317104038.312e73d1@gandalf.local.home\n\nAcked-by: Christoph Lameter <cl@linux.com>\nReported-by: Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>\nTested-by: Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>\nSigned-off-by: Steven Rostedt <rostedt@goodmis.org>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>","distinct":false,"url":"https://api.github.com/repos/ipfire/arne_f-linux/commits/16d35612e886548cf794b8a4c29ff9abeb328154"}]}