13 Feb, 2019

1 commit

  • [ Upstream commit 4c3d6174e0e17599549f636ec48ddf78627a17fe ]

    When the kernel configs of ftrace and frame pointer options are
    choosed, the compiler option of kernel will incompatible.
    Error message:
    nds32le-linux-gcc: error: -pg and -fomit-frame-pointer are incompatible

    Signed-off-by: Nickhu
    Signed-off-by: Zong Li
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu
    Signed-off-by: Sasha Levin

    Nickhu
     

29 Dec, 2018

1 commit

  • [ Upstream commit a8874e7e8a8896f2b6c641f4b8e2473eafd35204 ]

    Change the currently empty defines for __PAGETABLE_PMD_FOLDED,
    __PAGETABLE_PUD_FOLDED and __PAGETABLE_P4D_FOLDED to return 1.
    This makes it possible to use __is_defined() to test if the
    preprocessor define exists.

    Acked-by: Kirill A. Shutemov
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Sasha Levin

    Martin Schwidefsky
     

06 Dec, 2018

1 commit

  • commit d48ebb24866edea2c35be02a878f25bc65529370 upstream.

    The function_graph_enter() function does the work of calling the function
    graph hook function and the management of the shadow stack, simplifying the
    work done in the architecture dependent prepare_ftrace_return().

    Have nds32 use the new code, and remove the shadow stack management as well as
    having to set up the trace structure.

    This is needed to prepare for a fix of a design bug on how the curr_ret_stack
    is used.

    Cc: Greentime Hu
    Cc: stable@kernel.org
    Fixes: 03274a3ffb449 ("tracing/fgraph: Adjust fgraph depth before calling trace return callback")
    Reviewed-by: Masami Hiramatsu
    Signed-off-by: Steven Rostedt (VMware)
    Signed-off-by: Greg Kroah-Hartman

    Steven Rostedt (VMware)
     

05 Sep, 2018

1 commit

  • This patch is used to fix nds32 allmodconfig/allyesconfig build error
    because GCOV kernel embeds counters in the kernel for each line
    and a part of that embed in __exit text. So we need to keep the
    EXIT_TEXT and EXIT_DATA if CONFIG_GCOV_KERNEL=y.

    Link: https://lkml.org/lkml/2018/9/1/125
    Signed-off-by: Greentime Hu
    Reviewed-by: Masami Hiramatsu

    Greentime Hu
     

04 Sep, 2018

17 commits

  • It shall be removed in the define usage. We shall not put a semicolon there.

    /kisskb/src/arch/nds32/include/asm/elf.h:126:29: error: expected '}' before ';' token
    #define ELF_DATA ELFDATA2LSB;
    ^
    /kisskb/src/fs/proc/kcore.c:318:17: note: in expansion of macro 'ELF_DATA'
    [EI_DATA] = ELF_DATA,
    ^~~~~~~~
    /kisskb/src/fs/proc/kcore.c:312:15: note: to match this '{'
    .e_ident = {
    ^
    /kisskb/src/scripts/Makefile.build:307: recipe for target 'fs/proc/kcore.o' failed

    Signed-off-by: Greentime Hu

    Greentime Hu
     
  • It can make sure that trace_hardirqs_off/trace_hardirqs_on can get a correct
    return address by frame pointer through __builtin_return_address() in this fix.

    Unable to handle kernel paging request at virtual address fffffffc
    pgd = 3c42e9cf
    [fffffffc] *pgd=02a9c000

    Internal error: Oops: 1 [#1]
    Modules linked in:
    CPU: 0
    PC is at trace_hardirqs_off+0x78/0xec
    LP is at common_exception_handler+0xda/0xf4
    pc : [] lp : [] Tainted: G W
    sp : ada60ab0 fp : efcaff48 gp : 3a020490
    r25: efcb0000 r24: 00000000
    r23: 00000000 r22: 00000000 r21: 00000000 r20: 000700c1
    r19: 000700ca r18: 3a21b018 r17: 00000001 r16: 00000002
    r15: 00000001 r14: 0000002a r13: 3a00a804 r12: ada60ab0
    r11: 3a113af8 r10: 3a01c530 r9 : 3a124404 r8 : 00120f9c
    r7 : b2352eba r6 : 00000000 r5 : 3a126b58 r4 : 00000000
    r3 : 3a1726a8 r2 : b2921000 r1 : 00000000 r0 : 00000000
    IRQs off Segment user
    Process init (pid: 1, stack limit = 0x069d7f15)
    Stack: (0xada60ab0 to 0xada61000)
    Stack: 0aa0: 00000000 00000003 3a110000 0011f000
    Stack: 0ac0: 00000005 00000000 00000000 00000000 ada60b10 3a01fe68 ada60b0c ada60b08
    Stack: 0ae0: 00000000 ada60ab8 ada60b30 3a020550 00000000 00000001 3a11c2f8 3a01c6e8
    Stack: 0b00: 3a01cb80 fffffba8 3a113af8 3a21b018 3a122c28 00003ec4 00000165 00000000
    Stack: 0b20: 3a126aec 0000006c 00000000 00000001 3a01fe68 00000000 00000003 00000000
    Stack: 0b40: 00000001 000003f8 3a020930 3a01c530 00000008 ada60c18 3a020490 3a003120
    Stack: 0b60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    Stack: 0b80: 00000000 00000000 00000000 00000000 ffff8000 00000000 00000000 00000000
    Stack: 0ba0: 00000000 00000001 3a020550 00000000 3a01d020 00000000 fffff000 fffff000
    Stack: 0bc0: 00000000 00000000 00000000 00000000 ada60f2c 00000000 00000001 00000000
    Stack: 0be0: 00000000 00000000 3a01fe68 fffffab0 00008034 00000008 3a0010cc 3a01fe68
    Stack: 0c00: 00000000 00000000 00000001 ada60c88 3a020490 3a0139d4 0009dc6f 00000000
    Stack: 0c20: 00000000 00000000 ada60fce fffff000 00000000 0000ebe0 3a020038 3a020550
    Stack: 0c40: ada60f20 ada60c90 3a0007f0 3a0002a8 ada60c8c 00000000 00000000 ada60c88
    Stack: 0c60: 3a020490 3a004570 00000000 00000000 ada60f20 3a0007f0 3a000000 00000000
    Stack: 0c80: 3a020490 3a004850 00000000 3a013f24 3a000000 00000000 3a01ff44 00000000
    Stack: 0ca0: 00000000 00000000 00000000 00000000 00000000 00000000 3a01ff84 3a01ff7c
    Stack: 0cc0: 3a01ff4c 3a01ff5c 3a01ff64 3a01ff9c 3a01ffa4 3a01ffac 3a01ff6c 3a01ff74
    Stack: 0ce0: 00000000 00000000 3a01ff44 00000000 00000000 00000000 00000000 00000000
    Stack: 0d00: 3a01ff8c 00000000 00000000 3a01ff94 00000000 00000000 00000000 00000000
    Stack: 0d20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    Stack: 0d40: 3a01ffbc 3a01ffb4 00000000 00000000 00000000 00000000 00000000 00000000
    Stack: 0d60: 00000000 00000000 00000000 00000000 00000000 3a01ffc4 00000000 00000000
    Stack: 0d80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    Stack: 0da0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    Stack: 0dc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 3a01ff54
    Stack: 0de0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    Stack: 0e00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    Stack: 0e20: 00000000 00000004 00000000 00000000 00000000 00000000 00000000 00000000
    Stack: 0e40: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    Stack: 0e60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    Stack: 0e80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    Stack: 0ea0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    Stack: 0ec0: 00000000 00000000 00000000 00000000 ffffffff 00000000 00000000 00000000
    Stack: 0ee0: 00000000 00000000 00000000 00000000 ada60f20 00000000 00000000 00000000
    Stack: 0f00: 00000000 00000000 00000000 00000000 00000000 00000000 3a020490 3a000b24
    Stack: 0f20: 00000001 ada60fde 00000000 ada60fe4 ada60feb 00000000 00000021 3a038000
    Stack: 0f40: 00000010 0009dc6f 00000006 00001000 00000011 00000064 00000003 00008034
    Stack: 0f60: 00000004 00000020 00000005 00000008 00000007 3a000000 00000008 00000000
    Stack: 0f80: 00000009 0000ebe0 0000000b 00000000 0000000c 00000000 0000000d 00000000
    Stack: 0fa0: 0000000e 00000000 00000017 00000000 00000019 ada60fce 0000001f ada60ff6
    Stack: 0fc0: 00000000 00000000 00000000 b5010000 fa839914 23b5dd89 a2aea540 692fc82e
    Stack: 0fe0: 0074696e 454d4f48 54002f3d 3d4d5245 756e696c 692f0078 0074696e 00000000
    CPU: 0 PID: 1 Comm: init Tainted: G W 4.18.0-00015-g1888b64a2558-dirty #112
    Hardware name: andestech,ae3xx (DT)
    Call Trace:
    [] dump_stack+0x2c/0x38
    [] die+0x128/0x18c
    [] do_page_fault+0x3b8/0x4e0
    [] ret_from_exception+0x0/0x10
    [] common_exception_handler+0xda/0xf4

    Signed-off-by: Greentime Hu

    Greentime Hu
     
  • It may print too much information sometimes if the stack is wrong or
    too big. This patch can limit the debug information in a page of stack.

    Signed-off-by: Greentime Hu

    Greentime Hu
     
  • Use macro to replace the magic number.

    Signed-off-by: Zong Li
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Zong Li
     
  • We are not using NDS32 ABI 2 for now, just remove the preprocessor
    directives __NDS32_ABI_2.

    Signed-off-by: Zong Li
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Zong Li
     
  • Function graph tracer has modified the return address to
    'return_to_handler' on stack, and provide the 'ftrace_graph_ret_addr' to
    get the real return address.

    Signed-off-by: Zong Li
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Zong Li
     
  • This patch contains the implementation of dynamic function graph tracer.

    Signed-off-by: Zong Li
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Zong Li
     
  • This patch contains the implementation of dynamic function tracer.
    The mcount call is composed of three instructions, so there are three
    nop for enough placeholder.

    Signed-off-by: Zong Li
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Zong Li
     
  • Recognize NDS32 object files in recordmcount.pl.

    Signed-off-by: Zong Li
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Zong Li
     
  • This patch contains implementation of static function graph tracer.

    Signed-off-by: Zong Li
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Zong Li
     
  • This patch support the static function tracer. On nds32 ABI, we need to
    always push return address to stack for __builtin_return_address can
    work correctly, otherwise, it will get the wrong value of $lp at leaf
    function.

    Signed-off-by: Zong Li
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Zong Li
     
  • Signed-off-by: Zong Li
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Zong Li
     
  • 1. Adjust indentation.
    2. Unify argument name of each macro.
    3. Add space after comma in parameters list.
    4. Add space after 'if' keyword.
    5. Replace space by tab.
    6. Change asm volatile to __asm__ __volatile__

    Signed-off-by: Zong Li
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Zong Li
     
  • The pointer argument of macro need to be taken out once first, and then
    use the new pointer in the macro body.

    In kernel/trace/trace.c, get_user(ch, ubuf++) causes the unexpected
    increment after expand the macro.

    Signed-off-by: Zong Li
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Zong Li
     
  • The compiler predefined macro 'NDS32_ABI_2' had been removed, it should
    use the '__NDS32_ABI_2' here.

    Signed-off-by: Zong Li
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Zong Li
     
  • Make sure of_device_id tables are NULL terminated.
    Found by coccinelle spatch "misc/of_table.cocci"

    Signed-off-by: YueHaibing
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    YueHaibing
     
  • This bug is report by Dan Carpenter. We shall use ~loc_mask instead of
    !loc_mask because we need to and(&) the bits of ~loc_mask.

    Reported-by: Dan Carpenter
    Fixes: c9a4a8da6baa ("nds32: Loadable modules")
    Signed-off-by: Greentime Hu

    Greentime Hu
     

24 Aug, 2018

1 commit

  • Commit a0f97e06a43c ("kbuild: enable 'make CFLAGS=...' to add
    additional options to CC") renamed CFLAGS to KBUILD_CFLAGS.

    Commit 222d394d30e7 ("kbuild: enable 'make AFLAGS=...' to add
    additional options to AS") renamed AFLAGS to KBUILD_AFLAGS.

    Commit 06c5040cdb13 ("kbuild: enable 'make CPPFLAGS=...' to add
    additional options to CPP") renamed CPPFLAGS to KBUILD_CPPFLAGS.

    For some reason, LDFLAGS was not renamed.

    Using a well-known variable like LDFLAGS may result in accidental
    override of the variable.

    Kbuild generally uses KBUILD_ prefixed variables for the internally
    appended options, so here is one more conversion to sanitize the
    naming convention.

    I did not touch Makefiles under tools/ since the tools build system
    is a different world.

    Signed-off-by: Masahiro Yamada
    Acked-by: Kirill A. Shutemov
    Reviewed-by: Palmer Dabbelt

    Masahiro Yamada
     

18 Aug, 2018

1 commit

  • Use new return type vm_fault_t for fault handler. For now, this is just
    documenting that the function returns a VM_FAULT value rather than an
    errno. Once all instances are converted, vm_fault_t will become a
    distinct type.

    Ref-> commit 1c8f422059ae ("mm: change return type to vm_fault_t")

    In this patch all the caller of handle_mm_fault() are changed to return
    vm_fault_t type.

    Link: http://lkml.kernel.org/r/20180617084810.GA6730@jordon-HP-15-Notebook-PC
    Signed-off-by: Souptick Joarder
    Cc: Matthew Wilcox
    Cc: Richard Henderson
    Cc: Tony Luck
    Cc: Matt Turner
    Cc: Vineet Gupta
    Cc: Russell King
    Cc: Catalin Marinas
    Cc: Will Deacon
    Cc: Richard Kuo
    Cc: Geert Uytterhoeven
    Cc: Michal Simek
    Cc: James Hogan
    Cc: Ley Foon Tan
    Cc: Jonas Bonn
    Cc: James E.J. Bottomley
    Cc: Benjamin Herrenschmidt
    Cc: Palmer Dabbelt
    Cc: Yoshinori Sato
    Cc: David S. Miller
    Cc: Richard Weinberger
    Cc: Guan Xuetao
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: "Levin, Alexander (Sasha Levin)"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Souptick Joarder
     

16 Aug, 2018

1 commit

  • Pull Kconfig consolidation from Masahiro Yamada:
    "Consolidation of Kconfig files by Christoph Hellwig.

    Move the source statements of arch-independent Kconfig files instead
    of duplicating the includes in every arch/$(SRCARCH)/Kconfig"

    * tag 'kconfig-v4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kconfig: add a Memory Management options" menu
    kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt
    kconfig: use a menu in arch/Kconfig to reduce clutter
    kconfig: include kernel/Kconfig.preempt from init/Kconfig
    Kconfig: consolidate the "Kernel hacking" menu
    kconfig: include common Kconfig files from top-level Kconfig
    kconfig: remove duplicate SWAP symbol defintions
    um: create a proper drivers Kconfig
    um: cleanup Kconfig files
    um: stop abusing KBUILD_KCONFIG

    Linus Torvalds
     

02 Aug, 2018

3 commits

  • Almost all architectures include it. Add a ARCH_NO_PREEMPT symbol to
    disable preempt support for alpha, hexagon, non-coldfire m68k and
    user mode Linux.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Masahiro Yamada

    Christoph Hellwig
     
  • Move the source of lib/Kconfig.debug and arch/$(ARCH)/Kconfig.debug to
    the top-level Kconfig. For two architectures that means moving their
    arch-specific symbols in that menu into a new arch Kconfig.debug file,
    and for a few more creating a dummy file so that we can include it
    unconditionally.

    Also move the actual 'Kernel hacking' menu to lib/Kconfig.debug, where
    it belongs.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Masahiro Yamada

    Christoph Hellwig
     
  • Instead of duplicating the source statements in every architecture just
    do it once in the toplevel Kconfig file.

    Note that with this the inclusion of arch/$(SRCARCH/Kconfig moves out of
    the top-level Kconfig into arch/Kconfig so that don't violate ordering
    constraits while keeping a sensible menu structure.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Masahiro Yamada

    Christoph Hellwig
     

05 Jul, 2018

1 commit

  • make allyesconfig

    It will cause a linking error because the jump assembly code were using j,
    however it may be not enough to jump to the destination. We have to change it
    with pseudo instruction b. In that way, assembler will generate a set of safe
    assembly codes to make sure the destination is able to jump.

    Toolchain:
    https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/8.1.0/x86_64-gcc-8.1.0-nolibc-nds32le-linux.tar.gz

    Command:
    PATH=/NOBACKUP/atcsqa06/greentime/os/toolchain-kernel.org/gcc-8.1.0-nolibc/nds32le-linux/bin:$PATH ARCH=nds32 CROSS_COMPILE=nds32le-linux- make allyesconfig
    PATH=/NOBACKUP/atcsqa06/greentime/os/toolchain-kernel.org/gcc-8.1.0-nolibc/nds32le-linux/bin:$PATH ARCH=nds32 CROSS_COMPILE=nds32le-linux- make -j8

    MODPOST vmlinux.o
    WARNING: EXPORT symbol "copy_page" [vmlinux] version generation failed, symbol will not be versioned.
    WARNING: EXPORT symbol "clear_page" [vmlinux] version generation failed, symbol will not be versioned.
    nds32le-linux-ld: kernel/futex.o:(.fixup+0x4): relocation truncated to fit: R_NDS32_25_PCREL_RELA against `.text'
    nds32le-linux-ld: kernel/futex.o:(.fixup+0xaa): relocation truncated to fit: R_NDS32_25_PCREL_RELA against `.text'
    nds32le-linux-ld: kernel/futex.o:(.fixup+0xb0): relocation truncated to fit: R_NDS32_25_PCREL_RELA against `.text'
    nds32le-linux-ld: kernel/futex.o:(.fixup+0xb6): relocation truncated to fit: R_NDS32_25_PCREL_RELA against `.text'
    nds32le-linux-ld: kernel/futex.o:(.fixup+0xbc): relocation truncated to fit: R_NDS32_25_PCREL_RELA against `.text'
    nds32le-linux-ld: kernel/futex.o:(.fixup+0xc4): relocation truncated to fit: R_NDS32_25_PCREL_RELA against `.text'
    Makefile:1010: recipe for target 'vmlinux' failed
    make: *** [vmlinux] Error 1

    Signed-off-by: Greentime Hu

    Greentime Hu
     

03 Jul, 2018

3 commits


19 Jun, 2018

2 commits

  • Fix build error on nds32 due to the merge of commit e3d5980568f ("lib:
    Rename compiler intrinsic selects to GENERIC_LIB_*") during the 4.18
    merge window which renames Kconfig symbols. This had raced with commit
    aeaa7af744fa ("nds32: lib: To use generic lib instead of libgcc to
    prevent the symbol undefined issue.") merged late in the 4.17 cycle,
    which added selects to nds32 using the original Kconfig symbol names.

    When they came together in merge commit 763f96944c95 ("Merge tag
    'mips_4.18' of
    git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux") this resulted
    in the following build errors:

    nds32le-linux-ld: kernel/time/timekeeping.o: in function `timekeeping_init':
    timekeeping.c:(.init.text+0x140): undefined reference to `__ashldi3'
    nds32le-linux-ld: timekeeping.c:(.init.text+0x144): undefined reference to `__ashldi3'
    nds32le-linux-ld: timekeeping.c:(.init.text+0x17e): undefined reference to `__lshrdi3'
    nds32le-linux-ld: timekeeping.c:(.init.text+0x182): undefined reference to `__lshrdi3'
    nds32le-linux-ld: drivers/clocksource/mmio.o: in function `clocksource_mmio_init':
    mmio.c:(.init.text+0x54): undefined reference to `__lshrdi3'
    nds32le-linux-ld: mmio.c:(.init.text+0x58): undefined reference to `__lshrdi3'

    Rename all 6 selects in nds32 and adjust the ordering accordingly to be
    alphabetical.

    Fixes: 763f96944c95 ("Merge tag 'mips_4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux")
    Signed-off-by: Guenter Roeck
    [jhogan@kernel.org: Rename all 6 symbols, sort, update commit message]
    Signed-off-by: James Hogan
    Cc: Greentime Hu
    Cc: Vincent Chen
    Cc: Matt Redfearn
    Cc: Palmer Dabbelt
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Guenter Roeck
     
  • nds32 depends on the macros '__NDS32_E[BL]__' to correctly
    select or define endian-specific macros, structures or pieces
    of code.

    These macros are predefined by the compiler but sparse knows nothing
    about them and thus may pre-process files differently from what
    GCC would.

    Fix this by adding '-D__NDS32_E[BL]__' to CHECKFLAGS.

    Signed-off-by: Luc Van Oostenryck
    Acked-by: Greentime Hu
    Signed-off-by: Greentime Hu

    Luc Van Oostenryck
     

05 Jun, 2018

3 commits

  • Pull timers and timekeeping updates from Thomas Gleixner:

    - Core infrastucture work for Y2038 to address the COMPAT interfaces:

    + Add a new Y2038 safe __kernel_timespec and use it in the core
    code

    + Introduce config switches which allow to control the various
    compat mechanisms

    + Use the new config switch in the posix timer code to control the
    32bit compat syscall implementation.

    - Prevent bogus selection of CPU local clocksources which causes an
    endless reselection loop

    - Remove the extra kthread in the clocksource code which has no value
    and just adds another level of indirection

    - The usual bunch of trivial updates, cleanups and fixlets all over the
    place

    - More SPDX conversions

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
    clocksource/drivers/mxs_timer: Switch to SPDX identifier
    clocksource/drivers/timer-imx-tpm: Switch to SPDX identifier
    clocksource/drivers/timer-imx-gpt: Switch to SPDX identifier
    clocksource/drivers/timer-imx-gpt: Remove outdated file path
    clocksource/drivers/arc_timer: Add comments about locking while read GFRC
    clocksource/drivers/mips-gic-timer: Add pr_fmt and reword pr_* messages
    clocksource/drivers/sprd: Fix Kconfig dependency
    clocksource: Move inline keyword to the beginning of function declarations
    timer_list: Remove unused function pointer typedef
    timers: Adjust a kernel-doc comment
    tick: Prefer a lower rating device only if it's CPU local device
    clocksource: Remove kthread
    time: Change nanosleep to safe __kernel_* types
    time: Change types to new y2038 safe __kernel_* types
    time: Fix get_timespec64() for y2038 safe compat interfaces
    time: Add new y2038 safe __kernel_timespec
    posix-timers: Make compat syscalls depend on CONFIG_COMPAT_32BIT_TIME
    time: Introduce CONFIG_COMPAT_32BIT_TIME
    time: Introduce CONFIG_64BIT_TIME in architectures
    compat: Enable compat_get/put_timespec64 always
    ...

    Linus Torvalds
     
  • …iederm/user-namespace

    Pull siginfo updates from Eric Biederman:
    "This set of changes close the known issues with setting si_code to an
    invalid value, and with not fully initializing struct siginfo. There
    remains work to do on nds32, arc, unicore32, powerpc, arm, arm64, ia64
    and x86 to get the code that generates siginfo into a simpler and more
    maintainable state. Most of that work involves refactoring the signal
    handling code and thus careful code review.

    Also not included is the work to shrink the in kernel version of
    struct siginfo. That depends on getting the number of places that
    directly manipulate struct siginfo under control, as it requires the
    introduction of struct kernel_siginfo for the in kernel things.

    Overall this set of changes looks like it is making good progress, and
    with a little luck I will be wrapping up the siginfo work next
    development cycle"

    * 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (46 commits)
    signal/sh: Stop gcc warning about an impossible case in do_divide_error
    signal/mips: Report FPE_FLTUNK for undiagnosed floating point exceptions
    signal/um: More carefully relay signals in relay_signal.
    signal: Extend siginfo_layout with SIL_FAULT_{MCEERR|BNDERR|PKUERR}
    signal: Remove unncessary #ifdef SEGV_PKUERR in 32bit compat code
    signal/signalfd: Add support for SIGSYS
    signal/signalfd: Remove __put_user from signalfd_copyinfo
    signal/xtensa: Use force_sig_fault where appropriate
    signal/xtensa: Consistenly use SIGBUS in do_unaligned_user
    signal/um: Use force_sig_fault where appropriate
    signal/sparc: Use force_sig_fault where appropriate
    signal/sparc: Use send_sig_fault where appropriate
    signal/sh: Use force_sig_fault where appropriate
    signal/s390: Use force_sig_fault where appropriate
    signal/riscv: Replace do_trap_siginfo with force_sig_fault
    signal/riscv: Use force_sig_fault where appropriate
    signal/parisc: Use force_sig_fault where appropriate
    signal/parisc: Use force_sig_mceerr where appropriate
    signal/openrisc: Use force_sig_fault where appropriate
    signal/nios2: Use force_sig_fault where appropriate
    ...

    Linus Torvalds
     
  • Pull dma-mapping updates from Christoph Hellwig:

    - replace the force_dma flag with a dma_configure bus method. (Nipun
    Gupta, although one patch is іncorrectly attributed to me due to a
    git rebase bug)

    - use GFP_DMA32 more agressively in dma-direct. (Takashi Iwai)

    - remove PCI_DMA_BUS_IS_PHYS and rely on the dma-mapping API to do the
    right thing for bounce buffering.

    - move dma-debug initialization to common code, and apply a few
    cleanups to the dma-debug code.

    - cleanup the Kconfig mess around swiotlb selection

    - swiotlb comment fixup (Yisheng Xie)

    - a trivial swiotlb fix. (Dan Carpenter)

    - support swiotlb on RISC-V. (based on a patch from Palmer Dabbelt)

    - add a new generic dma-noncoherent dma_map_ops implementation and use
    it for arc, c6x and nds32.

    - improve scatterlist validity checking in dma-debug. (Robin Murphy)

    - add a struct device quirk to limit the dma-mask to 32-bit due to
    bridge/system issues, and switch x86 to use it instead of a local
    hack for VIA bridges.

    - handle devices without a dma_mask more gracefully in the dma-direct
    code.

    * tag 'dma-mapping-4.18' of git://git.infradead.org/users/hch/dma-mapping: (48 commits)
    dma-direct: don't crash on device without dma_mask
    nds32: use generic dma_noncoherent_ops
    nds32: implement the unmap_sg DMA operation
    nds32: consolidate DMA cache maintainance routines
    x86/pci-dma: switch the VIA 32-bit DMA quirk to use the struct device flag
    x86/pci-dma: remove the explicit nodac and allowdac option
    x86/pci-dma: remove the experimental forcesac boot option
    Documentation/x86: remove a stray reference to pci-nommu.c
    core, dma-direct: add a flag 32-bit dma limits
    dma-mapping: remove unused gfp_t parameter to arch_dma_alloc_attrs
    dma-debug: check scatterlist segments
    c6x: use generic dma_noncoherent_ops
    arc: use generic dma_noncoherent_ops
    arc: fix arc_dma_{map,unmap}_page
    arc: fix arc_dma_sync_sg_for_{cpu,device}
    arc: simplify arc_dma_sync_single_for_{cpu,device}
    dma-mapping: provide a generic dma-noncoherent implementation
    dma-mapping: simplify Kconfig dependencies
    riscv: add swiotlb support
    riscv: only enable ZONE_DMA32 for 64-bit
    ...

    Linus Torvalds
     

29 May, 2018

3 commits


23 May, 2018

1 commit