1. Sep 07, 2018
    • Linus Torvalds's avatar
      Merge tag 'for-4.19-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 5404525b
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
      
       - fix for improper fsync after hardlink
      
       - fix for a corruption during file deduplication
      
       - use after free fixes
      
       - RCU warning fix
      
       - fix for buffered write to nodatacow file
      
      * tag 'for-4.19-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: Fix suspicious RCU usage warning in btrfs_debug_in_rcu
        btrfs: use after free in btrfs_quota_enable
        btrfs: btrfs_shrink_device should call commit transaction at the end
        btrfs: fix qgroup_free wrong num_bytes in btrfs_subvolume_reserve_metadata
        Btrfs: fix data corruption when deduplicating between different files
        Btrfs: sync log after logging new name
        Btrfs: fix unexpected failure of nocow buffered writes after snapshotting when low on space
      5404525b
  2. Sep 06, 2018
    • Linus Torvalds's avatar
      Merge tag 'gpio-v4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · b36fdc68
      Linus Torvalds authored
      Pull GPIO fixes from Linus Walleij:
       "Some GPIO fixes. The ACPI stuff is probably the most annoying for
        users that get fixed this time.
      
         - Atomic contexts, cansleep* calls and such fastpath/slopwpath
           things.
      
         - Defer ACPI event handler registration to late_initcall() so IRQs do
           not fire in our face before other drivers have a chance to register
           handlers.
      
         - Race condition if a consumer requests a GPIO after
           gpiochip_add_data_with_key() but before of_gpiochip_add()
      
         - Probe errorpath in the dwapb driver"
      
      * tag 'gpio-v4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        gpio: Fix crash due to registration race
        gpio: dwapb: Fix error handling in dwapb_gpio_probe()
        gpiolib-acpi: Register GpioInt ACPI event handlers from a late_initcall
        gpiolib: acpi: Switch to cansleep version of GPIO library call
        gpio: adp5588: Fix sleep-in-atomic-context bug
      b36fdc68
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · f4697d9a
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "A set of very minor fixes and a couple of reverts to fix a major
        problem (the attempt to change the busy count causes a hang when
        attempting to change the drive cache type)"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: aacraid: fix a signedness bug
        Revert "scsi: core: avoid host-wide host_busy counter for scsi_mq"
        Revert "scsi: core: fix scsi_host_queue_ready"
        scsi: libata: Add missing newline at end of file
        scsi: target: iscsi: cxgbit: use pr_debug() instead of pr_info()
        scsi: hpsa: limit transfer length to 1MB, not 512kB
        scsi: lpfc: Correct MDS diag and nvmet configuration
        scsi: lpfc: Default fdmi_on to on
        scsi: csiostor: fix incorrect port capabilities
        scsi: csiostor: add a check for NULL pointer after kmalloc()
        scsi: documentation: add scsi_mod.use_blk_mq to scsi-parameters
        scsi: core: Update SCSI_MQ_DEFAULT help ...
      f4697d9a
    • Linus Torvalds's avatar
      Merge tag 'nds32-for-linus-4.19-tag1' of... · d0c1db1d
      Linus Torvalds authored
      Merge tag 'nds32-for-linus-4.19-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/greentime/linux
      
      Pull nds32 updates from Greentime Hu:
       "Contained in here are the bug fixes, building error fixes and ftrace
        support for nds32"
      
      * tag 'nds32-for-linus-4.19-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/greentime/linux:
        nds32: linker script: GCOV kernel may refers data in __exit
        nds32: fix build error because of wrong semicolon
        nds32: Fix a kernel panic issue because of wrong frame pointer access.
        nds32: Only print one page of stack when die to prevent printing too much information.
        nds32: Add macro definition for offset of lp register on stack
        nds32: Remove the deprecated ABI implementation
        nds32/stack: Get real return address by using ftrace_graph_ret_addr
        nds32/ftrace: Support dynamic function graph tracer
        nds32/ftrace: Support dynamic function tracer
        nds32/ftrace: Add RECORD_MCOUNT support
        nds32/ftrace: Support static function graph tracer
        nds32/ftrace: Support stat...
      d0c1db1d
  3. Sep 05, 2018
  4. Sep 04, 2018
    • Greentime Hu's avatar
      nds32: fix build error because of wrong semicolon · ec865393
      Greentime Hu authored
      
      
      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: default avatarGreentime Hu <greentime@andestech.com>
      ec865393
    • Greentime Hu's avatar
      nds32: Fix a kernel panic issue because of wrong frame pointer access. · 0cde56e0
      Greentime Hu authored
      
      
      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 : [<b23ea5a4>]    lp : [<b2352eba>]    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:
      [<b27a8e34>] dump_stack+0x2c/0x38
      [<b2354874>] die+0x128/0x18c
      [<b2356f4c>] do_page_fault+0x3b8/0x4e0
      [<b2352ed4>] ret_from_exception+0x0/0x10
      [<b2352eba>] common_exception_handler+0xda/0xf4
      
      Signed-off-by: default avatarGreentime Hu <greentime@andestech.com>
      0cde56e0
    • Greentime Hu's avatar
      nds32: Only print one page of stack when die to prevent printing too much information. · 487c4b23
      Greentime Hu authored
      
      
      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: default avatarGreentime Hu <greentime@andestech.com>
      487c4b23
    • Zong Li's avatar
      nds32: Add macro definition for offset of lp register on stack · 95f93ed7
      Zong Li authored
      
      
      Use macro to replace the magic number.
      
      Signed-off-by: default avatarZong Li <zong@andestech.com>
      Acked-by: default avatarGreentime Hu <greentime@andestech.com>
      Signed-off-by: default avatarGreentime Hu <greentime@andestech.com>
      95f93ed7
    • Zong Li's avatar
      nds32: Remove the deprecated ABI implementation · c5fdf7e0
      Zong Li authored
      
      
      We are not using NDS32 ABI 2 for now, just remove the preprocessor
      directives __NDS32_ABI_2.
      
      Signed-off-by: default avatarZong Li <zong@andestech.com>
      Acked-by: default avatarGreentime Hu <greentime@andestech.com>
      Signed-off-by: default avatarGreentime Hu <greentime@andestech.com>
      c5fdf7e0
    • Zong Li's avatar
      nds32/stack: Get real return address by using ftrace_graph_ret_addr · 1e377ae9
      Zong Li authored
      
      
      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: default avatarZong Li <zong@andestech.com>
      Acked-by: default avatarGreentime Hu <greentime@andestech.com>
      Signed-off-by: default avatarGreentime Hu <greentime@andestech.com>
      1e377ae9
    • Zong Li's avatar
      nds32/ftrace: Support dynamic function graph tracer · 95cd2f7b
      Zong Li authored
      
      
      This patch contains the implementation of dynamic function graph tracer.
      
      Signed-off-by: default avatarZong Li <zong@andestech.com>
      Acked-by: default avatarGreentime Hu <greentime@andestech.com>
      Signed-off-by: default avatarGreentime Hu <greentime@andestech.com>
      95cd2f7b
    • Zong Li's avatar
      nds32/ftrace: Support dynamic function tracer · 6b1d6d2f
      Zong Li authored
      
      
      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: default avatarZong Li <zong@andestech.com>
      Acked-by: default avatarGreentime Hu <greentime@andestech.com>
      Signed-off-by: default avatarGreentime Hu <greentime@andestech.com>
      6b1d6d2f
    • Zong Li's avatar
      nds32/ftrace: Add RECORD_MCOUNT support · fbf58a52
      Zong Li authored
      
      
      Recognize NDS32 object files in recordmcount.pl.
      
      Signed-off-by: default avatarZong Li <zong@andestech.com>
      Acked-by: default avatarGreentime Hu <greentime@andestech.com>
      Signed-off-by: default avatarGreentime Hu <greentime@andestech.com>
      fbf58a52
    • Zong Li's avatar
      nds32/ftrace: Support static function graph tracer · 1e9b14c0
      Zong Li authored
      
      
      This patch contains implementation of static function graph tracer.
      
      Signed-off-by: default avatarZong Li <zong@andestech.com>
      Acked-by: default avatarGreentime Hu <greentime@andestech.com>
      Signed-off-by: default avatarGreentime Hu <greentime@andestech.com>
      1e9b14c0
    • Zong Li's avatar
      nds32/ftrace: Support static function tracer · a1808257
      Zong Li authored
      
      
      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: default avatarZong Li <zong@andestech.com>
      Acked-by: default avatarGreentime Hu <greentime@andestech.com>
      Signed-off-by: default avatarGreentime Hu <greentime@andestech.com>
      a1808257
    • Zong Li's avatar