11 Nov, 2020

12 commits

  • Step 8 of:
    https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86/+/master/BINUTILS_KERNEL_DEPRECATION.md

    x86_64 is blocked on AOSP LLVM not yet containing:
    Link: https://github.com/llvm/llvm-project/commit/3c2a56a857227b6bc39285747269f02cd7a9dbe5

    32b arm is blocked on quite a few different issues:
    Link: https://lore.kernel.org/linux-arm-kernel/CAKwvOdndZRv+_FaNFUBtT=zEPG3mh2cb9vfRFCsU5Dus4zzcEw@mail.gmail.com/

    Bug: 141693040
    Bug: 169938486
    Bug: 171348143
    Bug: 172699078
    Signed-off-by: Nick Desaulniers
    Change-Id: I2d8ca9c8218a2ad96505daa9f029ed5a3bdb3661

    Nick Desaulniers
     
  • Clang's integrated assembler produces the warning for assembly files:

    warning: DWARF2 only supports one section per compilation unit

    If -Wa,-gdwarf-* is unspecified, then debug info is not emitted for
    assembly sources (it is still emitted for C sources). This will be
    re-enabled for newer DWARF versions in a follow up patch.

    Enables defconfig+CONFIG_DEBUG_INFO to build cleanly with
    LLVM=1 LLVM_IAS=1 for x86_64 and arm64.

    Reported-by: Dmitry Golovin
    Reported-by: Nathan Chancellor
    Suggested-by: Dmitry Golovin
    Suggested-by: Nathan Chancellor
    Suggested-by: Sedat Dilek
    Signed-off-by: Nick Desaulniers
    Reviewed-by: Fangrui Song
    Reviewed-by: Nathan Chancellor
    Cc:
    Link: https://github.com/ClangBuiltLinux/linux/issues/716

    Bug: 141693040
    Link: https://lore.kernel.org/lkml/20201109183528.1391885-1-ndesaulniers@google.com/
    Signed-off-by: Nick Desaulniers
    Change-Id: I55c8ad79dfeaae478c8de52d484e76fb2e37c194

    Nick Desaulniers
     
  • Add vendor hook for skipping console flush in cpu hotplug.

    Bug: 165340180
    Change-Id: I167e1595bbb50e57371bfabfde638624761d5f8a
    Signed-off-by: Prasad Sodagudi

    Prasad Sodagudi
     
  • During the cpu hot plug stress testing, couple of messages
    continuous flooding on to the console is causing timers
    migration delay.

    Bug: 165340180
    Change-Id: I18f96613242a7a821ff707bcdaac794ccefd0bba
    Signed-off-by: Prasad Sodagudi

    Prasad Sodagudi
     
  • This config helps address audio buffer underrun issues on arm64 targets.

    Bug: 168521633
    Signed-off-by: J. Avila
    Change-Id: Idd0e71f2cb59c146e38c74c6f973bdc021d0f306

    J. Avila
     
  • Tasklets are supposed to finish their work quickly and
    should not block the current running process, but it is not
    guaranteed that. Currently softirq_entry/exit can be used to
    know total tasklets execution time, but not helpful to track
    individual tasklet's execution time. With that we can't find
    any culprit tasklet function, which is taking more time.

    Add {hi}-tasklet_entry/exit trace point support to track
    individual tasklet execution.

    Bug: 168521633
    Change-Id: I3496d15f64d020916774e673ccb4a8116ea2f2c9
    Signed-off-by: Lingutla Chandrasekhar
    [elavila: Port to mainline]
    Signed-off-by: J. Avila

    Lingutla Chandrasekhar
     
  • Ksfotirqd is a normal priority CFS task. It can experience higher
    scheduling latency under heavy load conditions. Currently once
    asynchronous softirq processing is deferred to ksoftirqd, softirqs
    are not processed further until ksoftirqd task gets a chance to run.
    High latencies for softirqs like TIMER, HI TASKLET is not acceptable.

    So revert 'commit 4cd13c21b207 ("softirq: Let ksoftirqd do its job")'.

    Bug: 168521633
    Change-Id: I38a1a88b5f42dd534c65d739dbb7e4321a7904db
    Signed-off-by: Lingutla Chandrasekhar
    [satyap@codeaurora.org: Fix trivial merge conflicts]
    Signed-off-by: Satya Durga Srinivasu Prabhala
    [elavila: Port to mainline]
    Signed-off-by: J. Avila

    Lingutla Chandrasekhar
     
  • This reverts commit 3c53776e29f81719efcf8f7a6e30cdf753bee94d because it
    makes HI_SOFTIRQ and TASKLET_SOFTIRQ run immediately i.e. not get
    deferred to ksfotirqd. The commit text calls out that this is a stopgap
    until a better solution is deviced and that it should have included
    TIMER_SOFTIRQ as well, but chose not to.

    Patch ebc7b75d772647813cdaf085c7f5adf3c90b033b from Qualcomm is a more
    comprehensive solution which defers long running tasklets to ksfotirqd
    when a rt task is interrupted.

    We cannot use both these together as they conflict; e.g. the original
    makes TASKLET softirq run immediately while the Qualcomm one defers it
    if rt gets interrupted. Choose to use the Qualcomm one.

    Bug: 168521633
    Change-Id: I4af64cd7e2c4291dda5f503bf2d74ede459a76c6
    Signed-off-by: Satya Durga Srinivasu Prabhala
    [elavila: port to mainline, resolve conflicts, add commit text]
    Signed-off-by: J. Avila

    Satya Durga Srinivasu Prabhala
     
  • Defer the softirq processing to ksoftirqd if a RT task is running
    or queued on the current CPU. This complements the RT task placement
    algorithm which tries to find a CPU that is not currently busy with
    softirqs.

    Currently NET_TX, NET_RX, BLOCK and TASKLET softirqs are only deferred
    as they can potentially run for long time.

    Bug: 168521633
    Change-Id: Id7665244af6bbd5a96d9e591cf26154e9eaa860c
    Signed-off-by: Pavankumar Kondeti
    [satyap@codeaurora.org: trivial merge conflict resolution.]
    Signed-off-by: Satya Durga Srinivasu Prabhala
    [elavila: Port to mainline, squash with bugfix]
    Signed-off-by: J. Avila

    Pavankumar Kondeti
     
  • The scheduling change to avoid putting RT threads on cores that
    are handling softint's was catching cases where there was no reason
    to believe the softint would take a long time, resulting in unnecessary
    migration overhead. This patch reduces the migration to cases where
    the core has a softint that is actually likely to take a long time,
    as opposed to the RCU, SCHED, and TIMER softints that are rather quick.

    Bug: 31752786
    Bug: 168521633
    Change-Id: Ib4e179f1e15c736b2fdba31070494e357e9fbbe2
    Signed-off-by: John Dias
    [elavila: Amend commit text for AOSP, port to mainline]
    Signed-off-by: J. Avila

    John Dias
     
  • In certain audio use cases, scheduling RT threads on cores that are
    handling softirqs can lead to glitches. Prevent this behavior.

    Bug: 31501544
    Bug: 168521633
    Change-Id: I99dd7aaa12c11270b28dbabea484bcc8fb8ba0c1
    Signed-off-by: John Dias
    [elavila: Port to mainline, amend commit text]
    Signed-off-by: J. Avila

    John Dias
     
  • This reverts commit e145f7b10374662f03889c2dea0fdc14df7f1371.

    AOSP's distribution of GNU binutils always had a curious target triple
    prefix on the binaries. Now that GNU binutils is deprecated for Android
    Common Kernels, we can now remove this out of tree workaround. Now
    building Android kernels with LLVM matches upstream (see
    Documentation/kbuild/llvm.rst).

    Bug: 118439987
    Bug: 120440614
    Bug: 141693040
    Signed-off-by: Nick Desaulniers
    Change-Id: Iecaa3264a440f795f2f3a44bdf74fe28ad4ed1cc

    Nick Desaulniers
     

10 Nov, 2020

1 commit

  • Enable the use of the hermetic toolchain across all builds of this
    branch. For allmodconfig builds, also allow the use of openssl from the
    host.

    Bug: 157507870
    Change-Id: Iabb1fe4f760f9821df0318934942302ffffade7c
    Signed-off-by: Matthias Maennich

    Matthias Maennich
     

09 Nov, 2020

15 commits

  • Linux 5.10-rc3

    Signed-off-by: Greg Kroah-Hartman
    Change-Id: I7884051ea7b86204b2685b51462368e122ad0772

    Greg Kroah-Hartman
     
  • Linus Torvalds
     
  • Pull driver core documentation fixes from Greg KH:
    "Some small Documentation fixes that were fallout from the larger
    documentation update we did in 5.10-rc2.

    Nothing major here at all, but all of these have been in linux-next
    and resolve build warnings when building the documentation files"

    * tag 'driver-core-5.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    Documentation: remove mic/index from misc-devices/index.rst
    scripts: get_api.pl: Add sub-titles to ABI output
    scripts: get_abi.pl: Don't let ABI files to create subtitles
    docs: leds: index.rst: add a missing file
    docs: ABI: sysfs-class-net: fix a typo
    docs: ABI: sysfs-driver-dma-ioatdma: what starts with /sys

    Linus Torvalds
     
  • Pull tty/serial fixes from Greg KH:
    "Here are a small number of small tty and serial fixes for some
    reported problems for the tty core, vt code, and some serial drivers.

    They include fixes for:

    - a buggy and obsolete vt font ioctl removal

    - 8250_mtk serial baudrate runtime warnings

    - imx serial earlycon build configuration fix

    - txx9 serial driver error path cleanup issues

    - tty core fix in release_tty that can be triggered by trying to bind
    an invalid serial port name to a speakup console device

    Almost all of these have been in linux-next without any problems, the
    only one that hasn't, just deletes code :)"

    * tag 'tty-5.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    vt: Disable KD_FONT_OP_COPY
    tty: fix crash in release_tty if tty->port is not set
    serial: txx9: add missing platform_driver_unregister() on error in serial_txx9_init
    tty: serial: imx: enable earlycon by default if IMX_SERIAL_CONSOLE is enabled
    serial: 8250_mtk: Fix uart_get_baud_rate warning

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are some small USB fixes and new device ids:

    - USB gadget fixes for some reported issues

    - Fixes for the ever-troublesome apple fastcharge driver, hopefully
    we finally have it right.

    - More USB core quirks for odd devices

    - USB serial driver fixes for some long-standing issues that were
    recently found

    - some new USB serial driver device ids

    All have been in linux-next with no reported issues"

    * tag 'usb-5.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    USB: apple-mfi-fastcharge: fix reference leak in apple_mfi_fc_set_property
    usb: mtu3: fix panic in mtu3_gadget_stop()
    USB: serial: option: add Telit FN980 composition 0x1055
    USB: serial: option: add LE910Cx compositions 0x1203, 0x1230, 0x1231
    USB: serial: cyberjack: fix write-URB completion race
    USB: Add NO_LPM quirk for Kingston flash drive
    USB: serial: option: add Quectel EC200T module support
    usb: raw-gadget: fix memory leak in gadget_setup
    usb: dwc2: Avoid leaving the error_debugfs label unused
    usb: dwc3: ep0: Fix delay status handling
    usb: gadget: fsl: fix null pointer checking
    usb: gadget: goku_udc: fix potential crashes in probe
    usb: dwc3: pci: add support for the Intel Alder Lake-S

    Linus Torvalds
     
  • current->group_leader->exit_signal may change during copy_process() if
    current->real_parent exits.

    Move the assignment inside tasklist_lock to avoid the race.

    Signed-off-by: Eddy Wu
    Acked-by: Oleg Nesterov
    Signed-off-by: Linus Torvalds

    Eddy Wu
     
  • It's buggy:

    On Fri, Nov 06, 2020 at 10:30:08PM +0800, Minh Yuan wrote:
    > We recently discovered a slab-out-of-bounds read in fbcon in the latest
    > kernel ( v5.10-rc2 for now ). The root cause of this vulnerability is that
    > "fbcon_do_set_font" did not handle "vc->vc_font.data" and
    > "vc->vc_font.height" correctly, and the patch
    > for VT_RESIZEX can't handle this
    > issue.
    >
    > Specifically, we use KD_FONT_OP_SET to set a small font.data for tty6, and
    > use KD_FONT_OP_SET again to set a large font.height for tty1. After that,
    > we use KD_FONT_OP_COPY to assign tty6's vc_font.data to tty1's vc_font.data
    > in "fbcon_do_set_font", while tty1 retains the original larger
    > height. Obviously, this will cause an out-of-bounds read, because we can
    > access a smaller vc_font.data with a larger vc_font.height.

    Further there was only one user ever.
    - Android's loadfont, busybox and console-tools only ever use OP_GET
    and OP_SET
    - fbset documentation only mentions the kernel cmdline font: option,
    not anything else.
    - systemd used OP_COPY before release 232 published in Nov 2016

    Now unfortunately the crucial report seems to have gone down with
    gmane, and the commit message doesn't say much. But the pull request
    hints at OP_COPY being broken

    https://github.com/systemd/systemd/pull/3651

    So in other words, this never worked, and the only project which
    foolishly every tried to use it, realized that rather quickly too.

    Instead of trying to fix security issues here on dead code by adding
    missing checks, fix the entire thing by removing the functionality.

    Note that systemd code using the OP_COPY function ignored the return
    value, so it doesn't matter what we're doing here really - just in
    case a lone server somewhere happens to be extremely unlucky and
    running an affected old version of systemd. The relevant code from
    font_copy_to_all_vcs() in systemd was:

    /* copy font from active VT, where the font was uploaded to */
    cfo.op = KD_FONT_OP_COPY;
    cfo.height = vcs.v_active-1; /* tty1 == index 0 */
    (void) ioctl(vcfd, KDFONTOP, &cfo);

    Note this just disables the ioctl, garbage collecting the now unused
    callbacks is left for -next.

    v2: Tetsuo found the old mail, which allowed me to find it on another
    archive. Add the link too.

    Acked-by: Peilin Ye
    Reported-by: Minh Yuan
    References: https://lists.freedesktop.org/archives/systemd-devel/2016-June/036935.html
    References: https://github.com/systemd/systemd/pull/3651
    Cc: Greg KH
    Cc: Peilin Ye
    Cc: Tetsuo Handa
    Signed-off-by: Daniel Vetter
    Link: https://lore.kernel.org/r/20201108153806.3140315-1-daniel.vetter@ffwll.ch
    Signed-off-by: Greg Kroah-Hartman

    Daniel Vetter
     
  • Pull xfs fixes from Darrick Wong:

    - Fix an uninitialized struct problem

    - Fix an iomap problem zeroing unwritten EOF blocks

    - Fix some clumsy error handling when writeback fails on filesystems
    with blocksize < pagesize

    - Fix a retry loop not resetting loop variables properly

    - Fix scrub flagging rtinherit inodes on a non-rt fs, since the kernel
    actually does permit that combination

    - Fix excessive page cache flushing when unsharing part of a file

    * tag 'xfs-5.10-fixes-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
    xfs: only flush the unshared range in xfs_reflink_unshare
    xfs: fix scrub flagging rtinherit even if there is no rt device
    xfs: fix missing CoW blocks writeback conversion retry
    iomap: clean up writeback state logic on writepage error
    iomap: support partial page discard on writeback block mapping failure
    xfs: flush new eof page on truncate to avoid post-eof corruption
    xfs: set xefi_discard when creating a deferred agfl free log intent item

    Linus Torvalds
     
  • Merge procfs splice read fixes from Christoph Hellwig:
    "Greg reported a problem due to the fact that Android tests use procfs
    files to test splice, which stopped working with the changes for
    set_fs() removal.

    This series adds read_iter support for seq_file, and uses those for
    various proc files using seq_file to restore splice read support"

    [ Side note: Christoph initially had a scripted "move everything over"
    patch, which looks fine, but I personally would prefer us to actively
    discourage splice() on random files. So this does just the minimal
    basic core set of proc file op conversions.

    For completeness, and in case people care, that script was

    sed -i -e 's/\.proc_read\(\s*=\s*\)seq_read/\.proc_read_iter\1seq_read_iter/g'

    but I'll wait and see if somebody has a strong argument for using
    splice on random small /proc files before I'd run it on the whole
    kernel. - Linus ]

    * emailed patches from Christoph Hellwig :
    proc "seq files": switch to ->read_iter
    proc "single files": switch to ->read_iter
    proc/stat: switch to ->read_iter
    proc/cpuinfo: switch to ->read_iter
    proc: wire up generic_file_splice_read for iter ops
    seq_file: add seq_read_iter

    Linus Torvalds
     
  • Pull x86 fixes from Thomas Gleixner:
    "A set of x86 fixes:

    - Use SYM_FUNC_START_WEAK in the mem* ASM functions instead of a
    combination of .weak and SYM_FUNC_START_LOCAL which makes LLVMs
    integrated assembler upset

    - Correct the mitigation selection logic which prevented the related
    prctl to work correctly

    - Make the UV5 hubless system work correctly by fixing up the
    malformed table entries and adding the missing ones"

    * tag 'x86-urgent-2020-11-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/platform/uv: Recognize UV5 hubless system identifier
    x86/platform/uv: Remove spaces from OEM IDs
    x86/platform/uv: Fix missing OEM_TABLE_ID
    x86/speculation: Allow IBPB to be conditionally enabled on CPUs with always-on STIBP
    x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S

    Linus Torvalds
     
  • Pull perf fix from Thomas Gleixner:
    "A single fix for the perf core plugging a memory leak in the address
    filter parser"

    * tag 'perf-urgent-2020-11-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/core: Fix a memory leak in perf_event_parse_addr_filter()

    Linus Torvalds
     
  • Pull futex fix from Thomas Gleixner:
    "A single fix for the futex code where an intermediate state in the
    underlying RT mutex was not handled correctly and triggering a BUG()
    instead of treating it as another variant of retry condition"

    * tag 'locking-urgent-2020-11-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    futex: Handle transient "ownerless" rtmutex state correctly

    Linus Torvalds
     
  • Pull irq fixes from Thomas Gleixner:
    "A set of fixes for interrupt chip drivers:

    - Fix the fallout of the IPI as interrupt conversion in Kconfig and
    the BCM2836 interrupt chip driver

    - Fixes for interrupt affinity setting and the handling of
    hierarchical irq domains in the SiFive PLIC driver

    - Make the unmapped event handling in the TI SCI driver work
    correctly

    - A few minor fixes and cleanups in various chip drivers and Kconfig"

    * tag 'irq-urgent-2020-11-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    dt-bindings: irqchip: ti, sci-inta: Fix diagram indentation for unmapped events
    irqchip/ti-sci-inta: Add support for unmapped event handling
    dt-bindings: irqchip: ti, sci-inta: Update for unmapped event handling
    irqchip/renesas-intc-irqpin: Merge irlm_bit and needs_irlm
    irqchip/sifive-plic: Fix chip_data access within a hierarchy
    irqchip/sifive-plic: Fix broken irq_set_affinity() callback
    irqchip/stm32-exti: Add all LP timer exti direct events support
    irqchip/bcm2836: Fix missing __init annotation
    irqchip/mips: Drop selection of IRQ_DOMAIN_HIERARCHY
    irqchip/mst: Make mst_intc_of_init static
    irqchip/mst: MST_IRQ should depend on ARCH_MEDIATEK or ARCH_MSTARV7
    genirq: Let GENERIC_IRQ_IPI select IRQ_DOMAIN_HIERARCHY

    Linus Torvalds
     
  • Pull entry code fix from Thomas Gleixner:
    "A single fix for the generic entry code to correct the wrong
    assumption that the lockdep interrupt state needs not to be
    established before calling the RCU check"

    * tag 'core-urgent-2020-11-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    entry: Fix the incorrect ordering of lockdep and RCU check

    Linus Torvalds
     
  • Pull powerpc fixes from Michael Ellerman:

    - fix miscompilation with GCC 4.9 by using asm_goto_volatile for put_user()

    - fix for an RCU splat at boot caused by a recent lockdep change

    - fix for a possible deadlock in our EEH debugfs code

    - several fixes for handling of _PAGE_ACCESSED on 32-bit platforms

    - build fix when CONFIG_NUMA=n

    Thanks to Andreas Schwab, Christophe Leroy, Oliver O'Halloran, Qian Cai,
    and Scott Cheloha.

    * tag 'powerpc-5.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc/numa: Fix build when CONFIG_NUMA=n
    powerpc/8xx: Manage _PAGE_ACCESSED through APG bits in L1 entry
    powerpc/8xx: Always fault when _PAGE_ACCESSED is not set
    powerpc/40x: Always fault when _PAGE_ACCESSED is not set
    powerpc/603: Always fault when _PAGE_ACCESSED is not set
    powerpc: Use asm_goto_volatile for put_user()
    powerpc/smp: Call rcu_cpu_starting() earlier
    powerpc/eeh_cache: Fix a possible debugfs deadlock

    Linus Torvalds
     

08 Nov, 2020

5 commits

  • Pull block fixes from Jens Axboe:

    - NVMe pull request from Christoph:
    - revert a nvme_queue size optimization (Keith Bush)
    - fabrics timeout races fixes (Chao Leng and Sagi Grimberg)"

    - null_blk zone locking fix (Damien)

    * tag 'block-5.10-2020-11-07' of git://git.kernel.dk/linux-block:
    null_blk: Fix scheduling in atomic with zoned mode
    nvme-tcp: avoid repeated request completion
    nvme-rdma: avoid repeated request completion
    nvme-tcp: avoid race between time out and tear down
    nvme-rdma: avoid race between time out and tear down
    nvme: introduce nvme_sync_io_queues
    Revert "nvme-pci: remove last_sq_tail"

    Linus Torvalds
     
  • Pull io_uring fixes from Jens Axboe:
    "A set of fixes for io_uring:

    - SQPOLL cancelation fixes

    - Two fixes for the io_identity COW

    - Cancelation overflow fix (Pavel)

    - Drain request cancelation fix (Pavel)

    - Link timeout race fix (Pavel)"

    * tag 'io_uring-5.10-2020-11-07' of git://git.kernel.dk/linux-block:
    io_uring: fix link lookup racing with link timeout
    io_uring: use correct pointer for io_uring_show_cred()
    io_uring: don't forget to task-cancel drained reqs
    io_uring: fix overflowed cancel w/ linked ->files
    io_uring: drop req/tctx io_identity separately
    io_uring: ensure consistent view of original task ->mm from SQPOLL
    io_uring: properly handle SQPOLL request cancelations
    io-wq: cancel request if it's asking for files and we don't have them

    Linus Torvalds
     
  • Gratian managed to trigger the BUG_ON(!newowner) in fixup_pi_state_owner().
    This is one possible chain of events leading to this:

    Task Prio Operation
    T1 120 lock(F)
    T2 120 lock(F) -> blocks (top waiter)
    T3 50 (RT) lock(F) -> boosts T1 and blocks (new top waiter)
    XX timeout/ -> wakes T2
    signal
    T1 50 unlock(F) -> wakes T3 (rtmutex->owner == NULL, waiter bit is set)
    T2 120 cleanup -> try_to_take_mutex() fails because T3 is the top waiter
    and the lower priority T2 cannot steal the lock.
    -> fixup_pi_state_owner() sees newowner == NULL -> BUG_ON()

    The comment states that this is invalid and rt_mutex_real_owner() must
    return a non NULL owner when the trylock failed, but in case of a queued
    and woken up waiter rt_mutex_real_owner() == NULL is a valid transient
    state. The higher priority waiter has simply not yet managed to take over
    the rtmutex.

    The BUG_ON() is therefore wrong and this is just another retry condition in
    fixup_pi_state_owner().

    Drop the locks, so that T3 can make progress, and then try the fixup again.

    Gratian provided a great analysis, traces and a reproducer. The analysis is
    to the point, but it confused the hell out of that tglx dude who had to
    page in all the futex horrors again. Condensed version is above.

    [ tglx: Wrote comment and changelog ]

    Fixes: c1e2f0eaf015 ("futex: Avoid violating the 10th rule of futex")
    Reported-by: Gratian Crisan
    Signed-off-by: Mike Galbraith
    Signed-off-by: Thomas Gleixner
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/87a6w6x7bb.fsf@ni.com
    Link: https://lore.kernel.org/r/87sg9pkvf7.fsf@nanos.tec.linutronix.de

    Mike Galbraith
     
  • Pull i2c fixes from Wolfram Sang:
    "Driver bugfixes for I2C.

    Most of them are for the new mlxbf driver which got more exposure
    after rc1. The sh_mobile patch should already have reached you during
    the merge window, but I accidently dropped it. However, since it fixes
    a problem with rebooting, it is still fine for rc3"

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: designware: slave should do WRITE_REQUESTED before WRITE_RECEIVED
    i2c: designware: call i2c_dw_read_clear_intrbits_slave() once
    i2c: mlxbf: I2C_MLXBF should depend on MELLANOX_PLATFORM
    i2c: mlxbf: Update author and maintainer email info
    i2c: mlxbf: Update reference clock frequency
    i2c: mlxbf: Remove unecessary wrapper functions
    i2c: mlxbf: Fix resrticted cast warning of sparse
    i2c: mlxbf: Add CONFIG_ACPI to guard ACPI function call
    i2c: sh_mobile: implement atomic transfers
    i2c: mediatek: move dma reset before i2c reset

    Linus Torvalds
     
  • Pull RISC-V fixes from Palmer Dabbelt:

    - SPDX comment style fix

    - ignore memory that is unusable

    - avoid setting a kernel text offset for the !MMU kernels, where
    skipping the first page of memory is both unnecessary and costly

    - avoid passing the flag bits in satp to pfn_to_virt()

    - fix __put_kernel_nofault, where we had the arguments to
    __put_user_nocheck reversed

    - workaround for a bug in the FU540 to avoid triggering PMP issues
    during early boot

    - change to how we pull symbols out of the vDSO. The old mechanism was
    removed from binutils-2.35 (and has been backported to Debian's 2.34)

    * tag 'riscv-for-linus-5.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
    RISC-V: Fix the VDSO symbol generaton for binutils-2.35+
    RISC-V: Use non-PGD mappings for early DTB access
    riscv: uaccess: fix __put_kernel_nofault()
    riscv: fix pfn_to_virt err in do_page_fault().
    riscv: Set text_offset correctly for M-Mode
    RISC-V: Remove any memblock representing unusable memory area
    risc-v: kernel: ftrace: Fixes improper SPDX comment style

    Linus Torvalds
     

07 Nov, 2020

7 commits

  • …it/johan/usb-serial into usb-linus

    Johan writes:

    USB-serial fixes for 5.10-rc3

    Here's a fix for a long-standing issue with the cyberjack driver and
    some new device ids.

    All have been in linux-next with no reported issues.

    * tag 'usb-serial-5.10-rc3' of https://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial:
    USB: serial: option: add Telit FN980 composition 0x1055
    USB: serial: option: add LE910Cx compositions 0x1203, 0x1230, 0x1231
    USB: serial: cyberjack: fix write-URB completion race
    USB: serial: option: add Quectel EC200T module support

    Greg Kroah-Hartman
     
  • As shown through runtime testing, the "filename" allocation is not
    always freed in perf_event_parse_addr_filter().

    There are three possible ways that this could happen:

    - It could be allocated twice on subsequent iterations through the loop,
    - or leaked on the success path,
    - or on the failure path.

    Clean up the code flow to make it obvious that 'filename' is always
    freed in the reallocation path and in the two return paths as well.

    We rely on the fact that kfree(NULL) is NOP and filename is initialized
    with NULL.

    This fixes the leak. No other side effects expected.

    [ Dan Carpenter: cleaned up the code flow & added a changelog. ]
    [ Ingo Molnar: updated the changelog some more. ]

    Fixes: 375637bc5249 ("perf/core: Introduce address range filtering")
    Signed-off-by: "kiyin(尹亮)"
    Signed-off-by: Dan Carpenter
    Signed-off-by: Ingo Molnar
    Cc: "Srivatsa S. Bhat"
    Cc: Anthony Liguori
    --
    kernel/events/core.c | 12 +++++-------
    1 file changed, 5 insertions(+), 7 deletions(-)

    kiyin(尹亮)
     
  • Testing shows a problem in that UV5 hubless systems were not being
    recognized. Add them to the list of OEM IDs checked.

    Fixes: 6c7794423a998 ("Add UV5 direct references")
    Signed-off-by: Mike Travis
    Signed-off-by: Thomas Gleixner
    Link: https://lore.kernel.org/r/20201105222741.157029-4-mike.travis@hpe.com

    Mike Travis
     
  • Testing shows that trailing spaces caused problems with the OEM_ID and
    the OEM_TABLE_ID. One being that the OEM_ID would not string compare
    correctly. Another the OEM_ID and OEM_TABLE_ID would be concatenated
    in the printout. Remove any trailing spaces.

    Fixes: 1e61f5a95f191 ("Add and decode Arch Type in UVsystab")
    Signed-off-by: Mike Travis
    Signed-off-by: Thomas Gleixner
    Link: https://lore.kernel.org/r/20201105222741.157029-3-mike.travis@hpe.com

    Mike Travis
     
  • Testing shows a problem in that the OEM_TABLE_ID was missing for
    hubless systems. This is used to determine the APIC type (legacy or
    extended). Add the OEM_TABLE_ID to the early hubless processing.

    Fixes: 1e61f5a95f191 ("Add and decode Arch Type in UVsystab")
    Signed-off-by: Mike Travis
    Signed-off-by: Thomas Gleixner
    Link: https://lore.kernel.org/r/20201105222741.157029-2-mike.travis@hpe.com

    Mike Travis
     
  • Pull ceph fix from Ilya Dryomov:
    "A fix for a potential stall on umount caused by the MDS dropping our
    REQUEST_CLOSE message. The code that handled this case was
    inadvertently disabled in 5.9, this patch removes it entirely and
    fixes the problem in a way that is consistent with ceph-fuse"

    * tag 'ceph-for-5.10-rc3' of git://github.com/ceph/ceph-client:
    ceph: check session state after bumping session->s_seq

    Linus Torvalds
     
  • …/kernel/git/shuah/linux-kselftest

    Pull Kselftest fixes from Shuah Khan:
    "Fixes to the ftrace test and several fixes from Tommi Rantala for
    various other tests"

    * tag 'linux-kselftest-fixes-5.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
    selftests: binderfs: use SKIP instead of XFAIL
    selftests: clone3: use SKIP instead of XFAIL
    selftests: core: use SKIP instead of XFAIL in close_range_test.c
    selftests: proc: fix warning: _GNU_SOURCE redefined
    selftests: pidfd: drop needless linux/kcmp.h inclusion in pidfd_setns_test.c
    selftests: pidfd: add CONFIG_CHECKPOINT_RESTORE=y to config
    selftests: pidfd: skip test on kcmp() ENOSYS
    selftests: pidfd: use ksft_test_result_skip() when skipping test
    selftests/harness: prettify SKIP message whitespace again
    selftests: pidfd: fix compilation errors due to wait.h
    selftests: filter kselftest headers from command in lib.mk
    selftests/ftrace: check for do_sys_openat2 in user-memory test
    selftests/ftrace: Use $FUNCTION_FORK to reference kernel fork function

    Linus Torvalds