Skip to content

Commits

Commits on Jul 6, 2023

  1. Merge tag 'asm-generic-6.5' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/arnd/asm-generic
    
    Pull asm-generic updates from Arnd Bergmann:
     "These are cleanups for architecture specific header files:
    
       - the comments in include/linux/syscalls.h have gone out of sync and
         are really pointless, so these get removed
    
       - The asm/bitsperlong.h header no longer needs to be architecture
         specific on modern compilers, so use a generic version for newer
         architectures that use new enough userspace compilers
    
       - A cleanup for virt_to_pfn/virt_to_bus to have proper type checking,
         forcing the use of pointers"
    
    * tag 'asm-generic-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
      syscalls: Remove file path comments from headers
      tools arch: Remove uapi bitsperlong.h of hexagon and microblaze
      asm-generic: Unify uapi bitsperlong.h for arm64, riscv and loongarch
      m68k/mm: Make pfn accessors static inlines
      arm64: memory: Make virt_to_pfn() a static inline
      ARM: mm: Make virt_to_pfn() a static inline
      asm-generic/page.h: Make pfn accessors static inlines
      xen/netback: Pass (void *) to virt_to_page()
      netfs: Pass a pointer to virt_to_page()
      cifs: Pass a pointer to virt_to_page() in cifsglob
      cifs: Pass a pointer to virt_to_page()
      riscv: mm: init: Pass a pointer to virt_to_page()
      ARC: init: Pass a pointer to virt_to_pfn() in init
      m68k: Pass a pointer to virt_to_pfn() virt_to_page()
      fs/proc/kcore.c: Pass a pointer to virt_addr_valid()
    torvalds committed Jul 6, 2023
    Copy the full SHA
    7b82e90 View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Jun 29, 2023

  1. Merge tag 'slab-for-6.5' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/vbabka/slab
    
    Pull slab updates from Vlastimil Babka:
    
     - SLAB deprecation:
    
       Following the discussion at LSF/MM 2023 [1] and no objections, the
       SLAB allocator is deprecated by renaming the config option (to make
       its users notice) to CONFIG_SLAB_DEPRECATED with updated help text.
       SLUB should be used instead. Existing defconfigs with CONFIG_SLAB are
       also updated.
    
     - SLAB_NO_MERGE kmem_cache flag (Jesper Dangaard Brouer):
    
       There are (very limited) cases where kmem_cache merging is
       undesirable, and existing ways to prevent it are hacky. Introduce a
       new flag to do that cleanly and convert the existing hacky users.
       Btrfs plans to use this for debug kernel builds (that use case is
       always fine), networking for performance reasons (that should be very
       rare).
    
     - Replace the usage of weak PRNGs (David Keisar Schmidt):
    
       In addition to using stronger RNGs for the security related features,
       the code is a bit cleaner.
    
     - Misc code cleanups (SeongJae Parki, Xiongwei Song, Zhen Lei, and
       zhaoxinchao)
    
    Link: https://lwn.net/Articles/932201/ [1]
    
    * tag 'slab-for-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab:
      mm/slab_common: use SLAB_NO_MERGE instead of negative refcount
      mm/slab: break up RCU readers on SLAB_TYPESAFE_BY_RCU example code
      mm/slab: add a missing semicolon on SLAB_TYPESAFE_BY_RCU example code
      mm/slab_common: reduce an if statement in create_cache()
      mm/slab: introduce kmem_cache flag SLAB_NO_MERGE
      mm/slab: rename CONFIG_SLAB to CONFIG_SLAB_DEPRECATED
      mm/slab: remove HAVE_HARDENED_USERCOPY_ALLOCATOR
      mm/slab_common: Replace invocation of weak PRNG
      mm/slab: Replace invocation of weak PRNG
      slub: Don't read nr_slabs and total_objects directly
      slub: Remove slabs_node() function
      slub: Remove CONFIG_SMP defined check
      slub: Put objects_show() into CONFIG_SLUB_DEBUG enabled block
      slub: Correct the error code when slab_kset is NULL
      mm/slab: correct return values in comment for _kmem_cache_create()
    torvalds committed Jun 29, 2023
    Copy the full SHA
    632f54b View commit details
    View at this point in the history
    Browse the repository at this point in the history
  2. Merge tag 'drm-next-2023-06-29' of git://anongit.freedesktop.org/drm/drm

    Pull drm updates from Dave Airlie:
     "There is one set of patches to misc for a i915 gsc/mei proxy driver.
    
      Otherwise it's mostly amdgpu/i915/msm, lots of hw enablement and lots
      of refactoring.
    
      core:
       - replace strlcpy with strscpy
       - EDID changes to support further conversion to struct drm_edid
       - Move i915 DSC parameter code to common DRM helpers
       - Add Colorspace functionality
    
      aperture:
       - ignore framebuffers with non-primary devices
    
      fbdev:
       - use fbdev i/o helpers
       - add Kconfig options for fb_ops helpers
       - use new fb io helpers directly in drivers
    
      sysfs:
       - export DRM connector ID
    
      scheduler:
       - Avoid an infinite loop
    
      ttm:
       - store function table in .rodata
       - Add query for TTM mem limit
       - Add NUMA awareness to pools
       - Export ttm_pool_fini()
    
      bridge:
       - fsl-ldb: support i.MX6SX
       - lt9211, lt9611: remove blanking packets
       - tc358768: implement input bus formats, devm cleanups
       - ti-snd65dsi86: implement wait_hpd_asserted
       - analogix: fix endless probe loop
       - samsung-dsim: support swapped clock, fix enabling, support var
         clock
       - display-connector: Add support for external power supply
       - imx: Fix module linking
       - tc358762: Support reset GPIO
    
      panel:
       - nt36523: Support Lenovo J606F
       - st7703: Support Anbernic RG353V-V2
       - InnoLux G070ACE-L01 support
       - boe-tv101wum-nl6: Improve initialization
       - sharp-ls043t1le001: Mode fixes
       - simple: BOE EV121WXM-N10-1850, S6D7AA0
       - Ampire AM-800480L1TMQW-T00H
       - Rocktech RK043FN48H
       - Starry himax83102-j02
       - Starry ili9882t
    
      amdgpu:
       - add new ctx query flag to handle reset better
       - add new query/set shadow buffer for rdna3
       - DCN 3.2/3.1.x/3.0.x updates
       - Enable DC_FP on loongarch
       - PCIe fix for RDNA2
       - improve DC FAMS/SubVP support for better power management
       - partition support for lots of engines
       - Take NUMA into account when allocating memory
       - Add new DRM_AMDGPU_WERROR config parameter to help with CI
       - Initial SMU13 overdrive support
       - Add support for new colorspace KMS API
       - W=1 fixes
    
      amdkfd:
       - Query TTM mem limit rather than hardcoding it
       - GC 9.4.3 partition support
       - Handle NUMA for partitions
       - Add debugger interface for enabling gdb
       - Add KFD event age tracking
    
      radeon:
       - Fix possible UAF
    
      i915:
       - new getparam for PXP support
       - GSC/MEI proxy driver
       - Meteorlake display enablement
       - avoid clearing preallocated framebuffers with TTM
       - implement framebuffer mmap support
       - Disable sampler indirect state in bindless heap
       - Enable fdinfo for GuC backends
       - GuC loading and firmware table handling fixes
       - Various refactors for multi-tile enablement
       - Define MOCS and PAT tables for MTL
       - GSC/MEI support for Meteorlake
       - PMU multi-tile support
       - Large driver kernel doc cleanup
       - Allow VRR toggling and arbitrary refresh rates
       - Support async flips on linear buffers on display ver 12+
       - Expose CRTC CTM property on ILK/SNB/VLV
       - New debugfs for display clock frequencies
       - Hotplug refactoring
       - Display refactoring
       - I915_GEM_CREATE_EXT_SET_PAT for Mesa on Meteorlake
       - Use large rings for compute contexts
       - HuC loading for MTL
       - Allow user to set cache at BO creation
       - MTL powermanagement enhancements
       - Switch to dedicated workqueues to stop using flush_scheduled_work()
       - Move display runtime init under display/
       - Remove 10bit gamma on desktop gen3 parts, they don't support it
    
      habanalabs:
       - uapi: return 0 for user queries if there was a h/w or f/w error
       - Add pci health check when we lose connection with the firmware.
         This can be used to distinguish between pci link down and firmware
         getting stuck.
       - Add more info to the error print when TPC interrupt occur.
       - Firmware fixes
    
      msm:
       - Adreno A660 bindings
       - SM8350 MDSS bindings fix
       - Added support for DPU on sm6350 and sm6375 platforms
       - Implemented tearcheck support to support vsync on SM150 and newer
         platforms
       - Enabled missing features (DSPP, DSC, split display) on sc8180x,
         sc8280xp, sm8450
       - Added support for DSI and 28nm DSI PHY on MSM8226 platform
       - Added support for DSI on sm6350 and sm6375 platforms
       - Added support for display controller on MSM8226 platform
       - A690 GPU support
       - Move cmdstream dumping out of fence signaling path
       - a610 support
       - Support for a6xx devices without GMU
    
      nouveau:
       - NULL ptr before deref fixes
    
      armada:
       - implement fbdev emulation as client
    
      sun4i:
       - fix mipi-dsi dotclock
       - release clocks
    
      vc4:
       - rgb range toggle property
       - BT601 / BT2020 HDMI support
    
      vkms:
       - convert to drmm helpers
       - add reflection and rotation support
       - fix rgb565 conversion
    
      gma500:
       - fix iomem access
    
      shmobile:
       - support renesas soc platform
       - enable fbdev
    
      mxsfb:
       - Add support for i.MX93 LCDIF
    
      stm:
       - dsi: Use devm_ helper
       - ltdc: Fix potential invalid pointer deref
    
      renesas:
       - Group drivers in renesas subdirectory to prepare for new platform
       - Drop deprecated R-Car H3 ES1.x support
    
      meson:
       - Add support for MIPI DSI displays
    
      virtio:
       - add sync object support
    
      mediatek:
       - Add display binding document for MT6795"
    
    * tag 'drm-next-2023-06-29' of git://anongit.freedesktop.org/drm/drm: (1791 commits)
      drm/i915: Fix a NULL vs IS_ERR() bug
      drm/i915: make i915_drm_client_fdinfo() reference conditional again
      drm/i915/huc: Fix missing error code in intel_huc_init()
      drm/i915/gsc: take a wakeref for the proxy-init-completion check
      drm/msm/a6xx: Add A610 speedbin support
      drm/msm/a6xx: Add A619_holi speedbin support
      drm/msm/a6xx: Use adreno_is_aXYZ macros in speedbin matching
      drm/msm/a6xx: Use "else if" in GPU speedbin rev matching
      drm/msm/a6xx: Fix some A619 tunables
      drm/msm/a6xx: Add A610 support
      drm/msm/a6xx: Add support for A619_holi
      drm/msm/adreno: Disable has_cached_coherent in GMU wrapper configurations
      drm/msm/a6xx: Introduce GMU wrapper support
      drm/msm/a6xx: Move CX GMU power counter enablement to hw_init
      drm/msm/a6xx: Extend and explain UBWC config
      drm/msm/a6xx: Remove both GBIF and RBBM GBIF halt on hw init
      drm/msm/a6xx: Add a helper for software-resetting the GPU
      drm/msm/a6xx: Improve a6xx_bus_clear_pending_transactions()
      drm/msm/a6xx: Move a6xx_bus_clear_pending_transactions to a6xx_gpu
      drm/msm/a6xx: Move force keepalive vote removal to a6xx_gmu_force_off()
      ...
    torvalds committed Jun 29, 2023
    Copy the full SHA
    1b72240 View commit details
    View at this point in the history
    Browse the repository at this point in the history
  3. Merge tag 'gpio-updates-for-v6.5' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/brgl/linux
    
    Pull gpio updates from Bartosz Golaszewski:
     "We have two new drivers, some improvements to the core code, lots of
      different updates to existing GPIO drivers and some dt-bindings on
      top.
    
      There's nothing controversial in here and almost everything has been
      in next for more than a week (95% a lot longer than this). The only
      thing that has spent less time in next is a new driver so no risk of
      regressions.
    
      The single merge pulls in changes that remove all usage of global GPIO
      numbers from arch/arm/mach-omap.
    
      Core GPIO library:
       - remove unused symbols
       - don't spam the kernel log with messages about hogs
       - remove old sysfs API cruft
       - improve handling of GPIO masks
    
      New drivers:
       - add a driver for the BlueField-3 GPIO controller
       - add GPIO support for the TPS65219 PMIC
    
      Driver improvements:
       - extend the gpio-aggregator driver to support ramp-up/ramp-down
         delay
       - remove unnecessary CONFIG_OF guards from gpio-aggregator
       - readability improvements in gpio-tangier
       - switch i2c drivers back to using probe() now that it's been
         converted in the i2c subsystem to not taking the id parameter
       - remove unused inclusions of of_gpio.h in several drivers
       - make pm ops static in gpio-davinci and fix a comment
       - use more devres in drivers to shrink and simplify the code
       - add missing include in gpio-sa1100
       - add HAS_IOPORT KConfig dependency where needed
       - add permissions checks before accessing pins in gpio-tegra186
       - convert the gpio-zynq driver to using immutable irqchips
       - preserve output settings set by the bootloader in gpio-mpc8xxx
    
      Selftests:
       - tweak the variable naming in script tests
    
      Device tree updates:
       - convert gpio-mmio and gpio-stmpe to YAML
       - add parsing of GPIO hogs to gpio-vf610
       - add bindings for the Cirrus EP93xx GPIO controller
       - add gpio-line-names property to the gpio-pca9570 bindings
       - extend the binding for x-powers,axp209 with another block"
    
    * tag 'gpio-updates-for-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (58 commits)
      of: unittest: drop assertions for GPIO hog messages
      gpiolib: Drop unused domain_ops memeber of GPIO IRQ chip
      gpio: synq: remove unused zynq_gpio_irq_reqres/zynq_gpio_irq_relres
      dt-bindings: gpio: gpio-vf610: Add parsing of hogs
      gpio: lpc18xx: Remove unused of_gpio.h inclusion
      gpio: xra1403: Remove unused of_gpio.h inclusion
      gpio: mpc8xxx: Remove unused of_gpio.h inclusion
      dt-bindings: gpio: Add Cirrus EP93xx
      gpio: mpc8xxx: latch GPIOs state on module load when configured as output
      selftests: gpio: gpio-sim: Use same variable name for sysfs pathname
      gpio: mlxbf3: Add gpio driver support
      gpio: delay: Remove duplicative functionality
      gpio: aggregator: Set up a parser of delay line parameters
      gpio: aggregator: Support delay for setting up individual GPIOs
      gpio: aggregator: Remove CONFIG_OF and of_match_ptr() protections
      dt-bindings: gpio: pca9570: add gpio-line-names property
      gpiolib: remove unused gpio_cansleep()
      gpio: tps65219: add GPIO support for TPS65219 PMIC
      gpio: zynq: fix zynqmp_gpio not an immutable chip warning
      gpio: davinci: make davinci_gpio_dev_pm_ops static
      ...
    torvalds committed Jun 29, 2023
    Copy the full SHA
    e5476f5 View commit details
    View at this point in the history
    Browse the repository at this point in the history
  4. Merge branch 'expand-stack'

    This modifies our user mode stack expansion code to always take the
    mmap_lock for writing before modifying the VM layout.
    
    It's actually something we always technically should have done, but
    because we didn't strictly need it, we were being lazy ("opportunistic"
    sounds so much better, doesn't it?) about things, and had this hack in
    place where we would extend the stack vma in-place without doing the
    proper locking.
    
    And it worked fine.  We just needed to change vm_start (or, in the case
    of grow-up stacks, vm_end) and together with some special ad-hoc locking
    using the anon_vma lock and the mm->page_table_lock, it all was fairly
    straightforward.
    
    That is, it was all fine until Ruihan Li pointed out that now that the
    vma layout uses the maple tree code, we *really* don't just change
    vm_start and vm_end any more, and the locking really is broken.  Oops.
    
    It's not actually all _that_ horrible to fix this once and for all, and
    do proper locking, but it's a bit painful.  We have basically three
    different cases of stack expansion, and they all work just a bit
    differently:
    
     - the common and obvious case is the page fault handling. It's actually
       fairly simple and straightforward, except for the fact that we have
       something like 24 different versions of it, and you end up in a maze
       of twisty little passages, all alike.
    
     - the simplest case is the execve() code that creates a new stack.
       There are no real locking concerns because it's all in a private new
       VM that hasn't been exposed to anybody, but lockdep still can end up
       unhappy if you get it wrong.
    
     - and finally, we have GUP and page pinning, which shouldn't really be
       expanding the stack in the first place, but in addition to execve()
       we also use it for ptrace(). And debuggers do want to possibly access
       memory under the stack pointer and thus need to be able to expand the
       stack as a special case.
    
    None of these cases are exactly complicated, but the page fault case in
    particular is just repeated slightly differently many many times.  And
    ia64 in particular has a fairly complicated situation where you can have
    both a regular grow-down stack _and_ a special grow-up stack for the
    register backing store.
    
    So to make this slightly more manageable, the bulk of this series is to
    first create a helper function for the most common page fault case, and
    convert all the straightforward architectures to it.
    
    Thus the new 'lock_mm_and_find_vma()' helper function, which ends up
    being used by x86, arm, powerpc, mips, riscv, alpha, arc, csky, hexagon,
    loongarch, nios2, sh, sparc32, and xtensa.  So we not only convert more
    than half the architectures, we now have more shared code and avoid some
    of those twisty little passages.
    
    And largely due to this common helper function, the full diffstat of
    this series ends up deleting more lines than it adds.
    
    That still leaves eight architectures (ia64, m68k, microblaze, openrisc,
    parisc, s390, sparc64 and um) that end up doing 'expand_stack()'
    manually because they are doing something slightly different from the
    normal pattern.  Along with the couple of special cases in execve() and
    GUP.
    
    So there's a couple of patches that first create 'locked' helper
    versions of the stack expansion functions, so that there's a obvious
    path forward in the conversion.  The execve() case is then actually
    pretty simple, and is a nice cleanup from our old "grow-up stackls are
    special, because at execve time even they grow down".
    
    The #ifdef CONFIG_STACK_GROWSUP in that code just goes away, because
    it's just more straightforward to write out the stack expansion there
    manually, instead od having get_user_pages_remote() do it for us in some
    situations but not others and have to worry about locking rules for GUP.
    
    And the final step is then to just convert the remaining odd cases to a
    new world order where 'expand_stack()' is called with the mmap_lock held
    for reading, but where it might drop it and upgrade it to a write, only
    to return with it held for reading (in the success case) or with it
    completely dropped (in the failure case).
    
    In the process, we remove all the stack expansion from GUP (where
    dropping the lock wouldn't be ok without special rules anyway), and add
    it in manually to __access_remote_vm() for ptrace().
    
    Thanks to Adrian Glaubitz and Frank Scheiner who tested the ia64 cases.
    Everything else here felt pretty straightforward, but the ia64 rules for
    stack expansion are really quite odd and very different from everything
    else.  Also thanks to Vegard Nossum who caught me getting one of those
    odd conditions entirely the wrong way around.
    
    Anyway, I think I want to actually move all the stack expansion code to
    a whole new file of its own, rather than have it split up between
    mm/mmap.c and mm/memory.c, but since this will have to be backported to
    the initial maple tree vma introduction anyway, I tried to keep the
    patches _fairly_ minimal.
    
    Also, while I don't think it's valid to expand the stack from GUP, the
    final patch in here is a "warn if some crazy GUP user wants to try to
    expand the stack" patch.  That one will be reverted before the final
    release, but it's left to catch any odd cases during the merge window
    and release candidates.
    
    Reported-by: Ruihan Li <lrh2000@pku.edu.cn>
    
    * branch 'expand-stack':
      gup: add warning if some caller would seem to want stack expansion
      mm: always expand the stack with the mmap write lock held
      execve: expand new process stack manually ahead of time
      mm: make find_extend_vma() fail if write lock not held
      powerpc/mm: convert coprocessor fault to lock_mm_and_find_vma()
      mm/fault: convert remaining simple cases to lock_mm_and_find_vma()
      arm/mm: Convert to using lock_mm_and_find_vma()
      riscv/mm: Convert to using lock_mm_and_find_vma()
      mips/mm: Convert to using lock_mm_and_find_vma()
      powerpc/mm: Convert to using lock_mm_and_find_vma()
      arm64/mm: Convert to using lock_mm_and_find_vma()
      mm: make the page fault mmap locking killable
      mm: introduce new 'lock_mm_and_find_vma()' page fault helper
    torvalds committed Jun 29, 2023
    Copy the full SHA
    9471f1f View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Jun 28, 2023

  1. Merge tag 'mm-stable-2023-06-24-19-15' of git://git.kernel.org/pub/sc…

    …m/linux/kernel/git/akpm/mm
    
    Pull mm updates from Andrew Morton:
    
     - Yosry Ahmed brought back some cgroup v1 stats in OOM logs
    
     - Yosry has also eliminated cgroup's atomic rstat flushing
    
     - Nhat Pham adds the new cachestat() syscall. It provides userspace
       with the ability to query pagecache status - a similar concept to
       mincore() but more powerful and with improved usability
    
     - Mel Gorman provides more optimizations for compaction, reducing the
       prevalence of page rescanning
    
     - Lorenzo Stoakes has done some maintanance work on the
       get_user_pages() interface
    
     - Liam Howlett continues with cleanups and maintenance work to the
       maple tree code. Peng Zhang also does some work on maple tree
    
     - Johannes Weiner has done some cleanup work on the compaction code
    
     - David Hildenbrand has contributed additional selftests for
       get_user_pages()
    
     - Thomas Gleixner has contributed some maintenance and optimization
       work for the vmalloc code
    
     - Baolin Wang has provided some compaction cleanups,
    
     - SeongJae Park continues maintenance work on the DAMON code
    
     - Huang Ying has done some maintenance on the swap code's usage of
       device refcounting
    
     - Christoph Hellwig has some cleanups for the filemap/directio code
    
     - Ryan Roberts provides two patch series which yield some
       rationalization of the kernel's access to pte entries - use the
       provided APIs rather than open-coding accesses
    
     - Lorenzo Stoakes has some fixes to the interaction between pagecache
       and directio access to file mappings
    
     - John Hubbard has a series of fixes to the MM selftesting code
    
     - ZhangPeng continues the folio conversion campaign
    
     - Hugh Dickins has been working on the pagetable handling code, mainly
       with a view to reducing the load on the mmap_lock
    
     - Catalin Marinas has reduced the arm64 kmalloc() minimum alignment
       from 128 to 8
    
     - Domenico Cerasuolo has improved the zswap reclaim mechanism by
       reorganizing the LRU management
    
     - Matthew Wilcox provides some fixups to make gfs2 work better with the
       buffer_head code
    
     - Vishal Moola also has done some folio conversion work
    
     - Matthew Wilcox has removed the remnants of the pagevec code - their
       functionality is migrated over to struct folio_batch
    
    * tag 'mm-stable-2023-06-24-19-15' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (380 commits)
      mm/hugetlb: remove hugetlb_set_page_subpool()
      mm: nommu: correct the range of mmap_sem_read_lock in task_mem()
      hugetlb: revert use of page_cache_next_miss()
      Revert "page cache: fix page_cache_next/prev_miss off by one"
      mm/vmscan: fix root proactive reclaim unthrottling unbalanced node
      mm: memcg: rename and document global_reclaim()
      mm: kill [add|del]_page_to_lru_list()
      mm: compaction: convert to use a folio in isolate_migratepages_block()
      mm: zswap: fix double invalidate with exclusive loads
      mm: remove unnecessary pagevec includes
      mm: remove references to pagevec
      mm: rename invalidate_mapping_pagevec to mapping_try_invalidate
      mm: remove struct pagevec
      net: convert sunrpc from pagevec to folio_batch
      i915: convert i915_gpu_error to use a folio_batch
      pagevec: rename fbatch_count()
      mm: remove check_move_unevictable_pages()
      drm: convert drm_gem_put_pages() to use a folio_batch
      i915: convert shmem_sg_free_table() to use a folio_batch
      scatterlist: add sg_set_folio()
      ...
    torvalds committed Jun 28, 2023
    Copy the full SHA
    6e17c6d View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Jun 27, 2023

  1. Merge tag 'locking-core-2023-06-27' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull locking updates from Ingo Molnar:
    
     - Introduce cmpxchg128() -- aka. the demise of cmpxchg_double()
    
       The cmpxchg128() family of functions is basically & functionally the
       same as cmpxchg_double(), but with a saner interface.
    
       Instead of a 6-parameter horror that forced u128 - u64/u64-halves
       layout details on the interface and exposed users to complexity,
       fragility & bugs, use a natural 3-parameter interface with u128
       types.
    
     - Restructure the generated atomic headers, and add kerneldoc comments
       for all of the generic atomic{,64,_long}_t operations.
    
       The generated definitions are much cleaner now, and come with
       documentation.
    
     - Implement lock_set_cmp_fn() on lockdep, for defining an ordering when
       taking multiple locks of the same type.
    
       This gets rid of one use of lockdep_set_novalidate_class() in the
       bcache code.
    
     - Fix raw_cpu_generic_try_cmpxchg() bug due to an unintended variable
       shadowing generating garbage code on Clang on certain ARM builds.
    
    * tag 'locking-core-2023-06-27' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (43 commits)
      locking/atomic: scripts: fix ${atomic}_dec_if_positive() kerneldoc
      percpu: Fix self-assignment of __old in raw_cpu_generic_try_cmpxchg()
      locking/atomic: treewide: delete arch_atomic_*() kerneldoc
      locking/atomic: docs: Add atomic operations to the driver basic API documentation
      locking/atomic: scripts: generate kerneldoc comments
      docs: scripts: kernel-doc: accept bitwise negation like ~@var
      locking/atomic: scripts: simplify raw_atomic*() definitions
      locking/atomic: scripts: simplify raw_atomic_long*() definitions
      locking/atomic: scripts: split pfx/name/sfx/order
      locking/atomic: scripts: restructure fallback ifdeffery
      locking/atomic: scripts: build raw_atomic_long*() directly
      locking/atomic: treewide: use raw_atomic*_<op>()
      locking/atomic: scripts: add trivial raw_atomic*_<op>()
      locking/atomic: scripts: factor out order template generation
      locking/atomic: scripts: remove leftover "${mult}"
      locking/atomic: scripts: remove bogus order parameter
      locking/atomic: xtensa: add preprocessor symbols
      locking/atomic: x86: add preprocessor symbols
      locking/atomic: sparc: add preprocessor symbols
      locking/atomic: sh: add preprocessor symbols
      ...
    torvalds committed Jun 27, 2023
    Copy the full SHA
    bc6cb4d View commit details
    View at this point in the history
    Browse the repository at this point in the history
  2. mm: always expand the stack with the mmap write lock held

    This finishes the job of always holding the mmap write lock when
    extending the user stack vma, and removes the 'write_locked' argument
    from the vm helper functions again.
    
    For some cases, we just avoid expanding the stack at all: drivers and
    page pinning really shouldn't be extending any stacks.  Let's see if any
    strange users really wanted that.
    
    It's worth noting that architectures that weren't converted to the new
    lock_mm_and_find_vma() helper function are left using the legacy
    "expand_stack()" function, but it has been changed to drop the mmap_lock
    and take it for writing while expanding the vma.  This makes it fairly
    straightforward to convert the remaining architectures.
    
    As a result of dropping and re-taking the lock, the calling conventions
    for this function have also changed, since the old vma may no longer be
    valid.  So it will now return the new vma if successful, and NULL - and
    the lock dropped - if the area could not be extended.
    
    Tested-by: Vegard Nossum <vegard.nossum@oracle.com>
    Tested-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> # ia64
    Tested-by: Frank Scheiner <frank.scheiner@web.de> # ia64
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Jun 27, 2023
    Copy the full SHA
    8d7071a View commit details
    View at this point in the history
    Browse the repository at this point in the history
  3. Merge tag 'm68k-for-v6.5-tag1' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/geert/linux-m68k
    
    Pull m68k updates from Geert Uytterhoeven:
    
      - miscellaneous NuBus fixes and improvements
    
      - defconfig updates
    
    * tag 'm68k-for-v6.5-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
      m68k: defconfig: Update defconfigs for v6.4-rc1
      nubus: Don't list slot resources by default
      nubus: Remove proc entries before adding them
      nubus: Partially revert proc_create_single_data() conversion
    torvalds committed Jun 27, 2023
    Copy the full SHA
    f810c18 View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Jun 26, 2023

  1. Merge tag 'x86-boot-2023-06-26' of ssh://gitolite.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull x86 boot updates from Thomas Gleixner:
     "Initialize FPU late.
    
      Right now FPU is initialized very early during boot. There is no real
      requirement to do so. The only requirement is to have it done before
      alternatives are patched.
    
      That's done in check_bugs() which does way more than what the function
      name suggests.
    
      So first rename check_bugs() to arch_cpu_finalize_init() which makes
      it clear what this is about.
    
      Move the invocation of arch_cpu_finalize_init() earlier in
      start_kernel() as it has to be done before fork_init() which needs to
      know the FPU register buffer size.
    
      With those prerequisites the FPU initialization can be moved into
      arch_cpu_finalize_init(), which removes it from the early and fragile
      part of the x86 bringup"
    
    * tag 'x86-boot-2023-06-26' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/mem_encrypt: Unbreak the AMD_MEM_ENCRYPT=n build
      x86/fpu: Move FPU initialization into arch_cpu_finalize_init()
      x86/fpu: Mark init functions __init
      x86/fpu: Remove cpuinfo argument from init functions
      x86/init: Initialize signal frame size late
      init, x86: Move mem_encrypt_init() into arch_cpu_finalize_init()
      init: Invoke arch_cpu_finalize_init() earlier
      init: Remove check_bugs() leftovers
      um/cpu: Switch to arch_cpu_finalize_init()
      sparc/cpu: Switch to arch_cpu_finalize_init()
      sh/cpu: Switch to arch_cpu_finalize_init()
      mips/cpu: Switch to arch_cpu_finalize_init()
      m68k/cpu: Switch to arch_cpu_finalize_init()
      loongarch/cpu: Switch to arch_cpu_finalize_init()
      ia64/cpu: Switch to arch_cpu_finalize_init()
      ARM: cpu: Switch to arch_cpu_finalize_init()
      x86/cpu: Switch to arch_cpu_finalize_init()
      init: Provide arch_cpu_finalize_init()
    torvalds committed Jun 26, 2023
    Copy the full SHA
    7cffdbe View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Jun 19, 2023

  1. m68k: allow pte_offset_map[_lock]() to fail

    In rare transient cases, not yet made possible, pte_offset_map() and
    pte_offset_map_lock() may not find a page table: handle appropriately.
    
    Restructure cf_tlb_miss() with a pte_unmap() (previously omitted)
    at label out, followed by one local_irq_restore() for all.
    
    Link: https://lkml.kernel.org/r/795f6a7-bcca-cdf-ad2a-fbdaa232998c@google.com
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Cc: Alexander Gordeev <agordeev@linux.ibm.com>
    Cc: Alexandre Ghiti <alexghiti@rivosinc.com>
    Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
    Cc: Chris Zankel <chris@zankel.net>
    Cc: Claudio Imbrenda <imbrenda@linux.ibm.com>
    Cc: David Hildenbrand <david@redhat.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Cc: Greg Ungerer <gerg@linux-m68k.org>
    Cc: Heiko Carstens <hca@linux.ibm.com>
    Cc: Helge Deller <deller@gmx.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: John David Anglin <dave.anglin@bell.net>
    Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
    Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
    Cc: Max Filippov <jcmvbkbc@gmail.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Michal Simek <monstr@monstr.eu>
    Cc: Mike Kravetz <mike.kravetz@oracle.com>
    Cc: Mike Rapoport (IBM) <rppt@kernel.org>
    Cc: Palmer Dabbelt <palmer@dabbelt.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Qi Zheng <zhengqi.arch@bytedance.com>
    Cc: Russell King <linux@armlinux.org.uk>
    Cc: Suren Baghdasaryan <surenb@google.com>
    Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Hugh Dickins authored and akpm00 committed Jun 19, 2023
    Copy the full SHA
    e67b37c View commit details
    View at this point in the history
    Browse the repository at this point in the history
  2. Backmerge tag 'v6.4-rc7' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/torvalds/linux into drm-next
    
    Linux 6.4-rc7
    
    Need this to pull in the msm work.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    airlied committed Jun 19, 2023
    Copy the full SHA
    cce3b57 View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Jun 16, 2023

  1. m68k/cpu: Switch to arch_cpu_finalize_init()

    check_bugs() is about to be phased out. Switch over to the new
    arch_cpu_finalize_init() implementation.
    
    No functional change.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Link: https://lore.kernel.org/r/20230613224545.254342916@linutronix.de
    Thomas Gleixner committed Jun 16, 2023
    Copy the full SHA
    9ceecc2 View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Jun 13, 2023

  1. gpiolib: remove unused gpio_cansleep()

    There is not a single user in the entire kernel of this deprecated API,
    kill it for good.
    
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Reviewed-by: Yanteng Si <siyanteng@loongson.cn>
    Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
    andy-shev authored and Bartosz Golaszewski committed Jun 13, 2023
    Copy the full SHA
    7d0b806 View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Jun 12, 2023

  1. m68k: defconfig: Update defconfigs for v6.4-rc1

      - Enable modular build of the new DMA pool test,
      - Drop CONFIG_PRINT_QUOTA_WARNING=n (auto-disabled since commit
        36d532d ("quota: mark PRINT_QUOTA_WARNING as BROKEN")),
      - Drop CONFIG_UNIX=y and CONFIG_INET=y (implied by 9P_FS since commit
        d7385ba ("9p: Remove INET dependency")).
    
    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Link: https://lore.kernel.org/r/5a9bc6058c4fab4b57ba45d778956df8ce7e8688.1683548863.git.geert@linux-m68k.org
    geertu committed Jun 12, 2023
    Copy the full SHA
    4055eab View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Jun 9, 2023

  1. cachestat: wire up cachestat for other architectures

    cachestat is previously only wired in for x86 (and architectures using
    the generic unistd.h table):
    
    https://lore.kernel.org/lkml/20230503013608.2431726-1-nphamcs@gmail.com/
    
    This patch wires cachestat in for all the other architectures.
    
    [nphamcs@gmail.com: wire up cachestat for arm64]
      Link: https://lkml.kernel.org/r/20230511092843.3896327-1-nphamcs@gmail.com
    Link: https://lkml.kernel.org/r/20230510195806.2902878-1-nphamcs@gmail.com
    Signed-off-by: Nhat Pham <nphamcs@gmail.com>
    Tested-by: Michael Ellerman <mpe@ellerman.id.au>	[powerpc]
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>	[m68k]
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Heiko Carstens <hca@linux.ibm.com>		[s390]
    Cc: Alexander Gordeev <agordeev@linux.ibm.com>
    Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
    Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
    Cc: Chris Zankel <chris@zankel.net>
    Cc: David S. Miller <davem@davemloft.net>
    Cc: Helge Deller <deller@gmx.de>
    Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
    Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
    Cc: Matt Turner <mattst88@gmail.com>
    Cc: Max Filippov <jcmvbkbc@gmail.com>
    Cc: Michal Simek <monstr@monstr.eu>
    Cc: Nicholas Piggin <npiggin@gmail.com>
    Cc: Richard Henderson <richard.henderson@linaro.org>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Russell King <linux@armlinux.org.uk>
    Cc: Sven Schnelle <svens@linux.ibm.com>
    Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
    Cc: Vasily Gorbik <gor@linux.ibm.com>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    nhatsmrt authored and akpm00 committed Jun 9, 2023
    Copy the full SHA
    946e697 View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Jun 5, 2023

  1. locking/atomic: m68k: add preprocessor symbols

    Some atomics can be implemented in several different ways, e.g.
    FULL/ACQUIRE/RELEASE ordered atomics can be implemented in terms of
    RELAXED atomics, and ACQUIRE/RELEASE/RELAXED can be implemented in terms
    of FULL ordered atomics. Other atomics are optional, and don't exist in
    some configurations (e.g. not all architectures implement the 128-bit
    cmpxchg ops).
    
    Subsequent patches will require that architectures define a preprocessor
    symbol for any atomic (or ordering variant) which is optional. This will
    make the fallback ifdeffery more robust, and simplify future changes.
    
    Add the required definitions to arch/m68k.
    
    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Link: https://lore.kernel.org/r/20230605070124.3741859-9-mark.rutland@arm.com
    Mark Rutland authored and Peter Zijlstra committed Jun 5, 2023
    Copy the full SHA
    e50f06c View commit details
    View at this point in the history
    Browse the repository at this point in the history
  2. locking/atomic: make atomic*_{cmp,}xchg optional

    Most architectures define the atomic/atomic64 xchg and cmpxchg
    operations in terms of arch_xchg and arch_cmpxchg respectfully.
    
    Add fallbacks for these cases and remove the trivial cases from arch
    code. On some architectures the existing definitions are kept as these
    are used to build other arch_atomic*() operations.
    
    Signed-off-by: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Reviewed-by: Kees Cook <keescook@chromium.org>
    Link: https://lore.kernel.org/r/20230605070124.3741859-5-mark.rutland@arm.com
    Mark Rutland authored and Peter Zijlstra committed Jun 5, 2023
    Copy the full SHA
    d12157e View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on May 31, 2023

  1. Merge tag 'virt-to-pfn-for-arch-v6.5-2' of git://git.kernel.org/pub/s…

    …cm/linux/kernel/git/linusw/linux-integrator into asm-generic
    
    This is an attempt to harden the typing on virt_to_pfn()
    and pfn_to_virt().
    
    Making virt_to_pfn() a static inline taking a strongly typed
    (const void *) makes the contract of a passing a pointer of that
    type to the function explicit and exposes any misuse of the
    macro virt_to_pfn() acting polymorphic and accepting many types
    such as (void *), (unitptr_t) or (unsigned long) as arguments
    without warnings.
    
    For symmetry, we do the same with pfn_to_virt().
    
    The problem with this inconsistent typing was pointed out by
    Russell King:
    https://lore.kernel.org/linux-arm-kernel/YoJDKJXc0MJ2QZTb@shell.armlinux.org.uk/
    
    And confirmed by Andrew Morton:
    https://lore.kernel.org/linux-mm/20220701160004.2ffff4e5ab59a55499f4c736@linux-foundation.org/
    
    So the recognition of the problem is widespread.
    
    These platforms have been chosen as initial conversion targets:
    
    - ARM
    - ARM64/Aarch64
    - asm-generic (including for example x86)
    - m68k
    
    The idea is that if this goes in, it will block further misuse
    of the function signatures due to the large compile coverage,
    and then I can go in and fix the remaining architectures on a
    one-by-one basis.
    
    Some of the patches have been circulated before but were not
    picked up by subsystem maintainers, so now the arch tree is
    target for this series.
    
    It has passed zeroday builds after a lot of iterations in my
    personal tree, but there could be some randconfig outliers.
    New added or deeply hidden problems appear all the time so
    some minor fallout can be expected.
    
    * tag 'virt-to-pfn-for-arch-v6.5-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
      m68k/mm: Make pfn accessors static inlines
      arm64: memory: Make virt_to_pfn() a static inline
      ARM: mm: Make virt_to_pfn() a static inline
      asm-generic/page.h: Make pfn accessors static inlines
      xen/netback: Pass (void *) to virt_to_page()
      netfs: Pass a pointer to virt_to_page()
      cifs: Pass a pointer to virt_to_page() in cifsglob
      cifs: Pass a pointer to virt_to_page()
      riscv: mm: init: Pass a pointer to virt_to_page()
      ARC: init: Pass a pointer to virt_to_pfn() in init
      m68k: Pass a pointer to virt_to_pfn() virt_to_page()
      fs/proc/kcore.c: Pass a pointer to virt_addr_valid()
    arndb committed May 31, 2023
    Copy the full SHA
    3b1ddbb View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on May 29, 2023

  1. m68k/mm: Make pfn accessors static inlines

    Making virt_to_pfn() a static inline taking a strongly typed
    (const void *) makes the contract of a passing a pointer of that
    type to the function explicit and exposes any misuse of the
    macro virt_to_pfn() acting polymorphic and accepting many types
    such as (void *), (unitptr_t) or (unsigned long) as arguments
    without warnings.
    
    For symmetry, do the same with pfn_to_virt().
    
    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    linusw committed May 29, 2023
    Copy the full SHA
    ef7d0f5 View commit details
    View at this point in the history
    Browse the repository at this point in the history
  2. m68k: Pass a pointer to virt_to_pfn() virt_to_page()

    Functions that work on a pointer to virtual memory such as
    virt_to_pfn() and users of that function such as
    virt_to_page() are supposed to pass a pointer to virtual
    memory, ideally a (void *) or other pointer. However since
    many architectures implement virt_to_pfn() as a macro,
    this function becomes polymorphic and accepts both a
    (unsigned long) and a (void *).
    
    Fix up the offending calls in arch/m68k with explicit casts.
    
    The page table include <asm/pgtable.h> will include different
    variants of the defines depending on whether you build for
    classic m68k, ColdFire or Sun3, so fix all variants.
    
    Delete Coldfire pte_pagenr() which was using unsigned long
    semantics from __pte_page().
    
    Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    linusw committed May 29, 2023
    Copy the full SHA
    8f24608 View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on May 26, 2023

  1. mm/slab: rename CONFIG_SLAB to CONFIG_SLAB_DEPRECATED

    As discussed at LSF/MM [1] [2] and with no objections raised there,
    deprecate the SLAB allocator. Rename the user-visible option so that
    users with CONFIG_SLAB=y get a new prompt with explanation during make
    oldconfig, while make olddefconfig will just switch to SLUB.
    
    In all defconfigs with CONFIG_SLAB=y remove the line so those also
    switch to SLUB. Regressions due to the switch should be reported to
    linux-mm and slab maintainers.
    
    [1] https://lore.kernel.org/all/4b9fc9c6-b48c-198f-5f80-811a44737e5f@suse.cz/
    [2] https://lwn.net/Articles/932201/
    
    Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
    Acked-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>
    Acked-by: David Rientjes <rientjes@google.com>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> # m68k
    Acked-by: Helge Deller <deller@gmx.de> # parisc
    tehcaster committed May 26, 2023
    Copy the full SHA
    eb07c4f View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on May 22, 2023

  1. m68k: Move signal frame following exception on 68020/030

    On 68030/020, an instruction such as, moveml %a2-%a3/%a5,%sp@- may cause
    a stack page fault during instruction execution (i.e. not at an
    instruction boundary) and produce a format 0xB exception frame.
    
    In this situation, the value of USP will be unreliable.  If a signal is
    to be delivered following the exception, this USP value is used to
    calculate the location for a signal frame.  This can result in a
    corrupted user stack.
    
    The corruption was detected in dash (actually in glibc) where it showed
    up as an intermittent "stack smashing detected" message and crash
    following signal delivery for SIGCHLD.
    
    It was hard to reproduce that failure because delivery of the signal
    raced with the page fault and because the kernel places an unpredictable
    gap of up to 7 bytes between the USP and the signal frame.
    
    A format 0xB exception frame can be produced by a bus error or an
    address error.  The 68030 Users Manual says that address errors occur
    immediately upon detection during instruction prefetch.  The instruction
    pipeline allows prefetch to overlap with other instructions, which means
    an address error can arise during the execution of a different
    instruction.  So it seems likely that this patch may help in the address
    error case also.
    
    Reported-and-tested-by: Stan Johnson <userm57@yahoo.com>
    Link: https://lore.kernel.org/all/CAMuHMdW3yD22_ApemzW_6me3adq6A458u1_F0v-1EYwK_62jPA@mail.gmail.com/
    Cc: Michael Schmitz <schmitzmic@gmail.com>
    Cc: Andreas Schwab <schwab@linux-m68k.org>
    Cc: stable@vger.kernel.org
    Co-developed-by: Michael Schmitz <schmitzmic@gmail.com>
    Signed-off-by: Michael Schmitz <schmitzmic@gmail.com>
    Signed-off-by: Finn Thain <fthain@linux-m68k.org>
    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Link: https://lore.kernel.org/r/9e66262a754fcba50208aa424188896cc52a1dd1.1683365892.git.fthain@linux-m68k.org
    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
    fthain authored and geertu committed May 22, 2023
    Copy the full SHA
    b845b57 View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on May 9, 2023

  1. Merge drm/drm-next into drm-misc-next

    Start the 6.5 release cycle.
    
    Signed-off-by: Maxime Ripard <maxime@cerno.tech>
    mripard committed May 9, 2023
    Copy the full SHA
    ff32fcc View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on May 5, 2023

  1. Merge tag 'locking-core-2023-05-05' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull locking updates from Ingo Molnar:
    
     - Introduce local{,64}_try_cmpxchg() - a slightly more optimal
       primitive, which will be used in perf events ring-buffer code
    
     - Simplify/modify rwsems on PREEMPT_RT, to address writer starvation
    
     - Misc cleanups/fixes
    
    * tag 'locking-core-2023-05-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      locking/atomic: Correct (cmp)xchg() instrumentation
      locking/x86: Define arch_try_cmpxchg_local()
      locking/arch: Wire up local_try_cmpxchg()
      locking/generic: Wire up local{,64}_try_cmpxchg()
      locking/atomic: Add generic try_cmpxchg{,64}_local() support
      locking/rwbase: Mitigate indefinite writer starvation
      locking/arch: Rename all internal __xchg() names to __arch_xchg()
    torvalds committed May 5, 2023
    Copy the full SHA
    b115d85 View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Apr 29, 2023

  1. locking/arch: Rename all internal __xchg() names to __arch_xchg()

    Decrease the probability of this internal facility to be used by
    driver code.
    
    Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> [m68k]
    Acked-by: Palmer Dabbelt <palmer@rivosinc.com> [riscv]
    Link: https://lore.kernel.org/r/20230118154450.73842-1-andrzej.hajda@intel.com
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    ahajda authored and Ingo Molnar committed Apr 29, 2023
    Copy the full SHA
    0685506 View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Apr 28, 2023

  1. Merge tag 'm68knommu-for-v6.4' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/gerg/m68knommu
    
    Pull m68knommu updates from Greg Ungerer:
     "A couple of minor changes.
    
      One to remove the long dead uclinux.org web address and email list
      from the MAINTAINERS entry for UCLINUX.
    
      The other to remove dead config options in the m68knommu Kconfig"
    
    * tag 'm68knommu-for-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
      m68k: Kconfig.machine: remove obsolete configs ROMBASE and ROMSIZE
      MAINTAINERS: drop uclinux.org
    torvalds committed Apr 28, 2023
    Copy the full SHA
    b23c137 View commit details
    View at this point in the history
    Browse the repository at this point in the history
  2. Merge tag 'mm-stable-2023-04-27-15-30' of git://git.kernel.org/pub/sc…

    …m/linux/kernel/git/akpm/mm
    
    Pull MM updates from Andrew Morton:
    
     - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of
       switching from a user process to a kernel thread.
    
     - More folio conversions from Kefeng Wang, Zhang Peng and Pankaj
       Raghav.
    
     - zsmalloc performance improvements from Sergey Senozhatsky.
    
     - Yue Zhao has found and fixed some data race issues around the
       alteration of memcg userspace tunables.
    
     - VFS rationalizations from Christoph Hellwig:
         - removal of most of the callers of write_one_page()
         - make __filemap_get_folio()'s return value more useful
    
     - Luis Chamberlain has changed tmpfs so it no longer requires swap
       backing. Use `mount -o noswap'.
    
     - Qi Zheng has made the slab shrinkers operate locklessly, providing
       some scalability benefits.
    
     - Keith Busch has improved dmapool's performance, making part of its
       operations O(1) rather than O(n).
    
     - Peter Xu adds the UFFD_FEATURE_WP_UNPOPULATED feature to userfaultd,
       permitting userspace to wr-protect anon memory unpopulated ptes.
    
     - Kirill Shutemov has changed MAX_ORDER's meaning to be inclusive
       rather than exclusive, and has fixed a bunch of errors which were
       caused by its unintuitive meaning.
    
     - Axel Rasmussen give userfaultfd the UFFDIO_CONTINUE_MODE_WP feature,
       which causes minor faults to install a write-protected pte.
    
     - Vlastimil Babka has done some maintenance work on vma_merge():
       cleanups to the kernel code and improvements to our userspace test
       harness.
    
     - Cleanups to do_fault_around() by Lorenzo Stoakes.
    
     - Mike Rapoport has moved a lot of initialization code out of various
       mm/ files and into mm/mm_init.c.
    
     - Lorenzo Stoakes removd vmf_insert_mixed_prot(), which was added for
       DRM, but DRM doesn't use it any more.
    
     - Lorenzo has also coverted read_kcore() and vread() to use iterators
       and has thereby removed the use of bounce buffers in some cases.
    
     - Lorenzo has also contributed further cleanups of vma_merge().
    
     - Chaitanya Prakash provides some fixes to the mmap selftesting code.
    
     - Matthew Wilcox changes xfs and afs so they no longer take sleeping
       locks in ->map_page(), a step towards RCUification of pagefaults.
    
     - Suren Baghdasaryan has improved mmap_lock scalability by switching to
       per-VMA locking.
    
     - Frederic Weisbecker has reworked the percpu cache draining so that it
       no longer causes latency glitches on cpu isolated workloads.
    
     - Mike Rapoport cleans up and corrects the ARCH_FORCE_MAX_ORDER Kconfig
       logic.
    
     - Liu Shixin has changed zswap's initialization so we no longer waste a
       chunk of memory if zswap is not being used.
    
     - Yosry Ahmed has improved the performance of memcg statistics
       flushing.
    
     - David Stevens has fixed several issues involving khugepaged,
       userfaultfd and shmem.
    
     - Christoph Hellwig has provided some cleanup work to zram's IO-related
       code paths.
    
     - David Hildenbrand has fixed up some issues in the selftest code's
       testing of our pte state changing.
    
     - Pankaj Raghav has made page_endio() unneeded and has removed it.
    
     - Peter Xu contributed some rationalizations of the userfaultfd
       selftests.
    
     - Yosry Ahmed has fixed an issue around memcg's page recalim
       accounting.
    
     - Chaitanya Prakash has fixed some arm-related issues in the
       selftests/mm code.
    
     - Longlong Xia has improved the way in which KSM handles hwpoisoned
       pages.
    
     - Peter Xu fixes a few issues with uffd-wp at fork() time.
    
     - Stefan Roesch has changed KSM so that it may now be used on a
       per-process and per-cgroup basis.
    
    * tag 'mm-stable-2023-04-27-15-30' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (369 commits)
      mm,unmap: avoid flushing TLB in batch if PTE is inaccessible
      shmem: restrict noswap option to initial user namespace
      mm/khugepaged: fix conflicting mods to collapse_file()
      sparse: remove unnecessary 0 values from rc
      mm: move 'mmap_min_addr' logic from callers into vm_unmapped_area()
      hugetlb: pte_alloc_huge() to replace huge pte_alloc_map()
      maple_tree: fix allocation in mas_sparse_area()
      mm: do not increment pgfault stats when page fault handler retries
      zsmalloc: allow only one active pool compaction context
      selftests/mm: add new selftests for KSM
      mm: add new KSM process and sysfs knobs
      mm: add new api to enable ksm per process
      mm: shrinkers: fix debugfs file permissions
      mm: don't check VMA write permissions if the PTE/PMD indicates write permissions
      migrate_pages_batch: fix statistics for longterm pin retry
      userfaultfd: use helper function range_in_vma()
      lib/show_mem.c: use for_each_populated_zone() simplify code
      mm: correct arg in reclaim_pages()/reclaim_clean_pages_from_list()
      fs/buffer: convert create_page_buffers to folio_create_buffers
      fs/buffer: add folio_create_empty_buffers helper
      ...
    torvalds committed Apr 28, 2023
    Copy the full SHA
    7fa8a8e View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Apr 26, 2023

  1. Merge tag 'gpio-updates-for-v6.4' of git://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/brgl/linux
    
    Pull gpio updates from Bartosz Golaszewski:
     "We have some new drivers, significant refactoring of existing intel
      platforms, lots of improvements all around, mass conversion to using
      immutable irqchips by drivers that had not been converted individually
      yet and some changes in the core library code.
    
      Summary:
    
      New drivers:
       - add a driver for the Loongson GPIO controller
       - add a driver for the fxl6408 I2C GPIO expander
       - add a GPIO module containing code common for Intel Elkhart Lake and
         Merrifield platforms
       - add a driver for the Intel Elkhart Lake platform reusing the code
         from the intel tangier library
    
      GPIOLIB core:
       - GPIO ACPI improvements
       - simplify gpiochip_add_data_with_keys() fwnode handling
       - cleanup header inclusions (remove unneeded ones, order the rest
         alphabetically)
       - remove duplicate code (reuse krealloc() instead of open-coding it,
         drop a duplicated check in gpiod_find_and_request())
       - reshuffle the code to remove unnecessary forward declarations
       - coding style cleanups and improvements
       - add a helper for accessing device fwnodes
       - small updates in docs
    
      Driver improvements:
       - convert all remaining GPIO irqchip drivers to using immutable
         irqchips
       - drop unnecessary of_match_ptr() macro expansions
       - shrink the code in gpio-merrifield significantly by reusing the
         code from gpio-tangier + minor tweaks to the driver code
       - remove MODULE_LICENSE() from drivers that can only be built-in
       - add device-tree support to gpio-loongson1
       - use new regmap features in gpio-104-dio-48e and gpio-pcie-idio-24
       - minor tweaks and fixes to gpio-xra1403, gpio-sim, gpio-tegra194,
         gpio-omap, gpio-aspeed, gpio-raspberrypi-exp
       - shrink code in gpio-ich and gpio-pxa
       - Kconfig tweak for gpio-pmic-eic-sprd"
    
    * tag 'gpio-updates-for-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (99 commits)
      gpio: gpiolib: Simplify gpiochip_add_data_with_key() fwnode
      gpiolib: Add gpiochip_set_data() helper
      gpiolib: Move gpiochip_get_data() higher in the code
      gpiolib: Check array_info for NULL only once in gpiod_get_array()
      gpiolib: Replace open coded krealloc()
      gpiolib: acpi: Add a ignore wakeup quirk for Clevo NL5xNU
      gpiolib: acpi: Move ACPI device NULL check to acpi_get_driver_gpio_data()
      gpiolib: acpi: use the fwnode in acpi_gpiochip_find()
      gpio: mm-lantiq: Fix typo in the newly added header filename
      sh: mach-x3proto: Add missing #include <linux/gpio/driver.h>
      powerpc/40x: Add missing select OF_GPIO_MM_GPIOCHIP
      gpio: xlp: Convert to immutable irq_chip
      gpio: xilinx: Convert to immutable irq_chip
      gpio: xgs-iproc: Convert to immutable irq_chip
      gpio: visconti: Convert to immutable irq_chip
      gpio: tqmx86: Convert to immutable irq_chip
      gpio: thunderx: Convert to immutable irq_chip
      gpio: stmpe: Convert to immutable irq_chip
      gpio: siox: Convert to immutable irq_chip
      gpio: rda: Convert to immutable irq_chip
      ...
    torvalds committed Apr 26, 2023
    Copy the full SHA
    2c96606 View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Apr 25, 2023

  1. Merge tag 'asm-generic-6.4' of git://git.kernel.org/pub/scm/linux/ker…

    …nel/git/arnd/asm-generic
    
    Pull asm-generic updates from Arnd Bergmann:
     "These are various cleanups, fixing a number of uapi header files to no
      longer reference CONFIG_* symbols, and one patch that introduces the
      new CONFIG_HAS_IOPORT symbol for architectures that provide working
      inb()/outb() macros, as a preparation for adding driver dependencies
      on those in the following release"
    
    * tag 'asm-generic-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
      Kconfig: introduce HAS_IOPORT option and select it as necessary
      scripts: Update the CONFIG_* ignore list in headers_install.sh
      pktcdvd: Remove CONFIG_CDROM_PKTCDVD_WCACHE from uapi header
      Move bp_type_idx to include/linux/hw_breakpoint.h
      Move ep_take_care_of_epollwakeup() to fs/eventpoll.c
      Move COMPAT_ATM_ADDPARTY to net/atm/svc.c
    torvalds committed Apr 25, 2023
    Copy the full SHA
    53b5e72 View commit details
    View at this point in the history
    Browse the repository at this point in the history
  2. Merge tag 'm68k-for-v6.4-tag1' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/geert/linux-m68k
    
    Pull m68k updates from Geert Uytterhoeven:
    
     - defconfig updates
    
     - miscellaneous fixes and improvements
    
    * tag 'm68k-for-v6.4-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
      m68k: kexec: Include <linux/reboot.h>
      m68k: defconfig: Update defconfigs for v6.3-rc1
      m68k: Remove obsolete config NO_KERNEL_MSG
      nubus: Drop noop match function
    torvalds committed Apr 25, 2023
    Copy the full SHA
    f730127 View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Apr 24, 2023

  1. Merge tag 'docs-6.4' of git://git.lwn.net/linux

    Pull documentation updates from Jonathan Corbet:
     "Commit volume in documentation is relatively low this time, but there
      is still a fair amount going on, including:
    
       - Reorganize the architecture-specific documentation under
         Documentation/arch
    
         This makes the structure match the source directory and helps to
         clean up the mess that is the top-level Documentation directory a
         bit. This work creates the new directory and moves x86 and most of
         the less-active architectures there.
    
         The current plan is to move the rest of the architectures in 6.5,
         with the patches going through the appropriate subsystem trees.
    
       - Some more Spanish translations and maintenance of the Italian
         translation
    
       - A new "Kernel contribution maturity model" document from Ted
    
       - A new tutorial on quickly building a trimmed kernel from Thorsten
    
      Plus the usual set of updates and fixes"
    
    * tag 'docs-6.4' of git://git.lwn.net/linux: (47 commits)
      media: Adjust column width for pdfdocs
      media: Fix building pdfdocs
      docs: clk: add documentation to log which clocks have been disabled
      docs: trace: Fix typo in ftrace.rst
      Documentation/process: always CC responsible lists
      docs: kmemleak: adjust to config renaming
      ELF: document some de-facto PT_* ABI quirks
      Documentation: arm: remove stih415/stih416 related entries
      docs: turn off "smart quotes" in the HTML build
      Documentation: firmware: Clarify firmware path usage
      docs/mm: Physical Memory: Fix grammar
      Documentation: Add document for false sharing
      dma-api-howto: typo fix
      docs: move m68k architecture documentation under Documentation/arch/
      docs: move parisc documentation under Documentation/arch/
      docs: move ia64 architecture docs under Documentation/arch/
      docs: Move arc architecture docs under Documentation/arch/
      docs: move nios2 documentation under Documentation/arch/
      docs: move openrisc documentation under Documentation/arch/
      docs: move superh documentation under Documentation/arch/
      ...
    torvalds committed Apr 24, 2023
    Copy the full SHA
    c23f289 View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Apr 21, 2023

  1. m68k: kexec: Include <linux/reboot.h>

    Include reboot.h in machine_kexec.c for declaration of
    machine_crash_shutdown and machine_shutdown.
    
    gcc-12 with W=1 reports:
    
     arch/m68k/kernel/machine_kexec.c:26:6: warning: no previous prototype for 'machine_shutdown' [-Wmissing-prototypes]
        26 | void machine_shutdown(void)
           |      ^~~~~~~~~~~~~~~~
     arch/m68k/kernel/machine_kexec.c:30:6: warning: no previous prototype for 'machine_crash_shutdown' [-Wmissing-prototypes]
        30 | void machine_crash_shutdown(struct pt_regs *regs)
           |      ^~~~~~~~~~~~~~~~~~~~~~
    
    No functional changes intended.
    Compile tested only.
    
    Signed-off-by: Simon Horman <horms@kernel.org>
    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Link: https://lore.kernel.org/r/20230421-m68k-kexec-include-reboot-v1-1-7552963a0f25@kernel.org
    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
    horms authored and geertu committed Apr 21, 2023
    Copy the full SHA
    aaee8c7 View commit details
    View at this point in the history
    Browse the repository at this point in the history

Commits on Apr 20, 2023

  1. arch/m68k: Implement <asm/fb.h> with generic helpers

    Replace the architecture's fb_is_primary_device() with the generic
    one from <asm-generic/fb.h>. No functional changes.
    
    v2:
    	* provide empty fb_pgprotect() on non-MMU systems
    
    Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
    Cc: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Helge Deller <deller@gmx.de>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230417125651.25126-9-tzimmermann@suse.de
    Thomas Zimmermann committed Apr 20, 2023
    Copy the full SHA
    db21647 View commit details
    View at this point in the history
    Browse the repository at this point in the history
  2. arch/m68k: Merge variants of fb_pgprotect() into single function

    Merge all variants of fb_pgprotect() into a single function body.
    There are two different cases for MMU systems. For non-MMU systems,
    the function body will be empty. No functional changes, but this
    will help with the switch to <asm-generic/fb.h>.
    
    Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
    Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Acked-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Helge Deller <deller@gmx.de>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230417125651.25126-8-tzimmermann@suse.de
    Thomas Zimmermann committed Apr 20, 2023
    Copy the full SHA
    d847517 View commit details
    View at this point in the history
    Browse the repository at this point in the history
Older