1. 22 Apr, 2022 4 commits
    • Daniel Starke's avatar
      tty: n_gsm: fix software flow control handling · f4f7d632
      Daniel Starke authored
      n_gsm is based on the 3GPP 07.010 and its newer version is the 3GPP 27.010.
      See https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=1516
      The changes from 07.010 to 27.010 are non-functional. Therefore, I refer to
      the newer 27.010 here. Chapter 5.4.8.1 states that XON/XOFF characters
      shall be used instead of Fcon/Fcoff command in advanced option mode to
      handle flow control. Chapter 5.4.8.2 describes how XON/XOFF characters
      shall be handled. Basic option mode only used Fcon/Fcoff commands and no
      XON/XOFF characters. These are treated as data bytes here.
      The current implementation uses the gsm_mux field 'constipated' to handle
      flow control from the remote peer and the gsm_dlci field 'constipated' to
      handle flow control from each DLCI. The later is unrelated to this patch.
      The gsm_mux field is correctly set for Fcon/Fcoff commands in
      gsm_control_message(). However, the same is not true for XON/XOFF
      characters in gsm1_receive().
      Disable software flow control handling in the tty to allow explicit
      handling by n_gsm.
      Add the missing handling in advanced option mode for gsm_mux in
      gsm1_receive() to comply with the standard.
      
      This patch depends on the following commit:
      Commit 8838b2af ("tty: n_gsm: fix SW flow control encoding/handling")
      
      Fixes: e1eaea46 ("tty: n_gsm line discipline")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDaniel Starke <daniel.starke@siemens.com>
      Link: https://lore.kernel.org/r/20220422071025.5490-3-daniel.starke@siemens.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f4f7d632
    • Daniel Starke's avatar
      tty: n_gsm: fix invalid use of MSC in advanced option · c19ffe00
      Daniel Starke authored
      n_gsm is based on the 3GPP 07.010 and its newer version is the 3GPP 27.010.
      See https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=1516
      The changes from 07.010 to 27.010 are non-functional. Therefore, I refer to
      the newer 27.010 here. Chapter 5.4.6.3.7 states that the Modem Status
      Command (MSC) shall only be used if the basic option was chosen.
      The current implementation uses MSC frames even if advanced option was
      chosen to inform the peer about modem line state updates. A standard
      conform peer may choose to discard these frames in advanced option mode.
      Furthermore, gsmtty_modem_update() is not part of the 'tty_operations'
      functions despite its name.
      Rename gsmtty_modem_update() to gsm_modem_update() to clarify this. Split
      its function into gsm_modem_upd_via_data() and gsm_modem_upd_via_msc()
      depending on the encoding and adaption. Introduce gsm_dlci_modem_output()
      as adaption of gsm_dlci_data_output() to encode and queue empty frames in
      advanced option mode. Use it in gsm_modem_upd_via_data().
      gsm_modem_upd_via_msc() is based on the initial gsmtty_modem_update()
      function which used only MSC frames to update modem states.
      
      Fixes: e1eaea46 ("tty: n_gsm line discipline")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDaniel Starke <daniel.starke@siemens.com>
      Link: https://lore.kernel.org/r/20220422071025.5490-2-daniel.starke@siemens.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c19ffe00
    • Daniel Starke's avatar
      tty: n_gsm: fix broken virtual tty handling · a8c5b825
      Daniel Starke authored
      Dynamic virtual tty registration was introduced to allow the user to handle
      these cases with uevent rules. The following commits relate to this:
      Commit 5b87686e ("tty: n_gsm: Modify gsmtty driver register method when config requester")
      Commit 0b91b533 ("tty: n_gsm: Save dlci address open status when config requester")
      Commit 46292622 ("tty: n_gsm: clean up indenting in gsm_queue()")
      
      However, the following behavior can be seen with this implementation:
      - n_gsm ldisc is activated via ioctl
      - all configuration parameters are set to their default value (initiator=0)
      - the mux gets activated and attached and gsmtty0 is being registered in
        in gsm_dlci_open() after DLCI 0 was established (DLCI 0 is the control
        channel)
      - the user configures n_gsm via ioctl GSMIOC_SETCONF as initiator
      - this re-attaches the n_gsm mux
      - no new gsmtty devices are registered in gsmld_attach_gsm() because the
        mux is already active
      - the initiator side registered only the control channel as gsmtty0
        (which should never happen) and no user channel tty
      
      The commits above make it impossible to operate the initiator side as no
      user channel tty is or will be available.
      On the other hand, this behavior will make it also impossible to allow DLCI
      parameter negotiation on responder side in the future. The responder side
      first needs to provide a device for the application before the application
      can set its parameters of the associated DLCI via ioctl.
      Note that the user application is still able to detect a link establishment
      without relaying to uevent by waiting for DTR open on responder side. This
      is the same behavior as on a physical serial interface. And on initiator
      side a tty hangup can be detected if a link establishment request failed.
      
      Revert the commits above completely to always register all user channels
      and no control channel after mux attachment. No other changes are made.
      
      Fixes: 5b87686e ("tty: n_gsm: Modify gsmtty driver register method when config requester")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDaniel Starke <daniel.starke@siemens.com>
      Link: https://lore.kernel.org/r/20220422071025.5490-1-daniel.starke@siemens.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a8c5b825
    • Hui Wang's avatar
      Revert "serial: sc16is7xx: Clear RS485 bits in the shutdown" · 41c60687
      Hui Wang authored
      This reverts commit 927728a3.
      
      Once the uart_port->rs485->flag is set to SER_RS485_ENABLED, the port
      should always work in RS485 mode. If users want the port to leave
      RS485 mode, they need to call ioctl() to clear SER_RS485_ENABLED.
      
      So here we shouldn't clear the RS485 bits in the shutdown().
      
      Fixes: 927728a3 ("serial: sc16is7xx: Clear RS485 bits in the shutdown")
      Signed-off-by: default avatarHui Wang <hui.wang@canonical.com>
      Link: https://lore.kernel.org/r/20220418094339.678144-1-hui.wang@canonical.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      41c60687
  2. 20 Apr, 2022 1 commit
  3. 15 Apr, 2022 19 commits
  4. 11 Apr, 2022 1 commit
  5. 10 Apr, 2022 13 commits
    • Linus Torvalds's avatar
      Merge tag 'tty-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 8b57b304
      Linus Torvalds authored
      Pull serial driver fix from Greg KH:
       "This is a single serial driver fix for a build issue that showed up
        due to changes that came in through the tty tree in 5.18-rc1 that were
        missed previously. It resolves a build error with the mpc52xx_uart
        driver.
      
        It has been in linux-next this week with no reported problems"
      
      * tag 'tty-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: serial: mpc52xx_uart: make rx/tx hooks return unsigned, part II.
      8b57b304
    • Linus Torvalds's avatar
      Merge tag 'staging-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 95aa17c3
      Linus Torvalds authored
      Pull staging driver fix from Greg KH:
       "Here is a single staging driver fix for 5.18-rc2 that resolves an
        endian issue for the r8188eu driver. It has been in linux-next all
        this week with no reported problems"
      
      * tag 'staging-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: r8188eu: Fix PPPoE tag insertion on little endian systems
      95aa17c3
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.18-rc2' of... · 33563138
      Linus Torvalds authored
      Merge tag 'driver-core-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core updates from Greg KH:
       "Here are two small driver core changes for 5.18-rc2.
      
        They are the final bits in the removal of the default_attrs field in
        struct kobj_type. I had to wait until after 5.18-rc1 for all of the
        changes to do this came in through different development trees, and
        then one new user snuck in. So this series has two changes:
      
         - removal of the default_attrs field in the powerpc/pseries/vas code.
      
           The change has been acked by the PPC maintainers to come through
           this tree
      
         - removal of default_attrs from struct kobj_type now that all
           in-kernel users are removed.
      
           This cleans up the kobject code a little bit and removes some
           duplicated functionality that confused people (now there is only
           one way to do default groups)
      
        Both of these have been in linux-next for all of this week with no
        reported problems"
      
      * tag 'driver-core-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        kobject: kobj_type: remove default_attrs
        powerpc/pseries/vas: use default_groups in kobj_type
      33563138
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · f58d3410
      Linus Torvalds authored
      Pull char/misc driver fix from Greg KH:
       "A single driver fix. It resolves the build warning issue on 32bit
        systems in the habannalabs driver that came in during the 5.18-rc1
        merge cycle.
      
        It has been in linux-next for all this week with no reported problems"
      
      * tag 'char-misc-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        habanalabs: Fix test build failures
      f58d3410
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 4ea3c642
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Fix KVM "lost kick" race, where an attempt to pull a vcpu out of the
         guest could be lost (or delayed until the next guest exit).
      
       - Disable SCV (system call vectored) when PR KVM guests could be run.
      
       - Fix KVM PR guests using SCV, by disallowing AIL != 0 for KVM PR
         guests.
      
       - Add a new KVM CAP to indicate if AIL == 3 is supported.
      
       - Fix a regression when hotplugging a CPU to a memoryless/cpuless node.
      
       - Make virt_addr_valid() stricter for 64-bit Book3E & 32-bit, which
         fixes crashes seen due to hardened usercopy.
      
       - Revert a change to max_mapnr which broke HIGHMEM.
      
      Thanks to Christophe Leroy, Fabiano Rosas, Kefeng Wang, Nicholas Piggin,
      and Srikar Dronamraju.
      
      * tag 'powerpc-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        Revert "powerpc: Set max_mapnr correctly"
        powerpc: Fix virt_addr_valid() for 64-bit Book3E & 32-bit
        KVM: PPC: Move kvmhv_on_pseries() into kvm_ppc.h
        powerpc/numa: Handle partially initialized numa nodes
        powerpc/64: Fix build failure with allyesconfig in book3s_64_entry.S
        KVM: PPC: Use KVM_CAP_PPC_AIL_MODE_3
        KVM: PPC: Book3S PR: Disallow AIL != 0
        KVM: PPC: Book3S PR: Disable SCV when AIL could be disabled
        KVM: PPC: Book3S HV P9: Fix "lost kick" race
      4ea3c642
    • Linus Torvalds's avatar
      Merge tag 'irq-urgent-2022-04-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1519610b
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "A set of interrupt chip driver fixes:
      
         - A fix for a long standing bug in the ARM GICv3 redistributor
           polling which uses the wrong bit number to test.
      
         - Prevent translation of bogus ACPI table entries which map device
           interrupts into the IPI space on ARM GICs.
      
         - Don't write into the pending register of ARM GICV4 before the scan
           in hardware has completed.
      
         - A set of build and correctness fixes for the Qualcomm MPM driver"
      
      * tag 'irq-urgent-2022-04-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/gic, gic-v3: Prevent GSI to SGI translations
        irqchip/gic-v3: Fix GICR_CTLR.RWP polling
        irqchip/gic-v4: Wait for GICR_VPENDBASER.Dirty to clear before descheduling
        irqchip/irq-qcom-mpm: fix return value check in qcom_mpm_init()
        irq/qcom-mpm: Fix build error without MAILBOX
      1519610b
    • Linus Torvalds's avatar
      Merge tag 'x86_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9c6913b7
      Linus Torvalds authored
      Pull x86 fixes from Borislav Petkov:
      
       - Fix the MSI message data struct definition
      
       - Use local labels in the exception table macros to avoid symbol
         conflicts with clang LTO builds
      
       - A couple of fixes to objtool checking of the relatively newly added
         SLS and IBT code
      
       - Rename a local var in the WARN* macro machinery to prevent shadowing
      
      * tag 'x86_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/msi: Fix msi message data shadow struct
        x86/extable: Prefer local labels in .set directives
        x86,bpf: Avoid IBT objtool warning
        objtool: Fix SLS validation for kcov tail-call replacement
        objtool: Fix IBT tail-call detection
        x86/bug: Prevent shadowing in __WARN_FLAGS
        x86/mm/tlb: Revert retpoline avoidance approach
      9c6913b7
    • Linus Torvalds's avatar
      Merge tag 'perf_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b51f86e9
      Linus Torvalds authored
      Pull perf fixes from Borislav Petkov:
      
       - A couple of fixes to cgroup-related handling of perf events
      
       - A couple of fixes to event encoding on Sapphire Rapids
      
       - Pass event caps of inherited events so that perf doesn't fail wrongly
         at fork()
      
       - Add support for a new Raptor Lake CPU
      
      * tag 'perf_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/core: Always set cpuctx cgrp when enable cgroup event
        perf/core: Fix perf_cgroup_switch()
        perf/core: Use perf_cgroup_info->active to check if cgroup is active
        perf/core: Don't pass task around when ctx sched in
        perf/x86/intel: Update the FRONTEND MSR mask on Sapphire Rapids
        perf/x86/intel: Don't extend the pseudo-encoding to GP counters
        perf/core: Inherit event_caps
        perf/x86/uncore: Add Raptor Lake uncore support
        perf/x86/msr: Add Raptor Lake CPU support
        perf/x86/cstate: Add Raptor Lake support
        perf/x86: Add Intel Raptor Lake support
      b51f86e9
    • Linus Torvalds's avatar
      Merge tag 'locking_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 50c94de6
      Linus Torvalds authored
      Pull locking fixes from Borislav Petkov:
      
       - Allow the compiler to optimize away unused percpu accesses and change
         the local_lock_* macros back to inline functions
      
       - A couple of fixes to static call insn patching
      
      * tag 'locking_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Revert "mm/page_alloc: mark pagesets as __maybe_unused"
        Revert "locking/local_lock: Make the empty local_lock_*() function a macro."
        x86/percpu: Remove volatile from arch_raw_cpu_ptr().
        static_call: Remove __DEFINE_STATIC_CALL macro
        static_call: Properly initialise DEFINE_STATIC_CALL_RET0()
        static_call: Don't make __static_call_return0 static
        x86,static_call: Fix __static_call_return0 for i386
      50c94de6
    • Linus Torvalds's avatar
      Merge tag 'sched_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7136849e
      Linus Torvalds authored
      Pull scheduler fixes from Borislav Petkov:
      
       - Use the correct static key checking primitive on the IRQ exit path
      
       - Two fixes for the new forceidle balancer
      
      * tag 'sched_urgent_for_v5.18_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        entry: Fix compile error in dynamic_irqentry_exit_cond_resched()
        sched: Teach the forced-newidle balancer about CPU affinity limitation.
        sched/core: Fix forceidle balancing
      7136849e
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v5.18-2022-04-09' of... · 1862a69c
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v5.18-2022-04-09' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools fixes from Arnaldo Carvalho de Melo:
      
       - Fix the clang command line option probing and remove some options to
         filter out, fixing the build with the latest clang versions
      
       - Fix 'perf bench' futex and epoll benchmarks to deal with machines
         with more than 1K CPUs
      
       - Fix 'perf test tsc' error message when not supported
      
       - Remap perf ring buffer if there is no space for event, fixing perf
         usage in 32-bit ChromeOS
      
       - Drop objdump stderr to avoid getting stuck waiting for stdout output
         in 'perf annotate'
      
       - Fix up garbled output by now showing unwind error messages when
         augmenting frame in best effort mode
      
       - Fix perf's libperf_print callback, use the va_args eprintf() variant
      
       - Sync vhost and arm64 cputype headers with the kernel sources
      
       - Fix 'perf report --mem-mode' with ARM SPE
      
       - Add missing external commands ('iiostat', etc) to 'perf --list-cmds'
      
      * tag 'perf-tools-fixes-for-v5.18-2022-04-09' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        perf annotate: Drop objdump stderr to avoid getting stuck waiting for stdout output
        perf tools: Add external commands to list-cmds
        perf docs: Add perf-iostat link to manpages
        perf session: Remap buf if there is no space for event
        perf bench: Fix epoll bench to correct usage of affinity for machines with #CPUs > 1K
        perf bench: Fix futex bench to correct usage of affinity for machines with #CPUs > 1K
        perf tools: Fix perf's libperf_print callback
        perf: arm-spe: Fix perf report --mem-mode
        perf unwind: Don't show unwind error messages when augmenting frame pointer stack
        tools headers arm64: Sync arm64's cputype.h with the kernel sources
        perf test tsc: Fix error message when not supported
        perf build: Don't use -ffat-lto-objects in the python feature test when building with clang-13
        perf python: Fix probing for some clang command line options
        tools build: Filter out options and warnings not supported by clang
        tools build: Use $(shell ) instead of `` to get embedded libperl's ccopts
        tools include UAPI: Sync linux/vhost.h with the kernel sources
      1862a69c
    • Linus Torvalds's avatar
      Merge tag 'cxl+nvdimm-for-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 94a4c2bb
      Linus Torvalds authored
      Pull cxl and nvdimm fixes from Dan Williams:
      
       - Fix a compile error in the nvdimm unit tests
      
       - Fix a shadowed variable warning in the CXL PCI driver
      
      * tag 'cxl+nvdimm-for-5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        cxl/pci: Drop shadowed variable
        tools/testing/nvdimm: Fix security_init() symbol collision
      94a4c2bb
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · fa3b895d
      Linus Torvalds authored
      Pull gpio fix from Bartosz Golaszewski:
      
       - fix a race condition with consumers accessing the fields of GPIO IRQ
         chips before they're fully initialized
      
      * tag 'gpio-fixes-for-v5.18-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: Restrict usage of GPIO chip irq members before initialization
      fa3b895d
  6. 09 Apr, 2022 2 commits
    • Thomas Gleixner's avatar
      Merge tag 'irqchip-fixes-5.18-1' of... · 63ef1a8a
      Thomas Gleixner authored
      Merge tag 'irqchip-fixes-5.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/urgent
      
      Pull irqchip fixes from Marc Zyngier:
      
       - Fix GICv3 polling for RWP in redistributors
      
       - Reject ACPI attempts to use SGIs on GIC/GICv3
      
       - Fix unpredictible behaviour when making a VPE non-resident
         with GICv4
      
       - A couple of fixes for the newly merged qcom-mpm driver
      
      Link: https://lore.kernel.org/lkml/20220409094229.267649-1-maz@kernel.org
      63ef1a8a
    • Ian Rogers's avatar
      perf annotate: Drop objdump stderr to avoid getting stuck waiting for stdout output · 940a445a
      Ian Rogers authored
      If objdump writes to stderr it can block waiting for it to be read. As
      perf doesn't read stderr then progress stops with perf waiting for
      stdout output.
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexandre Truong <alexandre.truong@arm.com>
      Cc: Dave Marchevsky <davemarchevsky@fb.com>
      Cc: Denis Nikitin <denik@chromium.org>
      Cc: German Gomez <german.gomez@arm.com>
      Cc: James Clark <james.clark@arm.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Leo Yan <leo.yan@linaro.org>
      Cc: Lexi Shao <shaolexi@huawei.com>
      Cc: Li Huafei <lihuafei1@huawei.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Martin Liška <mliska@suse.cz>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
      Cc: Michael Petlan <mpetlan@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Ravi Bangoria <ravi.bangoria@amd.com>
      Cc: Remi Bernon <rbernon@codeweavers.com>
      Cc: Riccardo Mancini <rickyman7@gmail.com>
      Cc: Song Liu <songliubraving@fb.com>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Thomas Richter <tmricht@linux.ibm.com>
      Cc: Will Deacon <will@kernel.org>
      Cc: William Cohen <wcohen@redhat.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Link: http://lore.kernel.org/lkml/20220407230503.1265036-2-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      940a445a