1. 24 Aug, 2023 13 commits
  2. 23 Aug, 2023 6 commits
  3. 22 Aug, 2023 2 commits
  4. 21 Aug, 2023 2 commits
    • Linus Torvalds's avatar
      Merge tag 'v6.5-p3' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · f7757129
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "Fix a regression in the caam driver and af_alg"
      
      * tag 'v6.5-p3' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: fix uninit-value in af_alg_free_resources
        Revert "crypto: caam - adjust RNG timing to support more devices"
      f7757129
    • Linus Torvalds's avatar
      mm: avoid 'might_sleep()' in get_mmap_lock_carefully() · 4542057e
      Linus Torvalds authored
      This might_sleep() goes back a long time: it was originally introduced
      way back when by commit 01006074 ("x86: add might_sleep() to
      do_page_fault()"), and made it into the generic VM code when the x86
      fault path got re-organized and generalized in commit c2508ec5 ("mm:
      introduce new 'lock_mm_and_find_vma()' page fault helper").
      
      However, it turns out that the placement of that might_sleep() has
      always been rather questionable simply because it's not only a debug
      statement to warn about sleeping in contexts that shouldn't sleep (which
      was the original reason for adding it), but it also implies a voluntary
      scheduling point.
      
      That, in turn, is less than desirable for two reasons:
      
       (a) it ends up being done after we successfully got the mmap_lock, so
           just as we got the lock we will now eagerly schedule away and
           increase lock contention
      
      and
      
       (b) this is all very possibly part of the "oops, things went horribly
           wrong" path and we just haven't figured that out yet
      
      After all, the whole _reason_ for having that get_mmap_lock_carefully()
      rather than just doing the obvious mmap_read_lock() is because this code
      wants to deal somewhat gracefully with potential kernel wild pointer
      bugs.
      
      So then a voluntary scheduling point here is simply not a good idea.
      
      We could certainly turn the 'might_sleep()' into a '__might_sleep()' and
      make it be just the debug check that it was originally intended to be.
      
      But even that seems questionable in the wild kernel pointer case - which
      again is part of the whole point of this code.  The problem wouldn't be
      about the _sleeping_ part of the page fault, but about a bad kernel
      access.  The fact that that bad kernel access might happen in a section
      that you shouldn't sleep in is secondary.
      
      So it really ends up being the case that this is simply entirely the
      wrong place to do this debug check and related scheduling point at all.
      
      So let's just remove the check entirely.  It's been around for over a
      decade, it has served its purpose.
      
      The re-schedule will happen at return to user space anyway for the
      normal case, and the warning - if we even need it - might be better off
      done as a special case for "page fault from kernel mode" once we've
      dealt with any potential kernel oopses where the oops is the relevant
      thing, not some artificial "scheduling while atomic" test.
      Reported-by: default avatarMateusz Guzik <mjguzik@gmail.com>
      Link: https://lore.kernel.org/lkml/20230820104303.2083444-1-mjguzik@gmail.com/
      Cc: Matthew Wilcox <willy@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4542057e
  5. 20 Aug, 2023 3 commits
    • Linus Torvalds's avatar
      Linux 6.5-rc7 · 706a7415
      Linus Torvalds authored
      706a7415
    • Linus Torvalds's avatar
      Merge tag 'tty-6.5-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · b320441c
      Linus Torvalds authored
      Pull tty/serial fixes from Greg KH:
       "Here are some small tty and serial core fixes for 6.5-rc7 that resolve
        a lot of reported issues.
      
        Primarily in here are the fixes for the serial bus code from Tony that
        came in -rc1, as it hit wider testing with the huge number of
        different types of systems and serial ports. All of the reported
        issues with duplicate names and other issues with this code are now
        resolved.
      
        Other than that included in here is:
      
         - n_gsm fix for a previous fix
      
         - 8250 lockdep annotation fix
      
         - fsl_lpuart serial driver fix
      
         - TIOCSTI documentation update for previous CAP_SYS_ADMIN change
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'tty-6.5-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        serial: core: Fix serial core port id, including multiport devices
        serial: 8250: drop lockdep annotation from serial8250_clear_IER()
        tty: n_gsm: fix the UAF caused by race condition in gsm_cleanup_mux
        serial: core: Revert port_id use
        TIOCSTI: Document CAP_SYS_ADMIN behaviour in Kconfig
        serial: 8250: Fix oops for port->pm on uart_change_pm()
        serial: 8250: Reinit port_id when adding back serial8250_isa_devs
        serial: core: Fix kmemleak issue for serial core device remove
        MAINTAINERS: Merge TTY layer and serial drivers
        serial: core: Fix serial_base_match() after fixing controller port name
        serial: core: Fix serial core controller port name to show controller id
        serial: core: Fix serial core port id to not use port->line
        serial: core: Controller id cannot be negative
        tty: serial: fsl_lpuart: Clear the error flags by writing 1 for lpuart32 platforms
      b320441c
    • Linus Torvalds's avatar
      Merge tag 'rust-fixes-6.5-rc7' of https://github.com/Rust-for-Linux/linux · ec27a636
      Linus Torvalds authored
      Pull rust fix from Miguel Ojeda:
      
       - Macros: fix 'HAS_*' redefinition by the '#[vtable]' macro
         under conditional compilation
      
      * tag 'rust-fixes-6.5-rc7' of https://github.com/Rust-for-Linux/linux:
        rust: macros: vtable: fix `HAS_*` redefinition (`gen_const_name`)
      ec27a636
  6. 19 Aug, 2023 12 commits
  7. 18 Aug, 2023 2 commits