1. 06 9月, 2016 2 次提交
  2. 16 8月, 2016 1 次提交
  3. 12 8月, 2016 1 次提交
  4. 04 8月, 2016 1 次提交
  5. 03 8月, 2016 3 次提交
  6. 15 7月, 2016 1 次提交
  7. 14 7月, 2016 2 次提交
  8. 07 7月, 2016 1 次提交
  9. 06 7月, 2016 1 次提交
  10. 02 7月, 2016 2 次提交
    • M
      ARM: 8577/1: Fix Cortex-A15 798181 errata initialization · f6492164
      Matija Glavinic Pecotic 提交于
      Current errata initialization doesn't take properly revision and REVIDR
      into account. Depending on the core revision, revidr bits should not be
      taken into account. Errata misleadingly declares r3p3 to be error-free,
      but this is not the case. Include rp3p3 in errata initialization.
      
      Here are possible fixes defined in revidr register for r2 and r3 [1,2]:
      
      r0p0-r2p1: No fixes applied
      
      r2p2,r2p3:
      
      REVIDR[4]: 798181 Moving a virtual page that is being accessed by
          an active process can lead to unexpected behavior
      REVIDR[9]: Not defined
      
      r2p4,r3p0,r3p1,r3p2:
      
      REVIDR[4]: 798181 Moving a virtual page that is being accessed by
         an active process can lead to unexpected behavior
      REVIDR[9]: 798181 Moving a virtual page that is being accessed by
         an active process can lead to unexpected behavior
         - This is an update to a previously released ECO.
      
      r3p3:
      
      REVIDR[4]: Reserved
      REVIDR[9]: 798181 Moving a virtual page that is being accessed by
         an active process can lead to unexpected behavior
         - This is an update to a previously released ECO.
      
      And here is proposed handling from the same document:
      
      * In r3p2 and earlier versions with REVIDR[4]= 0,the full workaround is
        required.
      * In r3p2 and earlier versions with REVIDR[4]=1, REVIDR[9]=0, only the
        portion of the workaround up to the end of step 6 is required.
      * In r3p2 and earlier versions with REVIDR[4]=1, REVIDR[9]=1, no
        workaround is required.
      * In r3p3, if REVIDR[9]=0, only the portion of the workaround up
        to the end of step 6 is required.
      * In r3p3, if REVIDR[9]=1, no workaround is required.
      
      These imply following:
      
      REVIDR[9] set -> No WA
      REVIDR[4] set, REVIDR[9] cleared -> Partial WA
      Both cleared -> Full WA
      
      Where certain bits should and should not be taken into account
      depending on whether they are defined for the revision.
      
      Although not explicitly mentioned in the errata note, REVIDR[9] set,
      with REVIDR[4] cleared is valid combination which requires no WA. This
      is confirmed by ARM support and errata will be updated.
      
      [1] ARM CortexTM-A15 MPCore - NEON
          Product revision r3
          Software Developers Errata Notice
          ARM-EPM-028093 v20.0 Released
      
      [2] ARM CortexTM-A15 MPCore - NEON
          Product Revision r2
          Software Developers Errata Notice
          ARM-EPM-028090 v19.3 Released
      Signed-off-by: NMatija Glavinic Pecotic <matija.glavinic-pecotic.ext@nokia.com>
      Reviewed-by: NAlexander Sverdlin <alexander.sverdlin@nokia.com>
      Reviewed-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      f6492164
    • K
      ARM: 8583/1: mm: fix location of _etext · 14c4a533
      Kees Cook 提交于
      The _etext position is defined to be the end of the kernel text code,
      and should not include any part of the data segments. This interferes
      with things that might check memory ranges and expect executable code
      up to _etext. Just to be conservative, leave the kernel resource as
      it was, using __init_begin instead of _etext as the end mark.
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      14c4a533
  11. 28 6月, 2016 2 次提交
  12. 24 6月, 2016 4 次提交
    • L
      ARM/PCI: Remove arch-specific pcibios_enable_device() · 313cb902
      Lorenzo Pieralisi 提交于
      On systems with PCI_PROBE_ONLY set, we rely on BAR assignments from
      firmware.  Previously we did not insert those resources into the resource
      tree, so we had to skip pci_enable_resources() because it fails if
      resources are not in the resource tree.
      
      Now that we *do* insert resources even when PCI_PROBE_ONLY is set, we no
      longer need the ARM-specific pcibios_enable_device().  Remove it so we
      use the generic version.
      
      [bhelgaas: changelog]
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      CC: Arnd Bergmann <arnd@arndb.de>
      CC: Russell King <linux@arm.linux.org.uk>
      313cb902
    • L
      ARM/PCI: Claim bus resources on PCI_PROBE_ONLY set-ups · b30742aa
      Lorenzo Pieralisi 提交于
      We claim PCI BAR and bridge window resources in pci_bus_assign_resources(),
      but when PCI_PROBE_ONLY is set, we treat those resources as immutable and
      don't call pci_bus_assign_resources(), so the resources aren't put in the
      resource tree.
      
      When the resources aren't in the tree, they don't show up in /proc/iomem,
      we can't detect conflicts, and we need special cases elsewhere for
      PCI_PROBE_ONLY or resources without a parent pointer.
      
      Claim all PCI BAR and window resources in the PCI_PROBE_ONLY case.
      
      If a PCI_PROBE_ONLY platform assigns conflicting resources, Linux can't fix
      the conflicts.  Previously we didn't notice the conflicts, but now we will,
      which may expose new failures.
      
      [bhelgaas: changelog, add resource comment, remove size/assign comments]
      Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      CC: Russell King <linux@armlinux.org.uk>
      b30742aa
    • K
      arm: Remove unnecessary of_platform_populate with default match table · 850bea23
      Kefeng Wang 提交于
      After patch "of/platform: Add common method to populate default bus",
      it is possible for arch code to remove unnecessary callers of
      of_platform_populate with default match table.
      Acked-by: NViresh Kumar <viresh.kumar@linaro.org>
      Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Ray Jui <rjui@broadcom.com>
      Cc: Lee Jones <lee@kernel.org>
      Cc: Krzysztof Halasa <khalasa@piap.pl>
      Cc: Kukjin Kim <kgene@kernel.org>
      Cc: Rob Herring <robh@kernel.org>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: Santosh Shilimkar <ssantosh@kernel.org>
      Cc: Roland Stigge <stigge@antcom.de>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
      Cc: Heiko Stuebner <heiko@sntech.de>
      Cc: Viresh Kumar <vireshk@kernel.org>
      Cc: Shiraz Hashim <shiraz.linux.kernel@gmail.com>
      Cc: Tony Prisk <linux@prisktech.co.nz>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      Signed-off-by: NKefeng Wang <wangkefeng.wang@huawei.com>
      Signed-off-by: NRob Herring <robh@kernel.org>
      850bea23
    • K
      of: iommu: make of_iommu_init() postcore_initcall_sync · bb8e15d6
      Kefeng Wang 提交于
      The of_iommu_init() is called multiple times by arch code,
      make it postcore_initcall_sync, then we can drop relevant
      calls fully.
      
      Note, the IOMMUs should have a chance to perform some basic
      initialisation before we start adding masters to them. So
      postcore_initcall_sync is good choice, it ensures of_iommu_init()
      called before of_platform_populate.
      Acked-by: NRich Felker <dalias@libc.org>
      Tested-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Rich Felker <dalias@libc.org>
      Cc: Rob Herring <robh+dt@kernel.org>
      Cc: Robin Murphy <robin.murphy@arm.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Signed-off-by: NKefeng Wang <wangkefeng.wang@huawei.com>
      Acked-by: NJoerg Roedel <jroedel@suse.de>
      Signed-off-by: NRob Herring <robh@kernel.org>
      bb8e15d6
  13. 23 6月, 2016 5 次提交
  14. 21 6月, 2016 1 次提交
    • B
      ARM: Make PCI I/O space optional · 1fa05101
      Bjorn Helgaas 提交于
      For callers of pci_common_init_dev(), we previously always required a PCI
      I/O port resource.  If the caller's ->setup() function had added an I/O
      resource, we used that; otherwise, we added a default 64K I/O port space
      for it.
      
      There are PCI host bridges that do not support I/O port space, and we
      should not add fictitious spaces for them.
      
      If a caller sets struct hw_pci.io_optional, assume it is responsible for
      adding any I/O port resource it desires, and do not add any default I/O
      port space.
      Tested-by: NGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      1fa05101
  15. 15 6月, 2016 3 次提交
    • P
      arm: Use _rcuidle for smp_cross_call() tracepoints · 7c64cc05
      Paul E. McKenney 提交于
      Further testing with false negatives suppressed by commit 293e2421
      ("rcu: Remove superfluous versions of rcu_read_lock_sched_held()")
      identified another unprotected use of RCU from the idle loop.  Because RCU
      actively ignores idle-loop code (for energy-efficiency reasons, among
      other things), using RCU from the idle loop can result in too-short
      grace periods, in turn resulting in arbitrary misbehavior.
      
      The resulting lockdep-RCU splat is as follows:
      
      ------------------------------------------------------------------------
      
      ===============================
      [ INFO: suspicious RCU usage. ]
      4.6.0-rc5-next-20160426+ #1112 Not tainted
      -------------------------------
      include/trace/events/ipi.h:35 suspicious rcu_dereference_check() usage!
      
      other info that might help us debug this:
      
      RCU used illegally from idle CPU!
      rcu_scheduler_active = 1, debug_locks = 0
      RCU used illegally from extended quiescent state!
      no locks held by swapper/0/0.
      
      stack backtrace:
      CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.6.0-rc5-next-20160426+ #1112
      Hardware name: Generic OMAP4 (Flattened Device Tree)
      [<c0110308>] (unwind_backtrace) from [<c010c3a8>] (show_stack+0x10/0x14)
      [<c010c3a8>] (show_stack) from [<c047fec8>] (dump_stack+0xb0/0xe4)
      [<c047fec8>] (dump_stack) from [<c010dcfc>] (smp_cross_call+0xbc/0x188)
      [<c010dcfc>] (smp_cross_call) from [<c01c9e28>] (generic_exec_single+0x9c/0x15c)
      [<c01c9e28>] (generic_exec_single) from [<c01ca0a0>] (smp_call_function_single_async+0 x38/0x9c)
      [<c01ca0a0>] (smp_call_function_single_async) from [<c0603728>] (cpuidle_coupled_poke_others+0x8c/0xa8)
      [<c0603728>] (cpuidle_coupled_poke_others) from [<c0603c10>] (cpuidle_enter_state_coupled+0x26c/0x390)
      [<c0603c10>] (cpuidle_enter_state_coupled) from [<c0183c74>] (cpu_startup_entry+0x198/0x3a0)
      [<c0183c74>] (cpu_startup_entry) from [<c0b00c0c>] (start_kernel+0x354/0x3c8)
      [<c0b00c0c>] (start_kernel) from [<8000807c>] (0x8000807c)
      
      ------------------------------------------------------------------------
      Reported-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Tested-by: NTony Lindgren <tony@atomide.com>
      Tested-by: NGuenter Roeck <linux@roeck-us.net>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: <linux-omap@vger.kernel.org>
      Cc: <linux-arm-kernel@lists.infradead.org>
      7c64cc05
    • K
      arm/ptrace: run seccomp after ptrace · 0f3912fd
      Kees Cook 提交于
      Close the hole where ptrace can change a syscall out from under seccomp.
      Signed-off-by: NKees Cook <keescook@chromium.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: linux-arm-kernel@lists.infradead.org
      0f3912fd
    • A
      seccomp: Add a seccomp_data parameter secure_computing() · 2f275de5
      Andy Lutomirski 提交于
      Currently, if arch code wants to supply seccomp_data directly to
      seccomp (which is generally much faster than having seccomp do it
      using the syscall_get_xyz() API), it has to use the two-phase
      seccomp hooks. Add it to the easy hooks, too.
      
      Cc: linux-arch@vger.kernel.org
      Signed-off-by: NAndy Lutomirski <luto@kernel.org>
      Signed-off-by: NKees Cook <keescook@chromium.org>
      2f275de5
  16. 02 6月, 2016 1 次提交
  17. 24 5月, 2016 1 次提交
  18. 21 5月, 2016 2 次提交
    • P
      printk/nmi: generic solution for safe printk in NMI · 42a0bb3f
      Petr Mladek 提交于
      printk() takes some locks and could not be used a safe way in NMI
      context.
      
      The chance of a deadlock is real especially when printing stacks from
      all CPUs.  This particular problem has been addressed on x86 by the
      commit a9edc880 ("x86/nmi: Perform a safe NMI stack trace on all
      CPUs").
      
      The patchset brings two big advantages.  First, it makes the NMI
      backtraces safe on all architectures for free.  Second, it makes all NMI
      messages almost safe on all architectures (the temporary buffer is
      limited.  We still should keep the number of messages in NMI context at
      minimum).
      
      Note that there already are several messages printed in NMI context:
      WARN_ON(in_nmi()), BUG_ON(in_nmi()), anything being printed out from MCE
      handlers.  These are not easy to avoid.
      
      This patch reuses most of the code and makes it generic.  It is useful
      for all messages and architectures that support NMI.
      
      The alternative printk_func is set when entering and is reseted when
      leaving NMI context.  It queues IRQ work to copy the messages into the
      main ring buffer in a safe context.
      
      __printk_nmi_flush() copies all available messages and reset the buffer.
      Then we could use a simple cmpxchg operations to get synchronized with
      writers.  There is also used a spinlock to get synchronized with other
      flushers.
      
      We do not longer use seq_buf because it depends on external lock.  It
      would be hard to make all supported operations safe for a lockless use.
      It would be confusing and error prone to make only some operations safe.
      
      The code is put into separate printk/nmi.c as suggested by Steven
      Rostedt.  It needs a per-CPU buffer and is compiled only on
      architectures that call nmi_enter().  This is achieved by the new
      HAVE_NMI Kconfig flag.
      
      The are MN10300 and Xtensa architectures.  We need to clean up NMI
      handling there first.  Let's do it separately.
      
      The patch is heavily based on the draft from Peter Zijlstra, see
      
        https://lkml.org/lkml/2015/6/10/327
      
      [arnd@arndb.de: printk-nmi: use %zu format string for size_t]
      [akpm@linux-foundation.org: min_t->min - all types are size_t here]
      Signed-off-by: NPetr Mladek <pmladek@suse.com>
      Suggested-by: NPeter Zijlstra <peterz@infradead.org>
      Suggested-by: NSteven Rostedt <rostedt@goodmis.org>
      Cc: Jan Kara <jack@suse.cz>
      Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>	[arm part]
      Cc: Daniel Thompson <daniel.thompson@linaro.org>
      Cc: Jiri Kosina <jkosina@suse.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: David Miller <davem@davemloft.net>
      Cc: Daniel Thompson <daniel.thompson@linaro.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      42a0bb3f
    • J
      exit_thread: accept a task parameter to be exited · e6464694
      Jiri Slaby 提交于
      We need to call exit_thread from copy_process in a fail path.  So make it
      accept task_struct as a parameter.
      
      [v2]
      * s390: exit_thread_runtime_instr doesn't make sense to be called for
        non-current tasks.
      * arm: fix the comment in vfp_thread_copy
      * change 'me' to 'tsk' for task_struct
      * now we can change only archs that actually have exit_thread
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Aurelien Jacquiot <a-jacquiot@ti.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Chen Liqin <liqin.linux@gmail.com>
      Cc: Chris Metcalf <cmetcalf@mellanox.com>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
      Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
      Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Helge Deller <deller@gmx.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: James Hogan <james.hogan@imgtec.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: Jiri Slaby <jslaby@suse.cz>
      Cc: Jonas Bonn <jonas@southpole.se>
      Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
      Cc: Lennox Wu <lennox.wu@gmail.com>
      Cc: Ley Foon Tan <lftan@altera.com>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Max Filippov <jcmvbkbc@gmail.com>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Rich Felker <dalias@libc.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Richard Kuo <rkuo@codeaurora.org>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Steven Miao <realmz6@gmail.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e6464694
  19. 17 5月, 2016 2 次提交
    • A
      perf core: Add a 'nr' field to perf_event_callchain_context · 3b1fff08
      Arnaldo Carvalho de Melo 提交于
      We will use it to count how many addresses are in the entry->ip[] array,
      excluding PERF_CONTEXT_{KERNEL,USER,etc} entries, so that we can really
      return the number of entries specified by the user via the relevant
      sysctl, kernel.perf_event_max_contexts, or via the per event
      perf_event_attr.sample_max_stack knob.
      
      This way we keep the perf_sample->ip_callchain->nr meaning, that is the
      number of entries, be it real addresses or PERF_CONTEXT_ entries, while
      honouring the max_stack knobs, i.e. the end result will be max_stack
      entries if we have at least that many entries in a given stack trace.
      
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/n/tip-s8teto51tdqvlfhefndtat9r@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      3b1fff08
    • A
      perf core: Pass max stack as a perf_callchain_entry context · cfbcf468
      Arnaldo Carvalho de Melo 提交于
      This makes perf_callchain_{user,kernel}() receive the max stack
      as context for the perf_callchain_entry, instead of accessing
      the global sysctl_perf_event_max_stack.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexei Starovoitov <ast@kernel.org>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: He Kuang <hekuang@huawei.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Milian Wolff <milian.wolff@kdab.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vince Weaver <vincent.weaver@maine.edu>
      Cc: Wang Nan <wangnan0@huawei.com>
      Cc: Zefan Li <lizefan@huawei.com>
      Link: http://lkml.kernel.org/n/tip-kolmn1yo40p7jhswxwrc7rrd@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      cfbcf468
  20. 06 5月, 2016 2 次提交
  21. 03 5月, 2016 2 次提交