Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
  1. Jul 23, 2024
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.11-rc1-second-batch' of... · 28bbe4ea
      Linus Torvalds authored
      Merge tag 'i2c-for-6.11-rc1-second-batch' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
      
      Pull more i2c updates from Wolfram Sang:
       "The I2C core has two header documentation updates as the dependecies
        are in now.
      
        The I2C host drivers add some patches which nearly fell through the
        cracks:
      
         - Added descriptions in the DTS for the Qualcomm SM8650 and SM8550
           Camera Control Interface (CCI).
      
         - Added support for the "settle-time-us" property, which allows the
           gpio-mux device to switch from one bus to another with a
           configurable delay. The time can be set in the DTS. The latest
           change also includes file sorting.
      
         - Fixed slot numbering in the SMBus framework to prevent failures
           when more than 8 slots are occupied. It now enforces a a maximum of
           8 slots to be used. This ensures that the Intel PIIX4 device can
           register the SPDs correctly without failure, even if other slots
           are populated but not used"
      
      * tag 'i2c-for-6.11-rc1-second-batch' of git:...
      28bbe4ea
    • Linus Torvalds's avatar
      Merge tag 'mailbox-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox · d51f8f63
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
       "broadcom:
         - remove unused pdc_dma_map
      
        imx:
         - fix TXDB_V2 channel race condition
      
        mediatek:
         - cleanup and refactor driver
         - add bindings for gce-props
      
        omap:
         - fix mailbox interrupt sharing
      
        qcom:
         - add bindings for SA8775p
         - add CPUCP driver
      
        zynqmp:
         - make polling period configurable"
      
      * tag 'mailbox-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox:
        mailbox: mtk-cmdq: Move devm_mbox_controller_register() after devm_pm_runtime_enable()
        mailbox: zynqmp-ipi: Make polling period configurable
        mailbox: qcom-cpucp: fix 64BIT dependency
        mailbox: Add support for QTI CPUCP mailbox controller
        dt-bindings: mailbox: qcom: Add CPUCP mailbox controller bindings
        dt-bindings: remoteproc: qcom,sa8775p-pas: Document the SA8775p ADSP, CDSP and GPDSP
        mailbox: mtk-cmdq: add missing MODULE_DESCRIPTION() macro
        mailbox: bcm-pdc: remove unused struct 'pdc_dma_map'
        mailbox: imx: fix TXDB_V2 channel race condition
        mailbox: omap: Fix mailbox interrupt sharing
        mailbox: mtk-cmdq: Dynamically allocate clk_bulk_data structure
        mailbox: mtk-cmdq: Move and partially refactor clocks probe
        mailbox: mtk-cmdq: Stop requiring name for GCE clock
        dt-bindings: mailbox: Add mediatek,gce-props.yaml
      d51f8f63
    • Linus Torvalds's avatar
      Merge tag 'pcmcia-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux · 71bed1ec
      Linus Torvalds authored
      Pull PCMCIA updates from Dominik Brodowski:
       "A number of tiny cleanups of the PCMCIA subsystem by Jeff Johnson,
        Jules Irenge, and Krzysztof Kozlowski"
      
      * tag 'pcmcia-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux:
        pcmcia: add missing MODULE_DESCRIPTION() macros
        pcmcia: Use resource_size function on resource object
        pcmcia: bcm63xx: drop driver owner assignment
      71bed1ec
    • Linus Torvalds's avatar
      Merge tag 'for-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · fd71b9a0
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
       "Power-supply core:
         - new charging_orange_full_green RGB LED trigger
         - simplify and cleanup power-supply LED trigger code
         - expose power information via hwmon compatibility layer
      
        New hardware support:
         - enable battery support for Qualcomm Snapdragon X Elite
         - new battery driver for Maxim MAX17201/MAX17205
         - new battery driver for Lenovo Yoga C630 laptop (custom EC)
      
        Cleanups:
         - cleanup 'struct i2c_device_id' initializations
         - misc small battery driver cleanups and fixes"
      
      * tag 'for-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply:
        power: supply: sysfs: use power_supply_property_is_writeable()
        power: supply: qcom_battmgr: Enable battery support on x1e80100
        power: supply: add support for MAX1720x standalone fuel gauge
        dt-bindings: power: supply: add support for MAX17201/MAX17205 fuel gauge
        power: reset: piix4: add missing MODULE_DESCRIPTION() macro
        power: supply: samsung-sdi-battery: Constify struct power_supply_maintenance_charge_table
        power: supply: samsung-sdi-battery: Constify struct power_supply_vbat_ri_table
        power: supply: lenovo_yoga_c630_battery: add Lenovo C630 driver
        power: supply: ingenic: Fix some error handling paths in ingenic_battery_get_property()
        power: supply: ab8500: Clean some error messages
        power: supply: ab8500: Use iio_read_channel_processed_scale()
        power: supply: ab8500: Fix error handling when calling iio_read_channel_processed()
        power: supply: hwmon: Add support for power sensors
        power: supply: ab8500: remove unused struct 'inst_curr_result_list'
        power: supply: bd99954: remove unused struct 'battery_data'
        power: supply: leds: Add activate() callback to triggers
        power: supply: leds: Share trig pointer for online and charging_full
        power: supply: leds: Add power_supply_[un]register_led_trigger()
        power: supply: Drop explicit initialization of struct i2c_device_id::driver_data to 0
      fd71b9a0
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · c5d2be66
      Linus Torvalds authored
      Pull HSI update from Sebastian Reichel:
      
       - drop unused gpio.h header from SSI McSAAB protocol driver
      
      * tag 'hsi-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: ssi_protocol: Remove unused linux/gpio.h
      c5d2be66
  2. Jul 22, 2024
    • Linus Torvalds's avatar
      Merge tag 'irq-msi-2024-07-22' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 66ebbdfd
      Linus Torvalds authored
      Pull MSI interrupt updates from Thomas Gleixner:
       "Switch ARM/ARM64 over to the modern per device MSI domains.
      
        This simplifies the handling of platform MSI and wire to MSI
        controllers and removes about 500 lines of legacy code.
      
        Aside of that it paves the way for ARM/ARM64 to utilize the dynamic
        allocation of PCI/MSI interrupts and to support the upcoming non
        standard IMS (Interrupt Message Store) mechanism on PCIe devices"
      
      * tag 'irq-msi-2024-07-22' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (25 commits)
        irqchip/gic-v3-its: Correctly fish out the DID for platform MSI
        irqchip/gic-v3-its: Correctly honor the RID remapping
        genirq/msi: Move msi_device_data to core
        genirq/msi: Remove platform MSI leftovers
        irqchip/irq-mvebu-icu: Remove platform MSI leftovers
        irqchip/irq-mvebu-sei: Switch to MSI parent
        irqchip/mvebu-odmi: Switch to parent MSI
        irqchip/mvebu-gicp: Switch to MSI parent
        irqchip/irq-mvebu-icu: Prepare for real per device MSI
        irqchip/imx-mu-msi: Switch to MSI parent
        irqchip/gic-v2m: Switch to device MSI
        irqchip/gic_v3_mbi: Switch over to parent domain
        genirq/msi: Remove platform_msi_create_device_domain()
        irqchip/mbigen: Remove platform_msi_create_device_domain() fallback
        irqchip/gic-v3-its: Switch platform MSI to MSI parent
        irqchip/irq-msi-lib: Prepare for DOMAIN_BUS_WIRED_TO_MSI
        irqchip/mbigen: Prepare for real per device MSI
        irqchip/irq-msi-lib: Prepare for DEVICE MSI to replace platform MSI
        irqchip/gic-v3-its: Provide MSI parent for PCI/MSI[-X]
        irqchip/irq-msi-lib: Prepare for PCI MSI/MSIX
        ...
      66ebbdfd
    • Linus Torvalds's avatar
      Merge tag 'irq-core-2024-07-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ac7473a1
      Linus Torvalds authored
      Pull interrupt subsystem updates from Thomas Gleixner:
       "Core:
      
         - Provide a new mechanism to create interrupt domains. The existing
           interfaces have already too many parameters and it's a pain to
           expand any of this for new required functionality.
      
           The new function takes a pointer to a data structure as argument.
           The data structure combines all existing parameters and allows for
           easy extension.
      
           The first extension for this is to handle the instantiation of
           generic interrupt chips at the core level and to allow drivers to
           provide extra init/exit callbacks.
      
           This is necessary to do the full interrupt chip initialization
           before the new domain is published, so that concurrent usage sites
           won't see a half initialized interrupt domain. Similar problems
           exist on teardown.
      
           This has turned out to be a real problem due to the deferred and
           parallel probing ...
      ac7473a1
    • Linus Torvalds's avatar
      Merge tag 'loongarch-6.11' of... · a362ade8
      Linus Torvalds authored
      Merge tag 'loongarch-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
      
      Pull LoongArch updates from Huacai Chen:
      
       - Define __ARCH_WANT_NEW_STAT in unistd.h
      
       - Always enumerate MADT and setup logical-physical CPU mapping
      
       - Add irq_work support via self IPIs
      
       - Add RANDOMIZE_KSTACK_OFFSET support
      
       - Add ARCH_HAS_PTE_DEVMAP support
      
       - Add ARCH_HAS_DEBUG_VM_PGTABLE support
      
       - Add writecombine support for DMW-based ioremap()
      
       - Add architectural preparation for CPUFreq
      
       - Add ACPI standard hardware register based S3 support
      
       - Add support for relocating the kernel with RELR relocation
      
       - Some bug fixes and other small changes
      
      * tag 'loongarch-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson:
        LoongArch: Make the users of larch_insn_gen_break() constant
        LoongArch: Check TIF_LOAD_WATCH to enable user space watchpoint
        LoongArch: Use rustc option -Zdirect-access-external-data
        LoongArch: Add support for relocating the kernel with RELR relocation
        LoongArch: Remove a redundant checking in relocator
        LoongArch: Use correct API to map cmdline in relocate_kernel()
        LoongArch: Automatically disable KASLR for hibernation
        LoongArch: Add ACPI standard hardware register based S3 support
        LoongArch: Add architectural preparation for CPUFreq
        LoongArch: Add writecombine support for DMW-based ioremap()
        LoongArch: Add ARCH_HAS_DEBUG_VM_PGTABLE support
        LoongArch: Add ARCH_HAS_PTE_DEVMAP support
        LoongArch: Add RANDOMIZE_KSTACK_OFFSET support
        LoongArch: Add irq_work support via self IPIs
        LoongArch: Always enumerate MADT and setup logical-physical CPU mapping
        LoongArch: Define __ARCH_WANT_NEW_STAT in unistd.h
      a362ade8
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.11-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 539fbb91
      Linus Torvalds authored
      Pull thermal control fix from Rafael Wysocki:
       "Fix a flood of kernel messages coming from the thermal core on systems
        where iwlwifi is loaded, but the network interfaces controlled by it
        are down (Rafael Wysocki)"
      
      * tag 'thermal-6.11-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: core: Allow thermal zones to tell the core to ignore them
      539fbb91
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.11-20240722' of git://git.kernel.dk/linux · 9deed1d5
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "Two minor fixes in here, both heading to stable. In detail:
      
         - Fix error where forced async uring_cmd getsockopt returns the wrong
           value on execution, leading to it never being completed (Pavel)
      
         - Fix io_alloc_pbuf_ring() using a NULL check rather than IS_ERR
           (Pavel)"
      
      * tag 'io_uring-6.11-20240722' of git://git.kernel.dk/linux:
        io_uring: fix error pbuf checking
        io_uring: fix lost getsockopt completions
      9deed1d5
    • Linus Torvalds's avatar
      Merge tag 'for-6.11/block-20240722' of git://git.kernel.dk/linux · 7d080fa8
      Linus Torvalds authored
      Pull more block updates from Jens Axboe:
      
       - MD fixes via Song:
           - md-cluster fixes (Heming Zhao)
           - raid1 fix (Mateusz Jończyk)
      
       - s390/dasd module description (Jeff)
      
       - Series cleaning up and hardening the blk-mq debugfs flag handling
         (John, Christoph)
      
       - blk-cgroup cleanup (Xiu)
      
       - Error polled IO attempts if backend doesn't support it (hexue)
      
       - Fix for an sbitmap hang (Yang)
      
      * tag 'for-6.11/block-20240722' of git://git.kernel.dk/linux: (23 commits)
        blk-cgroup: move congestion_count to struct blkcg
        sbitmap: fix io hung due to race on sbitmap_word::cleared
        block: avoid polling configuration errors
        block: Catch possible entries missing from rqf_name[]
        block: Simplify definition of RQF_NAME()
        block: Use enum to define RQF_x bit indexes
        block: Catch possible entries missing from cmd_flag_name[]
        block: Catch possible entries missing from alloc_policy_name[]
        block: Catch possible entries missing from hctx_fl...
      7d080fa8
    • Linus Torvalds's avatar
      Merge tag 'for-6.11/block-post-20240722' of git://git.kernel.dk/linux · 02569948
      Linus Torvalds authored
      Pull block integrity mapping updates from Jens Axboe:
       "A set of cleanups and fixes for the block integrity support.
      
        Sent separately from the main block changes from last week, as they
        depended on later fixes in the 6.10-rc cycle"
      
      * tag 'for-6.11/block-post-20240722' of git://git.kernel.dk/linux:
        block: don't free the integrity payload in bio_integrity_unmap_free_user
        block: don't free submitter owned integrity payload on I/O completion
        block: call bio_integrity_unmap_free_user from blk_rq_unmap_user
        block: don't call bio_uninit from bio_endio
        block: also return bio_integrity_payload * from stubs
        block: split integrity support out of bio.h
      02569948
    • Linus Torvalds's avatar
      Merge tag 'bcachefs-2024-07-22' of https://evilpiepirate.org/git/bcachefs · dd018c23
      Linus Torvalds authored
      Pull bcachefs fixes from Kent Overstreet:
      
       - another fix for fsck getting stuck, from marcin
      
       - small syzbot fix
      
       - another undefined shift fix
      
      * tag 'bcachefs-2024-07-22' of https://evilpiepirate.org/git/bcachefs:
        bcachefs: Fix printbuf usage while atomic
        bcachefs: More informative error message in reattach_inode()
        bcachefs: kill btree_trans_too_many_iters() in bch2_bucket_alloc_freelist()
        bcachefs: mean_and_variance: Avoid too-large shift amounts
      dd018c23
    • Linus Torvalds's avatar
      Merge tag 'ntfs3_for_6.11' of https://github.com/Paragon-Software-Group/linux-ntfs3 · 5ea6d724
      Linus Torvalds authored
      Pull ntfs3 updates from Konstantin Komarov:
       "New code:
         - simple fileattr support
      
        Fixes:
         - transform resident to nonresident for compressed files
         - the format of the "nocase" mount option
         - getting file type
         - many other internal bugs
      
        Refactoring:
         - remove unused functions and macros
         - partial transition from page to folio (suggested by Matthew Wilcox)
         - legacy ntfs support"
      
      * tag 'ntfs3_for_6.11' of https://github.com/Paragon-Software-Group/linux-ntfs3: (42 commits)
        fs/ntfs3: Fix formatting, change comments, renaming
        fs/ntfs3: Update log->page_{mask,bits} if log->page_size changed
        fs/ntfs3: Implement simple fileattr
        fs/ntfs3: Redesign legacy ntfs support
        fs/ntfs3: Use function file_inode to get inode from file
        fs/ntfs3: Minor ntfs_list_ea refactoring
        fs/ntfs3: Check more cases when directory is corrupted
        fs/ntfs3: Do copy_to_user out of run_lock
        fs/ntfs3: Keep runs for $MFT::$ATTR_DATA and $MFT::$ATTR_BITMAP
        fs/ntfs3: Missed error return
        fs/ntfs3: Fix the format of the "nocase" mount option
        fs/ntfs3: Fix field-spanning write in INDEX_HDR
        ntfs3: Convert attr_wof_frame_info() to use a folio
        ntfs3: Convert ni_readpage_cmpr() to take a folio
        ntfs3: Convert ntfs_get_frame_pages() to use a folio
        ntfs3: Remove calls to set/clear the error flag
        ntfs3: Convert attr_make_nonresident to use a folio
        ntfs3: Convert attr_data_write_resident to use a folio
        ntfs3: Convert ntfs_write_end() to work on a folio
        ntfs3: Convert attr_data_read_resident() to take a folio
        ...
      5ea6d724
    • Kent Overstreet's avatar
      bcachefs: Fix printbuf usage while atomic · 737759fc
      Kent Overstreet authored
      
      Reported-by: default avatar <syzbot+f765e51170cf13493f0b@syzkaller.appspotmail.com>
      Fixes: f12410bb
      
       ("bcachefs: Add an error message for insufficient rw journal devs")
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      737759fc
    • Kent Overstreet's avatar
  3. Jul 21, 2024
    • Linus Torvalds's avatar
      Merge tag '6.11-rc-smb3-server-fixes' of git://git.samba.org/ksmbd · 93306970
      Linus Torvalds authored
      Pull smb server fixes from Steve French:
      
       - two durable handle improvements
      
       - two small cleanup patches
      
      * tag '6.11-rc-smb3-server-fixes' of git://git.samba.org/ksmbd:
        ksmbd: add durable scavenger timer
        ksmbd: avoid reclaiming expired durable opens by the client
        ksmbd: Constify struct ksmbd_transport_ops
        ksmbd: remove duplicate SMB2 Oplock levels definitions
      93306970
    • Linus Torvalds's avatar
      Merge tag 'mm-nonmm-stable-2024-07-21-15-07' of... · 527eff22
      Linus Torvalds authored
      Merge tag 'mm-nonmm-stable-2024-07-21-15-07' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull non-MM updates from Andrew Morton:
      
       - In the series "treewide: Refactor heap related implementation",
         Kuan-Wei Chiu has significantly reworked the min_heap library code
         and has taught bcachefs to use the new more generic implementation.
      
       - Yury Norov's series "Cleanup cpumask.h inclusion in core headers"
         reworks the cpumask and nodemask headers to make things generally
         more rational.
      
       - Kuan-Wei Chiu has sent along some maintenance work against our
         sorting library code in the series "lib/sort: Optimizations and
         cleanups".
      
       - More library maintainance work from Christophe Jaillet in the series
         "Remove usage of the deprecated ida_simple_xx() API".
      
       - Ryusuke Konishi continues with the nilfs2 fixes and clanups in the
         series "nilfs2: eliminate the call to inode_attach_wb()".
      
       - Kuan-Ying Lee has some fixes to the gdb scripts in the series "Fix
         GDB command error".
      
       - Plus...
      527eff22
    • Linus Torvalds's avatar
      Merge tag 'mm-stable-2024-07-21-14-50' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm · fbc90c04
      Linus Torvalds authored
      Pull MM updates from Andrew Morton:
      
       - In the series "mm: Avoid possible overflows in dirty throttling" Jan
         Kara addresses a couple of issues in the writeback throttling code.
         These fixes are also targetted at -stable kernels.
      
       - Ryusuke Konishi's series "nilfs2: fix potential issues related to
         reserved inodes" does that. This should actually be in the
         mm-nonmm-stable tree, along with the many other nilfs2 patches. My
         bad.
      
       - More folio conversions from Kefeng Wang in the series "mm: convert to
         folio_alloc_mpol()"
      
       - Kemeng Shi has sent some cleanups to the writeback code in the series
         "Add helper functions to remove repeated code and improve readability
         of cgroup writeback"
      
       - Kairui Song has made the swap code a little smaller and a little
         faster in the series "mm/swap: clean up and optimize swap cache
         index".
      
       - In the series "mm/memory: cleanly support zeropage in
         vm_i...
      fbc90c04
    • Linus Torvalds's avatar
      Merge tag 'rtc-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 7846b618
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "Subsystem:
         - add missing MODULE_DESCRIPTION() macro
         - fix offset addition for alarms
      
        Drivers:
         - isl1208: alarm clearing fixes
         - mcp794xx: oscillator failure detection
         - stm32: stm32mp25 support
         - tps6594: power management support"
      
      * tag 'rtc-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
        rtc: stm32: add new st,stm32mp25-rtc compatible and check RIF configuration
        dt-bindings: rtc: stm32: introduce new st,stm32mp25-rtc compatible
        rtc: Drop explicit initialization of struct i2c_device_id::driver_data to 0
        rtc: interface: Add RTC offset to alarm after fix-up
        rtc: ds1307: Clamp year to valid BCD (0-99) in `set_time()`
        rtc: ds1307: Detect oscillator fail on mcp794xx
        rtc: isl1208: Update correct procedure for clearing alarm
        rtc: isl1208: Add a delay for clearing alarm
        dt-bindings: rtc: Convert rtc-fsl-ftm-alarm.txt to yaml format
        rtc: add missing MODULE_DESCRIPTION() macro
        rtc: abx80x: Fix return value of nvmem callback on read
        rtc: cmos: Fix return value of nvmem callbacks
        rtc: isl1208: Fix return value of nvmem callbacks
        rtc: tps6594: Add power management support
        rtc: tps6594: introduce private structure as drvdata
        rtc: tps6594: Fix memleak in probe
      7846b618
    • Linus Torvalds's avatar
      Merge tag '6.11-rc-part1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 33c9de29
      Linus Torvalds authored
      Pull smb client fixes from Steve French:
       "Six smb3 client fixes, most for stable including important netfs fixes:
      
         - various netfs related fixes for cifs addressing some regressions in
           6.10 (e.g. generic/708 and some multichannel crediting related
           issues)
      
         - fix for a noisy log message on copy_file_range
      
         - add trace point for read/write credits"
      
      * tag '6.11-rc-part1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: Fix missing fscache invalidation
        cifs: Add a tracepoint to track credits involved in R/W requests
        cifs: Fix setting of zero_point after DIO write
        cifs: Fix missing error code set
        cifs: Fix server re-repick on subrequest retry
        cifs: fix noisy message on copy_file_range
      33c9de29
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v6.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 8e313211
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "Some new drivers is the main part, the rest is cleanups and nonurgent
        fixes.
      
        Nothing much special about this, no core changes this time.
      
        New drivers:
      
         - Renesas RZ/V2H(P) SoC
      
         - NXP Freescale i.MX91 SoC
      
         - Nuvoton MA35D1 SoC
      
         - Qualcomm PMC8380, SM4250, SM4250 LPI
      
        Enhancements:
      
         - A slew of scoped-based simplifications of of_node_put()"
      
      * tag 'pinctrl-v6.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (110 commits)
        pinctrl: renesas: rzg2l: Support output enable on RZ/G2L
        pinctrl: renesas: rzg2l: Clean up and refactor OEN read/write functions
        pinctrl: renesas: rzg2l: Clarify OEN read/write support
        dt-bindings: pinctrl: pinctrl-single: Fix pinctrl-single,gpio-range description
        dt-bindings: pinctrl: npcm8xx: add missing pin group and mux function
        dt-bindings: pinctrl: pinctrl-single: fix schmitt related properties
        pinctrl: freescale: Use scope based of_node_put() cleanups
        pinctrl: equilibrium: Use scope based of_node_put() cleanups
        pinctrl: ti: iodelay: Use scope based of_node_put() cleanups
        pinctrl: qcom: lpass-lpi: increase MAX_NR_GPIO to 32
        pinctrl: cy8c95x0: Update cache modification
        pinctrl: cy8c95x0: Use cleanup.h
        pinctrl: renesas: r8a779h0: Remove unneeded separators
        pinctrl: renesas: r8a779g0: Add INTC-EX pins, groups, and function
        pinctrl: renesas: r8a779g0: Remove unneeded separators
        pinctrl: renesas: r8a779h0: Add AVB MII pins and groups
        pinctrl: renesas: r8a779g0: Fix TPU suffixes
        pinctrl: renesas: r8a779g0: Fix TCLK suffixes
        pinctrl: renesas: r8a779g0: FIX PWM suffixes
        pinctrl: renesas: r8a779g0: Fix IRQ suffixes
        ...
      8e313211
  4. Jul 20, 2024
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 2c9b3512
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "ARM:
      
         - Initial infrastructure for shadow stage-2 MMUs, as part of nested
           virtualization enablement
      
         - Support for userspace changes to the guest CTR_EL0 value, enabling
           (in part) migration of VMs between heterogenous hardware
      
         - Fixes + improvements to pKVM's FF-A proxy, adding support for v1.1
           of the protocol
      
         - FPSIMD/SVE support for nested, including merged trap configuration
           and exception routing
      
         - New command-line parameter to control the WFx trap behavior under
           KVM
      
         - Introduce kCFI hardening in the EL2 hypervisor
      
         - Fixes + cleanups for handling presence/absence of FEAT_TCRX
      
         - Miscellaneous fixes + documentation updates
      
        LoongArch:
      
         - Add paravirt steal time support
      
         - Add support for KVM_DIRTY_LOG_INITIALLY_SET
      
         - Add perf kvm-stat support for loongarch
      
        RISC-V:
      
         - Redirect AMO load/store access fault traps to guest
      
         - perf kvm stat support
      
         - Use guest files for IMSIC virtualization, when available
      
        s390:
      
         - Assortment of tiny fixes which are not time critical
      
        x86:
      
         - Fixes for Xen emulation
      
         - Add a global struct to consolidate tracking of host values, e.g.
           EFER
      
         - Add KVM_CAP_X86_APIC_BUS_CYCLES_NS to allow configuring the
           effective APIC bus frequency, because TDX
      
         - Print the name of the APICv/AVIC inhibits in the relevant
           tracepoint
      
         - Clean up KVM's handling of vendor specific emulation to
           consistently act on "compatible with Intel/AMD", versus checking
           for a specific vendor
      
         - Drop MTRR virtualization, and instead always honor guest PAT on
           CPUs that support self-snoop
      
         - Update to the newfangled Intel CPU FMS infrastructure
      
         - Don't advertise IA32_PERF_GLOBAL_OVF_CTRL as an MSR-to-be-saved, as
           it reads '0' and writes from userspace are ignored
      
         - Misc cleanups
      
        x86 - MMU:
      
         - Small cleanups, renames and refactoring extracted from the upcoming
           Intel TDX support
      
         - Don't allocate kvm_mmu_page.shadowed_translation for shadow pages
           that can't hold leafs SPTEs
      
         - Unconditionally drop mmu_lock when allocating TDP MMU page tables
           for eager page splitting, to avoid stalling vCPUs when splitting
           huge pages
      
         - Bug the VM instead of simply warning if KVM tries to split a SPTE
           that is non-present or not-huge. KVM is guaranteed to end up in a
           broken state because the callers fully expect a valid SPTE, it's
           all but dangerous to let more MMU changes happen afterwards
      
        x86 - AMD:
      
         - Make per-CPU save_area allocations NUMA-aware
      
         - Force sev_es_host_save_area() to be inlined to avoid calling into
           an instrumentable function from noinstr code
      
         - Base support for running SEV-SNP guests. API-wise, this includes a
           new KVM_X86_SNP_VM type, encrypting/measure the initial image into
           guest memory, and finalizing it before launching it. Internally,
           there are some gmem/mmu hooks needed to prepare gmem-allocated
           pages before mapping them into guest private memory ranges
      
           This includes basic support for attestation guest requests, enough
           to say that KVM supports the GHCB 2.0 specification
      
           There is no support yet for loading into the firmware those signing
           keys to be used for attestation requests, and therefore no need yet
           for the host to provide certificate data for those keys.
      
           To support fetching certificate data from userspace, a new KVM exit
           type will be needed to handle fetching the certificate from
           userspace.
      
           An attempt to define a new KVM_EXIT_COCO / KVM_EXIT_COCO_REQ_CERTS
           exit type to handle this was introduced in v1 of this patchset, but
           is still being discussed by community, so for now this patchset
           only implements a stub version of SNP Extended Guest Requests that
           does not provide certificate data
      
        x86 - Intel:
      
         - Remove an unnecessary EPT TLB flush when enabling hardware
      
         - Fix a series of bugs that cause KVM to fail to detect nested
           pending posted interrupts as valid wake eents for a vCPU executing
           HLT in L2 (with HLT-exiting disable by L1)
      
         - KVM: x86: Suppress MMIO that is triggered during task switch
           emulation
      
           Explicitly suppress userspace emulated MMIO exits that are
           triggered when emulating a task switch as KVM doesn't support
           userspace MMIO during complex (multi-step) emulation
      
           Silently ignoring the exit request can result in the
           WARN_ON_ONCE(vcpu->mmio_needed) firing if KVM exits to userspace
           for some other reason prior to purging mmio_needed
      
           See commit 0dc90226 ("KVM: x86: Suppress pending MMIO write
           exits if emulator detects exception") for more details on KVM's
           limitations with respect to emulated MMIO during complex emulator
           flows
      
        Generic:
      
         - Rename the AS_UNMOVABLE flag that was introduced for KVM to
           AS_INACCESSIBLE, because the special casing needed by these pages
           is not due to just unmovability (and in fact they are only
           unmovable because the CPU cannot access them)
      
         - New ioctl to populate the KVM page tables in advance, which is
           useful to mitigate KVM page faults during guest boot or after live
           migration. The code will also be used by TDX, but (probably) not
           through the ioctl
      
         - Enable halt poll shrinking by default, as Intel found it to be a
           clear win
      
         - Setup empty IRQ routing when creating a VM to avoid having to
           synchronize SRCU when creating a split IRQCHIP on x86
      
         - Rework the sched_in/out() paths to replace kvm_arch_sched_in() with
           a flag that arch code can use for hooking both sched_in() and
           sched_out()
      
         - Take the vCPU @id as an "unsigned long" instead of "u32" to avoid
           truncating a bogus value from userspace, e.g. to help userspace
           detect bugs
      
         - Mark a vCPU as preempted if and only if it's scheduled out while in
           the KVM_RUN loop, e.g. to avoid marking it preempted and thus
           writing guest memory when retrieving guest state during live
           migration blackout
      
        Selftests:
      
         - Remove dead code in the memslot modification stress test
      
         - Treat "branch instructions retired" as supported on all AMD Family
           17h+ CPUs
      
         - Print the guest pseudo-RNG seed only when it changes, to avoid
           spamming the log for tests that create lots of VMs
      
         - Make the PMU counters test less flaky when counting LLC cache
           misses by doing CLFLUSH{OPT} in every loop iteration"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (227 commits)
        crypto: ccp: Add the SNP_VLEK_LOAD command
        KVM: x86/pmu: Add kvm_pmu_call() to simplify static calls of kvm_pmu_ops
        KVM: x86: Introduce kvm_x86_call() to simplify static calls of kvm_x86_ops
        KVM: x86: Replace static_call_cond() with static_call()
        KVM: SEV: Provide support for SNP_EXTENDED_GUEST_REQUEST NAE event
        x86/sev: Move sev_guest.h into common SEV header
        KVM: SEV: Provide support for SNP_GUEST_REQUEST NAE event
        KVM: x86: Suppress MMIO that is triggered during task switch emulation
        KVM: x86/mmu: Clean up make_huge_page_split_spte() definition and intro
        KVM: x86/mmu: Bug the VM if KVM tries to split a !hugepage SPTE
        KVM: selftests: x86: Add test for KVM_PRE_FAULT_MEMORY
        KVM: x86: Implement kvm_arch_vcpu_pre_fault_memory()
        KVM: x86/mmu: Make kvm_mmu_do_page_fault() return mapped level
        KVM: x86/mmu: Account pf_{fixed,emulate,spurious} in callers of "do page fault"
        KVM: x86/mmu: Bump pf_taken stat only in the "real" page fault handler
        KVM: Add KVM_PRE_FAULT_MEMORY vcpu ioctl to pre-populate guest memory
        KVM: Document KVM_PRE_FAULT_MEMORY ioctl
        mm, virt: merge AS_UNMOVABLE and AS_INACCESSIBLE
        perf kvm: Add kvm-stat for loongarch64
        LoongArch: KVM: Add PV steal time support in guest side
        ...
      2c9b3512
    • David Howells's avatar
      cifs: Fix missing fscache invalidation · a07d38af
      David Howells authored
      
      A network filesystem needs to implement a netfslib hook to invalidate
      fscache if it's to be able to use the cache.
      
      Fix cifs to implement the cache invalidation hook.
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Reviewed-by: default avatarPaulo Alcantara (Red Hat) <pc@manguebit.com>
      cc: Jeff Layton <jlayton@kernel.org>
      cc: linux-cifs@vger.kernel.org
      cc: netfs@lists.linux.dev
      cc: linux-fsdevel@vger.kernel.org
      Cc: stable@vger.kernel.org
      Fixes: 3ee1a1fc
      
       ("cifs: Cut over to using netfslib")
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      a07d38af
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · c43a20e4
      Linus Torvalds authored
      Pull MTD updates from Miquel Raynal:
       "Nothing stands out for this merge window, mostly minor fixes, such as
        module descriptions, the use of debug macros and Makefile
        improvements.
      
        Raw NAND changes;
      
         - The Freescale MXC driver has been converted to the newer
           '->exec_op()' interface
      
         - The meson driver now supports handling the boot ROM area with very
           specific ECC needs
      
         - Support for the iMX8QXP has been added to the GPMI driver
      
         - The lpx32xx driver now can get the DMA channels using DT entries
      
         - The Qcom binding has been improved to be more future proof by Rob
      
         - And then there is the usual load of misc and minor changes
      
        SPI-NAND changes:
      
         - The Macronix vendor driver has been improved to support an extended
           ID to avoid conflicting with older devices after an ID reuse issue
      
        SPI NOR changes:
      
         - Drop support for Xilinx S3AN flashes. These flashes are for the
           very old Xilinx Spartan 3 FPGAs and they need some awkward code in
           the core to support.
      
           Drop support for these flashes, along with the special handling we
           needed for them in the core like non-power-of-2 page size handling
           and the .setup() callback.
      
         - Fix regression for old w25q128 flashes without SFDP tables.
      
           Commit 83e824a4 ("mtd: spi-nor: Correct flags for Winbond
           w25q128") dropped support for such devices under the assumption
           that they aren't being used anymore. Users have now surfaced [0] so
           fix the regression by supporting both kind of devices.
      
         - Core cleanups including removal of SPI_NOR_NO_FR flag and
           simplification of spi_nor_get_flash_info()"
      
      Link: https://lore.kernel.org/r/CALxbwRo_-9CaJmt7r7ELgu+vOcgk=xZcGHobnKf=oT2=u4d4aA@mail.gmail.com/ [0]
      
      * tag 'mtd/for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (28 commits)
        mtd: rawnand: lpx32xx: Fix dma_request_chan() error checks
        mtd: spinand: macronix: Add support for serial NAND flash
        mtd: spinand: macronix: Add support for reading Device ID 2
        mtd: rawnand: lpx32xx: Request DMA channels using DT entries
        dt-bindings: mtd: qcom,nandc: Define properties at top-level
        mtd: rawnand: intel: use 'time_left' variable with wait_for_completion_timeout()
        mtd: rawnand: mxc: use 'time_left' variable with wait_for_completion_timeout()
        mtd: rawnand: gpmi: add iMX8QXP support.
        mtd: rawnand: gpmi: add 'support_edo_timing' in gpmi_devdata
        mtd: cmdlinepart: Replace `dbg()` macro with `pr_debug()`
        mtd: add missing MODULE_DESCRIPTION() macros
        mtd: make mtd_test.c a separate module
        dt-bindings: mtd: gpmi-nand: Add 'fsl,imx8qxp-gpmi-nand' compatible string
        mtd: rawnand: cadence: remove unused struct 'ecc_info'
        mtd: rawnand: mxc: support software ECC
        mtd: rawnand: mxc: implement exec_op
        mtd: rawnand: mxc: separate page read from ecc calc
        mtd: spi-nor: winbond: fix w25q128 regression
        mtd: spi-nor: simplify spi_nor_get_flash_info()
        mtd: spi-nor: get rid of SPI_NOR_NO_FR
        ...
      c43a20e4
    • Linus Torvalds's avatar
      Merge tag 'landlock-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux · 9fa23750
      Linus Torvalds authored
      Pull landlock updates from Mickaël Salaün:
       "This simplifies code and improves documentation"
      
      * tag 'landlock-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux:
        landlock: Various documentation improvements
        landlock: Clarify documentation for struct landlock_ruleset_attr
        landlock: Use bit-fields for storing handled layer access masks
      9fa23750
    • Linus Torvalds's avatar
      Merge tag 'firewire-updates-6.11' of... · 8326f5e1
      Linus Torvalds authored
      Merge tag 'firewire-updates-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394
      
      Pull firewire updates from Takashi Sakamoto:
       "There are many lines of changes for FireWire subsystem, but there is
        practically no functional change.
      
        Most of the changes are for code refactoring, some KUnit tests to
        added helper functions, and new tracepoints events for both the core
        functions and 1394 OHCI driver.
      
        The tracepoints events now cover the verbose logging enabled by debug
        parameter of firewire-ohci kernel module. The parameter would be
        removed in any future timing, thus it is now deprecated"
      
      * tag 'firewire-updates-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394: (32 commits)
        firewire: core: move copy_port_status() helper function to TP_fast_assign() block
        Revert "firewire: ohci: use common macro to interpret be32 data in le32 buffer"
        firewire: ohci: add tracepoints event for data of Self-ID DMA
        firewire: ohci: use inline functions to operate data of self-ID DMA
        firewire: ohci: add static inline functions to deserialize for Self-ID DMA operation
        firewire: ohci: use static function to handle endian issue on PowerPC platform
        firewire: ohci: use common macro to interpret be32 data in le32 buffer
        firewire: core: Fix spelling mistakes in tracepoint messages
        firewire: ohci: add tracepoints event for hardIRQ event
        firewire: ohci: add support for Linux kernel tracepoints
        firewire: core: add tracepoints events for completions of packets in isochronous context
        firewire: core: add tracepoints events for queueing packets of isochronous context
        firewire: core: add tracepoints events for flushing completions of isochronous context
        firewire: core: add tracepoints events for flushing of isochronous context
        firewire: core: add tracepoints events for starting/stopping of isochronous context
        firewire: core: add tracepoints events for setting channels of multichannel context
        firewire: core: add tracepoints events for allocation/deallocation of isochronous context
        firewire: core: undefine macros after use in tracepoints events
        firewire: core: record card index in tracepoints event for self ID sequence
        firewire: core: use inline helper functions to serialize phy config packet
        ...
      8326f5e1
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 13a78715
      Linus Torvalds authored
      Pull libnvdimm updates from Ira Weiny:
      
       - One small cleanup to use sizeof(*pointer)
      
       - Add MODULE_DESCRIPTIONS() to eliminate make W=1 warnings
      
      * tag 'libnvdimm-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        testing: nvdimm: Add MODULE_DESCRIPTION() macros
        testing: nvdimm: iomap: add MODULE_DESCRIPTION()
        dax: add missing MODULE_DESCRIPTION() macros
        nvdimm: add missing MODULE_DESCRIPTION() macros
        ACPI: NFIT: add missing MODULE_DESCRIPTION() macro
        nvdimm/btt: use sizeof(*pointer) instead of sizeof(type)
      13a78715
    • Pavel Begunkov's avatar
      io_uring: fix error pbuf checking · bcc87d97
      Pavel Begunkov authored
      
      Syz reports a problem, which boils down to NULL vs IS_ERR inconsistent
      error handling in io_alloc_pbuf_ring().
      
      KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
      RIP: 0010:__io_remove_buffers+0xac/0x700 io_uring/kbuf.c:341
      Call Trace:
       <TASK>
       io_put_bl io_uring/kbuf.c:378 [inline]
       io_destroy_buffers+0x14e/0x490 io_uring/kbuf.c:392
       io_ring_ctx_free+0xa00/0x1070 io_uring/io_uring.c:2613
       io_ring_exit_work+0x80f/0x8a0 io_uring/io_uring.c:2844
       process_one_work kernel/workqueue.c:3231 [inline]
       process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312
       worker_thread+0x86d/0xd40 kernel/workqueue.c:3390
       kthread+0x2f0/0x390 kernel/kthread.c:389
       ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
       ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatar <syzbot+2074b1a3d447915c6f1c@syzkaller.appspotmail.com>
      Fixes: 87585b05 ("io_uring/kbuf: use vm_insert_pages() for mmap'ed pbuf ring")
      Signed-off-by: Pave...
      bcc87d97
    • Pavel Begunkov's avatar
      io_uring: fix lost getsockopt completions · 24dce1c5
      Pavel Begunkov authored
      There is a report that iowq executed getsockopt never completes. The
      reason being that io_uring_cmd_sock() can return a positive result, and
      io_uring_cmd() propagates it back to core io_uring, instead of IOU_OK.
      In case of io_wq_submit_work(), the request will be dropped without
      completing it.
      
      The offending code was introduced by a hack in
      a9c3eda7 ("io_uring: fix submission-failure handling for uring-cmd"),
      however it was fine until getsockopt was introduced and started
      returning positive results.
      
      The right solution is to always return IOU_OK, since
      e0b23d99 ("io_uring: optimise ltimeout for inline execution"),
      we should be able to do it without problems, however for the sake of
      backporting and minimising side effects, let's keep returning negative
      return codes and otherwise do IOU_OK.
      
      Link: https://github.com/axboe/liburing/issues/1181
      Cc: stable@vger.kernel.org
      Fixes: 8e9fad0e
      
       ("io_uring: Add io_uring command support for sockets")
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Reviewed-by: default avatarBreno Leitao <leitao@debian.org>
      Link: https://lore.kernel.org/r/ff349cf0654018189b6077e85feed935f0f8839e.1721149870.git.asml.silence@gmail.com
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      24dce1c5
    • Linus Torvalds's avatar
      Merge tag 'riscv-for-linus-6.11-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · f557af08
      Linus Torvalds authored
      Pull RISC-V updates from Palmer Dabbelt:
      
       - Support for various new ISA extensions:
           * The Zve32[xf] and Zve64[xfd] sub-extensios of the vector
             extension
           * Zimop and Zcmop for may-be-operations
           * The Zca, Zcf, Zcd and Zcb sub-extensions of the C extension
           * Zawrs
      
       - riscv,cpu-intc is now dtschema
      
       - A handful of performance improvements and cleanups to text patching
      
       - Support for memory hot{,un}plug
      
       - The highest user-allocatable virtual address is now visible in
         hwprobe
      
      * tag 'riscv-for-linus-6.11-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: (58 commits)
        riscv: lib: relax assembly constraints in hweight
        riscv: set trap vector earlier
        KVM: riscv: selftests: Add Zawrs extension to get-reg-list test
        KVM: riscv: Support guest wrs.nto
        riscv: hwprobe: export Zawrs ISA extension
        riscv: Add Zawrs support for spinlocks
        dt-bindings: riscv: Add Za...
      f557af08
    • Linus Torvalds's avatar
      Merge tag 'mips_6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · d2be38b9
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
      
       - add support for Realtek RTL9302C
      
       - add support for Mobileye EyeQ6H
      
       - add support for Mobileye EyeQ OLB system controller
      
       - improve r4k clocksource
      
       - add mode for emulating ieee754 NAN2008
      
       - rework for BMIPS CBR address handling
      
       - fixes for Loongson 2K1000
      
       - defconfig updates
      
       - cleanups and fixes
      
      * tag 'mips_6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (58 commits)
        MIPS: config: Add ip30_defconfig
        MIPS: config: lemote2f: Regenerate defconfig
        MIPS: config: generic: Add board-litex
        MIPS: config: Enable MSA and virtualization for MIPS64R6
        MIPS: Fix fallback march for SB1
        mips: dts: realtek: Add RTL9302C board
        mips: generic: add fdt fixup for Realtek reference board
        mips: select REALTEK_OTTO_TIMER for Realtek platforms
        dt-bindings: interrupt-controller: realtek,rtl-intc: Add rtl9300-intc
        dt-bindings: mips: realtek: Add rtl93...
      d2be38b9
    • Oleg Nesterov's avatar
      LoongArch: Make the users of larch_insn_gen_break() constant · 998b17d4
      Oleg Nesterov authored
      LoongArch defines UPROBE_SWBP_INSN as a function call and this breaks
      arch_uprobe_trampoline() which uses it to initialize a static variable.
      
      Add the new "__builtin_constant_p" helper, __emit_break(), and redefine
      the current users of larch_insn_gen_break() to use it.
      
      Fixes: ff474a78
      
       ("uprobe: Add uretprobe syscall to speed up return probe")
      Reported-by: default avatarNathan Chancellor <nathan@kernel.org>
      Closes: https://lore.kernel.org/all/20240614174822.GA1185149@thelio-3990X/
      
      
      Suggested-by: default avatarAndrii Nakryiko <andrii@kernel.org>
      Tested-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      998b17d4
    • Tiezhu Yang's avatar
      LoongArch: Check TIF_LOAD_WATCH to enable user space watchpoint · 3892b11e
      Tiezhu Yang authored
      Currently, there are some places to set CSR.PRMD.PWE, the first one is
      in hw_breakpoint_thread_switch() to enable user space singlestep via
      checking TIF_SINGLESTEP, the second one is in hw_breakpoint_control() to
      enable user space watchpoint. For the latter case, it should also check
      TIF_LOAD_WATCH to make the logic correct and clear.
      
      Fixes: c8e57ab0
      
       ("LoongArch: Trigger user-space watchpoints correctly")
      Signed-off-by: default avatarTiezhu Yang <yangtiezhu@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      3892b11e
    • WANG Rui's avatar
      LoongArch: Use rustc option -Zdirect-access-external-data · 0d3a6322
      WANG Rui authored
      
      -Zdirect-access-external-data is a new Rust compiler option added in
      Rust 1.78, which we use to optimize the access of external data in the
      Linux kernel's Rust code. This patch modifies the Rust code in vmlinux
      to directly access externa data, using PC-REL instead of GOT. However,
      Rust code whithin modules is constrained by the PC-REL addressing range
      and is explicitly set to use an indirect method.
      
      Acked-by: default avatarMiguel Ojeda <ojeda@kernel.org>
      Signed-off-by: default avatarWANG Rui <wangrui@loongson.cn>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      0d3a6322
    • Xi Ruoyao's avatar
      LoongArch: Add support for relocating the kernel with RELR relocation · e05d4cd9
      Xi Ruoyao authored
      RELR as a relocation packing format for relative relocations for
      reducing the size of relative relocation records.  In a position
      independent executable there are often many relative relocation
      records, and our vmlinux is a PIE.
      
      The LLD linker (since 17.0.0) and the BFD linker (since 2.43) supports
      packing the relocations in the RELR format for LoongArch, with the flag
      -z pack-relative-relocs.
      
      Commits 5cf896fb ("arm64: Add support for relocating the kernel
      with RELR relocations") and ccb2d173 ("Makefile: use -z
      pack-relative-relocs") have already added the framework to use RELR.
      We just need to wire it up and process the RELR relocation records in
      relocate_relative() in addition to the RELA relocation records.
      
      A ".p2align 3" directive is added to la_abs macro or the BFD linker
      cannot pack the relocation records against the .la_abs section (the
      ". = ALIGN(8);" directive in vmlinux.lds.S is too late in the linking
      process).
      
      With defconfig and CONFIG_RELR vmlinux.efi is 2.1 MiB (6%) smaller, and
      vmlinuz.efi (using gzip compression) is 384 KiB (2.8%) smaller.
      
      Link: https://groups.google.com/d/topic/generic-abi/bX460iggiKg
      Link: https://reviews.llvm.org/D138135#4531389
      Link: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=d89ecf33ab6d
      
      
      Signed-off-by: default avatarXi Ruoyao <xry111@xry111.site>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      e05d4cd9
    • Xi Ruoyao's avatar
      LoongArch: Remove a redundant checking in relocator · 0ad158e4
      Xi Ruoyao authored
      
      With our linker script "relocated_addr >= VMLINUX_LOAD_ADDRESS" should
      be always true.
      
      Signed-off-by: default avatarXi Ruoyao <xry111@xry111.site>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      0ad158e4
    • Huacai Chen's avatar
      LoongArch: Use correct API to map cmdline in relocate_kernel() · 0124fbb4
      Huacai Chen authored
      
      fw_arg1 is in memory space rather than I/O space, so we should use
      early_memremap_ro() instead of early_ioremap() to map the cmdline.
      Moreover, we should unmap it after using.
      
      Suggested-by: default avatarJiaxun Yang <jiaxun.yang@flygoat.com>
      Reviewed-by: default avatarJiaxun Yang <jiaxun.yang@flygoat.com>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      0124fbb4
    • Huacai Chen's avatar
      LoongArch: Automatically disable KASLR for hibernation · 67e6b115
      Huacai Chen authored
      
      Hibernation assumes the memory layout after resume be the same as that
      before sleep, so it expects the kernel is loaded at the same position.
      To achieve this goal we automatically disable KASLR if user explicitly
      requests hibernation via the "resume=" command line. Since "nohibernate"
      and "noresume" have higher priorities than "resume=", we only disable
      KASLR if there is no "nohibernate" and "noresume".
      
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      67e6b115
    • Jiaxun Yang's avatar
      LoongArch: Add ACPI standard hardware register based S3 support · e523a5a6
      Jiaxun Yang authored
      
      Most LoongArch 64 machines are using custom "SADR" ACPI extension to
      perform ACPI S3 sleep. However the standard ACPI way to perform sleep
      is to write a value to ACPI PM1/SLEEP_CTL register, and this is never
      supported properly in kernel.
      
      Add standard S3 sleep by providing a default DoSuspend function which
      calls ACPI's acpi_enter_sleep_state() routine when SADR is not provided
      by the firmware.
      
      Also fix suspend assembly code so that ra is set properly before go
      into sleep routine. (Previously linked address of jirl was set to a0,
      some firmware do require return address in a0 but it's already set with
      la.pcrel before).
      
      Signed-off-by: default avatarJiaxun Yang <jiaxun.yang@flygoat.com>
      Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
      e523a5a6