1. 09 Jun, 2020 20 commits
    • Dmitry Safonov's avatar
      microblaze: add show_stack_loglvl() · 35f3968b
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Introduce show_stack_loglvl(), that eventually will substitute
      show_stack().
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Michal Simek <monstr@monstr.eu>
      Link: http://lkml.kernel.org/r/20200418201944.482088-21-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      35f3968b
    • Dmitry Safonov's avatar
      microblaze: add loglvl to microblaze_unwind() · 14b0dd87
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Add log level parameter to microblaze_unwind() as a preparation to add
      show_stack_loglvl().
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Michal Simek <monstr@monstr.eu>
      Link: http://lkml.kernel.org/r/20200418201944.482088-20-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      14b0dd87
    • Dmitry Safonov's avatar
      microblaze: add loglvl to microblaze_unwind_inner() · 77530a52
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Add log level argument to microblaze_unwind_inner() as a preparation for
      introducing show_stack_loglvl().
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Michal Simek <monstr@monstr.eu>
      Link: http://lkml.kernel.org/r/20200418201944.482088-19-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      77530a52
    • Dmitry Safonov's avatar
      m68k: add show_stack_loglvl() · ce23c47a
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Introduce show_stack_loglvl(), that eventually will substitute
      show_stack().
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Link: http://lkml.kernel.org/r/20200418201944.482088-18-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ce23c47a
    • Dmitry Safonov's avatar
      ia64: add show_stack_loglvl() · ffdac29e
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Introduce show_stack_loglvl(), that eventually will substitute
      show_stack().
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Link: http://lkml.kernel.org/r/20200418201944.482088-17-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ffdac29e
    • Dmitry Safonov's avatar
      ia64: pass log level as arg into ia64_do_show_stack() · c261ad6e
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Add log level argument to ia64_do_show_stack() as a preparation to
      introduce show_stack_loglvl().  Also, make ia64_do_show_stack() static as
      it's not used outside.
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Link: http://lkml.kernel.org/r/20200418201944.482088-16-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c261ad6e
    • Dmitry Safonov's avatar
      hexagon: add show_stack_loglvl() · d1e9086d
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Introduce show_stack_loglvl(), that eventually will substitute
      show_stack().
      
      As a good side-effect die() now prints the stacktrace with KERN_EMERG
      aligned with other messages.
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarBrian Cain <bcain@codeaurora.org>
      Link: http://lkml.kernel.org/r/20200418201944.482088-15-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d1e9086d
    • Dmitry Safonov's avatar
      h8300: add show_stack_loglvl() · 0b2ad0c7
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Introduce show_stack_loglvl(), that eventually will substitute
      show_stack().
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Link: http://lkml.kernel.org/r/20200418201944.482088-14-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0b2ad0c7
    • Dmitry Safonov's avatar
      csky: add show_stack_loglvl() · aeeb59d6
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Introduce show_stack_loglvl(), that eventually will substitute
      show_stack().
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Guo Ren <guoren@kernel.org>
      Link: http://lkml.kernel.org/r/20200418201944.482088-13-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      aeeb59d6
    • Dmitry Safonov's avatar
      c6x: add show_stack_loglvl() · a1eea2ef
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Introduce show_stack_loglvl(), that eventually will substitute
      show_stack().
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Aurelien Jacquiot <jacquiot.aurelien@gmail.com>
      Cc: Mark Salter <msalter@redhat.com>
      Link: http://lkml.kernel.org/r/20200418201944.482088-12-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a1eea2ef
    • Dmitry Safonov's avatar
      arm64: add show_stack_loglvl() · c0fe096a
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Introduce show_stack_loglvl(), that eventually will substitute
      show_stack().
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Will Deacon <will@kernel.org>
      Link: http://lkml.kernel.org/r/20200418201944.482088-11-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c0fe096a
    • Dmitry Safonov's avatar
      arm64: add loglvl to dump_backtrace() · c7689837
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Add log level argument to dump_backtrace() as a preparation for
      introducing show_stack_loglvl().
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Will Deacon <will@kernel.org>
      Link: http://lkml.kernel.org/r/20200418201944.482088-10-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c7689837
    • Dmitry Safonov's avatar
      arm: add show_stack_loglvl() · a4502d04
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Introduce show_stack_loglvl(), that eventually will substitute
      show_stack().
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Will Deacon <will@kernel.org>
      Link: http://lkml.kernel.org/r/20200418201944.482088-9-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a4502d04
    • Dmitry Safonov's avatar
      arm: wire up dump_backtrace_{entry,stm} · 34135eac
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Now that c_backtrace() always emits correct loglvl, use it for printing.
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Will Deacon <will@kernel.org>
      Link: http://lkml.kernel.org/r/20200418201944.482088-8-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      34135eac
    • Dmitry Safonov's avatar
      arm: add loglvl to dump_backtrace() · ee65ca01
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Add log level argument to dump_backtrace() as a preparation for
      introducing show_stack_loglvl().
      
      As a good side-effect __die() now prints not only "Stack:" header with
      KERN_EMERG, but the backtrace itself.
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Will Deacon <will@kernel.org>
      Link: http://lkml.kernel.org/r/20200418201944.482088-7-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ee65ca01
    • Dmitry Safonov's avatar
      arm: add loglvl to unwind_backtrace() · e8d7b735
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Add log level argument to unwind_backtrace() as a preparation for
      introducing show_stack_loglvl().
      
      As a good side-effect arm_syscall() is now printing errors with the same
      log level as the backtrace.
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Will Deacon <will@kernel.org>
      Link: http://lkml.kernel.org/r/20200418201944.482088-6-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e8d7b735
    • Dmitry Safonov's avatar
      arm/asm: add loglvl to c_backtrace() · 5489ab50
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Add log level argument to c_backtrace() as a preparation for introducing
      show_stack_loglvl().
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Will Deacon <will@kernel.org>
      Link: http://lkml.kernel.org/r/20200418201944.482088-5-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5489ab50
    • Dmitry Safonov's avatar
      arc: add show_stack_loglvl() · 8ca4d199
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Introduce show_stack_loglvl(), that eventually will substitute
      show_stack().
      
      As a good side-effect header "Stack Trace:" is now printed with the same
      log level as the rest of backtrace.
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Link: http://lkml.kernel.org/r/20200418201944.482088-4-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8ca4d199
    • Dmitry Safonov's avatar
      alpha: add show_stack_loglvl() · 8c49a909
      Dmitry Safonov authored
      Currently, the log-level of show_stack() depends on a platform
      realization.  It creates situations where the headers are printed with
      lower log level or higher than the stacktrace (depending on a platform or
      user).
      
      Furthermore, it forces the logic decision from user to an architecture
      side.  In result, some users as sysrq/kdb/etc are doing tricks with
      temporary rising console_loglevel while printing their messages.  And in
      result it not only may print unwanted messages from other CPUs, but also
      omit printing at all in the unlucky case where the printk() was deferred.
      
      Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems an easier
      approach than introducing more printk buffers.  Also, it will consolidate
      printings with headers.
      
      Introduce show_stack_loglvl(), that eventually will substitute
      show_stack().
      
      [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#uSigned-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Richard Henderson <rth@twiddle.net>
      Link: http://lkml.kernel.org/r/20200418201944.482088-3-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8c49a909
    • Dmitry Safonov's avatar
      kallsyms/printk: add loglvl to print_ip_sym() · 2062a4e8
      Dmitry Safonov authored
      Patch series "Add log level to show_stack()", v3.
      
      Add log level argument to show_stack().
      
      Done in three stages:
      1. Introducing show_stack_loglvl() for every architecture
      2. Migrating old users with an explicit log level
      3. Renaming show_stack_loglvl() into show_stack()
      
      Justification:
      
      - It's a design mistake to move a business-logic decision into platform
        realization detail.
      
      - I have currently two patches sets that would benefit from this work:
        Removing console_loglevel jumps in sysrq driver [1] Hung task warning
        before panic [2] - suggested by Tetsuo (but he probably didn't realise
        what it would involve).
      
      - While doing (1), (2) the backtraces were adjusted to headers and other
        messages for each situation - so there won't be a situation when the
        backtrace is printed, but the headers are missing because they have
        lesser log level (or the reverse).
      
      - As the result in (2) plays with console_loglevel for kdb are removed.
      
      The least important for upstream, but maybe still worth to note that every
      company I've worked in so far had an off-list patch to print backtrace
      with the needed log level (but only for the architecture they cared
      about).  If you have other ideas how you will benefit from show_stack()
      with a log level - please, reply to this cover letter.
      
      See also discussion on v1:
      https://lore.kernel.org/linux-riscv/20191106083538.z5nlpuf64cigxigh@pathway.suse.cz/
      
      This patch (of 50):
      
      print_ip_sym() needs to have a log level parameter to comply with other
      parts being printed.  Otherwise, half of the expected backtrace would be
      printed and other may be missing with some logging level.
      
      The following callee(s) are using now the adjusted log level:
      - microblaze/unwind: the same level as headers & userspace unwind.
        Note that pr_debug()'s there are for debugging the unwinder itself.
      - nds32/traps: symbol addresses are printed with the same log level
        as backtrace headers.
      - lockdep: ip for locking issues is printed with the same log level
        as other part of the warning.
      - sched: ip where preemption was disabled is printed as error like
        the rest part of the message.
      - ftrace: bug reports are now consistent in the log level being used.
      Signed-off-by: default avatarDmitry Safonov <dima@arista.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      Cc: Albert Ou <aou@eecs.berkeley.edu>
      Cc: Ben Segall <bsegall@google.com>
      Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>
      Cc: Greentime Hu <green.hu@gmail.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: Juri Lelli <juri.lelli@redhat.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Palmer Dabbelt <palmer@dabbelt.com>
      Cc: Paul Burton <paulburton@kernel.org>
      Cc: Paul Walmsley <paul.walmsley@sifive.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vincent Chen <deanbo422@gmail.com>
      Cc: Vincent Guittot <vincent.guittot@linaro.org>
      Cc: Will Deacon <will@kernel.org>
      Cc: Dmitry Safonov <0x7f454c46@gmail.com>
      Cc: Dmitry Safonov <dima@arista.com>
      Cc: Jiri Slaby <jslaby@suse.com>
      Cc: Petr Mladek <pmladek@suse.com>
      Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Vineet Gupta <vgupta@synopsys.com>
      Cc: Russell King <linux@armlinux.org.uk>
      Cc: Catalin Marinas <catalin.marinas@arm.com>
      Cc: Aurelien Jacquiot <jacquiot.aurelien@gmail.com>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Guo Ren <guoren@kernel.org>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Brian Cain <bcain@codeaurora.org>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Ley Foon Tan <lftan@altera.com>
      Cc: Jonas Bonn <jonas@southpole.se>
      Cc: Stafford Horne <shorne@gmail.com>
      Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
      Cc: Helge Deller <deller@gmx.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Vasily Gorbik <gor@linux.ibm.com>
      Cc: Rich Felker <dalias@libc.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Richard Weinberger <richard@nod.at>
      Cc: Guan Xuetao <gxt@pku.edu.cn>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: Max Filippov <jcmvbkbc@gmail.com>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
      Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
      Cc: Daniel Thompson <daniel.thompson@linaro.org>
      Cc: Douglas Anderson <dianders@chromium.org>
      Cc: Jason Wessel <jason.wessel@windriver.com>
      Link: http://lkml.kernel.org/r/20200418201944.482088-2-dima@arista.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2062a4e8
  2. 08 Jun, 2020 20 commits
    • Linus Torvalds's avatar
      Merge tag 'rproc-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · abfbb292
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
       "This introduces device managed versions of functions used to register
        remoteproc devices, add support for remoteproc driver specific
        resource control, enables remoteproc drivers to specify ELF class and
        machine for coredumps. It integrates pm_runtime in the core for
        keeping resources active while the remote is booted and holds a wake
        source while recoverying a remote processor after a firmware crash.
      
        It refactors the remoteproc device's allocation path to simplify the
        logic, fix a few cleanup bugs and to not clone const strings onto the
        heap. Debugfs code is simplifies using the DEFINE_SHOW_ATTRIBUTE and a
        zero-length array is replaced with flexible-array.
      
        A new remoteproc driver for the JZ47xx VPU is introduced, the Qualcomm
        SM8250 gains support for audio, compute and sensor remoteprocs and the
        Qualcomm SC7180 modem support is cleaned up and improved.
      
        The Qualcomm glink subsystem-restart driver is merged into the main
        glink driver, the Qualcomm sysmon driver is extended to properly
        notify remote processors about all other remote processors' state
        transitions"
      
      * tag 'rproc-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc: (43 commits)
        remoteproc: Fix an error code in devm_rproc_alloc()
        MAINTAINERS: Add myself as reviewer for Ingenic rproc driver
        remoteproc: ingenic: Added remoteproc driver
        remoteproc: Add support for runtime PM
        dt-bindings: Document JZ47xx VPU auxiliary processor
        remoteproc: wcss: Fix arguments passed to qcom_add_glink_subdev()
        remoteproc: Fix and restore the parenting hierarchy for vdev
        remoteproc: Fall back to using parent memory pool if no dedicated available
        remoteproc: Replace zero-length array with flexible-array
        remoteproc: wcss: add support for rpmsg communication
        remoteproc: core: Prevent system suspend during remoteproc recovery
        remoteproc: qcom_q6v5_mss: Remove unused q6v5_da_to_va function
        remoteproc: qcom_q6v5_mss: map/unmap mpss segments before/after use
        remoteproc: qcom_q6v5_mss: Drop accesses to MPSS PERPH register space
        dt-bindings: remoteproc: qcom: Replace halt-nav with spare-regs
        remoteproc: qcom: pas: Add SM8250 PAS remoteprocs
        dt-bindings: remoteproc: qcom: pas: Add SM8250 remoteprocs
        remoteproc: qcom_q6v5_mss: Extract mba/mpss from memory-region
        dt-bindings: remoteproc: qcom: Use memory-region to reference memory
        remoteproc: qcom: pas: Add SC7180 Modem support
        ...
      abfbb292
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc · d26a42a9
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
       "This replaces a zero-length array with flexible-array and fixes a typo
        in a comment in the rpmsg core"
      
      * tag 'rpmsg-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/andersson/remoteproc:
        rpmsg: Replace zero-length array with flexible-array
        rpmsg: fix a comment typo for rpmsg_device_match()
      d26a42a9
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-5.8-rc1' of git://github.com/ceph/ceph-client · 95288a9b
      Linus Torvalds authored
      Pull ceph updates from Ilya Dryomov:
       "The highlights are:
      
         - OSD/MDS latency and caps cache metrics infrastructure for the
           filesytem (Xiubo Li). Currently available through debugfs and will
           be periodically sent to the MDS in the future.
      
         - support for replica reads (balanced and localized reads) for rbd
           and the filesystem (myself). The default remains to always read
           from primary, users can opt-in with the new crush_location and
           read_from_replica options. Note that reading from replica is safe
           for general use only since Octopus.
      
         - support for RADOS allocation hint flags (myself). Currently used by
           rbd to propagate the compressible/incompressible hint given with
           the new compression_hint map option and ready for passing on more
           advanced hints, e.g. based on fadvise() from the filesystem.
      
         - support for efficient cross-quota-realm renames (Luis Henriques)
      
         - assorted cap handling improvements and cleanups, particularly
           untangling some of the locking (Jeff Layton)"
      
      * tag 'ceph-for-5.8-rc1' of git://github.com/ceph/ceph-client: (29 commits)
        rbd: compression_hint option
        libceph: support for alloc hint flags
        libceph: read_from_replica option
        libceph: support for balanced and localized reads
        libceph: crush_location infrastructure
        libceph: decode CRUSH device/bucket types and names
        libceph: add non-asserting rbtree insertion helper
        ceph: skip checking caps when session reconnecting and releasing reqs
        ceph: make sure mdsc->mutex is nested in s->s_mutex to fix dead lock
        ceph: don't return -ESTALE if there's still an open file
        libceph, rbd: replace zero-length array with flexible-array
        ceph: allow rename operation under different quota realms
        ceph: normalize 'delta' parameter usage in check_quota_exceeded
        ceph: ceph_kick_flushing_caps needs the s_mutex
        ceph: request expedited service on session's last cap flush
        ceph: convert mdsc->cap_dirty to a per-session list
        ceph: reset i_requested_max_size if file write is not wanted
        ceph: throw a warning if we destroy session with mutex still locked
        ceph: fix potential race in ceph_check_caps
        ceph: document what protects i_dirty_item and i_flushing_item
        ...
      95288a9b
    • Linus Torvalds's avatar
      Merge tag 'gfs2-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · ca687877
      Linus Torvalds authored
      Pull gfs2 updates from Andreas Gruenbacher:
      
       - An iopen glock locking scheme rework that speeds up deletes of inodes
         accessed from multiple nodes
      
       - Various bug fixes and debugging improvements
      
       - Convert gfs2-glocks.txt to ReST
      
      * tag 'gfs2-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        gfs2: fix use-after-free on transaction ail lists
        gfs2: new slab for transactions
        gfs2: initialize transaction tr_ailX_lists earlier
        gfs2: Smarter iopen glock waiting
        gfs2: Wake up when setting GLF_DEMOTE
        gfs2: Check inode generation number in delete_work_func
        gfs2: Move inode generation number check into gfs2_inode_lookup
        gfs2: Minor gfs2_lookup_by_inum cleanup
        gfs2: Try harder to delete inodes locally
        gfs2: Give up the iopen glock on contention
        gfs2: Turn gl_delete into a delayed work
        gfs2: Keep track of deleted inode generations in LVBs
        gfs2: Allow ASPACE glocks to also have an lvb
        gfs2: instrumentation wrt log_flush stuck
        gfs2: introduce new gfs2_glock_assert_withdraw
        gfs2: print mapping->nrpages in glock dump for address space glocks
        gfs2: Only do glock put in gfs2_create_inode for free inodes
        gfs2: Allow lock_nolock mount to specify jid=X
        gfs2: Don't ignore inode write errors during inode_go_sync
        docs: filesystems: convert gfs2-glocks.txt to ReST
      ca687877
    • Linus Torvalds's avatar
      Merge tag 's390-5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 23fc02e3
      Linus Torvalds authored
      Pull s390 updates from Vasily Gorbik:
      
       - Add support for multi-function devices in pci code.
      
       - Enable PF-VF linking for architectures using the pdev->no_vf_scan
         flag (currently just s390).
      
       - Add reipl from NVMe support.
      
       - Get rid of critical section cleanup in entry.S.
      
       - Refactor PNSO CHSC (perform network subchannel operation) in cio and
         qeth.
      
       - QDIO interrupts and error handling fixes and improvements, more
         refactoring changes.
      
       - Align ioremap() with generic code.
      
       - Accept requests without the prefetch bit set in vfio-ccw.
      
       - Enable path handling via two new regions in vfio-ccw.
      
       - Other small fixes and improvements all over the code.
      
      * tag 's390-5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (52 commits)
        vfio-ccw: make vfio_ccw_regops variables declarations static
        vfio-ccw: Add trace for CRW event
        vfio-ccw: Wire up the CRW irq and CRW region
        vfio-ccw: Introduce a new CRW region
        vfio-ccw: Refactor IRQ handlers
        vfio-ccw: Introduce a new schib region
        vfio-ccw: Refactor the unregister of the async regions
        vfio-ccw: Register a chp_event callback for vfio-ccw
        vfio-ccw: Introduce new helper functions to free/destroy regions
        vfio-ccw: document possible errors
        vfio-ccw: Enable transparent CCW IPL from DASD
        s390/pci: Log new handle in clp_disable_fh()
        s390/cio, s390/qeth: cleanup PNSO CHSC
        s390/qdio: remove q->first_to_kick
        s390/qdio: fix up qdio_start_irq() kerneldoc
        s390: remove critical section cleanup from entry.S
        s390: add machine check SIGP
        s390/pci: ioremap() align with generic code
        s390/ap: introduce new ap function ap_get_qdev()
        Documentation/s390: Update / remove developerWorks web links
        ...
      23fc02e3
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 4e3a16ee
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
       "A big part of this is a change in how devices get connected to IOMMUs
        in the core code. It contains the change from the old add_device() /
        remove_device() to the new probe_device() / release_device()
        call-backs.
      
        As a result functionality that was previously in the IOMMU drivers has
        been moved to the IOMMU core code, including IOMMU group allocation
        for each device. The reason for this change was to get more robust
        allocation of default domains for the iommu groups.
      
        A couple of fixes were necessary after this was merged into the IOMMU
        tree, but there are no known bugs left. The last fix is applied on-top
        of the merge commit for the topic branches.
      
        Other than that change, we have:
      
         - Removal of the driver private domain handling in the Intel VT-d
           driver. This was fragile code and I am glad it is gone now.
      
         - More Intel VT-d updates from Lu Baolu:
            - Nested Shared Virtual Addressing (SVA) support to the Intel VT-d
              driver
            - Replacement of the Intel SVM interfaces to the common IOMMU SVA
              API
            - SVA Page Request draining support
      
         - ARM-SMMU Updates from Will:
            - Avoid mapping reserved MMIO space on SMMUv3, so that it can be
              claimed by the PMU driver
            - Use xarray to manage ASIDs on SMMUv3
            - Reword confusing shutdown message
            - DT compatible string updates
            - Allow implementations to override the default domain type
      
         - A new IOMMU driver for the Allwinner Sun50i platform
      
         - Support for ATS gets disabled for untrusted devices (like
           Thunderbolt devices). This includes a PCI patch, acked by Bjorn.
      
         - Some cleanups to the AMD IOMMU driver to make more use of IOMMU
           core features.
      
         - Unification of some printk formats in the Intel and AMD IOMMU
           drivers and in the IOVA code.
      
         - Updates for DT bindings
      
         - A number of smaller fixes and cleanups.
      
      * tag 'iommu-updates-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (109 commits)
        iommu: Check for deferred attach in iommu_group_do_dma_attach()
        iommu/amd: Remove redundant devid checks
        iommu/amd: Store dev_data as device iommu private data
        iommu/amd: Merge private header files
        iommu/amd: Remove PD_DMA_OPS_MASK
        iommu/amd: Consolidate domain allocation/freeing
        iommu/amd: Free page-table in protection_domain_free()
        iommu/amd: Allocate page-table in protection_domain_init()
        iommu/amd: Let free_pagetable() not rely on domain->pt_root
        iommu/amd: Unexport get_dev_data()
        iommu/vt-d: Fix compile warning
        iommu/vt-d: Remove real DMA lookup in find_domain
        iommu/vt-d: Allocate domain info for real DMA sub-devices
        iommu/vt-d: Only clear real DMA device's context entries
        iommu: Remove iommu_sva_ops::mm_exit()
        uacce: Remove mm_exit() op
        iommu/sun50i: Constify sun50i_iommu_ops
        iommu/hyper-v: Constify hyperv_ir_domain_ops
        iommu/vt-d: Use pci_ats_supported()
        iommu/arm-smmu-v3: Use pci_ats_supported()
        ...
      4e3a16ee
    • Linus Torvalds's avatar
      Merge tag 'drm-next-msm-5.8-2020-06-08' of git://anongit.freedesktop.org/drm/drm · 9413b9a6
      Linus Torvalds authored
      Pull drm msm updates from Dave Airlie:
       "This tree has been in next for a couple of weeks, but Rob missed an
        arm32 build issue, so I was awaiting the tree with a patch reverted.
      
         - new gpu support: a405, a640, a650
      
         - dpu: color processing support
      
         - mdp5: support for msm8x36 (the thing with a405)
      
         - some prep work for per-context pagetables (ie the part that does
           not depend on in-flight iommu patches)
      
         - last but not least, UABI update for submit ioctl to support syncobj
           (from Bas)"
      
      * tag 'drm-next-msm-5.8-2020-06-08' of git://anongit.freedesktop.org/drm/drm: (30 commits)
        Revert "drm/msm/dpu: add support for clk and bw scaling for display"
        drm/msm/a6xx: skip HFI set freq if GMU is powered down
        drm/msm: Update the MMU helper function APIs
        drm/msm: Refactor address space initialization
        drm/msm: Attach the IOMMU device during initialization
        drm/msm/dpu: dpu_setup_dspp_pcc() can be static
        drm/msm/a6xx: a6xx_hfi_send_start() can be static
        drm/msm/a4xx: add a405_registers for a405 device
        drm/msm/a4xx: add adreno a405 support
        drm/msm/a6xx: update a6xx_hw_init for A640 and A650
        drm/msm/a6xx: enable GMU log
        drm/msm/a6xx: update pdc/rscc GMU registers for A640/A650
        drm/msm/a6xx: A640/A650 GMU firmware path
        drm/msm/a6xx: HFI v2 for A640 and A650
        drm/msm/a6xx: add A640/A650 to gpulist
        drm/msm/a6xx: use msm_gem for GMU memory objects
        drm/msm: add internal MSM_BO_MAP_PRIV flag
        drm/msm: add msm_gem_get_and_pin_iova_range
        drm/msm: Check for powered down HW in the devfreq callbacks
        drm/msm/dpu: update bandwidth threshold check
        ...
      9413b9a6
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2020-06-08' of git://anongit.freedesktop.org/drm/drm · 10782166
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "These are the fixes from last week for the stuff merged in the merge
        window. It got a bunch of nouveau fixes for HDA audio on some new
        GPUs, some i915 and some amdpgu fixes.
      
        i915:
         - gvt: Fix one clang warning on debug only function
         - Use ARRAY_SIZE for coccicheck warning
         - Use after free fix for display global state.
         - Whitelisting context-local timestamp on Gen9 and two scheduler
           fixes with deps (Cc: stable)
         - Removal of write flag from sysfs files where ineffective
      
        nouveau:
         - HDMI/DP audio HDA fixes
         - display hang fix for Volta/Turing
         - GK20A regression fix.
      
        amdgpu:
         - Prevent hwmon accesses while GPU is in reset
         - CTF interrupt fix
         - Backlight fix for renoir
         - Fix for display sync groups
         - Display bandwidth validation workaround"
      
      * tag 'drm-next-2020-06-08' of git://anongit.freedesktop.org/drm/drm: (28 commits)
        drm/nouveau/kms/nv50-: clear SW state of disabled windows harder
        drm/nouveau: gr/gk20a: Use firmware version 0
        drm/nouveau/disp/gm200-: detect and potentially disable HDA support on some SORs
        drm/nouveau/disp/gp100: split SOR implementation from gm200
        drm/nouveau/disp: modify OR allocation policy to account for HDA requirements
        drm/nouveau/disp: split part of OR allocation logic into a function
        drm/nouveau/disp: provide hint to OR allocation about HDA requirements
        drm/amd/display: Revalidate bandwidth before commiting DC updates
        drm/amdgpu/display: use blanked rather than plane state for sync groups
        drm/i915/params: fix i915.fake_lmem_start module param sysfs permissions
        drm/i915/params: don't expose inject_probe_failure in debugfs
        drm/i915: Whitelist context-local timestamp in the gen9 cmdparser
        drm/i915: Fix global state use-after-frees with a refcount
        drm/i915: Check for awaits on still currently executing requests
        drm/i915/gt: Do not schedule normal requests immediately along virtual
        drm/i915: Reorder await_execution before await_request
        drm/nouveau/kms/gt215-: fix race with audio driver runpm
        drm/nouveau/disp/gm200-: fix NV_PDISP_SOR_HDMI2_CTRL(n) selection
        Revert "drm/amd/display: disable dcn20 abm feature for bring up"
        drm/amd/powerplay: ack the SMUToHost interrupt on receive V2
        ...
      10782166
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 20b0d067
      Linus Torvalds authored
      Merge still more updates from Andrew Morton:
       "Various trees. Mainly those parts of MM whose linux-next dependents
        are now merged. I'm still sitting on ~160 patches which await merges
        from -next.
      
        Subsystems affected by this patch series: mm/proc, ipc, dynamic-debug,
        panic, lib, sysctl, mm/gup, mm/pagemap"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (52 commits)
        doc: cgroup: update note about conditions when oom killer is invoked
        module: move the set_fs hack for flush_icache_range to m68k
        nommu: use flush_icache_user_range in brk and mmap
        binfmt_flat: use flush_icache_user_range
        exec: use flush_icache_user_range in read_code
        exec: only build read_code when needed
        m68k: implement flush_icache_user_range
        arm: rename flush_cache_user_range to flush_icache_user_range
        xtensa: implement flush_icache_user_range
        sh: implement flush_icache_user_range
        asm-generic: add a flush_icache_user_range stub
        mm: rename flush_icache_user_range to flush_icache_user_page
        arm,sparc,unicore32: remove flush_icache_user_range
        riscv: use asm-generic/cacheflush.h
        powerpc: use asm-generic/cacheflush.h
        openrisc: use asm-generic/cacheflush.h
        m68knommu: use asm-generic/cacheflush.h
        microblaze: use asm-generic/cacheflush.h
        ia64: use asm-generic/cacheflush.h
        hexagon: use asm-generic/cacheflush.h
        ...
      20b0d067
    • Konstantin Khlebnikov's avatar
      doc: cgroup: update note about conditions when oom killer is invoked · db33ec37
      Konstantin Khlebnikov authored
      Starting from v4.19 commit 29ef680a ("memcg, oom: move out_of_memory
      back to the charge path") cgroup oom killer is no longer invoked only
      from page faults.  Now it implements the same semantics as global OOM
      killer: allocation context invokes OOM killer and keeps retrying until
      success.
      
      [akpm@linux-foundation.org: fixes per Randy]
      Signed-off-by: default avatarKonstantin Khlebnikov <khlebnikov@yandex-team.ru>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Roman Gushchin <guro@fb.com>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Link: http://lkml.kernel.org/r/158894738928.208854.5244393925922074518.stgit@buzzSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      db33ec37
    • Christoph Hellwig's avatar
      module: move the set_fs hack for flush_icache_range to m68k · 490741ab
      Christoph Hellwig authored
      flush_icache_range generally operates on kernel addresses, but for some
      reason m68k needed a set_fs override.  Move that into the m68k code
      insted of keeping it in the module loader.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Reviewed-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: default avatarJessica Yu <jeyu@kernel.org>
      Cc: Alexei Starovoitov <ast@kernel.org>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Martin KaFai Lau <kafai@fb.com>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: Yonghong Song <yhs@fb.com>
      Link: http://lkml.kernel.org/r/20200515143646.3857579-30-hch@lst.deSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      490741ab
    • Christoph Hellwig's avatar
      nommu: use flush_icache_user_range in brk and mmap · a75a2df6
      Christoph Hellwig authored
      These obviously operate on user addresses.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Greg Ungerer <gerg@linux-m68k.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Link: http://lkml.kernel.org/r/20200515143646.3857579-29-hch@lst.deSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a75a2df6
    • Christoph Hellwig's avatar
      binfmt_flat: use flush_icache_user_range · 79ef1e1f
      Christoph Hellwig authored
      load_flat_file works on user addresses.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarGreg Ungerer <gerg@linux-m68k.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Link: http://lkml.kernel.org/r/20200515143646.3857579-28-hch@lst.deSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      79ef1e1f
    • Christoph Hellwig's avatar
      exec: use flush_icache_user_range in read_code · bce2b68b
      Christoph Hellwig authored
      read_code operates on user addresses.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Link: http://lkml.kernel.org/r/20200515143646.3857579-27-hch@lst.deSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bce2b68b
    • Christoph Hellwig's avatar
      exec: only build read_code when needed · 48304f79
      Christoph Hellwig authored
      Only build read_code when binary formats that use it are built into the
      kernel.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Link: http://lkml.kernel.org/r/20200515143646.3857579-26-hch@lst.deSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      48304f79
    • Christoph Hellwig's avatar
      m68k: implement flush_icache_user_range · a1e81f96
      Christoph Hellwig authored
      Rename the current flush_icache_range to flush_icache_user_range as per
      commit ae92ef8a ("PATCH] flush icache in correct context") there
      seems to be an assumption that it operates on user addresses.  Add a
      flush_icache_range around it that for now is a no-op.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Link: http://lkml.kernel.org/r/20200515143646.3857579-25-hch@lst.deSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a1e81f96
    • Christoph Hellwig's avatar
      arm: rename flush_cache_user_range to flush_icache_user_range · fca7f8e6
      Christoph Hellwig authored
      flush_icache_user_range will be the name for a generic primitive.  Move
      the arm name so that arm already has an implementation.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Russell King <linux@armlinux.org.uk>
      Link: http://lkml.kernel.org/r/20200515143646.3857579-24-hch@lst.deSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fca7f8e6
    • Christoph Hellwig's avatar
      xtensa: implement flush_icache_user_range · 70cd3444
      Christoph Hellwig authored
      The Xtensa implementation of flush_icache_range seems to be able to cope
      with user addresses.  Just define flush_icache_user_range to
      flush_icache_range.
      
      [jcmvbkbc@gmail.com: fix flush_icache_user_range in noMMU configs]
        Link: http://lkml.kernel.org/r/20200525221556.4270-1-jcmvbkbc@gmail.comSigned-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: Max Filippov <jcmvbkbc@gmail.com>
      Link: http://lkml.kernel.org/r/20200515143646.3857579-23-hch@lst.deSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      70cd3444
    • Christoph Hellwig's avatar
      sh: implement flush_icache_user_range · 952ec41c
      Christoph Hellwig authored
      The SuperH implementation of flush_icache_range seems to be able to cope
      with user addresses.  Just define flush_icache_user_range to
      flush_icache_range.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Rich Felker <dalias@libc.org>
      Link: http://lkml.kernel.org/r/20200515143646.3857579-22-hch@lst.deSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      952ec41c
    • Christoph Hellwig's avatar
      asm-generic: add a flush_icache_user_range stub · 1268c333
      Christoph Hellwig authored
      Define flush_icache_user_range to flush_icache_range unless the
      architecture provides its own implementation.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Link: http://lkml.kernel.org/r/20200515143646.3857579-21-hch@lst.deSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1268c333