Skip to content

Commits

Permalink
Shaomin-Deng/d…
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Commits on Aug 27, 2022

  1. dm: Remove the unneeeded variable

    The variable "sz" is unneeded, return 0 will be okay.
    
    Signed-off-by: Shaomin Deng <dengshaomin@cdjrlc.com>
    Shaomin Deng authored and intel-lab-lkp committed Aug 27, 2022
    Copy the full SHA
    fd20974 View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2022

  1. Linux 6.0-rc2

    torvalds committed Aug 22, 2022
    Copy the full SHA
    1c23f9e View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2022

  1. Merge tag 'irq-urgent-2022-08-21' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/tip/tip
    
    Pull irq fixes from Ingo Molnar:
     "Misc irqchip fixes: LoongArch driver fixes and a Hyper-V IOMMU fix"
    
    * tag 'irq-urgent-2022-08-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      irqchip/loongson-liointc: Fix an error handling path in liointc_init()
      irqchip/loongarch: Fix irq_domain_alloc_fwnode() abuse
      irqchip/loongson-pch-pic: Move find_pch_pic() into CONFIG_ACPI
      irqchip/loongson-eiointc: Fix a build warning
      irqchip/loongson-eiointc: Fix irq affinity setting
      iommu/hyper-v: Use helper instead of directly accessing affinity
    torvalds committed Aug 21, 2022
    Copy the full SHA
    4daa6a8 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'perf-urgent-2022-08-21' of git://git.kernel.org/pub/scm/li…

    …nux/kernel/git/tip/tip
    
    Pull x86 kprobes fix from Ingo Molnar:
     "Fix a kprobes bug in JNG/JNLE emulation when a kprobe is installed at
      such instructions, possibly resulting in incorrect execution (the
      wrong branch taken)"
    
    * tag 'perf-urgent-2022-08-21' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/kprobes: Fix JNG/JNLE emulation
    torvalds committed Aug 21, 2022
    Copy the full SHA
    4f61f84 View commit details
    Browse the repository at this point in the history
  3. Merge tag 'trace-v6.0-rc1-2' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/rostedt/linux-trace
    
    Pull tracing fixes from Steven Rostedt:
     "Various fixes for tracing:
    
       - Fix a return value of traceprobe_parse_event_name()
    
       - Fix NULL pointer dereference from failed ftrace enabling
    
       - Fix NULL pointer dereference when asking for registers from eprobes
    
       - Make eprobes consistent with kprobes/uprobes, filters and
         histograms"
    
    * tag 'trace-v6.0-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
      tracing: Have filter accept "common_cpu" to be consistent
      tracing/probes: Have kprobes and uprobes use $COMM too
      tracing/eprobes: Have event probes be consistent with kprobes and uprobes
      tracing/eprobes: Fix reading of string fields
      tracing/eprobes: Do not hardcode $comm as a string
      tracing/eprobes: Do not allow eprobes to use $stack, or % for regs
      ftrace: Fix NULL pointer dereference in is_ftrace_trampoline when ftrace is dead
      tracing/perf: Fix double put of trace event when init fails
      tracing: React to error return from traceprobe_parse_event_name()
    torvalds committed Aug 21, 2022
    Copy the full SHA
    7fb312d View commit details
    Browse the repository at this point in the history
  4. tracing: Have filter accept "common_cpu" to be consistent

    Make filtering consistent with histograms. As "cpu" can be a field of an
    event, allow for "common_cpu" to keep it from being confused with the
    "cpu" field of the event.
    
    Link: https://lkml.kernel.org/r/20220820134401.513062765@goodmis.org
    Link: https://lore.kernel.org/all/20220820220920.e42fa32b70505b1904f0a0ad@kernel.org/
    
    Cc: stable@vger.kernel.org
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
    Cc: Tom Zanussi <zanussi@kernel.org>
    Fixes: 1e3bac7 ("tracing/histogram: Rename "cpu" to "common_cpu"")
    Suggested-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
    Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    rostedt committed Aug 21, 2022
    Copy the full SHA
    b238057 View commit details
    Browse the repository at this point in the history
  5. tracing/probes: Have kprobes and uprobes use $COMM too

    Both $comm and $COMM can be used to get current->comm in eprobes and the
    filtering and histogram logic. Make kprobes and uprobes consistent in this
    regard and allow both $comm and $COMM as well. Currently kprobes and
    uprobes only handle $comm, which is inconsistent with the other utilities,
    and can be confusing to users.
    
    Link: https://lkml.kernel.org/r/20220820134401.317014913@goodmis.org
    Link: https://lore.kernel.org/all/20220820220442.776e1ddaf8836e82edb34d01@kernel.org/
    
    Cc: stable@vger.kernel.org
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
    Cc: Tom Zanussi <zanussi@kernel.org>
    Fixes: 5330592 ("tracing: probeevent: Introduce new argument fetching code")
    Suggested-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
    Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    rostedt committed Aug 21, 2022
    Copy the full SHA
    ab83844 View commit details
    Browse the repository at this point in the history
  6. tracing/eprobes: Have event probes be consistent with kprobes and upr…

    …obes
    
    Currently, if a symbol "@" is attempted to be used with an event probe
    (eprobes), it will cause a NULL pointer dereference crash.
    
    Both kprobes and uprobes can reference data other than the main registers.
    Such as immediate address, symbols and the current task name. Have eprobes
    do the same thing.
    
    For "comm", if "comm" is used and the event being attached to does not
    have the "comm" field, then make it the "$comm" that kprobes has. This is
    consistent to the way histograms and filters work.
    
    Link: https://lkml.kernel.org/r/20220820134401.136924220@goodmis.org
    
    Cc: stable@vger.kernel.org
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
    Cc: Tom Zanussi <zanussi@kernel.org>
    Fixes: 7491e2c ("tracing: Add a probe that attaches to trace events")
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    rostedt committed Aug 21, 2022
    Copy the full SHA
    6a832ec View commit details
    Browse the repository at this point in the history
  7. tracing/eprobes: Fix reading of string fields

    Currently when an event probe (eprobe) hooks to a string field, it does
    not display it as a string, but instead as a number. This makes the field
    rather useless. Handle the different kinds of strings, dynamic, static,
    relational/dynamic etc.
    
    Now when a string field is used, the ":string" type can be used to display
    it:
    
      echo "e:sw sched/sched_switch comm=$next_comm:string" > dynamic_events
    
    Link: https://lkml.kernel.org/r/20220820134400.959640191@goodmis.org
    
    Cc: stable@vger.kernel.org
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
    Cc: Tom Zanussi <zanussi@kernel.org>
    Fixes: 7491e2c ("tracing: Add a probe that attaches to trace events")
    Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    rostedt committed Aug 21, 2022
    Copy the full SHA
    f04dec9 View commit details
    Browse the repository at this point in the history
  8. tracing/eprobes: Do not hardcode $comm as a string

    The variable $comm is hard coded as a string, which is true for both
    kprobes and uprobes, but for event probes (eprobes) it is a field name. In
    most cases the "comm" field would be a string, but there's no guarantee of
    that fact.
    
    Do not assume that comm is a string. Not to mention, it currently forces
    comm fields to fault, as string processing for event probes is currently
    broken.
    
    Link: https://lkml.kernel.org/r/20220820134400.756152112@goodmis.org
    
    Cc: stable@vger.kernel.org
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
    Cc: Tom Zanussi <zanussi@kernel.org>
    Fixes: 7491e2c ("tracing: Add a probe that attaches to trace events")
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    rostedt committed Aug 21, 2022
    Copy the full SHA
    02333de View commit details
    Browse the repository at this point in the history
  9. tracing/eprobes: Do not allow eprobes to use $stack, or % for regs

    While playing with event probes (eprobes), I tried to see what would
    happen if I attempted to retrieve the instruction pointer (%rip) knowing
    that event probes do not use pt_regs. The result was:
    
     BUG: kernel NULL pointer dereference, address: 0000000000000024
     #PF: supervisor read access in kernel mode
     #PF: error_code(0x0000) - not-present page
     PGD 0 P4D 0
     Oops: 0000 [#1] PREEMPT SMP PTI
     CPU: 1 PID: 1847 Comm: trace-cmd Not tainted 5.19.0-rc5-test+ torvalds#309
     Hardware name: Hewlett-Packard HP Compaq Pro 6300 SFF/339A, BIOS K01
    v03.03 07/14/2016
     RIP: 0010:get_event_field.isra.0+0x0/0x50
     Code: ff 48 c7 c7 c0 8f 74 a1 e8 3d 8b f5 ff e8 88 09 f6 ff 4c 89 e7 e8
    50 6a 13 00 48 89 ef 5b 5d 41 5c 41 5d e9 42 6a 13 00 66 90 <48> 63 47 24
    8b 57 2c 48 01 c6 8b 47 28 83 f8 02 74 0e 83 f8 04 74
     RSP: 0018:ffff916c394bbaf0 EFLAGS: 00010086
     RAX: ffff916c854041d8 RBX: ffff916c8d9fbf50 RCX: ffff916c255d2000
     RDX: 0000000000000000 RSI: ffff916c255d2008 RDI: 0000000000000000
     RBP: 0000000000000000 R08: ffff916c3a2a0c08 R09: ffff916c394bbda8
     R10: 0000000000000000 R11: 0000000000000000 R12: ffff916c854041d8
     R13: ffff916c854041b0 R14: 0000000000000000 R15: 0000000000000000
     FS:  0000000000000000(0000) GS:ffff916c9ea40000(0000)
    knlGS:0000000000000000
     CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
     CR2: 0000000000000024 CR3: 000000011b60a002 CR4: 00000000001706e0
     Call Trace:
      <TASK>
      get_eprobe_size+0xb4/0x640
      ? __mod_node_page_state+0x72/0xc0
      __eprobe_trace_func+0x59/0x1a0
      ? __mod_lruvec_page_state+0xaa/0x1b0
      ? page_remove_file_rmap+0x14/0x230
      ? page_remove_rmap+0xda/0x170
      event_triggers_call+0x52/0xe0
      trace_event_buffer_commit+0x18f/0x240
      trace_event_raw_event_sched_wakeup_template+0x7a/0xb0
      try_to_wake_up+0x260/0x4c0
      __wake_up_common+0x80/0x180
      __wake_up_common_lock+0x7c/0xc0
      do_notify_parent+0x1c9/0x2a0
      exit_notify+0x1a9/0x220
      do_exit+0x2ba/0x450
      do_group_exit+0x2d/0x90
      __x64_sys_exit_group+0x14/0x20
      do_syscall_64+0x3b/0x90
      entry_SYSCALL_64_after_hwframe+0x46/0xb0
    
    Obviously this is not the desired result.
    
    Move the testing for TPARG_FL_TPOINT which is only used for event probes
    to the top of the "$" variable check, as all the other variables are not
    used for event probes. Also add a check in the register parsing "%" to
    fail if an event probe is used.
    
    Link: https://lkml.kernel.org/r/20220820134400.564426983@goodmis.org
    
    Cc: stable@vger.kernel.org
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Tzvetomir Stoyanov <tz.stoyanov@gmail.com>
    Cc: Tom Zanussi <zanussi@kernel.org>
    Fixes: 7491e2c ("tracing: Add a probe that attaches to trace events")
    Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    rostedt committed Aug 21, 2022
    Copy the full SHA
    2673c60 View commit details
    Browse the repository at this point in the history
  10. ftrace: Fix NULL pointer dereference in is_ftrace_trampoline when ftr…

    …ace is dead
    
    ftrace_startup does not remove ops from ftrace_ops_list when
    ftrace_startup_enable fails:
    
    register_ftrace_function
      ftrace_startup
        __register_ftrace_function
          ...
          add_ftrace_ops(&ftrace_ops_list, ops)
          ...
        ...
        ftrace_startup_enable // if ftrace failed to modify, ftrace_disabled is set to 1
        ...
      return 0 // ops is in the ftrace_ops_list.
    
    When ftrace_disabled = 1, unregister_ftrace_function simply returns without doing anything:
    unregister_ftrace_function
      ftrace_shutdown
        if (unlikely(ftrace_disabled))
                return -ENODEV;  // return here, __unregister_ftrace_function is not executed,
                                 // as a result, ops is still in the ftrace_ops_list
        __unregister_ftrace_function
        ...
    
    If ops is dynamically allocated, it will be free later, in this case,
    is_ftrace_trampoline accesses NULL pointer:
    
    is_ftrace_trampoline
      ftrace_ops_trampoline
        do_for_each_ftrace_op(op, ftrace_ops_list) // OOPS! op may be NULL!
    
    Syzkaller reports as follows:
    [ 1203.506103] BUG: kernel NULL pointer dereference, address: 000000000000010b
    [ 1203.508039] #PF: supervisor read access in kernel mode
    [ 1203.508798] #PF: error_code(0x0000) - not-present page
    [ 1203.509558] PGD 800000011660b067 P4D 800000011660b067 PUD 130fb8067 PMD 0
    [ 1203.510560] Oops: 0000 [#1] SMP KASAN PTI
    [ 1203.511189] CPU: 6 PID: 29532 Comm: syz-executor.2 Tainted: G    B   W         5.10.0 torvalds#8
    [ 1203.512324] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
    [ 1203.513895] RIP: 0010:is_ftrace_trampoline+0x26/0xb0
    [ 1203.514644] Code: ff eb d3 90 41 55 41 54 49 89 fc 55 53 e8 f2 00 fd ff 48 8b 1d 3b 35 5d 03 e8 e6 00 fd ff 48 8d bb 90 00 00 00 e8 2a 81 26 00 <48> 8b ab 90 00 00 00 48 85 ed 74 1d e8 c9 00 fd ff 48 8d bb 98 00
    [ 1203.518838] RSP: 0018:ffffc900012cf960 EFLAGS: 00010246
    [ 1203.520092] RAX: 0000000000000000 RBX: 000000000000007b RCX: ffffffff8a331866
    [ 1203.521469] RDX: 0000000000000000 RSI: 0000000000000008 RDI: 000000000000010b
    [ 1203.522583] RBP: 0000000000000000 R08: 0000000000000000 R09: ffffffff8df18b07
    [ 1203.523550] R10: fffffbfff1be3160 R11: 0000000000000001 R12: 0000000000478399
    [ 1203.524596] R13: 0000000000000000 R14: ffff888145088000 R15: 0000000000000008
    [ 1203.525634] FS:  00007f429f5f4700(0000) GS:ffff8881daf00000(0000) knlGS:0000000000000000
    [ 1203.526801] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [ 1203.527626] CR2: 000000000000010b CR3: 0000000170e1e001 CR4: 00000000003706e0
    [ 1203.528611] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [ 1203.529605] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    
    Therefore, when ftrace_startup_enable fails, we need to rollback registration
    process and remove ops from ftrace_ops_list.
    
    Link: https://lkml.kernel.org/r/20220818032659.56209-1-yangjihong1@huawei.com
    
    Suggested-by: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: Yang Jihong <yangjihong1@huawei.com>
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    Yang Jihong authored and rostedt committed Aug 21, 2022
    Copy the full SHA
    c3b0f72 View commit details
    Browse the repository at this point in the history
  11. tracing/perf: Fix double put of trace event when init fails

    If in perf_trace_event_init(), the perf_trace_event_open() fails, then it
    will call perf_trace_event_unreg() which will not only unregister the perf
    trace event, but will also call the put() function of the tp_event.
    
    The problem here is that the trace_event_try_get_ref() is called by the
    caller of perf_trace_event_init() and if perf_trace_event_init() returns a
    failure, it will then call trace_event_put(). But since the
    perf_trace_event_unreg() already called the trace_event_put() function, it
    triggers a WARN_ON().
    
     WARNING: CPU: 1 PID: 30309 at kernel/trace/trace_dynevent.c:46 trace_event_dyn_put_ref+0x15/0x20
    
    If perf_trace_event_reg() does not call the trace_event_try_get_ref() then
    the perf_trace_event_unreg() should not be calling trace_event_put(). This
    breaks symmetry and causes bugs like these.
    
    Pull out the trace_event_put() from perf_trace_event_unreg() and call it
    in the locations that perf_trace_event_unreg() is called. This not only
    fixes this bug, but also brings back the proper symmetry of the reg/unreg
    vs get/put logic.
    
    Link: https://lore.kernel.org/all/cover.1660347763.git.kjlx@templeofstupid.com/
    Link: https://lkml.kernel.org/r/20220816192817.43d5e17f@gandalf.local.home
    
    Cc: stable@vger.kernel.org
    Fixes: 1d18538 ("tracing: Have dynamic events have a ref counter")
    Reported-by: Krister Johansen <kjlx@templeofstupid.com>
    Reviewed-by: Krister Johansen <kjlx@templeofstupid.com>
    Tested-by: Krister Johansen <kjlx@templeofstupid.com>
    Acked-by: Jiri Olsa <jolsa@kernel.org>
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    rostedt committed Aug 21, 2022
    Copy the full SHA
    7249921 View commit details
    Browse the repository at this point in the history
  12. tracing: React to error return from traceprobe_parse_event_name()

    The function traceprobe_parse_event_name() may set the first two function
    arguments to a non-null value and still return -EINVAL to indicate an
    unsuccessful completion of the function. Hence, it is not sufficient to
    just check the result of the two function arguments for being not null,
    but the return value also needs to be checked.
    
    Commit 95c104c ("tracing: Auto generate event name when creating a
    group of events") changed the error-return-value checking of the second
    traceprobe_parse_event_name() invocation in __trace_eprobe_create() and
    removed checking the return value to jump to the error handling case.
    
    Reinstate using the return value in the error-return-value checking.
    
    Link: https://lkml.kernel.org/r/20220811071734.20700-1-lukas.bulwahn@gmail.com
    
    Fixes: 95c104c ("tracing: Auto generate event name when creating a group of events")
    Acked-by: Linyu Yuan <quic_linyyuan@quicinc.com>
    Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
    Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
    bulwahn authored and rostedt committed Aug 21, 2022
    Copy the full SHA
    d8a6431 View commit details
    Browse the repository at this point in the history
  13. Merge tag 'i2c-for-6.0-rc2' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/wsa/linux
    
    Pull i2c fixes from Wolfram Sang:
     "A revert to fix a regression introduced this merge window and a fix
      for proper error handling in the remove path of the iMX driver"
    
    * tag 'i2c-for-6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
      i2c: imx: Make sure to unregister adapter on remove()
      Revert "i2c: scmi: Replace open coded device_get_match_data()"
    torvalds committed Aug 21, 2022
    Copy the full SHA
    e3f259d View commit details
    Browse the repository at this point in the history
  14. Merge tag '6.0-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/…

    …cifs-2.6
    
    Pull cifs client fixes from Steve French:
    
     - memory leak fix
    
     - two small cleanups
    
     - trivial strlcpy removal
    
     - update missing entry for cifs headers in MAINTAINERS file
    
    * tag '6.0-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
      cifs: move from strlcpy with unused retval to strscpy
      cifs: Fix memory leak on the deferred close
      cifs: remove useless parameter 'is_fsctl' from SMB2_ioctl()
      cifs: remove unused server parameter from calc_smb_size()
      cifs: missing directory in MAINTAINERS file
    torvalds committed Aug 21, 2022
    Copy the full SHA
    367bcbc View commit details
    Browse the repository at this point in the history
  15. asm goto: eradicate CC_HAS_ASM_GOTO

    GCC has supported asm goto since 4.5, and Clang has since version 9.0.0.
    The minimum supported versions of these tools for the build according to
    Documentation/process/changes.rst are 5.1 and 11.0.0 respectively.
    
    Remove the feature detection script, Kconfig option, and clean up some
    fallback code that is no longer supported.
    
    The removed script was also testing for a GCC specific bug that was
    fixed in the 4.7 release.
    
    Also remove workarounds for bpftrace using clang older than 9.0.0, since
    other BPF backend fixes are required at this point.
    
    Link: https://lore.kernel.org/lkml/CAK7LNATSr=BXKfkdW8f-H5VT_w=xBpT2ZQcZ7rm6JfkdE+QnmA@mail.gmail.com/
    Link: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48637
    Acked-by: Borislav Petkov <bp@suse.de>
    Suggested-by: Masahiro Yamada <masahiroy@kernel.org>
    Suggested-by: Alexei Starovoitov <alexei.starovoitov@gmail.com>
    Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
    Reviewed-by: Ingo Molnar <mingo@kernel.org>
    Reviewed-by: Nathan Chancellor <nathan@kernel.org>
    Reviewed-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    nickdesaulniers authored and torvalds committed Aug 21, 2022
    Copy the full SHA
    a0a12c3 View commit details
    Browse the repository at this point in the history
  16. i2c: imx: Make sure to unregister adapter on remove()

    If for whatever reasons pm_runtime_resume_and_get() fails and .remove() is
    exited early, the i2c adapter stays around and the irq still calls its
    handler, while the driver data and the register mapping go away. So if
    later the i2c adapter is accessed or the irq triggers this results in
    havoc accessing freed memory and unmapped registers.
    
    So unregister the software resources even if resume failed, and only skip
    the hardware access in that case.
    
    Fixes: 588eb93 ("i2c: imx: add runtime pm support to improve the performance")
    Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Acked-by: Oleksij Rempel <o.rempel@pengutronix.de>
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    ukleinek authored and Wolfram Sang committed Aug 21, 2022
    Copy the full SHA
    d98bdd3 View commit details
    Browse the repository at this point in the history
  17. Revert "i2c: scmi: Replace open coded device_get_match_data()"

    This reverts commit 9ae551d. We got a
    regression report, so ensure this machine boots again. We will come back
    with a better version hopefully.
    
    Reported-by: Josef Johansson <josef@oderland.se>
    Link: https://lore.kernel.org/r/4d2d5b04-0b6c-1cb1-a63f-dc06dfe1b5da@oderland.se
    Signed-off-by: Wolfram Sang <wsa@kernel.org>
    Wolfram Sang committed Aug 21, 2022
    Copy the full SHA
    3df71d7 View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2022

  1. Merge tag 'kbuild-fixes-v6.0' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/masahiroy/linux-kbuild
    
    Pull Kbuild fixes from Masahiro Yamada:
    
     - Fix module versioning broken on some architectures
    
     - Make dummy-tools enable CONFIG_PPC_LONG_DOUBLE_128
    
     - Remove -Wformat-zero-length, which has no warning instance
    
     - Fix the order between drivers and libs in modules.order
    
     - Fix false-positive warnings in clang-analyzer
    
    * tag 'kbuild-fixes-v6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
      scripts/clang-tools: Remove DeprecatedOrUnsafeBufferHandling check
      kbuild: fix the modules order between drivers and libs
      scripts/Makefile.extrawarn: Do not disable clang's -Wformat-zero-length
      kbuild: dummy-tools: pretend we understand __LONG_DOUBLE_128__
      modpost: fix module versioning when a symbol lacks valid CRC
    torvalds committed Aug 20, 2022
    Copy the full SHA
    15b3f48 View commit details
    Browse the repository at this point in the history
  2. Merge tag 'perf-tools-fixes-for-v6.0-2022-08-19' of git://git.kernel.…

    …org/pub/scm/linux/kernel/git/acme/linux
    
    Pull perf tools fixes from Arnaldo Carvalho de Melo:
    
     - Fix alignment for cpu map masks in event encoding.
    
     - Support reading PERF_FORMAT_LOST, perf tool counterpart for a feature
       that was added in this merge window.
    
     - Sync perf tools copies of kernel headers: socket, msr-index, fscrypt,
       cpufeatures, i915_drm, kvm, vhost, perf_event.
    
    * tag 'perf-tools-fixes-for-v6.0-2022-08-19' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
      perf tools: Support reading PERF_FORMAT_LOST
      libperf: Add a test case for read formats
      libperf: Handle read format in perf_evsel__read()
      tools headers UAPI: Sync linux/perf_event.h with the kernel sources
      tools headers UAPI: Sync x86's asm/kvm.h with the kernel sources
      tools headers UAPI: Sync KVM's vmx.h header with the kernel sources
      tools include UAPI: Sync linux/vhost.h with the kernel sources
      tools headers kvm s390: Sync headers with the kernel sources
      tools headers UAPI: Sync linux/kvm.h with the kernel sources
      tools headers UAPI: Sync drm/i915_drm.h with the kernel sources
      tools headers cpufeatures: Sync with the kernel sources
      tools headers UAPI: Sync linux/fscrypt.h with the kernel sources
      tools arch x86: Sync the msr-index.h copy with the kernel sources
      perf beauty: Update copy of linux/socket.h with the kernel sources
      perf cpumap: Fix alignment for masks in event encoding
      perf cpumap: Compute mask size in constant time
      perf cpumap: Synthetic events and const/static
      perf cpumap: Const map for max()
    torvalds committed Aug 20, 2022
    Copy the full SHA
    16b3d85 View commit details
    Browse the repository at this point in the history
  3. Merge tag 's390-6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/s390/linux
    
    Pull s390 updates from Alexander Gordeev:
    
     - Fix a KVM crash on z12 and older machines caused by a wrong
       assumption that Query AP Configuration Information is always
       available.
    
     - Lower severity of excessive Hypervisor filesystem error messages
       when booting under KVM.
    
    * tag 's390-6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
      s390/ap: fix crash on older machines based on QCI info missing
      s390/hypfs: avoid error message under KVM
    torvalds committed Aug 20, 2022
    Copy the full SHA
    cc1807b View commit details
    Browse the repository at this point in the history
  4. Merge tag 'powerpc-6.0-3' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/powerpc/linux
    
    Pull powerpc fixes from Michael Ellerman:
    
     - Fix atomic sleep warnings at boot due to get_phb_number() taking a
       mutex with a spinlock held on some machines.
    
     - Add missing PMU selftests to .gitignores.
    
    Thanks to Guenter Roeck and Russell Currey.
    
    * tag 'powerpc-6.0-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
      selftests/powerpc: Add missing PMU selftests to .gitignores
      powerpc/pci: Fix get_phb_number() locking
    torvalds committed Aug 20, 2022
    Copy the full SHA
    32dd68f View commit details
    Browse the repository at this point in the history
  5. Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/gi…

    …t/rdma/rdma
    
    Pull rdma fixes from Jason Gunthorpe:
     "A few minor fixes:
    
       - Fix buffer management in SRP to correct a regression with the login
         authentication feature from v5.17
    
       - Don't iterate over non-present ports in mlx5
    
       - Fix an error introduced by the foritify work in cxgb4
    
       - Two bug fixes for the recently merged ERDMA driver
    
       - Unbreak RDMA dmabuf support, a regresion from v5.19"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
      RDMA: Handle the return code from dma_resv_wait_timeout() properly
      RDMA/erdma: Correct the max_qp and max_cq capacities of the device
      RDMA/erdma: Using the key in FMR WR instead of MR structure
      RDMA/cxgb4: fix accept failure due to increased cpl_t5_pass_accept_rpl size
      RDMA/mlx5: Use the proper number of ports
      IB/iser: Fix login with authentication
    torvalds committed Aug 20, 2022
    Copy the full SHA
    f31c32e View commit details
    Browse the repository at this point in the history
  6. scripts/clang-tools: Remove DeprecatedOrUnsafeBufferHandling check

    This `clang-analyzer` check flags the use of memset(), suggesting a more
    secure version of the API, such as memset_s(), which does not exist in
    the kernel:
    
      warning: Call to function 'memset' is insecure as it does not provide
      security checks introduced in the C11 standard. Replace with analogous
      functions that support length arguments or provides boundary checks such
      as 'memset_s' in case of C11
      [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
    
    Signed-off-by: Guru Das Srinagesh <quic_gurus@quicinc.com>
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    Guru Das Srinagesh authored and masahir0y committed Aug 20, 2022
    Copy the full SHA
    4be72c1 View commit details
    Browse the repository at this point in the history
  7. kbuild: fix the modules order between drivers and libs

    Commit b2c8855 ("kbuild: update modules.order only when contained
    modules are updated") accidentally changed the modules order.
    
    Prior to that commit, the modules order was determined based on
    vmlinux-dirs, which lists core-y/m, drivers-y/m, libs-y/m, in this order.
    
    Now, subdir-modorder lists them in a different order: core-y/m, libs-y/m,
    drivers-y/m.
    
    Presumably, there was no practical issue because the modules in drivers
    and libs are orthogonal, but there is no reason to have this distortion.
    
    Get back to the original order.
    
    Fixes: b2c8855 ("kbuild: update modules.order only when contained modules are updated")
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    masahir0y committed Aug 20, 2022
    Copy the full SHA
    1131475 View commit details
    Browse the repository at this point in the history
  8. scripts/Makefile.extrawarn: Do not disable clang's -Wformat-zero-length

    There are no instances of this warning in the tree across several
    difference architectures and configurations. This was added by
    commit 26ea6bb ("kbuild, LLVMLinux: Supress warnings unless W=1-3")
    back in 2014, where it might have been necessary, but there are no
    instances of it now so stop disabling it to increase warning coverage
    for clang.
    
    Signed-off-by: Nathan Chancellor <nathan@kernel.org>
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    nathanchance authored and masahir0y committed Aug 20, 2022
    Copy the full SHA
    370655b View commit details
    Browse the repository at this point in the history
  9. kbuild: dummy-tools: pretend we understand __LONG_DOUBLE_128__

    There is a test in powerpc's Kconfig which checks __LONG_DOUBLE_128__
    and sets CONFIG_PPC_LONG_DOUBLE_128 if it is understood by the compiler.
    
    We currently don't handle it, so this results in PPC_LONG_DOUBLE_128 not
    being in super-config generated by dummy-tools. So take this into
    account in the gcc script and preprocess __LONG_DOUBLE_128__ as "1".
    
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    Jiri Slaby authored and masahir0y committed Aug 20, 2022
    Copy the full SHA
    0df499e View commit details
    Browse the repository at this point in the history
  10. modpost: fix module versioning when a symbol lacks valid CRC

    Since commit 7b45371 ("kbuild: link symbol CRCs at final link,
    removing CONFIG_MODULE_REL_CRCS"), module versioning is broken on
    some architectures. Loading a module fails with "disagrees about
    version of symbol module_layout".
    
    On such architectures (e.g. ARCH=sparc build with sparc64_defconfig),
    modpost shows a warning, like follows:
    
      WARNING: modpost: EXPORT symbol "_mcount" [vmlinux] version generation failed, symbol will not be versioned.
      Is "_mcount" prototyped in <asm/asm-prototypes.h>?
    
    Previously, it was a harmless warning (CRC check was just skipped),
    but now wrong CRCs are used for comparison because invalid CRCs are
    just skipped.
    
      $ sparc64-linux-gnu-nm -n vmlinux
        [snip]
      0000000000c2cea0 r __ksymtab__kstrtol
      0000000000c2ceb8 r __ksymtab__kstrtoul
      0000000000c2ced0 r __ksymtab__local_bh_enable
      0000000000c2cee8 r __ksymtab__mcount
      0000000000c2cf00 r __ksymtab__printk
      0000000000c2cf18 r __ksymtab__raw_read_lock
      0000000000c2cf30 r __ksymtab__raw_read_lock_bh
        [snip]
      0000000000c53b34 D __crc__kstrtol
      0000000000c53b38 D __crc__kstrtoul
      0000000000c53b3c D __crc__local_bh_enable
      0000000000c53b40 D __crc__printk
      0000000000c53b44 D __crc__raw_read_lock
      0000000000c53b48 D __crc__raw_read_lock_bh
    
    Please notice __crc__mcount is missing here.
    
    When the module subsystem looks up a CRC that comes after, it results
    in reading out a wrong address. For example, when __crc__printk is
    needed, the module subsystem reads 0xc53b44 instead of 0xc53b40.
    
    All CRC entries must be output for correct index accessing. Invalid
    CRCs will be unused, but are needed to keep the one-to-one mapping
    between __ksymtab_* and __crc_*.
    
    The best is to fix all modpost warnings, but several warnings are still
    remaining on less popular architectures.
    
    Fixes: 7b45371 ("kbuild: link symbol CRCs at final link, removing CONFIG_MODULE_REL_CRCS")
    Reported-by: matoro <matoro_mailinglist_kernel@matoro.tk>
    Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
    Tested-by: matoro <matoro_mailinglist_kernel@matoro.tk>
    masahir0y committed Aug 20, 2022
    Copy the full SHA
    5b8a9a8 View commit details
    Browse the repository at this point in the history
  11. Merge tag 'block-6.0-2022-08-19' of git://git.kernel.dk/linux-block

    Pull block fixes from Jens Axboe:
     "A few fixes that should go into this release:
    
       - Small series of patches for ublk (ZiyangZhang)
    
       - Remove dead function (Yu)
    
       - Fix for running a block queue in case of resource starvation
         (Yufen)"
    
    * tag 'block-6.0-2022-08-19' of git://git.kernel.dk/linux-block:
      blk-mq: run queue no matter whether the request is the last request
      blk-mq: remove unused function blk_mq_queue_stopped()
      ublk_drv: do not add a re-issued request aborted previously to ioucmd's task_work
      ublk_drv: update comment for __ublk_fail_req()
      ublk_drv: check ubq_daemon_is_dying() in __ublk_rq_task_work()
      ublk_drv: update iod->addr for UBLK_IO_NEED_GET_DATA
    torvalds committed Aug 20, 2022
    Copy the full SHA
    b9bce6e View commit details
    Browse the repository at this point in the history
  12. Merge tag 'io_uring-6.0-2022-08-19' of git://git.kernel.dk/linux-block

    Pull io_uring fixes from Jens Axboe:
     "A few fixes for regressions in this cycle:
    
       - Two instances of using the wrong "has async data" helper (Pavel)
    
       - Fixup zero-copy address import (Pavel)
    
       - Bump zero-copy notification slot limit (Pavel)"
    
    * tag 'io_uring-6.0-2022-08-19' of git://git.kernel.dk/linux-block:
      io_uring/net: use right helpers for async_data
      io_uring/notif: raise limit on notification slots
      io_uring/net: improve zc addr import error handling
      io_uring/net: use right helpers for async recycle
    torvalds committed Aug 20, 2022
    Copy the full SHA
    beaf139 View commit details
    Browse the repository at this point in the history
  13. Merge tag 'ata-6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/dlemoal/libata
    
    Pull ATA fixes from Damien Le Moal:
    
     - Add a missing command name definition for ata_get_cmd_name(), from
       me.
    
     - A fix to address a performance regression due to the default
       max_sectors queue limit for ATA devices connected to AHCI adapters
       being too small, from John.
    
    * tag 'ata-6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
      ata: libata: Set __ATA_BASE_SHT max_sectors
      ata: libata-eh: Add missing command name
    torvalds committed Aug 20, 2022
    Copy the full SHA
    044610f View commit details
    Browse the repository at this point in the history
  14. Merge tag 'mmc-v6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/ulfh/mmc
    
    Pull MMC host fixes from Ulf Hansson:
    
     - meson-gx: Fix error handling in ->probe()
    
     - mtk-sd: Fix a command problem when using cqe off/disable
    
     - pxamci: Fix error handling in ->probe()
    
     - sdhci-of-dwcmshc: Fix broken support for the BlueField-3 variant
    
    * tag 'mmc-v6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
      mmc: sdhci-of-dwcmshc: Re-enable support for the BlueField-3 SoC
      mmc: meson-gx: Fix an error handling path in meson_mmc_probe()
      mmc: mtk-sd: Clear interrupts when cqe off/disable
      mmc: pxamci: Fix another error handling path in pxamci_probe()
      mmc: pxamci: Fix an error handling path in pxamci_probe()
    torvalds committed Aug 20, 2022
    Copy the full SHA
    4d099c3 View commit details
    Browse the repository at this point in the history
  15. ata: libata: Set __ATA_BASE_SHT max_sectors

    Commit 0568e61 ("ata: libata-scsi: cap ata_device->max_sectors
    according to shost->max_sectors") inadvertently capped the max_sectors
    value for some SATA disks to a value which is lower than we would want.
    
    For a device which supports LBA48, we would previously have request queue
    max_sectors_kb and max_hw_sectors_kb values of 1280 and 32767 respectively.
    
    For AHCI controllers, the value chosen for shost max sectors comes from
    the minimum of the SCSI host default max sectors in
    SCSI_DEFAULT_MAX_SECTORS (1024) and the shost DMA device mapping limit.
    
    This means that we would now set the max_sectors_kb and max_hw_sectors_kb
    values for a disk which supports LBA48 at 512, ignoring DMA mapping limit.
    
    As report by Oliver at [0], this caused a performance regression.
    
    Fix by picking a large enough max sectors value for ATA host controllers
    such that we don't needlessly reduce max_sectors_kb for LBA48 disks.
    
    [0] https://lore.kernel.org/linux-ide/YvsGbidf3na5FpGb@xsang-OptiPlex-9020/T/#m22d9fc5ad15af66066dd9fecf3d50f1b1ef11da3
    
    Fixes: 0568e61 ("ata: libata-scsi: cap ata_device->max_sectors according to shost->max_sectors")
    Reported-by: Oliver Sang <oliver.sang@intel.com>
    Signed-off-by: John Garry <john.garry@huawei.com>
    Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
    John Garry authored and Damien Le Moal committed Aug 20, 2022
    Copy the full SHA
    a357f7b View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2022

  1. Merge tag 'execve-v6.0-rc2' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/kees/linux
    
    Pull execve fix from Kees Cook:
    
     - Replace remaining kmap() uses with kmap_local_page() (Fabio M. De
       Francesco)
    
    * tag 'execve-v6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
      exec: Replace kmap{,_atomic}() with kmap_local_page()
    torvalds committed Aug 19, 2022
    Copy the full SHA
    50cd95a View commit details
    Browse the repository at this point in the history
Older