17 Feb, 2018

6 commits

  • commit 6066998cbd2b1012a8d5bc9a2957cfd0ad53150e upstream.

    mediatek projects will use mediate-cpufreq.c as cpufreq driver,
    instead of using cpufreq_dt.c
    Add mediatek related projects into cpufreq-dt blacklist

    Signed-off-by: Andrew-sh Cheng
    Acked-by: Viresh Kumar
    Signed-off-by: Rafael J. Wysocki
    Signed-off-by: Sean Wang
    Signed-off-by: Greg Kroah-Hartman

    Andrew-sh Cheng
     
  • commit 97f4b7276b829a8927ac903a119bef2f963ccc58 upstream.

    also replaces memset()+kfree() by kzfree().

    Signed-off-by: Aurelien Aptel
    Signed-off-by: Steve French
    Reviewed-by: Pavel Shilovsky
    Signed-off-by: Greg Kroah-Hartman

    Aurelien Aptel
     
  • commit 9aca7e454415f7878b28524e76bebe1170911a88 upstream.

    Autonegotiation gives a security settings mismatch error if the SMB
    server selects an SMBv3 dialect that isn't SMB3.02. The exact error is
    "protocol revalidation - security settings mismatch".
    This can be tested using Samba v4.2 or by setting the global Samba
    setting max protocol = SMB3_00.

    The check that fails in smb3_validate_negotiate is the dialect
    verification of the negotiate info response. This is because it tries
    to verify against the protocol_id in the global smbdefault_values. The
    protocol_id in smbdefault_values is SMB3.02.
    In SMB2_negotiate the protocol_id in smbdefault_values isn't updated,
    it is global so it probably shouldn't be, but server->dialect is.

    This patch changes the check in smb3_validate_negotiate to use
    server->dialect instead of server->vals->protocol_id. The patch works
    with autonegotiate and when using a specific version in the vers mount
    option.

    Signed-off-by: Daniel N Pettersson
    Signed-off-by: Steve French
    Signed-off-by: Greg Kroah-Hartman

    Daniel N Pettersson
     
  • commit f04a703c3d613845ae3141bfaf223489de8ab3eb upstream.

    If cifs_zap_mapping() returned an error, we would return without putting
    the xid that we got earlier. Restructure cifs_file_strict_mmap() and
    cifs_file_mmap() to be more similar to each other and have a single
    point of return that always puts the xid.

    Signed-off-by: Matthew Wilcox
    Signed-off-by: Steve French
    Signed-off-by: Greg Kroah-Hartman

    Matthew Wilcox
     
  • commit 1b689a95ce7427075f9ac9fb4aea1af530742b7f upstream.

    Commit 6e032b350cd1 ("powerpc/powernv: Check device-tree for RFI flush
    settings") uses u64 in asm/hvcall.h without including linux/types.h

    This breaks hvcall.h users that do not include the header themselves.

    Fixes: 6e032b350cd1 ("powerpc/powernv: Check device-tree for RFI flush settings")
    Signed-off-by: Michal Suchanek
    Signed-off-by: Michael Ellerman
    Signed-off-by: Greg Kroah-Hartman

    Michal Suchanek
     
  • commit 24f8d233074badd4c18e4dafd2fb97d65838afed upstream.

    Commit da2a68b3eb47 ("watchdog: Enable COMPILE_TEST where possible")
    enabled building the Indy watchdog driver when COMPILE_TEST is enabled.
    However, the driver makes reference to symbols that are only defined for
    certain platforms are selected in the config. These platforms select
    SGI_HAS_INDYDOG. Without this, link time errors result, for example
    when building a MIPS allyesconfig.

    drivers/watchdog/indydog.o: In function `indydog_write':
    indydog.c:(.text+0x18): undefined reference to `sgimc'
    indydog.c:(.text+0x1c): undefined reference to `sgimc'
    drivers/watchdog/indydog.o: In function `indydog_start':
    indydog.c:(.text+0x54): undefined reference to `sgimc'
    indydog.c:(.text+0x58): undefined reference to `sgimc'
    drivers/watchdog/indydog.o: In function `indydog_stop':
    indydog.c:(.text+0xa4): undefined reference to `sgimc'
    drivers/watchdog/indydog.o:indydog.c:(.text+0xa8): more undefined
    references to `sgimc' follow
    make: *** [Makefile:1005: vmlinux] Error 1

    Fix this by ensuring that CONFIG_INDIDOG can only be selected when the
    necessary dependent platform symbols are built in.

    Fixes: da2a68b3eb47 ("watchdog: Enable COMPILE_TEST where possible")
    Signed-off-by: Matt Redfearn
    Signed-off-by: Ralf Baechle
    Suggested-by: James Hogan
    Reviewed-by: Guenter Roeck
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Greg Kroah-Hartman

    Matt Redfearn
     

13 Feb, 2018

24 commits

  • Greg Kroah-Hartman
     
  • This reverts commit 67eb59b8ecfb319438706cee2cb67a3045b54494.

    It's not needed in 4.14.y and only causes messy debugging messages, if
    anyone actually cares about these random debug messages in the first
    place (doubtful).

    Reported-by: Kees Cook
    Acked-by: Borislav Petkov
    Cc: Thomas Gleixner
    Cc: riel@redhat.com
    Cc: ak@linux.intel.com
    Cc: peterz@infradead.org
    Cc: David Woodhouse
    Cc: jikos@kernel.org
    Cc: luto@amacapital.net
    Cc: dave.hansen@intel.com
    Cc: torvalds@linux-foundation.org
    Cc: keescook@google.com
    Cc: Josh Poimboeuf
    Cc: tim.c.chen@linux.intel.com
    Cc: gregkh@linux-foundation.org
    Cc: pjt@google.com
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • commit ca8dc694045e9aa248e9916e0f614deb0494cb3d upstream.

    We should set the error code if fc_remote_port_add() fails.

    Cc: #v4.12+
    Fixes: daf0cd445a21 ("scsi: storvsc: Add support for FC rport.")
    Signed-off-by: Dan Carpenter
    Reviewed-by: Cathy Avery
    Acked-by: K. Y. Srinivasan
    Signed-off-by: Martin K. Petersen
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Long Li

    Dan Carpenter
     
  • commit dc8635b78cd8669c37e230058d18c33af7451ab1 upstream.

    gcc -fisolate-erroneous-paths-dereference can generate calls to abort()
    from modular code too.

    [arnd@arndb.de: drop duplicate exports of abort()]
    Link: http://lkml.kernel.org/r/20180102103311.706364-1-arnd@arndb.de
    Reported-by: Vineet Gupta
    Cc: Sudip Mukherjee
    Cc: Arnd Bergmann
    Cc: Alexey Brodkin
    Cc: Russell King
    Cc: Jose Abreu
    Signed-off-by: Andrew Morton
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Linus Torvalds
    Cc: Evgeniy Didin
    Signed-off-by: Greg Kroah-Hartman

    Andrew Morton
     
  • commit 7c2c11b208be09c156573fc0076b7b3646e05219 upstream.

    gcc toggle -fisolate-erroneous-paths-dereference (default at -O2
    onwards) isolates faulty code paths such as null pointer access, divide
    by zero etc. If gcc port doesnt implement __builtin_trap, an abort() is
    generated which causes kernel link error.

    In this case, gcc is generating abort due to 'divide by zero' in
    lib/mpi/mpih-div.c.

    Currently 'frv' and 'arc' are failing. Previously other arch was also
    broken like m32r was fixed by commit d22e3d69ee1a ("m32r: fix build
    failure").

    Let's define this weak function which is common for all arch and fix the
    problem permanently. We can even remove the arch specific 'abort' after
    this is done.

    Link: http://lkml.kernel.org/r/1513118956-8718-1-git-send-email-sudipm.mukherjee@gmail.com
    Signed-off-by: Sudip Mukherjee
    Cc: Alexey Brodkin
    Cc: Vineet Gupta
    Cc: Sudip Mukherjee
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Cc: Evgeniy Didin
    Signed-off-by: Greg Kroah-Hartman

    Sudip Mukherjee
     
  • commit 5c6ac1d4f8fbdbed65dbeb8cf149d736409d16a1 upstream.

    In case buffer length is a multiple of PAGE_SIZE,
    the S/G table is incorrectly generated.
    Fix this by handling buflen = k * PAGE_SIZE separately.

    Signed-off-by: Robert Baronescu
    Signed-off-by: Herbert Xu
    Signed-off-by: Horia Geantă
    Signed-off-by: Greg Kroah-Hartman

    Robert Baronescu
     
  • commit 5331aec1bf9c9da557668174e0a4bfcee39f1121 upstream.

    This change resolves a new compile-time warning
    when built as a loadable module:

    WARNING: modpost: missing MODULE_LICENSE() in drivers/media/platform/soc_camera/soc_scale_crop.o
    see include/linux/module.h for more information

    This adds the license as "GPL", which matches the header of the file.

    MODULE_DESCRIPTION and MODULE_AUTHOR are also added.

    Signed-off-by: Jesse Chan
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Greg Kroah-Hartman

    Jesse Chan
     
  • commit ccbc1e3876d5476fc23429690a683294ef0f755b upstream.

    This change resolves a new compile-time warning
    when built as a loadable module:

    WARNING: modpost: missing MODULE_LICENSE() in drivers/media/platform/mtk-vcodec/mtk-vcodec-common.o
    see include/linux/module.h for more information

    This adds the license as "GPL v2", which matches the header of the file.

    MODULE_DESCRIPTION is also added.

    Signed-off-by: Jesse Chan
    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Greg Kroah-Hartman

    Jesse Chan
     
  • [ Upstream commit 4db428a7c9ab07e08783e0fcdc4ca0f555da0567 ]

    reuseport_add_sock() needs to deal with attaching a socket having
    its own sk_reuseport_cb, after a prior
    setsockopt(SO_ATTACH_REUSEPORT_?BPF)

    Without this fix, not only a WARN_ONCE() was issued, but we were also
    leaking memory.

    Thanks to sysbot and Eric Biggers for providing us nice C repros.

    ------------[ cut here ]------------
    socket already in reuseport group
    WARNING: CPU: 0 PID: 3496 at net/core/sock_reuseport.c:119  
    reuseport_add_sock+0x742/0x9b0 net/core/sock_reuseport.c:117
    Kernel panic - not syncing: panic_on_warn set ...

    CPU: 0 PID: 3496 Comm: syzkaller869503 Not tainted 4.15.0-rc6+ #245
    Hardware name: Google Google Compute Engine/Google Compute Engine,
    BIOS  
    Google 01/01/2011
    Call Trace:
      __dump_stack lib/dump_stack.c:17 [inline]
      dump_stack+0x194/0x257 lib/dump_stack.c:53
      panic+0x1e4/0x41c kernel/panic.c:183
      __warn+0x1dc/0x200 kernel/panic.c:547
      report_bug+0x211/0x2d0 lib/bug.c:184
      fixup_bug.part.11+0x37/0x80 arch/x86/kernel/traps.c:178
      fixup_bug arch/x86/kernel/traps.c:247 [inline]
      do_error_trap+0x2d7/0x3e0 arch/x86/kernel/traps.c:296
      do_invalid_op+0x1b/0x20 arch/x86/kernel/traps.c:315
      invalid_op+0x22/0x40 arch/x86/entry/entry_64.S:1079

    Fixes: ef456144da8e ("soreuseport: define reuseport groups")
    Signed-off-by: Eric Dumazet
    Reported-by: syzbot+c0ea2226f77a42936bf7@syzkaller.appspotmail.com
    Acked-by: Craig Gallek

    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Eric Dumazet
     
  • [ Upstream commit 7ece54a60ee2ba7a386308cae73c790bd580589c ]

    If a sk_v6_rcv_saddr is !IPV6_ADDR_ANY and !IPV6_ADDR_MAPPED, it
    implicitly implies it is an ipv6only socket. However, in inet6_bind(),
    this addr_type checking and setting sk->sk_ipv6only to 1 are only done
    after sk->sk_prot->get_port(sk, snum) has been completed successfully.

    This inconsistency between sk_v6_rcv_saddr and sk_ipv6only confuses
    the 'get_port()'.

    In particular, when binding SO_REUSEPORT UDP sockets,
    udp_reuseport_add_sock(sk,...) is called. udp_reuseport_add_sock()
    checks "ipv6_only_sock(sk2) == ipv6_only_sock(sk)" before adding sk to
    sk2->sk_reuseport_cb. In this case, ipv6_only_sock(sk2) could be
    1 while ipv6_only_sock(sk) is still 0 here. The end result is,
    reuseport_alloc(sk) is called instead of adding sk to the existing
    sk2->sk_reuseport_cb.

    It can be reproduced by binding two SO_REUSEPORT UDP sockets on an
    IPv6 address (!ANY and !MAPPED). Only one of the socket will
    receive packet.

    The fix is to set the implicit sk_ipv6only before calling get_port().
    The original sk_ipv6only has to be saved such that it can be restored
    in case get_port() failed. The situation is similar to the
    inet_reset_saddr(sk) after get_port() has failed.

    Thanks to Calvin Owens who created an easy
    reproduction which leads to a fix.

    Fixes: e32ea7e74727 ("soreuseport: fast reuseport UDP socket selection")
    Signed-off-by: Martin KaFai Lau
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Martin KaFai Lau
     
  • [ Upstream commit 3aff3b4b986e51bcf4ab249e5d48d39596e0df6a ]

    This commit fixes the pacing_gain to remain at BBR_UNIT (1.0) when
    using lt_bw and returning from the PROBE_RTT state to PROBE_BW.

    Previously, when using lt_bw, upon exiting PROBE_RTT and entering
    PROBE_BW the bbr_reset_probe_bw_mode() code could sometimes randomly
    end up with a cycle_idx of 0 and hence have bbr_advance_cycle_phase()
    set a pacing gain above 1.0. In such cases this would result in a
    pacing rate that is 1.25x higher than intended, potentially resulting
    in a high loss rate for a little while until we stop using the lt_bw a
    bit later.

    This commit is a stable candidate for kernels back as far as 4.9.

    Fixes: 0f8782ea1497 ("tcp_bbr: add BBR congestion control")
    Signed-off-by: Neal Cardwell
    Signed-off-by: Yuchung Cheng
    Signed-off-by: Soheil Hassas Yeganeh
    Reported-by: Beyers Cronje
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Neal Cardwell
     
  • [ Upstream commit a83165f00f16c0e0ef5b7cec3cbd0d4788699265 ]

    Currently, rocker user may experience following null pointer
    derefence bug:

    [ 3.062141] BUG: unable to handle kernel NULL pointer dereference at 00000000000000d0
    [ 3.065163] IP: rocker_router_fib_event_work+0x36/0x110 [rocker]

    The problem is uninitialized rocker->wops pointer that is initialized
    only with the first initialized port. So move the port initialization
    before registering the fib events.

    Fixes: 936bd486564a ("rocker: use FIB notifications instead of switchdev calls")
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Jiri Pirko
     
  • [ Upstream commit c76fe2d98c726224a975a0d0198c3fb50406d325 ]

    Unsolicited IPv6 neighbor advertisements should be sent after DAD
    completes. Update ndisc_send_unsol_na to skip tentative, non-optimistic
    addresses and have those sent by addrconf_dad_completed after DAD.

    Fixes: 4a6e3c5def13c ("net: ipv6: send unsolicited NA on admin up")
    Reported-by: Vivek Venkatraman
    Signed-off-by: David Ahern
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    David Ahern
     
  • [ Upstream commit edbe69ef2c90fc86998a74b08319a01c508bd497 ]

    This patch effectively reverts commit 9f1c2674b328 ("net: memcontrol:
    defer call to mem_cgroup_sk_alloc()").

    Moving mem_cgroup_sk_alloc() to the inet_csk_accept() completely breaks
    memcg socket memory accounting, as packets received before memcg
    pointer initialization are not accounted and are causing refcounting
    underflow on socket release.

    Actually the free-after-use problem was fixed by
    commit c0576e397508 ("net: call cgroup_sk_alloc() earlier in
    sk_clone_lock()") for the cgroup pointer.

    So, let's revert it and call mem_cgroup_sk_alloc() just before
    cgroup_sk_alloc(). This is safe, as we hold a reference to the socket
    we're cloning, and it holds a reference to the memcg.

    Also, let's drop BUG_ON(mem_cgroup_is_root()) check from
    mem_cgroup_sk_alloc(). I see no reasons why bumping the root
    memcg counter is a good reason to panic, and there are no realistic
    ways to hit it.

    Signed-off-by: Roman Gushchin
    Cc: Eric Dumazet
    Cc: David S. Miller
    Cc: Johannes Weiner
    Cc: Tejun Heo
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Roman Gushchin
     
  • [ Upstream commit 4cd879515d686849eec5f718aeac62a70b067d82 ]

    We don't stop device before reset owner, this means we could try to
    serve any virtqueue kick before reset dev->worker. This will result a
    warn since the work was pending at llist during owner resetting. Fix
    this by stopping device during owner reset.

    Reported-by: syzbot+eb17c6162478cc50632c@syzkaller.appspotmail.com
    Fixes: 3a4d5c94e9593 ("vhost_net: a kernel-level virtio server")
    Signed-off-by: Jason Wang
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Jason Wang
     
  • [ Upstream commit 9b42d55a66d388e4dd5550107df051a9637564fc ]

    socket can be disconnected and gets transformed back to a listening
    socket, if sk_frag.page is not released, which will be cloned into
    a new socket by sk_clone_lock, but the reference count of this page
    is increased, lead to a use after free or double free issue

    Signed-off-by: Li RongQing
    Cc: Eric Dumazet
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Li RongQing
     
  • [ Upstream commit 086ca23d03c0d2f4088f472386778d293e15c5f6 ]

    Driver check the wrong register bit in rtl_ocp_tx_cond() that keep driver
    waiting until timeout.

    Fix this by waiting for the right register bit.

    Signed-off-by: Chunhao Lin
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Chunhao Lin
     
  • [ Upstream commit c0b91a56a2e57a5a370655b25d677ae0ebf8a2d0 ]

    The Quectel EP06 is a Cat. 6 LTE modem. It uses the same interface as
    the EC20/EC25 for QMI, and requires the same "set DTR"-quirk to work.

    Signed-off-by: Kristian Evensen
    Acked-by: Bjørn Mork
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Kristian Evensen
     
  • [ Upstream commit 233ac3891607f501f08879134d623b303838f478 ]

    The following soft lockup was caught. This is a deadlock caused by
    recusive locking.

    Process kworker/u40:1:28016 was holding spin lock "mbx->queue_lock" in
    qlcnic_83xx_mailbox_worker(), while a softirq came in and ask the same spin
    lock in qlcnic_83xx_enqueue_mbx_cmd(). This lock should be hold by disable
    bh..

    [161846.962125] NMI watchdog: BUG: soft lockup - CPU#1 stuck for 22s! [kworker/u40:1:28016]
    [161846.962367] Modules linked in: tun ocfs2 xen_netback xen_blkback xen_gntalloc xen_gntdev xen_evtchn xenfs xen_privcmd autofs4 ocfs2_dlmfs ocfs2_stack_o2cb ocfs2_dlm ocfs2_nodemanager ocfs2_stackglue configfs bnx2fc fcoe libfcoe libfc sunrpc 8021q mrp garp bridge stp llc bonding dm_round_robin dm_multipath iTCO_wdt iTCO_vendor_support pcspkr sb_edac edac_core i2c_i801 shpchp lpc_ich mfd_core ioatdma ipmi_devintf ipmi_si ipmi_msghandler sg ext4 jbd2 mbcache2 sr_mod cdrom sd_mod igb i2c_algo_bit i2c_core ahci libahci megaraid_sas ixgbe dca ptp pps_core vxlan udp_tunnel ip6_udp_tunnel qla2xxx scsi_transport_fc qlcnic crc32c_intel be2iscsi bnx2i cnic uio cxgb4i cxgb4 cxgb3i libcxgbi ipv6 cxgb3 mdio libiscsi_tcp qla4xxx iscsi_boot_sysfs libiscsi scsi_transport_iscsi dm_mirror dm_region_hash dm_log dm_mod
    [161846.962454]
    [161846.962460] CPU: 1 PID: 28016 Comm: kworker/u40:1 Not tainted 4.1.12-94.5.9.el6uek.x86_64 #2
    [161846.962463] Hardware name: Oracle Corporation SUN SERVER X4-2L /ASSY,MB,X4-2L , BIOS 26050100 09/19/2017
    [161846.962489] Workqueue: qlcnic_mailbox qlcnic_83xx_mailbox_worker [qlcnic]
    [161846.962493] task: ffff8801f2e34600 ti: ffff88004ca5c000 task.ti: ffff88004ca5c000
    [161846.962496] RIP: e030:[] [] xen_hypercall_sched_op+0xa/0x20
    [161846.962506] RSP: e02b:ffff880202e43388 EFLAGS: 00000206
    [161846.962509] RAX: 0000000000000000 RBX: ffff8801f6996b70 RCX: ffffffff810013aa
    [161846.962511] RDX: ffff880202e433cc RSI: ffff880202e433b0 RDI: 0000000000000003
    [161846.962513] RBP: ffff880202e433d0 R08: 0000000000000000 R09: ffff8801fe893200
    [161846.962516] R10: ffff8801fe400538 R11: 0000000000000206 R12: ffff880202e4b000
    [161846.962518] R13: 0000000000000050 R14: 0000000000000001 R15: 000000000000020d
    [161846.962528] FS: 0000000000000000(0000) GS:ffff880202e40000(0000) knlGS:ffff880202e40000
    [161846.962531] CS: e033 DS: 0000 ES: 0000 CR0: 0000000080050033
    [161846.962533] CR2: 0000000002612640 CR3: 00000001bb796000 CR4: 0000000000042660
    [161846.962536] Stack:
    [161846.962538] ffff880202e43608 0000000000000000 ffffffff813f0442 ffff880202e433b0
    [161846.962543] 0000000000000000 ffff880202e433cc ffffffff00000001 0000000000000000
    [161846.962547] 00000009813f03d6 ffff880202e433e0 ffffffff813f0460 ffff880202e43440
    [161846.962552] Call Trace:
    [161846.962555]
    [161846.962565] [] ? xen_poll_irq_timeout+0x42/0x50
    [161846.962570] [] xen_poll_irq+0x10/0x20
    [161846.962578] [] xen_lock_spinning+0xe2/0x110
    [161846.962583] [] __raw_callee_save_xen_lock_spinning+0x11/0x20
    [161846.962592] [] ? _raw_spin_lock+0x57/0x80
    [161846.962609] [] qlcnic_83xx_enqueue_mbx_cmd+0x7c/0xe0 [qlcnic]
    [161846.962623] [] qlcnic_83xx_issue_cmd+0x58/0x210 [qlcnic]
    [161846.962636] [] qlcnic_83xx_sre_macaddr_change+0x162/0x1d0 [qlcnic]
    [161846.962649] [] qlcnic_83xx_change_l2_filter+0x2b/0x30 [qlcnic]
    [161846.962657] [] ? __skb_flow_dissect+0x18b/0x650
    [161846.962670] [] qlcnic_send_filter+0x205/0x250 [qlcnic]
    [161846.962682] [] qlcnic_xmit_frame+0x547/0x7b0 [qlcnic]
    [161846.962691] [] xmit_one+0x82/0x1a0
    [161846.962696] [] dev_hard_start_xmit+0x50/0xa0
    [161846.962701] [] sch_direct_xmit+0x112/0x220
    [161846.962706] [] __dev_queue_xmit+0x1df/0x5e0
    [161846.962710] [] dev_queue_xmit_sk+0x13/0x20
    [161846.962721] [] bond_dev_queue_xmit+0x35/0x80 [bonding]
    [161846.962729] [] __bond_start_xmit+0x1cb/0x210 [bonding]
    [161846.962736] [] bond_start_xmit+0x31/0x60 [bonding]
    [161846.962740] [] xmit_one+0x82/0x1a0
    [161846.962745] [] dev_hard_start_xmit+0x50/0xa0
    [161846.962749] [] __dev_queue_xmit+0x4ee/0x5e0
    [161846.962754] [] dev_queue_xmit_sk+0x13/0x20
    [161846.962760] [] vlan_dev_hard_start_xmit+0xb2/0x150 [8021q]
    [161846.962764] [] xmit_one+0x82/0x1a0
    [161846.962769] [] dev_hard_start_xmit+0x50/0xa0
    [161846.962773] [] __dev_queue_xmit+0x4ee/0x5e0
    [161846.962777] [] dev_queue_xmit_sk+0x13/0x20
    [161846.962789] [] br_dev_queue_push_xmit+0x54/0xa0 [bridge]
    [161846.962797] [] br_forward_finish+0x2f/0x90 [bridge]
    [161846.962807] [] ? ttwu_do_wakeup+0x1d/0x100
    [161846.962811] [] ? __alloc_skb+0x8b/0x1f0
    [161846.962818] [] __br_forward+0x8d/0x120 [bridge]
    [161846.962822] [] ? __kmalloc_reserve+0x3b/0xa0
    [161846.962829] [] ? update_rq_runnable_avg+0xee/0x230
    [161846.962836] [] br_forward+0x96/0xb0 [bridge]
    [161846.962845] [] br_handle_frame_finish+0x1ae/0x420 [bridge]
    [161846.962853] [] br_handle_frame+0x17f/0x260 [bridge]
    [161846.962862] [] ? br_handle_frame_finish+0x420/0x420 [bridge]
    [161846.962867] [] __netif_receive_skb_core+0x1f7/0x870
    [161846.962872] [] __netif_receive_skb+0x22/0x70
    [161846.962877] [] netif_receive_skb_internal+0x23/0x90
    [161846.962884] [] ? xenvif_idx_release+0xea/0x100 [xen_netback]
    [161846.962889] [] ? _raw_spin_unlock_irqrestore+0x20/0x50
    [161846.962893] [] netif_receive_skb_sk+0x24/0x90
    [161846.962899] [] xenvif_tx_submit+0x2ca/0x3f0 [xen_netback]
    [161846.962906] [] xenvif_tx_action+0x9c/0xd0 [xen_netback]
    [161846.962915] [] xenvif_poll+0x35/0x70 [xen_netback]
    [161846.962920] [] napi_poll+0xcb/0x1e0
    [161846.962925] [] net_rx_action+0x90/0x1c0
    [161846.962931] [] __do_softirq+0x10a/0x350
    [161846.962938] [] irq_exit+0x125/0x130
    [161846.962943] [] xen_evtchn_do_upcall+0x39/0x50
    [161846.962950] [] xen_do_hypervisor_callback+0x1e/0x40
    [161846.962952]
    [161846.962959] [] ? _raw_spin_lock+0x4a/0x80
    [161846.962964] [] ? _raw_spin_lock_irqsave+0x1e/0xa0
    [161846.962978] [] ? qlcnic_83xx_mailbox_worker+0xb9/0x2a0 [qlcnic]
    [161846.962991] [] ? process_one_work+0x151/0x4b0
    [161846.962995] [] ? check_events+0x12/0x20
    [161846.963001] [] ? worker_thread+0x120/0x480
    [161846.963005] [] ? __schedule+0x30b/0x890
    [161846.963010] [] ? process_one_work+0x4b0/0x4b0
    [161846.963015] [] ? process_one_work+0x4b0/0x4b0
    [161846.963021] [] ? kthread+0xce/0xf0
    [161846.963025] [] ? kthread_freezable_should_stop+0x70/0x70
    [161846.963031] [] ? ret_from_fork+0x42/0x70
    [161846.963035] [] ? kthread_freezable_should_stop+0x70/0x70
    [161846.963037] Code: cc 51 41 53 b8 1c 00 00 00 0f 05 41 5b 59 c3 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc 51 41 53 b8 1d 00 00 00 0f 05 5b 59 c3 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc

    Signed-off-by: Junxiao Bi
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Junxiao Bi
     
  • [ Upstream commit e7aadb27a5415e8125834b84a74477bfbee4eff5 ]

    Newly added igmpv3_get_srcaddr() needs to be called under rcu lock.

    Timer callbacks do not ensure this locking.

    =============================
    WARNING: suspicious RCU usage
    4.15.0+ #200 Not tainted
    -----------------------------
    ./include/linux/inetdevice.h:216 suspicious rcu_dereference_check() usage!

    other info that might help us debug this:

    rcu_scheduler_active = 2, debug_locks = 1
    3 locks held by syzkaller616973/4074:
    #0: (&mm->mmap_sem){++++}, at: [] __do_page_fault+0x32d/0xc90 arch/x86/mm/fault.c:1355
    #1: ((&im->timer)){+.-.}, at: [] lockdep_copy_map include/linux/lockdep.h:178 [inline]
    #1: ((&im->timer)){+.-.}, at: [] call_timer_fn+0x1c6/0x820 kernel/time/timer.c:1316
    #2: (&(&im->lock)->rlock){+.-.}, at: [] spin_lock_bh include/linux/spinlock.h:315 [inline]
    #2: (&(&im->lock)->rlock){+.-.}, at: [] igmpv3_send_report+0x98/0x5b0 net/ipv4/igmp.c:600

    stack backtrace:
    CPU: 0 PID: 4074 Comm: syzkaller616973 Not tainted 4.15.0+ #200
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    Call Trace:

    __dump_stack lib/dump_stack.c:17 [inline]
    dump_stack+0x194/0x257 lib/dump_stack.c:53
    lockdep_rcu_suspicious+0x123/0x170 kernel/locking/lockdep.c:4592
    __in_dev_get_rcu include/linux/inetdevice.h:216 [inline]
    igmpv3_get_srcaddr net/ipv4/igmp.c:329 [inline]
    igmpv3_newpack+0xeef/0x12e0 net/ipv4/igmp.c:389
    add_grhead.isra.27+0x235/0x300 net/ipv4/igmp.c:432
    add_grec+0xbd3/0x1170 net/ipv4/igmp.c:565
    igmpv3_send_report+0xd5/0x5b0 net/ipv4/igmp.c:605
    igmp_send_report+0xc43/0x1050 net/ipv4/igmp.c:722
    igmp_timer_expire+0x322/0x5c0 net/ipv4/igmp.c:831
    call_timer_fn+0x228/0x820 kernel/time/timer.c:1326
    expire_timers kernel/time/timer.c:1363 [inline]
    __run_timers+0x7ee/0xb70 kernel/time/timer.c:1666
    run_timer_softirq+0x4c/0x70 kernel/time/timer.c:1692
    __do_softirq+0x2d7/0xb85 kernel/softirq.c:285
    invoke_softirq kernel/softirq.c:365 [inline]
    irq_exit+0x1cc/0x200 kernel/softirq.c:405
    exiting_irq arch/x86/include/asm/apic.h:541 [inline]
    smp_apic_timer_interrupt+0x16b/0x700 arch/x86/kernel/apic/apic.c:1052
    apic_timer_interrupt+0xa9/0xb0 arch/x86/entry/entry_64.S:938

    Fixes: a46182b00290 ("net: igmp: Use correct source address on IGMPv3 reports")
    Signed-off-by: Eric Dumazet
    Reported-by: syzbot

    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Eric Dumazet
     
  • [ Upstream commit 4adfa79fc254efb7b0eb3cd58f62c2c3f805f1ba ]

    When we dump the ip6mr mfc entries via proc, we initialize an iterator
    with the table to dump but we don't clear the cache pointer which might
    be initialized from a prior read on the same descriptor that ended. This
    can result in lock imbalance (an unnecessary unlock) leading to other
    crashes and hangs. Clear the cache pointer like ipmr does to fix the issue.
    Thanks for the reliable reproducer.

    Here's syzbot's trace:
    WARNING: bad unlock balance detected!
    4.15.0-rc3+ #128 Not tainted
    syzkaller971460/3195 is trying to release lock (mrt_lock) at:
    [] ipmr_mfc_seq_stop+0xe1/0x130 net/ipv6/ip6mr.c:553
    but there are no more locks to release!

    other info that might help us debug this:
    1 lock held by syzkaller971460/3195:
    #0: (&p->lock){+.+.}, at: [] seq_read+0xd5/0x13d0
    fs/seq_file.c:165

    stack backtrace:
    CPU: 1 PID: 3195 Comm: syzkaller971460 Not tainted 4.15.0-rc3+ #128
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
    Google 01/01/2011
    Call Trace:
    __dump_stack lib/dump_stack.c:17 [inline]
    dump_stack+0x194/0x257 lib/dump_stack.c:53
    print_unlock_imbalance_bug+0x12f/0x140 kernel/locking/lockdep.c:3561
    __lock_release kernel/locking/lockdep.c:3775 [inline]
    lock_release+0x5f9/0xda0 kernel/locking/lockdep.c:4023
    __raw_read_unlock include/linux/rwlock_api_smp.h:225 [inline]
    _raw_read_unlock+0x1a/0x30 kernel/locking/spinlock.c:255
    ipmr_mfc_seq_stop+0xe1/0x130 net/ipv6/ip6mr.c:553
    traverse+0x3bc/0xa00 fs/seq_file.c:135
    seq_read+0x96a/0x13d0 fs/seq_file.c:189
    proc_reg_read+0xef/0x170 fs/proc/inode.c:217
    do_loop_readv_writev fs/read_write.c:673 [inline]
    do_iter_read+0x3db/0x5b0 fs/read_write.c:897
    compat_readv+0x1bf/0x270 fs/read_write.c:1140
    do_compat_preadv64+0xdc/0x100 fs/read_write.c:1189
    C_SYSC_preadv fs/read_write.c:1209 [inline]
    compat_SyS_preadv+0x3b/0x50 fs/read_write.c:1203
    do_syscall_32_irqs_on arch/x86/entry/common.c:327 [inline]
    do_fast_syscall_32+0x3ee/0xf9d arch/x86/entry/common.c:389
    entry_SYSENTER_compat+0x51/0x60 arch/x86/entry/entry_64_compat.S:125
    RIP: 0023:0xf7f73c79
    RSP: 002b:00000000e574a15c EFLAGS: 00000292 ORIG_RAX: 000000000000014d
    RAX: ffffffffffffffda RBX: 000000000000000f RCX: 0000000020a3afb0
    RDX: 0000000000000001 RSI: 0000000000000067 RDI: 0000000000000000
    RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
    R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
    R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
    BUG: sleeping function called from invalid context at lib/usercopy.c:25
    in_atomic(): 1, irqs_disabled(): 0, pid: 3195, name: syzkaller971460
    INFO: lockdep is turned off.
    CPU: 1 PID: 3195 Comm: syzkaller971460 Not tainted 4.15.0-rc3+ #128
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
    Google 01/01/2011
    Call Trace:
    __dump_stack lib/dump_stack.c:17 [inline]
    dump_stack+0x194/0x257 lib/dump_stack.c:53
    ___might_sleep+0x2b2/0x470 kernel/sched/core.c:6060
    __might_sleep+0x95/0x190 kernel/sched/core.c:6013
    __might_fault+0xab/0x1d0 mm/memory.c:4525
    _copy_to_user+0x2c/0xc0 lib/usercopy.c:25
    copy_to_user include/linux/uaccess.h:155 [inline]
    seq_read+0xcb4/0x13d0 fs/seq_file.c:279
    proc_reg_read+0xef/0x170 fs/proc/inode.c:217
    do_loop_readv_writev fs/read_write.c:673 [inline]
    do_iter_read+0x3db/0x5b0 fs/read_write.c:897
    compat_readv+0x1bf/0x270 fs/read_write.c:1140
    do_compat_preadv64+0xdc/0x100 fs/read_write.c:1189
    C_SYSC_preadv fs/read_write.c:1209 [inline]
    compat_SyS_preadv+0x3b/0x50 fs/read_write.c:1203
    do_syscall_32_irqs_on arch/x86/entry/common.c:327 [inline]
    do_fast_syscall_32+0x3ee/0xf9d arch/x86/entry/common.c:389
    entry_SYSENTER_compat+0x51/0x60 arch/x86/entry/entry_64_compat.S:125
    RIP: 0023:0xf7f73c79
    RSP: 002b:00000000e574a15c EFLAGS: 00000292 ORIG_RAX: 000000000000014d
    RAX: ffffffffffffffda RBX: 000000000000000f RCX: 0000000020a3afb0
    RDX: 0000000000000001 RSI: 0000000000000067 RDI: 0000000000000000
    RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
    R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
    R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
    WARNING: CPU: 1 PID: 3195 at lib/usercopy.c:26 _copy_to_user+0xb5/0xc0
    lib/usercopy.c:26

    Reported-by: syzbot
    Signed-off-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Nikolay Aleksandrov
     
  • commit af60e207087975d069858741c44ed4f450330ac4 upstream.

    If build fails during (bin)rpm-pkg, the spec file is not cleaned by
    anyone until the next successful build of the package.

    We do not have to immediately delete the spec file in case somebody
    may want to take a look at it. Instead, make them ignored by git,
    and cleaned up by make mrproper.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Greg Kroah-Hartman

    Masahiro Yamada
     
  • commit 10b62a2f785ab55857380f0c63d9fa468fd8c676 upstream.

    Most of DT files are compiled under arch/*/boot/dts/, but we have some
    other directories, like drivers/of/unittest-data/. We often miss to
    add gitignore patterns per directory. Since there are no source files
    that end with .dtb or .dtb.S, we can ignore the patterns globally.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Rob Herring
    Signed-off-by: Greg Kroah-Hartman

    Masahiro Yamada
     
  • commit 1377dd3e29878b8f5d9f5c9000975f50a428a0cd upstream.

    We are having more and more ignore patterns. Sort the list
    alphabetically. We will easily catch duplicated patterns if any.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Rob Herring
    Signed-off-by: Greg Kroah-Hartman

    Masahiro Yamada
     

08 Feb, 2018

10 commits

  • Greg Kroah-Hartman
     
  • commit 0f5eb1545907edeea7672a9c1652c4231150ff22 upstream.

    Both fpga_region_get_manager() and fpga_region_get_bridges() call
    of_parse_phandle(), but nothing calls of_node_put() on the returned
    struct device_node pointers. Make sure to do that to stop their
    reference counters getting out of whack.

    Fixes: 0fa20cdfcc1f ("fpga: fpga-region: device tree control for FPGA")
    Signed-off-by: Ian Abbott
    Signed-off-by: Alan Tull
    Signed-off-by: Greg Kroah-Hartman

    Ian Abbott
     
  • commit 44117a1d1732c513875d5a163f10d9adbe866c08 upstream.

    setserial changes the IRQ via uart_set_info(). It invokes
    uart_shutdown() which free the current used IRQ and clear
    TTY_PORT_INITIALIZED. It will then update the IRQ number and invoke
    uart_startup() before returning to the caller leaving
    TTY_PORT_INITIALIZED cleared.

    The next open will crash with
    | list_add double add: new=ffffffff839fcc98, prev=ffffffff839fcc98, next=ffffffff839fcc98.
    since the close from the IOCTL won't free the IRQ (and clean the list)
    due to the TTY_PORT_INITIALIZED check in uart_shutdown().

    There is same pattern in uart_do_autoconfig() and I *think* it also
    needs to set TTY_PORT_INITIALIZED there.
    Is there a reason why uart_startup() does not set the flag by itself
    after the IRQ has been acquired (since it is cleared in uart_shutdown)?

    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Greg Kroah-Hartman

    Sebastian Andrzej Siewior
     
  • commit b2ac58f90540e39324e7a29a7ad471407ae0bf48

    [ Based on a patch from Paolo Bonzini ]

    ... basically doing exactly what we do for VMX:

    - Passthrough SPEC_CTRL to guests (if enabled in guest CPUID)
    - Save and restore SPEC_CTRL around VMExit and VMEntry only if the guest
    actually used it.

    Signed-off-by: KarimAllah Ahmed
    Signed-off-by: David Woodhouse
    Signed-off-by: Thomas Gleixner
    Reviewed-by: Darren Kenny
    Reviewed-by: Konrad Rzeszutek Wilk
    Cc: Andrea Arcangeli
    Cc: Andi Kleen
    Cc: Jun Nakajima
    Cc: kvm@vger.kernel.org
    Cc: Dave Hansen
    Cc: Tim Chen
    Cc: Andy Lutomirski
    Cc: Asit Mallick
    Cc: Arjan Van De Ven
    Cc: Greg KH
    Cc: Paolo Bonzini
    Cc: Dan Williams
    Cc: Linus Torvalds
    Cc: Ashok Raj
    Link: https://lkml.kernel.org/r/1517669783-20732-1-git-send-email-karahmed@amazon.de
    Signed-off-by: Greg Kroah-Hartman

    KarimAllah Ahmed
     
  • commit d28b387fb74da95d69d2615732f50cceb38e9a4d

    [ Based on a patch from Ashok Raj ]

    Add direct access to MSR_IA32_SPEC_CTRL for guests. This is needed for
    guests that will only mitigate Spectre V2 through IBRS+IBPB and will not
    be using a retpoline+IBPB based approach.

    To avoid the overhead of saving and restoring the MSR_IA32_SPEC_CTRL for
    guests that do not actually use the MSR, only start saving and restoring
    when a non-zero is written to it.

    No attempt is made to handle STIBP here, intentionally. Filtering STIBP
    may be added in a future patch, which may require trapping all writes
    if we don't want to pass it through directly to the guest.

    [dwmw2: Clean up CPUID bits, save/restore manually, handle reset]

    Signed-off-by: KarimAllah Ahmed
    Signed-off-by: David Woodhouse
    Signed-off-by: Thomas Gleixner
    Reviewed-by: Darren Kenny
    Reviewed-by: Konrad Rzeszutek Wilk
    Reviewed-by: Jim Mattson
    Cc: Andrea Arcangeli
    Cc: Andi Kleen
    Cc: Jun Nakajima
    Cc: kvm@vger.kernel.org
    Cc: Dave Hansen
    Cc: Tim Chen
    Cc: Andy Lutomirski
    Cc: Asit Mallick
    Cc: Arjan Van De Ven
    Cc: Greg KH
    Cc: Paolo Bonzini
    Cc: Dan Williams
    Cc: Linus Torvalds
    Cc: Ashok Raj
    Link: https://lkml.kernel.org/r/1517522386-18410-5-git-send-email-karahmed@amazon.de
    Signed-off-by: Greg Kroah-Hartman

    KarimAllah Ahmed
     
  • commit 28c1c9fabf48d6ad596273a11c46e0d0da3e14cd

    Intel processors use MSR_IA32_ARCH_CAPABILITIES MSR to indicate RDCL_NO
    (bit 0) and IBRS_ALL (bit 1). This is a read-only MSR. By default the
    contents will come directly from the hardware, but user-space can still
    override it.

    [dwmw2: The bit in kvm_cpuid_7_0_edx_x86_features can be unconditional]

    Signed-off-by: KarimAllah Ahmed
    Signed-off-by: David Woodhouse
    Signed-off-by: Thomas Gleixner
    Reviewed-by: Paolo Bonzini
    Reviewed-by: Darren Kenny
    Reviewed-by: Jim Mattson
    Reviewed-by: Konrad Rzeszutek Wilk
    Cc: Andrea Arcangeli
    Cc: Andi Kleen
    Cc: Jun Nakajima
    Cc: kvm@vger.kernel.org
    Cc: Dave Hansen
    Cc: Linus Torvalds
    Cc: Andy Lutomirski
    Cc: Asit Mallick
    Cc: Arjan Van De Ven
    Cc: Greg KH
    Cc: Dan Williams
    Cc: Tim Chen
    Cc: Ashok Raj
    Link: https://lkml.kernel.org/r/1517522386-18410-4-git-send-email-karahmed@amazon.de
    Signed-off-by: Greg Kroah-Hartman

    KarimAllah Ahmed
     
  • commit 15d45071523d89b3fb7372e2135fbd72f6af9506

    The Indirect Branch Predictor Barrier (IBPB) is an indirect branch
    control mechanism. It keeps earlier branches from influencing
    later ones.

    Unlike IBRS and STIBP, IBPB does not define a new mode of operation.
    It's a command that ensures predicted branch targets aren't used after
    the barrier. Although IBRS and IBPB are enumerated by the same CPUID
    enumeration, IBPB is very different.

    IBPB helps mitigate against three potential attacks:

    * Mitigate guests from being attacked by other guests.
    - This is addressed by issing IBPB when we do a guest switch.

    * Mitigate attacks from guest/ring3->host/ring3.
    These would require a IBPB during context switch in host, or after
    VMEXIT. The host process has two ways to mitigate
    - Either it can be compiled with retpoline
    - If its going through context switch, and has set !dumpable then
    there is a IBPB in that path.
    (Tim's patch: https://patchwork.kernel.org/patch/10192871)
    - The case where after a VMEXIT you return back to Qemu might make
    Qemu attackable from guest when Qemu isn't compiled with retpoline.
    There are issues reported when doing IBPB on every VMEXIT that resulted
    in some tsc calibration woes in guest.

    * Mitigate guest/ring0->host/ring0 attacks.
    When host kernel is using retpoline it is safe against these attacks.
    If host kernel isn't using retpoline we might need to do a IBPB flush on
    every VMEXIT.

    Even when using retpoline for indirect calls, in certain conditions 'ret'
    can use the BTB on Skylake-era CPUs. There are other mitigations
    available like RSB stuffing/clearing.

    * IBPB is issued only for SVM during svm_free_vcpu().
    VMX has a vmclear and SVM doesn't. Follow discussion here:
    https://lkml.org/lkml/2018/1/15/146

    Please refer to the following spec for more details on the enumeration
    and control.

    Refer here to get documentation about mitigations.

    https://software.intel.com/en-us/side-channel-security-support

    [peterz: rebase and changelog rewrite]
    [karahmed: - rebase
    - vmx: expose PRED_CMD if guest has it in CPUID
    - svm: only pass through IBPB if guest has it in CPUID
    - vmx: support !cpu_has_vmx_msr_bitmap()]
    - vmx: support nested]
    [dwmw2: Expose CPUID bit too (AMD IBPB only for now as we lack IBRS)
    PRED_CMD is a write-only MSR]

    Signed-off-by: Ashok Raj
    Signed-off-by: Peter Zijlstra (Intel)
    Signed-off-by: David Woodhouse
    Signed-off-by: KarimAllah Ahmed
    Signed-off-by: Thomas Gleixner
    Reviewed-by: Konrad Rzeszutek Wilk
    Cc: Andrea Arcangeli
    Cc: Andi Kleen
    Cc: kvm@vger.kernel.org
    Cc: Asit Mallick
    Cc: Linus Torvalds
    Cc: Andy Lutomirski
    Cc: Dave Hansen
    Cc: Arjan Van De Ven
    Cc: Greg KH
    Cc: Jun Nakajima
    Cc: Paolo Bonzini
    Cc: Dan Williams
    Cc: Tim Chen
    Link: http://lkml.kernel.org/r/1515720739-43819-6-git-send-email-ashok.raj@intel.com
    Link: https://lkml.kernel.org/r/1517522386-18410-3-git-send-email-karahmed@amazon.de
    Signed-off-by: Greg Kroah-Hartman

    Ashok Raj
     
  • commit b7b27aa011a1df42728d1768fc181d9ce69e6911

    [dwmw2: Stop using KF() for bits in it, too]
    Signed-off-by: KarimAllah Ahmed
    Signed-off-by: David Woodhouse
    Signed-off-by: Thomas Gleixner
    Reviewed-by: Paolo Bonzini
    Reviewed-by: Konrad Rzeszutek Wilk
    Reviewed-by: Jim Mattson
    Cc: kvm@vger.kernel.org
    Cc: Radim Krčmář
    Link: https://lkml.kernel.org/r/1517522386-18410-2-git-send-email-karahmed@amazon.de
    Signed-off-by: Greg Kroah-Hartman

    KarimAllah Ahmed
     
  • commit af189c95a371b59f493dbe0f50c0a09724868881

    Fixes: 117cc7a908c83 ("x86/retpoline: Fill return stack buffer on vmexit")
    Signed-off-by: Darren Kenny
    Signed-off-by: Thomas Gleixner
    Reviewed-by: Konrad Rzeszutek Wilk
    Cc: Tom Lendacky
    Cc: Andi Kleen
    Cc: Borislav Petkov
    Cc: Masami Hiramatsu
    Cc: Arjan van de Ven
    Cc: David Woodhouse
    Link: https://lkml.kernel.org/r/20180202191220.blvgkgutojecxr3b@starbug-vm.ie.oracle.com
    Signed-off-by: Greg Kroah-Hartman

    Darren Kenny
     
  • commit 4bf5d56d429cbc96c23d809a08f63cd29e1a702e

    I'm seeing build failures from the two newly introduced arrays that
    are marked 'const' and '__initdata', which are mutually exclusive:

    arch/x86/kernel/cpu/common.c:882:43: error: 'cpu_no_speculation' causes a section type conflict with 'e820_table_firmware_init'
    arch/x86/kernel/cpu/common.c:895:43: error: 'cpu_no_meltdown' causes a section type conflict with 'e820_table_firmware_init'

    The correct annotation is __initconst.

    Fixes: fec9434a12f3 ("x86/pti: Do not enable PTI on CPUs which are not vulnerable to Meltdown")
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Thomas Gleixner
    Cc: Ricardo Neri
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Thomas Garnier
    Cc: David Woodhouse
    Link: https://lkml.kernel.org/r/20180202213959.611210-1-arnd@arndb.de
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann