1. 27 5月, 2018 1 次提交
  2. 20 5月, 2018 1 次提交
  3. 19 5月, 2018 11 次提交
  4. 18 5月, 2018 4 次提交
  5. 17 5月, 2018 1 次提交
  6. 16 5月, 2018 2 次提交
  7. 15 5月, 2018 7 次提交
    • A
      KVM: arm/arm64: VGIC/ITS: protect kvm_read_guest() calls with SRCU lock · bf308242
      Andre Przywara 提交于
      kvm_read_guest() will eventually look up in kvm_memslots(), which requires
      either to hold the kvm->slots_lock or to be inside a kvm->srcu critical
      section.
      In contrast to x86 and s390 we don't take the SRCU lock on every guest
      exit, so we have to do it individually for each kvm_read_guest() call.
      
      Provide a wrapper which does that and use that everywhere.
      
      Note that ending the SRCU critical section before returning from the
      kvm_read_guest() wrapper is safe, because the data has been *copied*, so
      we don't need to rely on valid references to the memslot anymore.
      
      Cc: Stable <stable@vger.kernel.org> # 4.8+
      Reported-by: NJan Glauber <jan.glauber@caviumnetworks.com>
      Signed-off-by: NAndre Przywara <andre.przywara@arm.com>
      Acked-by: NChristoffer Dall <christoffer.dall@arm.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      bf308242
    • W
      KVM: X86: Lower the default timer frequency limit to 200us · 4c27625b
      Wanpeng Li 提交于
      Anthoine reported:
       The period used by Windows change over time but it can be 1
       milliseconds or less. I saw the limit_periodic_timer_frequency
       print so 500 microseconds is sometimes reached.
      
      As suggested by Paolo, lower the default timer frequency limit to a
      smaller interval of 200 us (5000 Hz) to leave some headroom. This
      is required due to Windows 10 changing the scheduler tick limit
      from 1024 Hz to 2048 Hz.
      Reported-by: NAnthoine Bourgeois <anthoine.bourgeois@blade-group.com>
      Suggested-by: NPaolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: NDarren Kenny <darren.kenny@oracle.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Radim Krčmář <rkrcmar@redhat.com>
      Cc: Anthoine Bourgeois <anthoine.bourgeois@blade-group.com>
      Cc: Darren Kenny <darren.kenny@oracle.com>
      Cc: Jan Kiszka <jan.kiszka@web.de>
      Signed-off-by: NWanpeng Li <wanpengli@tencent.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      4c27625b
    • S
      ARM: davinci: board-dm646x-evm: set VPIF capture card name · bb7298a7
      Sekhar Nori 提交于
      VPIF capture driver expects card name to be set since it
      uses it without checking for NULL. The commit which
      introduced VPIF display and capture support added card
      name only for display, not for capture.
      
      Set it in platform data to probe driver successfully.
      
      While at it, also fix the display card name to something more
      appropriate.
      
      Fixes: 85609c1c ("DaVinci: DM646x - platform changes for vpif capture and display drivers")
      Signed-off-by: NSekhar Nori <nsekhar@ti.com>
      bb7298a7
    • S
      ARM: davinci: board-dm646x-evm: pass correct I2C adapter id for VPIF · 7d46899d
      Sekhar Nori 提交于
      commit a16cb91a ("[media] media: vpif: use a configurable
      i2c_adapter_id for vpif display") removed hardcoded I2C adaptor
      setting in VPIF driver, but missed updating platform data passed
      from DM646x board.
      
      Fix it.
      
      Fixes: a16cb91a ("[media] media: vpif: use a configurable i2c_adapter_id for vpif display")
      Signed-off-by: NSekhar Nori <nsekhar@ti.com>
      7d46899d
    • S
      ARM: davinci: dm646x: fix timer interrupt generation · 73d4337e
      Sekhar Nori 提交于
      commit b3843414 ("ARM: davinci: irqs: Correct McASP1 TX interrupt
      definition for DM646x") inadvertently removed priority setting for
      timer0_12 (bottom half of timer0). This timer is used as clockevent.
      
      When INTPRIn register setting for an interrupt is left at 0, it is
      mapped to FIQ by the AINTC causing the timer interrupt to not get
      generated.
      
      Fix it by including an entry for timer0_12 in interrupt priority map
      array. While at it, move the clockevent comment to the right place.
      
      Fixes: b3843414 ("ARM: davinci: irqs: Correct McASP1 TX interrupt definition for DM646x")
      Signed-off-by: NSekhar Nori <nsekhar@ti.com>
      73d4337e
    • S
      tracing/x86/xen: Remove zero data size trace events trace_xen_mmu_flush_tlb{_all} · 45dd9b06
      Steven Rostedt (VMware) 提交于
      Doing an audit of trace events, I discovered two trace events in the xen
      subsystem that use a hack to create zero data size trace events. This is not
      what trace events are for. Trace events add memory footprint overhead, and
      if all you need to do is see if a function is hit or not, simply make that
      function noinline and use function tracer filtering.
      
      Worse yet, the hack used was:
      
       __array(char, x, 0)
      
      Which creates a static string of zero in length. There's assumptions about
      such constructs in ftrace that this is a dynamic string that is nul
      terminated. This is not the case with these tracepoints and can cause
      problems in various parts of ftrace.
      
      Nuke the trace events!
      
      Link: http://lkml.kernel.org/r/20180509144605.5a220327@gandalf.local.home
      
      Cc: stable@vger.kernel.org
      Fixes: 95a7d768 ("xen/mmu: Use Xen specific TLB flush instead of the generic one.")
      Reviewed-by: NJuergen Gross <jgross@suse.com>
      Signed-off-by: NSteven Rostedt (VMware) <rostedt@goodmis.org>
      45dd9b06
    • R
      ARM: keystone: fix platform_domain_notifier array overrun · 9954b80b
      Russell King 提交于
      platform_domain_notifier contains a variable sized array, which the
      pm_clk_notify() notifier treats as a NULL terminated array:
      
           for (con_id = clknb->con_ids; *con_id; con_id++)
                   pm_clk_add(dev, *con_id);
      
      Omitting the initialiser for con_ids means that the array is zero
      sized, and there is no NULL terminator.  This leads to pm_clk_notify()
      overrunning into what ever structure follows, which may not be NULL.
      This leads to an oops:
      
      Unable to handle kernel NULL pointer dereference at virtual address 0000008c
      pgd = c0003000
      [0000008c] *pgd=80000800004003c, *pmd=00000000c
      Internal error: Oops: 206 [#1] PREEMPT SMP ARM
      Modules linked in:c
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.16.0+ #9
      Hardware name: Keystone
      PC is at strlen+0x0/0x34
      LR is at kstrdup+0x18/0x54
      pc : [<c0623340>]    lr : [<c0111d6c>]    psr: 20000013
      sp : eec73dc0  ip : eed780c0  fp : 00000001
      r10: 00000000  r9 : 00000000  r8 : eed71e10
      r7 : 0000008c  r6 : 0000008c  r5 : 014000c0  r4 : c03a6ff4
      r3 : c09445d0  r2 : 00000000  r1 : 014000c0  r0 : 0000008c
      Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      Control: 30c5387d  Table: 00003000  DAC: fffffffd
      Process swapper/0 (pid: 1, stack limit = 0xeec72210)
      Stack: (0xeec73dc0 to 0xeec74000)
      ...
      [<c0623340>] (strlen) from [<c0111d6c>] (kstrdup+0x18/0x54)
      [<c0111d6c>] (kstrdup) from [<c03a6ff4>] (__pm_clk_add+0x58/0x120)
      [<c03a6ff4>] (__pm_clk_add) from [<c03a731c>] (pm_clk_notify+0x64/0xa8)
      [<c03a731c>] (pm_clk_notify) from [<c004614c>] (notifier_call_chain+0x44/0x84)
      [<c004614c>] (notifier_call_chain) from [<c0046320>] (__blocking_notifier_call_chain+0x48/0x60)
      [<c0046320>] (__blocking_notifier_call_chain) from [<c0046350>] (blocking_notifier_call_chain+0x18/0x20)
      [<c0046350>] (blocking_notifier_call_chain) from [<c0390234>] (device_add+0x36c/0x534)
      [<c0390234>] (device_add) from [<c047fc00>] (of_platform_device_create_pdata+0x70/0xa4)
      [<c047fc00>] (of_platform_device_create_pdata) from [<c047fea0>] (of_platform_bus_create+0xf0/0x1ec)
      [<c047fea0>] (of_platform_bus_create) from [<c047fff8>] (of_platform_populate+0x5c/0xac)
      [<c047fff8>] (of_platform_populate) from [<c08b1f04>] (of_platform_default_populate_init+0x8c/0xa8)
      [<c08b1f04>] (of_platform_default_populate_init) from [<c000a78c>] (do_one_initcall+0x3c/0x164)
      [<c000a78c>] (do_one_initcall) from [<c087bd9c>] (kernel_init_freeable+0x10c/0x1d0)
      [<c087bd9c>] (kernel_init_freeable) from [<c0628db0>] (kernel_init+0x8/0xf0)
      [<c0628db0>] (kernel_init) from [<c00090d8>] (ret_from_fork+0x14/0x3c)
      Exception stack(0xeec73fb0 to 0xeec73ff8)
      3fa0:                                     00000000 00000000 00000000 00000000
      3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      3fe0: 00000000 00000000 00000000 00000000 00000013 00000000
      Code: e3520000 1afffff7 e12fff1e c0801730 (e5d02000)
      ---[ end trace cafa8f148e262e80 ]---
      
      Fix this by adding the necessary initialiser.
      
      Fixes: fc20ffe1 ("ARM: keystone: add PM domain support for clock management")
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      Acked-by: NSantosh Shilimkar <ssantosh@kernel.org>
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      9954b80b
  8. 14 5月, 2018 10 次提交
  9. 12 5月, 2018 2 次提交
  10. 11 5月, 2018 1 次提交