08 Oct, 2016

1 commit

  • This came to light when implementing native 64-bit atomics for ARCv2.

    The atomic64 self-test code uses CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
    to check whether atomic64_dec_if_positive() is available. It seems it
    was needed when not every arch defined it. However as of current code
    the Kconfig option seems needless

    - for CONFIG_GENERIC_ATOMIC64 it is auto-enabled in lib/Kconfig and a
    generic definition of API is present lib/atomic64.c
    - arches with native 64-bit atomics select it in arch/*/Kconfig and
    define the API in their headers

    So I see no point in keeping the Kconfig option

    Compile tested for:
    - blackfin (CONFIG_GENERIC_ATOMIC64)
    - x86 (!CONFIG_GENERIC_ATOMIC64)
    - ia64

    Link: http://lkml.kernel.org/r/1473703083-8625-3-git-send-email-vgupta@synopsys.com
    Signed-off-by: Vineet Gupta
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Cc: Russell King
    Cc: Catalin Marinas
    Cc: Will Deacon
    Cc: Ralf Baechle
    Cc: "James E.J. Bottomley"
    Cc: Helge Deller
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Michael Ellerman
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: "David S. Miller"
    Cc: Chris Metcalf
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Vineet Gupta
    Cc: Zhaoxiu Zeng
    Cc: Linus Walleij
    Cc: Alexander Potapenko
    Cc: Andrey Ryabinin
    Cc: Herbert Xu
    Cc: Ming Lin
    Cc: Arnd Bergmann
    Cc: Geert Uytterhoeven
    Cc: Peter Zijlstra
    Cc: Borislav Petkov
    Cc: Andi Kleen
    Cc: Boqun Feng
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vineet Gupta
     

31 Aug, 2016

1 commit

  • There are three usercopy warnings which are currently being silenced for
    gcc 4.6 and newer:

    1) "copy_from_user() buffer size is too small" compile warning/error

    This is a static warning which happens when object size and copy size
    are both const, and copy size > object size. I didn't see any false
    positives for this one. So the function warning attribute seems to
    be working fine here.

    Note this scenario is always a bug and so I think it should be
    changed to *always* be an error, regardless of
    CONFIG_DEBUG_STRICT_USER_COPY_CHECKS.

    2) "copy_from_user() buffer size is not provably correct" compile warning

    This is another static warning which happens when I enable
    __compiletime_object_size() for new compilers (and
    CONFIG_DEBUG_STRICT_USER_COPY_CHECKS). It happens when object size
    is const, but copy size is *not*. In this case there's no way to
    compare the two at build time, so it gives the warning. (Note the
    warning is a byproduct of the fact that gcc has no way of knowing
    whether the overflow function will be called, so the call isn't dead
    code and the warning attribute is activated.)

    So this warning seems to only indicate "this is an unusual pattern,
    maybe you should check it out" rather than "this is a bug".

    I get 102(!) of these warnings with allyesconfig and the
    __compiletime_object_size() gcc check removed. I don't know if there
    are any real bugs hiding in there, but from looking at a small
    sample, I didn't see any. According to Kees, it does sometimes find
    real bugs. But the false positive rate seems high.

    3) "Buffer overflow detected" runtime warning

    This is a runtime warning where object size is const, and copy size >
    object size.

    All three warnings (both static and runtime) were completely disabled
    for gcc 4.6 with the following commit:

    2fb0815c9ee6 ("gcc4: disable __compiletime_object_size for GCC 4.6+")

    That commit mistakenly assumed that the false positives were caused by a
    gcc bug in __compiletime_object_size(). But in fact,
    __compiletime_object_size() seems to be working fine. The false
    positives were instead triggered by #2 above. (Though I don't have an
    explanation for why the warnings supposedly only started showing up in
    gcc 4.6.)

    So remove warning #2 to get rid of all the false positives, and re-enable
    warnings #1 and #3 by reverting the above commit.

    Furthermore, since #1 is a real bug which is detected at compile time,
    upgrade it to always be an error.

    Having done all that, CONFIG_DEBUG_STRICT_USER_COPY_CHECKS is no longer
    needed.

    Signed-off-by: Josh Poimboeuf
    Cc: Kees Cook
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H . Peter Anvin"
    Cc: Andy Lutomirski
    Cc: Steven Rostedt
    Cc: Brian Gerst
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Byungchul Park
    Cc: Nilay Vaish
    Signed-off-by: Linus Torvalds

    Josh Poimboeuf
     

24 May, 2016

1 commit


21 May, 2016

2 commits

  • 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 a9edc8809328 ("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: Petr Mladek
    Suggested-by: Peter Zijlstra
    Suggested-by: Steven Rostedt
    Cc: Jan Kara
    Acked-by: Russell King [arm part]
    Cc: Daniel Thompson
    Cc: Jiri Kosina
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: David Miller
    Cc: Daniel Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Petr Mladek
     
  • Define HAVE_EXIT_THREAD for archs which want to do something in
    exit_thread. For others, let's define exit_thread as an empty inline.

    This is a cleanup before we change the prototype of exit_thread to
    accept a task parameter.

    [akpm@linux-foundation.org: fix mips]
    Signed-off-by: Jiri Slaby
    Cc: "David S. Miller"
    Cc: "H. Peter Anvin"
    Cc: "James E.J. Bottomley"
    Cc: Aurelien Jacquiot
    Cc: Benjamin Herrenschmidt
    Cc: Catalin Marinas
    Cc: Chen Liqin
    Cc: Chris Metcalf
    Cc: Chris Zankel
    Cc: David Howells
    Cc: Fenghua Yu
    Cc: Geert Uytterhoeven
    Cc: Guan Xuetao
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Heiko Carstens
    Cc: Helge Deller
    Cc: Ingo Molnar
    Cc: Ivan Kokshaysky
    Cc: James Hogan
    Cc: Jeff Dike
    Cc: Jesper Nilsson
    Cc: Jiri Slaby
    Cc: Jonas Bonn
    Cc: Koichi Yasutake
    Cc: Lennox Wu
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Martin Schwidefsky
    Cc: Matt Turner
    Cc: Max Filippov
    Cc: Michael Ellerman
    Cc: Michal Simek
    Cc: Mikael Starvik
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Ralf Baechle
    Cc: Rich Felker
    Cc: Richard Henderson
    Cc: Richard Kuo
    Cc: Richard Weinberger
    Cc: Russell King
    Cc: Steven Miao
    Cc: Thomas Gleixner
    Cc: Tony Luck
    Cc: Vineet Gupta
    Cc: Will Deacon
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     

28 Apr, 2016

1 commit


09 Mar, 2016

2 commits

  • Include pci/hotplug/Kconfig directly from pci/Kconfig, so arches don't
    have to source both pci/Kconfig and pci/hotplug/Kconfig.

    Note that this effectively adds pci/hotplug/Kconfig to the following
    arches, because they already sourced drivers/pci/Kconfig but they
    previously did not source drivers/pci/hotplug/Kconfig:

    alpha
    arm
    avr32
    frv
    m68k
    microblaze
    mn10300
    sparc
    unicore32

    Inspired-by-patch-from: Bogicevic Sasa
    Signed-off-by: Bjorn Helgaas

    Bjorn Helgaas
     
  • Include pci/pcie/Kconfig directly from pci/Kconfig, so arches don't
    have to source both pci/Kconfig and pci/pcie/Kconfig.

    Note that this effectively adds pci/pcie/Kconfig to the following
    arches, because they already sourced drivers/pci/Kconfig but they
    previously did not source drivers/pci/pcie/Kconfig:

    alpha
    avr32
    blackfin
    frv
    m32r
    m68k
    microblaze
    mn10300
    parisc
    sparc
    unicore32
    xtensa

    [bhelgaas: changelog, source pci/pcie/Kconfig at top of pci/Kconfig, whitespace]
    Signed-off-by: Sasa Bogicevic
    Signed-off-by: Bjorn Helgaas

    Bogicevic Sasa
     

21 Jan, 2016

1 commit

  • Move the generic implementation to now that all
    architectures support it and remove the HAVE_DMA_ATTR Kconfig symbol now
    that everyone supports them.

    [valentinrothberg@gmail.com: remove leftovers in Kconfig]
    Signed-off-by: Christoph Hellwig
    Cc: "David S. Miller"
    Cc: Aurelien Jacquiot
    Cc: Chris Metcalf
    Cc: David Howells
    Cc: Geert Uytterhoeven
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Helge Deller
    Cc: James Hogan
    Cc: Jesper Nilsson
    Cc: Koichi Yasutake
    Cc: Ley Foon Tan
    Cc: Mark Salter
    Cc: Mikael Starvik
    Cc: Steven Miao
    Cc: Vineet Gupta
    Cc: Christian Borntraeger
    Cc: Joerg Roedel
    Cc: Sebastian Ott
    Signed-off-by: Valentin Rothberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     

19 Jan, 2016

1 commit

  • Pull arch/tile updates from Chris Metcalf:
    "This is a grab bag of changes that includes some NOHZ and
    context-tracking related changes, some debugging improvements,
    JUMP_LABEL support, and some fixes for tilepro allmodconfig support.

    We also remove the now-unused node_has_online_mem() definitions both
    for tile's asm/topology.h as well as in linux/topology.h itself"

    * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
    numa: remove stale node_has_online_mem() define
    arch/tile: move user_exit() to early kernel entry sequence
    tile: fix bug in setting PT_FLAGS_DISABLE_IRQ on kernel entry
    tile: fix tilepro casts for readl, writel, etc
    tile: fix a -Wframe-larger-than warning
    tile: include the syscall number in the backtrace
    MAINTAINERS: add git URL for tile
    arch/tile: adopt prepare_exit_to_usermode() model from x86
    tile/jump_label: add jump label support for TILE-Gx
    tile: define a macro ktext_writable_addr to get writable kernel text address

    Linus Torvalds
     

14 Jan, 2016

1 commit

  • Pull libnvdimm updates from Dan Williams:
    "The bulk of this has appeared in -next and independently received a
    build success notification from the kbuild robot. The 'for-4.5/block-
    dax' topic branch was rebased over the weekend to drop the "block
    device end-of-life" rework that Al would like to see re-implemented
    with a notifier, and to address bug reports against the badblocks
    integration.

    There is pending feedback against "libnvdimm: Add a poison list and
    export badblocks" received last week. Linda identified some localized
    fixups that we will handle incrementally.

    Summary:

    - Media error handling: The 'badblocks' implementation that
    originated in md-raid is up-levelled to a generic capability of a
    block device. This initial implementation is limited to being
    consulted in the pmem block-i/o path. Later, 'badblocks' will be
    consulted when creating dax mappings.

    - Raw block device dax: For virtualization and other cases that want
    large contiguous mappings of persistent memory, add the capability
    to dax-mmap a block device directly.

    - Increased /dev/mem restrictions: Add an option to treat all
    io-memory as IORESOURCE_EXCLUSIVE, i.e. disable /dev/mem access
    while a driver is actively using an address range. This behavior
    is controlled via the new CONFIG_IO_STRICT_DEVMEM option and can be
    overridden by the existing "iomem=relaxed" kernel command line
    option.

    - Miscellaneous fixes include a 'pfn'-device huge page alignment fix,
    block device shutdown crash fix, and other small libnvdimm fixes"

    * tag 'libnvdimm-for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (32 commits)
    block: kill disk_{check|set|clear|alloc}_badblocks
    libnvdimm, pmem: nvdimm_read_bytes() badblocks support
    pmem, dax: disable dax in the presence of bad blocks
    pmem: fail io-requests to known bad blocks
    libnvdimm: convert to statically allocated badblocks
    libnvdimm: don't fail init for full badblocks list
    block, badblocks: introduce devm_init_badblocks
    block: clarify badblocks lifetime
    badblocks: rename badblocks_free to badblocks_exit
    libnvdimm, pmem: move definition of nvdimm_namespace_add_poison to nd.h
    libnvdimm: Add a poison list and export badblocks
    nfit_test: Enable DSMs for all test NFITs
    md: convert to use the generic badblocks code
    block: Add badblock management for gendisks
    badblocks: Add core badblock management code
    block: fix del_gendisk() vs blkdev_ioctl crash
    block: enable dax for raw block devices
    block: introduce bdev_file_inode()
    restrict /dev/mem to idle io memory ranges
    arch: consolidate CONFIG_STRICT_DEVM in lib/Kconfig.debug
    ...

    Linus Torvalds
     

09 Jan, 2016

1 commit

  • Let all the archs that implement devmem_is_allowed() opt-in to a common
    definition of CONFIG_STRICT_DEVM in lib/Kconfig.debug.

    Cc: Kees Cook
    Cc: Russell King
    Cc: Will Deacon
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Andrew Morton
    Cc: Greg Kroah-Hartman
    Cc: "David S. Miller"
    Acked-by: Catalin Marinas
    Acked-by: Heiko Carstens
    [heiko: drop 'default y' for s390]
    Acked-by: Ingo Molnar
    Suggested-by: Arnd Bergmann
    Signed-off-by: Dan Williams

    Dan Williams
     

05 Jan, 2016

2 commits

  • This allows the build system to know that it can't attempt to
    configure the Lustre virtual block device, for example, when tilepro
    is using 64KB pages (as it does by default). The tilegx build
    already provided those symbols.

    Previously we required that the tilepro hypervisor be rebuilt with
    a different hardcoded page size in its headers, and then Linux be
    rebuilt using the updated hypervisor header. Now we allow each of
    the hypervisor and Linux to be built independently. We still check
    at boot time to ensure that the page size provided by the hypervisor
    matches what Linux expects.

    Signed-off-by: Chris Metcalf
    Cc: stable@vger.kernel.org [3.19+]

    Chris Metcalf
     
  • Add the arch-specific code to support jump label for TILE-Gx. This
    code shares NOP instruction with ftrace, so we move it to a common
    header file.

    Reviewed-by: Chris Metcalf
    Signed-off-by: Zhigang Lu
    Signed-off-by: Chris Metcalf

    Zhigang Lu
     

11 Sep, 2015

1 commit

  • There are two kexec load syscalls, kexec_load another and kexec_file_load.
    kexec_file_load has been splited as kernel/kexec_file.c. In this patch I
    split kexec_load syscall code to kernel/kexec.c.

    And add a new kconfig option KEXEC_CORE, so we can disable kexec_load and
    use kexec_file_load only, or vice verse.

    The original requirement is from Ted Ts'o, he want kexec kernel signature
    being checked with CONFIG_KEXEC_VERIFY_SIG enabled. But kexec-tools use
    kexec_load syscall can bypass the checking.

    Vivek Goyal proposed to create a common kconfig option so user can compile
    in only one syscall for loading kexec kernel. KEXEC/KEXEC_FILE selects
    KEXEC_CORE so that old config files still work.

    Because there's general code need CONFIG_KEXEC_CORE, so I updated all the
    architecture Kconfig with a new option KEXEC_CORE, and let KEXEC selects
    KEXEC_CORE in arch Kconfig. Also updated general kernel code with to
    kexec_load syscall.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Dave Young
    Cc: Eric W. Biederman
    Cc: Vivek Goyal
    Cc: Petr Tesarik
    Cc: Theodore Ts'o
    Cc: Josh Boyer
    Cc: David Howells
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Young
     

31 Jul, 2015

1 commit


01 Jul, 2015

1 commit

  • Pull arch/tile updates from Chris Metcalf:
    "These are a grab bag of changes to improve debugging and respond to a
    variety of issues raised on LKML over the last couple of months"

    * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
    tile: avoid a "label not used" warning in do_page_fault()
    tile: vdso: use raw_read_seqcount_begin() in vdso
    tile: force CONFIG_TILEGX if ARCH != tilepro
    tile: improve stack backtrace
    tile: fix "odd fault" warning for stack backtraces
    tile: set up initial stack top to honor STACK_TOP_DELTA
    tile: support delivering NMIs for multicore backtrace
    drivers/tty/hvc/hvc_tile.c: properly return -EAGAIN
    tile: add and enable support functions
    tile: use READ_ONCE() in arch_spin_is_locked()
    tile: modify arch_spin_unlock_wait() semantics

    Linus Torvalds
     

03 Jun, 2015

1 commit


28 May, 2015

1 commit

  • So first of all, this atomic_scrub() function's naming is bad. It looks
    like an atomic_t helper. Change it to edac_atomic_scrub().

    The bigger problem is that this function is arch-specific and every new
    arch which doesn't necessarily need that functionality still needs to
    define it, otherwise EDAC doesn't compile.

    So instead of doing that and including arch-specific headers, have each
    arch define an EDAC_ATOMIC_SCRUB symbol which can be used in edac_mc.c
    for ifdeffery. Much cleaner.

    And we already are doing this with another symbol - EDAC_SUPPORT. This
    is also much cleaner than having CONFIG_EDAC enumerate all the arches
    which need/have EDAC support and drivers.

    This way I can kill the useless edac.h header in tile too.

    Acked-by: Ralf Baechle
    Acked-by: Michael Ellerman
    Acked-by: Chris Metcalf
    Acked-by: Ingo Molnar
    Acked-by: Russell King
    Cc: Benjamin Herrenschmidt
    Cc: Doug Thompson
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-edac@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: "Maciej W. Rozycki"
    Cc: Markos Chandras
    Cc: Mauro Carvalho Chehab
    Cc: Paul Mackerras
    Cc: "Steven J. Hill"
    Cc: x86@kernel.org
    Signed-off-by: Borislav Petkov

    Borislav Petkov
     

11 May, 2015

1 commit

  • This commit fixes a number of issues with the tile backtrace code.

    - Don't try to identify userspace shared object or executable paths
    if we are doing a backtrace from an interrupt; it's not legal,
    and also unlikely to be interesting. Likewise, don't try to do
    it for other address spaces, since d_path() assumes it is being
    called in "current" context.

    - Move "in_backtrace" from thread_struct to thread_info.
    This way we can access it even if our stack thread_info has been
    clobbered, which makes backtracing more robust.

    - Avoid using "current" directly when testing for is_sigreturn().
    Since "current" may be corrupt, we're better off using kbt->task
    explicitly to look up the vdso_base for the current task.
    Conveniently, this simplifies the internal APIs (we only need
    one is_sigreturn() function now).

    - Avoid bogus "Odd fault" warning when pc/sp/ex1 are all zero,
    as is true for kernel threads above the last frame.

    - Hook into Tejun Heo's dump_stack() framework in lib/dump_stack.c.

    - Write last entry in save_stack_trace() as ULONG_MAX, not zero,
    since ftrace (at least) relies on finding that marker.

    - Implement save_stack_trace_regs() and save_strack_trace_user(),
    and set CONFIG_USER_STACKTRACE_SUPPORT.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     

01 May, 2015

1 commit

  • This change enables the generic strncpy_from_user() and strnlen_user()
    using word-at-a-time.h. The tile implementation is trivial since
    both tilepro and tilegx have SIMD operations that do byte-wise
    comparisons against immediate zero for each byte, and return an
    0x01 byte in each position where there is a 0x00 byte.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     

18 Apr, 2015

2 commits

  • Pull arch/tile updates from Chris Metcalf:
    "These are mostly nohz_full changes, plus a smattering of minor fixes
    (notably a couple for ftrace)"

    * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
    tile: nohz: warn if nohz_full uses hypervisor shared cores
    tile: ftrace: fix function_graph tracer issues
    tile: map data region shadow of kernel as R/W
    tile: support CONTEXT_TRACKING and thus NOHZ_FULL
    tile: support arch_irq_work_raise
    arch: tile: fix null pointer dereference on pt_regs pointer
    tile/elf: reorganize notify_exec()
    tile: use si_int instead of si_ptr for compat_siginfo

    Linus Torvalds
     
  • Add the TIF_NOHZ flag appropriately.

    Add call to user_exit() on entry to do_work_pending() and on entry
    to syscalls via do_syscall_trace_enter(), and also the top of
    do_syscall_trace_exit() just because it's done in x86.

    Add call to user_enter() at the bottom of do_work_pending() once we
    have no more work to do before returning to userspace.

    Wrap all the trap code in exception_enter() / exception_exit().

    Signed-off-by: Chris Metcalf
    Acked-by: Frederic Weisbecker

    Chris Metcalf
     

15 Apr, 2015

1 commit


02 Oct, 2014

1 commit


30 Aug, 2014

1 commit

  • New system call depends on crypto. As it did not have a separate config
    option, CONFIG_KEXEC was modified to select CRYPTO and CRYPTO_SHA256.

    But now previous patch introduced a new config option for new syscall.
    So CONFIG_KEXEC does not require crypto. Remove that dependency.

    Signed-off-by: Vivek Goyal
    Cc: Eric Biederman
    Cc: H. Peter Anvin
    Cc: Shaun Ruffell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     

09 Aug, 2014

1 commit

  • Load purgatory code in RAM and relocate it based on the location.
    Relocation code has been inspired by module relocation code and purgatory
    relocation code in kexec-tools.

    Also compute the checksums of loaded kexec segments and store them in
    purgatory.

    Arch independent code provides this functionality so that arch dependent
    bootloaders can make use of it.

    Helper functions are provided to get/set symbol values in purgatory which
    are used by bootloaders later to set things like stack and entry point of
    second kernel etc.

    Signed-off-by: Vivek Goyal
    Cc: Borislav Petkov
    Cc: Michael Kerrisk
    Cc: Yinghai Lu
    Cc: Eric Biederman
    Cc: H. Peter Anvin
    Cc: Matthew Garrett
    Cc: Greg Kroah-Hartman
    Cc: Dave Young
    Cc: WANG Chao
    Cc: Baoquan He
    Cc: Andy Lutomirski
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vivek Goyal
     

19 Jul, 2014

1 commit


16 May, 2014

1 commit

  • Get rid of the private allocator and switch over to sparse IRQs.

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Grant Likely
    Cc: Tony Luck
    Cc: Peter Zijlstra
    Acked-by: Chris Metcalf
    Link: http://lkml.kernel.org/r/20140507154338.423715783@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     

08 Apr, 2014

1 commit

  • If the renamed symbol is defined lib/iomap.c implements ioport_map and
    ioport_unmap and currently (nearly) all platforms define the port
    accessor functions outb/inb and friend unconditionally. So
    HAS_IOPORT_MAP is the better name for this.

    Consequently NO_IOPORT is renamed to NO_IOPORT_MAP.

    The motivation for this change is to reintroduce a symbol HAS_IOPORT
    that signals if outb/int et al are available. I will address that at
    least one merge window later though to keep surprises to a minimum and
    catch new introductions of (HAS|NO)_IOPORT.

    The changes in this commit were done using:

    $ git grep -l -E '(NO|HAS)_IOPORT' | xargs perl -p -i -e 's/\b((?:CONFIG_)?(?:NO|HAS)_IOPORT)\b/$1_MAP/'

    Signed-off-by: Uwe Kleine-König
    Acked-by: Arnd Bergmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Uwe Kleine-König
     

08 Mar, 2014

2 commits


15 Nov, 2013

1 commit


17 Sep, 2013

1 commit


13 Sep, 2013

1 commit


07 Sep, 2013

1 commit

  • Pull ARM SoC platform changes from Olof Johansson:
    "This branch contains mostly additions and changes to platform
    enablement and SoC-level drivers. Since there's sometimes a
    dependency on device-tree changes, there's also a fair amount of
    those in this branch.

    Pieces worth mentioning are:

    - Mbus driver for Marvell platforms, allowing kernel configuration
    and resource allocation of on-chip peripherals.
    - Enablement of the mbus infrastructure from Marvell PCI-e drivers.
    - Preparation of MSI support for Marvell platforms.
    - Addition of new PCI-e host controller driver for Tegra platforms
    - Some churn caused by sharing of macro names between i.MX 6Q and 6DL
    platforms in the device tree sources and header files.
    - Various suspend/PM updates for Tegra, including LP1 support.
    - Versatile Express support for MCPM, part of big little support.
    - Allwinner platform support for A20 and A31 SoCs (dual and quad
    Cortex-A7)
    - OMAP2+ support for DRA7, a new Cortex-A15-based SoC.

    The code that touches other architectures are patches moving MSI
    arch-specific functions over to weak symbols and removal of
    ARCH_SUPPORTS_MSI, acked by PCI maintainers"

    * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (266 commits)
    tegra-cpuidle: provide stub when !CONFIG_CPU_IDLE
    PCI: tegra: replace devm_request_and_ioremap by devm_ioremap_resource
    ARM: tegra: Drop ARCH_SUPPORTS_MSI and sort list
    ARM: dts: vf610-twr: enable i2c0 device
    ARM: dts: i.MX51: Add one more I2C2 pinmux entry
    ARM: dts: i.MX51: Move pins configuration under "iomuxc" label
    ARM: dtsi: imx6qdl-sabresd: Add USB OTG vbus pin to pinctrl_hog
    ARM: dtsi: imx6qdl-sabresd: Add USB host 1 VBUS regulator
    ARM: dts: imx27-phytec-phycore-som: Enable AUDMUX
    ARM: dts: i.MX27: Disable AUDMUX in the template
    ARM: dts: wandboard: Add support for SDIO bcm4329
    ARM: i.MX5 clocks: Remove optional clock setup (CKIH1) from i.MX51 template
    ARM: dts: imx53-qsb: Make USBH1 functional
    ARM i.MX6Q: dts: Enable I2C1 with EEPROM and PMIC on Phytec phyFLEX-i.MX6 Ouad module
    ARM i.MX6Q: dts: Enable SPI NOR flash on Phytec phyFLEX-i.MX6 Ouad module
    ARM: dts: imx6qdl-sabresd: Add touchscreen support
    ARM: imx: add ocram clock for imx53
    ARM: dts: imx: ocram size is different between imx6q and imx6dl
    ARM: dts: imx27-phytec-phycore-som: Fix regulator settings
    ARM: dts: i.MX27: Remove clock name from CPU node
    ...

    Linus Torvalds
     

04 Sep, 2013

3 commits

  • This chip is no longer being actively developed for (it was superceded
    by the TILEPro64 in 2008), and in any case the existing compiler and
    toolchain in the community do not support it. It's unlikely that the
    kernel works with TILE64 at this point as the configuration has not been
    tested in years. The support is also awkward as it requires maintaining
    a significant number of ifdefs. So, just remove it altogether.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     
  • Allow enabling frame pointer support; this makes it easier to hook
    into the various kernel features that claim they require it without
    having to add Kconfig conditionals everywhere (a la mips, ppc, s390,
    and microblaze). When enabled, it basically eliminates leaf functions
    as such, and stops optimizing tail and sibling calls. It adds around
    3% to the size of the kernel when enabled.

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     
  • Enter kernel debugger at boot with:
    --hvd UART_1=1 --hvx kgdbwait --hvx kgdboc=ttyS1,115200
    or at runtime with:
    echo ttyS1,115200 > /sys/module/kgdboc/parameters/kgdboc
    echo g > /proc/sysrq-trigger

    Signed-off-by: Chris Metcalf

    Chris Metcalf
     

30 Aug, 2013

1 commit