Commit Graph
5236 Commits
Author SHA1 Message Date
Michael Bestas 0dff09b322 Merge remote-tracking branch 'sm8250/lineage-20' into lineage-23.2
* sm8250/lineage-20:
  rmnet: shs, perf: Fix CFI failure on module init
  techpack: audio: wcd_cpe: Fix -Wimplicit-enum-enum-cast
  UPSTREAM: arm64: bpf: Fix branch offset in JIT
  UPSTREAM: bpf, arm64: Add BPF exception tables
  UPSTREAM: bpf, arm64: Optimize ADD,SUB,JMP BPF_K using arm64 add/sub immediates
  UPSTREAM: bpf, arm64: Optimize AND,OR,XOR,JSET BPF_K using arm64 logical immediates
  UPSTREAM: arm64: bpf: Annotate JITed code for BTI
  UPSTREAM: arm64: insn: Add constants for new HINT instruction decode
  UPSTREAM: arm64: bpf: optimize modulo operation
  UPSTREAM: arm64: bpf: do not allocate executable memory
  UPSTREAM: arm64: bpf: implement jitting of JMP32
  UPSTREAM: bpf: arm64: Enable arm64 jit to provide bpf_line_info
  UPSTREAM: arm64/bpf: use movn/movk/movk sequence to generate kernel addresses
  UPSTREAM: bpf, arm64: fix getting subprog addr from aux for calls
  kconfig: run olddefconfig instead of oldconfig after merging fragments

Change-Id: Ibbe46a0e0b6246d34a490037cf6a4027b4ff12b8
2026-08-30 22:00:37 +03:00
Masahiro Yamada ff49511d34 kconfig: run olddefconfig instead of oldconfig after merging fragments
'make olddefconfig' is non-interactive, so we can drop 'yes'.
The behavior is equivalent.

Change-Id: I3256c929dfd5cec20e57de0f76b1c96ad3b97041
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2026-08-17 11:01:08 -04:00
Michael Bestas 2714ab938c Merge remote-tracking branch 'sm8250/lineage-20' into lineage-23.2
* sm8250/lineage-20:
  BACKPORT: locking/rtmutex: Skip remove_waiter() when waiter is not enqueued
  BACKPORT: rtmutex: Use waiter::task instead of current in remove_waiter()
  tcp: fix an incorrect __user annotation on tcp_use_userconfig_sysctl_handler
  tcp: fix an incorrect __user annotation on tcp_proc_delayed_ack_control
  UPSTREAM: tty: allow TIOCSLCKTRMIOS with CAP_CHECKPOINT_RESTORE
  UPSTREAM: selftests: add clone3() CAP_CHECKPOINT_RESTORE test
  UPSTREAM: prctl: exe link permission error changed from -EINVAL to -EPERM
  UPSTREAM: prctl: Allow local CAP_CHECKPOINT_RESTORE to change /proc/self/exe
  UPSTREAM: prctl_set_mm: refactor checks from validate_prctl_map
  UPSTREAM: proc: allow access in init userns for map_files with CAP_CHECKPOINT_RESTORE
  UPSTREAM: pid_namespace: use checkpoint_restore_ns_capable() for ns_last_pid
  UPSTREAM: pid: use checkpoint_restore_ns_capable() for set_tid
  UPSTREAM: capabilities: Introduce CAP_CHECKPOINT_RESTORE
  UPSTREAM: selftests: add tests for clone3() with *set_tid
  UPSTREAM: fork: extend clone3() to support setting a PID
  UPSTREAM: selftests: add tests for clone3()
  UPSTREAM: tests: test CLONE_CLEAR_SIGHAND
  UPSTREAM: clone3: add CLONE_CLEAR_SIGHAND
  UPSTREAM: sched: add kernel-doc for struct clone_args
  UPSTREAM: sched: Add __ASSEMBLY__ guards around struct clone_args
  UPSTREAM: clone: fix CLONE_PIDFD support
  UPSTREAM: arch: handle arches who do not yet define clone3
  BACKPORT: arch: wire-up clone3() syscall
  BACKPORT: fork: add clone3
  modpost: Do not discard const qualifier in match()
  modpost: add NOFAIL to strndup
  CIP: Bump version suffix to -cip135 after merge from cip/linux-4.19.y-st tree
  Update localversion-st, tree is up-to-date with 5.10.260.
  nfsd: fix posix_acl leak on SETACL decode failure
  batman-adv: tp_meter: prevent parallel modifications of last_recv
  batman-adv: tp_meter: restrict number of unacked list entries
  batman-adv: bla: annotate lasttime access with READ/WRITE_ONCE
  net/sched: fix pedit partial COW leading to page cache corruption
  net/sched: act_api: use RCU with deferred freeing for action lifecycle
  arm64: errata: Mitigate TLBI errata on various Arm CPUs
  arm64: Add part number for Arm Cortex-A78AE
  arm64: cpufeature: Enable Qualcomm Falkor errata 1009 for Kryo
  arm64: Add workaround for Cortex-A76 erratum 1286807
  iio: gyro: adis16260: fix division by zero in write_raw
  scsi: target: iscsi: Fix CRC overread and double-free in iscsit_handle_text_cmd()
  netfilter: nf_queue: hold bridge skb->dev while queued
  batman-adv: stop tp_meter sessions during mesh teardown
  Bluetooth: L2CAP: reject BR/EDR signaling packets over MTUsig
  xfrm: esp: restore combined single-frag length gate
  batman-adv: tt: avoid empty VLAN responses
  batman-adv: tt: fix TOCTOU race for reported vlans
  KVM: SVM: Fix page overflow in sev_dbg_crypt() for ENCRYPT path
  mtd: spi-nor: sst: Fix write enable before AAI sequence
  sched: Use u64 for bandwidth ratio calculations
  net: phonet: free phonet_device after RCU grace period
  phonet: Pass net and ifindex to phonet_address_notify().
  phonet: Pass ifindex to fill_addr().
  hv: utils: handle and propagate errors in kvp_register
  bnxt_en: Fix NULL pointer dereference
  bnxt_en: Modify bnxt_disable_int_sync() to be called more than once.
  dlm: prevent NPD when writing a positive value to event_done
  fbdev: modedb: Fix misaligned fields in the 1920x1080-60 mode
  ocfs2: reject oversized group bitmap descriptors
  fpga: region: fix use-after-free in child_regions_with_firmware()
  f2fs: validate ACL entry sizes in f2fs_acl_from_disk()
  mac802154: llsec: add skb_cow_data() before in-place crypto
  ext4: add bounds check for inline data length in ext4_read_inline_page
  batman-adv: tvlv: avoid race of cifsnotfound handler state
  batman-adv: tvlv: enforce 2-byte alignment
  batman-adv: dat: prevent false sharing between VLANs
  batman-adv: tt: track roam count per VID
  batman-adv: tt: don't merge change entries with different VIDs
  batman-adv: tp_meter: annotate last_recv_time access with READ/WRITE_ONCE
  batman-adv: frag: avoid underflow of TTL
  batman-adv: frag: ensure fragment is writable before modifying TTL
  batman-adv: tp_meter: initialize last_recv_time during init
  batman-adv: tp_meter: add only finished tp_vars to lists
  batman-adv: tp_meter: handle seqno wrap-around for fast recovery detection
  batman-adv: tp_meter: fix fast recovery precondition
  batman-adv: tp_meter: avoid divide-by-zero for dec_cwnd
  batman-adv: tp_meter: avoid window underflow
  batman-adv: tp_meter: initialize dec_cwnd explicitly
  batman-adv: tp_meter: initialize dup_acks explicitly
  batman-adv: tp_meter: keep unacked list in ascending ordered
  crypto: qat - Return pointer directly in adf_ctl_alloc_resources
  crypto: qat - Replace kzalloc() + copy_from_user() with memdup_user()
  vc_screen: fix null-ptr-deref in vcs_notifier() during concurrent vcs_write
  agp/amd64: Fix broken error propagation in agp_amd64_probe()
  net: qualcomm: rmnet: fix endpoint use-after-free in rmnet_dellink()
  i2c: stub: Reject I2C block transfers with invalid length
  RDMA/bnxt_re: zero shared page before exposing to userspace
  batman-adv: tt: reject oversized local TVLV buffers
  net: 9p: fix refcount leak in p9_read_work() error handling
  drm/amd/display: Use krealloc_array() in dal_vector_reserve()
  net/sched: cls_u32: use skb_header_pointer_careful()
  net: add skb_header_pointer_careful() helper
  ip6_vti: set netns_immutable on the fallback device.
  drm/amd/display: Bound VBIOS record-chain walk loops
  fuse: limit FUSE_NOTIFY_RETRIEVE to uptodate folios
  media: rc: igorplugusb: fix control request setup packet
  media: rc: ttusbir: fix inverted error logic
  x86/CPU/AMD: Move the Zen3 BTC_NO detection to the Zen3 init function
  apparmor: validate default DFA states are in bounds
  arm64: cputype: Add C1-Premium definitions
  arm64: cputype: Add C1-Ultra definitions
  lib/crypto: mpi: Fix integer underflow in mpi_read_raw_from_sgl()
  usb: gadget: f_hid: fix device reference leak in hidg_alloc()
  usb: gadget: f_hid: tidy error handling in hidg_alloc
  net: skbuff: fix missing zerocopy reference in pskb_carve helpers
  iio: dac: ad5686: fix ref bit initialization for single-channel parts
  Bluetooth: L2CAP: use chan timer to close channels in cleanup_listen()
  mm/huge_memory: update file PMD counter before folio_put()
  tty: serial: qcom-geni-serial: remove unused symbols
  thunderbolt: property: Cap recursion depth in __tb_property_parse_dir()
  scsi: target: iscsi: Bound iscsi_encode_text_output() appends to rsp_buf
  Bluetooth: Init sk_peer_* on bt_sock_alloc
  Bluetooth: Consolidate code around sk_alloc into a helper function
  qed: fix double free in qed_cxt_tables_alloc()
  qed: Use the bitmap API to simplify some functions
  Bluetooth: fix UAF in l2cap_sock_cleanup_listen() vs l2cap_conn_del()
  spi: lantiq-ssc: fix controller deregistration
  spi: st-ssc4: fix controller deregistration
  f2fs: fix incorrect file address mapping when inline inode is unwritten
  btrfs: fix missing last_unlink_trans update when removing a directory
  dm-thin: fix metadata refcount underflow
  dm btree: improve btree residency
  pmdomain: core: Fix detach procedure for virtual devices in genpd
  btrfs: fix btrfs_ioctl_space_info() slot_count TOCTOU which can lead to info-leak
  fbcon: Avoid OOB font access if console rotation fails
  spi: tegra114: fix controller deregistration
  spi: tegra20-sflash: fix controller deregistration
  spi: sun6i: fix controller deregistration
  spi: ti-qspi: fix controller deregistration
  spi: sun4i: fix controller deregistration
  wifi: brcmfmac: Fix potential use-after-free issue when stopping watchdog task
  tracepoint: balance regfunc() on func_add() failure in tracepoint_add_func()
  ceph: only d_add() negative dentries when they are unhashed
  can: ucan: fix devres lifetime
  can: ucan: fix typos in comments
  Bluetooth: hci_event: fix potential UAF in SSP passkey handlers
  udf: fix partition descriptor append bookkeeping
  net: bridge: use a stable FDB dst snapshot in RCU readers
  ALSA: core: Fix potential data race at fasync handling
  media: rc: igorplugusb: heed coherency rules
  ALSA: aoa: Skip devices with no codecs in i2sbus_resume()
  media: rc: ttusbir: respect DMA coherency rules
  ALSA: aoa: Use guard() for mutex locks
  wifi: mwifiex: fix use-after-free in mwifiex_adapter_cleanup()
  thermal: core: Fix thermal zone governor cleanup issues
  drm/nouveau: fix u32 overflow in pushbuf reloc bounds check
  net/packet: fix TOCTOU race on mmap'd vnet_hdr in tpacket_snd()
  f2fs: fix UAF caused by decrementing sbi->nr_pages[] in f2fs_write_end_io()
  batman-adv: tp_meter: fix tp_num leak on kmalloc failure
  fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling
  thunderbolt: Limit XDomain response copy to actual frame size
  thunderbolt: Clamp XDomain response data copy to allocation size
  thunderbolt: Bound root directory content to block size
  thunderbolt: Reject zero-length property entries in validator
  sctp: stream: fully roll back denied add-stream state
  mmc: sdhci: add signal voltage switch in sdhci_resume_host
  mmc: core: Fix host controller programming for fixed driver type
  net: mv643xx: fix OF node refcount
  ipc/shm: serialize orphan cleanup with shm_nattch updates
  Input: atkbd - skip deactivate for HONOR BCC-N's internal keyboard
  Input: atkbd - add DMI quirk for Lenovo Yoga Air 14 (83QK)
  IB/isert: Reject login PDUs shorter than ISER_HEADERS_LEN
  vsock/vmci: fix sk_ack_backlog leak on failed handshake
  ARM: socfpga: Fix OF node refcount leak in SMP setup
  RDMA/srp: bound SRP_RSP sense copy by the received length
  drm/amd/display: Reject gpio_bitshift >= 32 in bios_parser_get_gpio_pin_info()
  USB: serial: kl5kusb105: fix bulk-out buffer overflow
  USB: serial: option: add usb-id for Dell Wireless DW5826e-m
  USB: serial: io_ti: fix heap overflow in build_i2c_fw_hdr()
  USB: serial: io_ti: fix heap overflow in get_manuf_info()
  netfilter: nft_tunnel: fix use-after-free on object destroy
  netfilter: nft_exthdr: fix register tracking for F_PRESENT flag
  netfilter: x_tables: avoid leaking percpu counter pointers
  ip6_vti: fix incorrect tunnel matching in vti6_tnl_lookup()
  net/rds: fix NULL deref in rds_ib_send_cqe_handler() on masked atomic completion
  net: guard timestamp cmsgs to real error queue skbs
  sctp: fix uninit-value in __sctp_rcv_asconf_lookup()
  net: openvswitch: fix possible kfree_skb of ERR_PTR
  ipv6: sit: reload inner IPv6 header after GSO offloads
  spi: meson-spicc: Fix double-put in remove path
  wifi: mac80211: check tdls flag in ieee80211_tdls_oper
  usbnet: Fix using smp_processor_id() in preemptible code warnings
  ext4: validate p_idx bounds in ext4_ext_correct_indexes
  signal: clear JOBCTL_PENDING_MASK for caller in zap_other_threads()
  sctp: purge outqueue on stale COOKIE-ECHO handling
  net/802/mrp: fix vector attribute parsing in mrp_pdu_parse_vecattr
  ieee802154: 6lowpan: only accept IPv6 packets in lowpan_xmit()
  ipv4: restrict IPOPT_SSRR and IPOPT_LSRR options
  Bluetooth: MGMT: validate advertising TLV before type checks
  Bluetooth: RFCOMM: hold listener socket in rfcomm_connect_ind()
  net: garp: fix unsigned integer underflow in garp_pdu_parse_attr
  pcnet32: stop holding device spin lock during napi_complete_done
  6lowpan: fix off-by-one in multicast context address compression
  dm cache policy smq: check allocation under invalidate lock
  netfilter: bridge: make ebt_snat ARP rewrite writable
  netfilter: conntrack_irc: fix possible out-of-bounds read
  ipvs: clear the svc scheduler ptr early on edit
  netfilter: xt_NFQUEUE: prefer raw_smp_processor_id
  tee: optee: prevent use-after-free when the client exits before the supplicant
  i2c: dev: prevent integer overflow in I2C_TIMEOUT ioctl
  USB: serial: mct_u232: fix memory corruption with small endpoint
  HID: core: Add printk_ratelimited variants to hid_warn() etc
  bpf: Free reuseport cBPF prog after RCU grace period.
  usb: core: Fix SuperSpeed root hub wMaxPacketSize
  team: Move team device type change at the end of team_port_add
  USB: serial: digi_acceleport: fix memory corruption with small endpoints
  USB: serial: cypress_m8: fix memory corruption with small endpoint
  Bluetooth: hci_core: Fix use-after-free in vhci_flush()
  serial: zs: Switch to using channel reset
  serial: zs: Fix bootconsole handover lockup
  serial: dz: Fix bootconsole message clobbering at chip reset
  serial: zs: Fix swapped RI/DSR modem line transition counting
  serial: sh-sci: fix memory region release in error path
  scsi: fcoe: Reject FIP descriptors with zero fip_dlen in CVL walker
  thunderbolt: property: Reject dir_len < 4 to prevent size_t underflow
  thunderbolt: property: Reject u32 wrap in tb_property_entry_valid()
  usb: gadget: dummy_hcd: Reject hub port requests for non-existent ports
  usb: gadget: net2280: Fix double free in probe error path
  USB: serial: mct_u232: fix missing interrupt-in transfer sanity check
  USB: serial: mxuport: fix memory corruption with small endpoint
  USB: serial: keyspan: fix missing indat transfer sanity check
  USB: serial: cypress_m8: validate interrupt packet headers
  USB: serial: belkin_sa: validate interrupt status length
  USB: serial: option: add missing RSVD(5) flag for Rolling RW135R-GL
  USB: serial: option: add MeiG SRM813Q
  usb: usbtmc: reject interrupt endpoints with small wMaxPacketSize
  usb: usbtmc: check URB actual_length for interrupt-IN notifications
  usb: storage: Add quirks for PNY Elite Portable SSD
  USB: quirks: add NO_LPM for Lenovo ThinkPad USB-C Dock Gen2 hub controllers
  tty: serial: pch_uart: add check for dma_alloc_coherent()
  comedi: comedi_test: Fix limiting of convert_arg in waveform_ai_cmdtest()
  comedi: comedi_test: fix check for valid scan_begin_src in waveform_ai_cmdtest()
  Input: atmel_mxt_ts - fix boundary check in mxt_prepare_cfg_mem
  netfilter: conntrack: tcp: do not force CLOSE on invalid-seq RST without direction check
  xfrm: route MIGRATE notifications to caller's netns
  nfc: hci: fix out-of-bounds read in HCP header parsing
  HID: wacom: Fix OOB write in wacom_hid_set_device_mode()
  ip6: vti: Use ip6_tnl.net in vti6_changelink().
  ipv6: validate extension header length before copying to cmsg
  ip6: vti: Use ip6_tnl.net in vti6_siocdevprivate().
  ipv6: exthdrs: refresh nh pointer after ipv6_hop_jumbo()
  Input: elan_i2c - validate firmware size before use
  usb: dwc2: Fix use after free in debug code
  USB: serial: omninet: fix memory corruption with small endpoint
  iio: buffer: hw-consumer: fix use-after-free in error path
  iio: light: cm3323: fix reg_conf not being initialized correctly
  iio: temperature: tsys01: fix broken PROM checksum validation
  iio: ssp_sensors: cancel delayed work_refresh on remove
  iio: gyro: itg3200: fix i2c read into the wrong stack location
  iio: adc: viperboard: Fix error handling in vprbrd_iio_read_raw
  iio: dac: ad5686: fix input raw value check
  iio: dac: max5821: fix return value check in powerdown sync
  iio: adc: xilinx-xadc: Fix sequencer mode in postdisable for dual mux
  parport: Fix race between port and client registration
  Bluetooth: L2CAP: fix chan ref leak in l2cap_chan_timeout() on !conn
  hpfs: fix a crash if hpfs_map_dnode_bitmap fails
  Bluetooth: btusb: Allow firmware re-download when version matches
  Input: ims-pcu - fix usb_free_coherent() size in ims_pcu_buffers_free()
  USB: serial: safe_serial: fix memory corruption with small endpoint
  usb: typec: wcove: don't write past struct pd_message in wcove_read_rx_buffer()
  usb: typec: altmodes/displayport: validate count before reading Status Update VDO
  batman-adv: bla: avoid double decrement of bla.num_requests
  batman-adv: tp_meter: avoid role confusion in tp_list
  batman-adv: tp_meter: fix race condition in send error reporting
  batman-adv: iv: recover OGM scheduling after forward packet error
  batman-adv: tvlv: reject oversized TVLV packets
  batman-adv: bla: avoid NULL-ptr deref for claim via dropped interface
  batman-adv: tvlv: abort OGM send on tvlv append failure
  sctp: fix race between sctp_wait_for_connect and peeloff
  Bluetooth: 6lowpan: check skb_clone() return value in send_mcast_pkt()
  vxlan: do not reuse cached ip_hdr() value after skb_tunnel_check_pmtu()
  ipv4: free net->ipv4.sysctl_local_reserved_ports after unregister_net_sysctl_table()
  net/iucv: fix locking in .getsockopt
  net/smc: Do not re-initialize smc hashtables
  net: netlink: don't set nsid on local notifications
  net: netlink: fix sending unassigned nsid after assigned one
  netfilter: ebtables: fix OOB read in compat_mtw_from_user
  netfilter: xt_cpu: prefer raw_smp_processor_id
  netfilter: synproxy: refresh tcphdr after skb_ensure_writable
  nfc: llcp: Fix use-after-free race in nfc_llcp_recv_cc()
  nfc: llcp: Fix use-after-free in llcp_sock_release()
  nfc: llcp: protect nfc_llcp_sock_unlink() calls
  net/sched: sch_sfb: Replace direct dequeue call with peek and qdisc_dequeue_peeked
  net/sched: cls_fw: fix NULL dereference of "old" filters before change()
  ALSA: usb-audio: fix null pointer dereference on pointer cs_desc
  Input: usbtouchscreen - clamp NEXIO data_len/x_len to URB buffer size
  fixup! BACKPORT: mmap locking API: rename mmap_sem to mmap_lock
  CIP: Bump version suffix to -cip134 after merge from cip/linux-4.19.y-st tree
  Update localversion-st, tree is up-to-date with 5.10.258.
  tipc: fix double-free in tipc_buf_append()
  slip: reject VJ receive packets on instances with no rstate array
  netfilter: nfnetlink_osf: fix potential NULL dereference in ttl check
  wifi: brcmfmac: Fix error pointer dereference
  bpf: fix end-of-list detection in cgroup_storage_get_next_key()
  crypto: ccp - copy IV using skcipher ivsize
  netfilter: ipset: stop hash:* range iteration at end
  net/sched: netem: fix queue limit check to include reordered packets
  cdrom, scsi: sr: propagate read-only status to block layer via set_disk_ro()
  btrfs: fix double-decrement of bytes_may_use in submit_one_async_extent()
  crypto: authencesn - reject short ahash digests during instance creation
  crypto: ccp: Don't attempt to copy PDH cert to userspace if PSP command failed
  crypto: ccp: Don't attempt to copy CSR to userspace if PSP command failed
  x86/uprobes: Fix XOL allocation failure for 32-bit tasks
  blk-mq: use quiesced elevator switch when reinitializing queues
  scsi: ufs: core: Improve SCSI abort handling
  bcache: fix cached_dev.sb_bio use-after-free and crash
  rxrpc: proc: size address buffers for %pISpc output
  can: raw: fix ro->uniq use-after-free in raw_rcv()
  can: af_can: export can_sock_destruct()
  batman-adv: hold claim backbone gateways by reference
  l2tp: Drop large packets with UDP encap
  xsk: tighten UMEM headroom validation to account for tailroom and min frame
  can: mcp251x: add error handling for power enable in open and resume
  net: skbuff: propagate shared-frag marker through frag-transfer helpers
  Revert "i2c: fsi: Fix a potential leak in fsi_i2c_probe()"
  net: usb: lan78xx: Fix double free issue with interrupt buffer allocation
  string: add mem_is_zero() helper to check if memory area is all zeros
  tracing: Avoid NULL return from hist_field_name() on truncation
  platform/x86: intel-hid: Check ACPI_HANDLE() against NULL
  HID: quirks: really enable the intended work around for appledisplay
  net: ethernet: cs89x0: remove stale CONFIG_MACH_MX31ADS reference
  net: ethernet: cortina: Carry over frag counter
  net: ethernet: cortina: Drop half-assembled SKB
  net: ethernet: cortina: Make RX SKB per-port
  irqchip/ath79-cpu: Remove unused function
  ARM: integrator: Fix early initialization
  batman-adv: tt: fix negative tt_buff_len
  batman-adv: tt: fix negative last_changeset_len
  batman-adv: tp_meter: avoid use of uninit sender vars
  batman-adv: bla: fix report_work leak on backbone_gw purge
  batman-adv: frag: disallow unicast fragment in fragment
  batman-adv: fix tp_meter counter underflow during shutdown
  batman-adv: fix fragment reassembly length accounting
  batman-adv: dat: handle forward allocation error
  batman-adv: clear current gateway during teardown
  batman-adv: mcast: fix use-after-free in orig_node RCU release
  drm/amd/display: Fix integer overflow in bios_get_image()
  spi: ti-qspi: fix use-after-free after DMA setup failure
  scsi: isci: Fix use-after-free in device removal path
  tracing: Do not call map->ops->elt_free() if elt_alloc() fails
  ixgbevf: fix use-after-free in VEPA multicast source pruning
  ipv4: raw: reject IP_HDRINCL packets with ihl < 5
  vsock/vmci: fix UAF when peer resets connection during handshake
  netfilter: ip6t_hbh: reject oversized option lists
  net: bcmgenet: keep RBUF EEE/PM disabled
  phonet/pep: disable BH around forwarded sk_receive_skb()
  Bluetooth: hci_uart: fix UAFs and race conditions in close and init paths
  Bluetooth: bnep: Fix UAF read of dev->name
  ALSA: asihpi: Fix potential OOB array access at reading cache
  ALSA: ua101: Reject too-short USB descriptors
  sysfs: don't remove existing directory on update failure
  smb: client: reject userspace cifs.spnego descriptions
  Revert "s390/cio: Fix device lifecycle handling in css_alloc_subchannel()"
  selftests: lib.mk: Also install "config" and "settings"
  s390/debug: Reject zero-length input before trimming a newline
  net/rds: reset op_nents when zerocopy page pin fails
  drm/gma500/oaktrail_hdmi: fix i2c adapter leak on setup
  libceph: Fix potential out-of-bounds access in crush_decode()
  libceph: Fix potential null-ptr-deref in decode_choose_args()
  powerpc/warp: Fix error handling in pika_dtm_thread
  ceph: fix a buffer leak in __ceph_setxattr()
  ALSA: usb-audio: Bound MIDI endpoint descriptor scans
  audit: enforce AUDIT_LOCKED for AUDIT_TRIM and AUDIT_MAKE_EQUIV
  audit: fix incorrect inheritable capability in CAPSET records
  crypto: af_alg - Cap AEAD AD length to 0x80000000
  btrfs: tracepoints: fix sleep while in atomic context in btrfs_sync_file()
  drm/amd/display: Read EDID from VBIOS embedded panel info
  drm/amd/display: Allow DCE link encoder without AUX registers
  net/sched: sch_cake: annotate data-races in cake_dump_stats() (V)
  sctp: discard stale INIT after handshake completion
  ASoC: codecs: ab8500: Fix casting of private data
  NFC: trf7970a: Ignore antenna noise when checking for RF field
  net: usb: rtl8150: free skb on usb_submit_urb() failure in xmit
  net: usb: rtl8150: fix use-after-free in rtl8150_start_xmit()
  vrf: Fix a potential NPD when removing a port from a VRF
  net/sched: sch_choke: annotate data-races in choke_dump_stats()
  net: sched: choke: remove unused variables in struct choke_sched_data
  net/sched: netem: validate slot configuration
  net/sched: netem: fix probability gaps in 4-state loss model
  net: sched: sch_netem: Refactor code in 4-state loss generator
  scsi: sr: Add memory allocation failure handling for get_capabilities()
  netfilter: nf_conntrack_sip: don't use simple_strtoul
  netfilter: xt_policy: fix strict mode inbound policy matching
  drm/amdgpu/gfx6: Support harvested SI chips with disabled TCCs (v2)
  netfilter: arp_tables: fix IEEE1394 ARP payload parsing
  tracing: branch: Fix inverted check on stat tracer registration
  mailbox: mailbox-test: initialize struct earlier
  mailbox: mailbox-test: don't free the reused channel
  mailbox: add sanity check for channel array
  cgroup/rdma: fix integer overflow in rdmacg_try_charge()
  mailbox: mailbox-test: free channels on probe error
  fbdev: offb: fix PCI device reference leak on probe failure
  net/sched: sch_sfb: annotate data-races in sfb_dump_stats()
  net/sched: sch_fq_codel: remove data-races from fq_codel_dump_stats()
  net_sched: sch_hhf: annotate data-races in hhf_dump_stats()
  net/rds: zero per-item info buffer before handing it to visitors
  slip: bound decode() reads against the compressed packet length
  netfilter: nfnetlink_osf: fix out-of-bounds read on option matching
  ipvs: fix MTU check for GSO packets in tunnel mode
  netfilter: xtables: restrict several matches to inet family
  netfilter: conntrack: remove sprintf usage
  netfilter: nfnetlink_osf: fix divide-by-zero in OSF_WSS_MODULO
  netfilter: nft_osf: restrict it to ipv4
  openvswitch: cap upcall PID array size and pre-size vport replies
  dissector: do not set invalid PPP protocol
  sctp: fix OOB write to userspace in sctp_getsockopt_peer_auth_chunks
  ipv6: fix possible UAF in icmpv6_rcv()
  e1000e: Unroll PTP in probe error handling
  i40e: don't advertise IFF_SUPP_NOFCS
  PCMCIA: Fix garbled log messages for KERN_CONT
  clk: xgene: Fix mapping leak in xgene_pllclk_init()
  clk: qoriq: avoid format string warning
  clk: imx: imx6q: Fix device node reference leak in of_assigned_ldb_sels()
  scsi: target: core: Fix integer overflow in UNMAP bounds check
  scsi: sg: Resolve soft lockup issue when opening /dev/sgX
  RDMA/core: Prefer NLA_NUL_STRING
  nfs/blocklayout: Fix compilation error (`make W=1`) in bl_write_pagelist()
  mfd: mc13xxx-core: Fix memory leak in mc13xxx_add_subdevice_pdata()
  tty: hvc_iucv: fix off-by-one in number of supported devices
  tty: hvc: remove HVC_IUCV_MAGIC
  platform/surface: surfacepro3_button: Drop wakeup source on remove
  driver core: device.h: remove extern from function prototypes
  perf util: Kill die() prototype, dead for a long time
  pinctrl: abx500: Fix type of 'argument' variable
  pinctrl: pinctrl-pic32: Fix resource leak
  bpf: Fix precedence bug in convert_bpf_ld_abs alignment check
  HID: usbhid: fix deadlock in hid_post_reset()
  mtd: rawnand: sunxi: fix sunxi_nfc_hw_ecc_read_extra_oob
  HID: asus: do not abort probe when not necessary
  HID: asus: make asus_resume adhere to linux kernel coding standards
  ima: check return value of crypto_shash_final() in boot aggregate
  tracing: Rebuild full_name on each hist_field_name() call
  ocfs2: validate group add input before caching
  ocfs2: validate bg_bits during freefrag scan
  ocfs2: fix listxattr handling when the buffer is full
  ocfs2/dlm: fix off-by-one in dlm_match_regions() region comparison
  ocfs2/dlm: validate qr_numregions in dlm_match_regions()
  memory: tegra124-emc: Fix dll_change check
  ARM: dts: mediatek: mt7623: fix efuse fallback compatible
  efi/capsule-loader: fix incorrect sizeof in phys array reallocation
  quota: Fix race of dquot_scan_active() with quota deactivation
  ktest: Honor empty per-test option overrides
  ktest: Avoid undef warning when WARNINGS_FILE is unset
  selftest: memcg: skip memcg_sock test if address family not supported
  Documentation: fix a hugetlbfs reservation statement
  ALSA: hda/realtek: fix code style (ERROR: else should follow close brace '}')
  ALSA: hda/realtek: Whitespace fix
  drm/amd/pm/ci: Clear EnabledForActivity field for memory levels
  drm/amd/pm/ci: Fix powertune defaults for Hawaii 0x67B0
  drm/amd/pm/ci: Use highest MCLK on CI when MCLK DPM is disabled
  ALSA: core: Validate compress device numbers without dynamic minors
  ALSA: compress: Drop unused functions
  fbdev: matroxfb: Mark variable with __maybe_unused to avoid W=1 build break
  drm/sun4i: Fix resource leaks
  dm log: fix out-of-bounds write due to region_count overflow
  dm cache metadata: fix memory leak on metadata abort retry
  dm cache: fix concurrent write failure in passthrough mode
  dm cache policy smq: fix missing locks in invalidating cache blocks
  dm cache: fix write path cache coherency in passthrough mode
  dm cache: fix null-deref with concurrent writes in passthrough mode
  ASoC: sti: use managed regmap_field allocations
  ASoC: sti: Return errors from regmap_field_alloc()
  Bluetooth: hci_ldisc: Clear HCI_UART_PROTO_INIT on error
  Bluetooth: L2CAP: Fix printing wrong information if SDU length exceeds MTU
  ppp: require CAP_NET_ADMIN in target netns for unattached ioctls
  net/rds: Optimize rds_ib_laddr_check
  net: hamradio: 6pack: fix uninit-value in sixpack_receive_buf
  6pack: propagage new tty types
  netfilter: nft_fwd_netdev: check ttl/hl before forwarding
  net: bcmgenet: fix off-by-one in bcmgenet_put_txcb
  wifi: rtlwifi: pci: fix possible use-after-free caused by unfinished irq_prepare_bcn_tasklet
  firmware: dmi: Correct an indexing error in dmi.h
  locking: Fix rwlock support in <linux/spinlock_up.h>
  irqchip/irq-pic32-evic: Address warning related to wrong printf() formatter
  thermal/drivers/spear: Fix error condition for reading st,thermal-flags
  pstore/ram: fix resource leak when ioremap() fails
  nilfs2: reject zero bd_oblocknr in nilfs_ioctl_mark_blocks_dirty()
  drbd: Balance RCU calls in drbd_adm_dump_devices()
  fs/omfs: reject s_sys_blocksize smaller than OMFS_DIR_START
  Bluetooth: L2CAP: Fix null-ptr-deref in l2cap_sock_get_sndtimeo_cb()
  batman-adv: bla: put backbone reference on failed claim hash insert
  batman-adv: bla: only purge non-released claims
  batman-adv: bla: prevent use-after-free when deleting claims
  batman-adv: reject new tp_meter sessions during teardown
  batman-adv: fix integer overflow on buff_pos
  sctp: revalidate list cursor after sctp_sendmsg_to_asoc() in SCTP_SENDALL
  drm/amdgpu/pm: align Hawaii mclk workaround with radeon
  drm/amdgpu/pm: add missing revision check for CI
  drm/amdgpu/sdma4: replace BUG_ON with WARN_ON in fence emission
  drm/amdgpu/gfx9: drop unnecessary 64-bit fence flag check in KIQ
  drm/radeon: add missing revision check for CI
  spi: mpc52xx: fix use-after-free on unbind
  media: dib8000: avoid division by 0 in dib8000_set_dds()
  media: rc: streamzap: Error handling in probe
  media: uvcvideo: Enable VB2_DMABUF for metadata stream
  RDMA/rxe: Reject unknown opcodes before ICRC processing
  RDMA/ocrdma: Don't NULL deref uctx on errors in ocrdma_copy_pd_uresp()
  power: supply: max17042: avoid overflow when determining health
  PCI/AER: Stop ruling out unbound devices as error source
  s390/debug: Reject zero-length input in debug_input_flush_fn()
  nvmet: avoid recursive nvmet-wq flush in nvmet_ctrl_free
  md/raid10: fix divide-by-zero in setup_geo() with zero far_copies
  isofs: validate block number from NFS file handle in isofs_export_iget
  isofs: validate Rock Ridge CE continuation extent against volume size
  dm-verity-fec: correctly reject too-small hash devices
  dm-verity-fec: correctly reject too-small FEC devices
  dm: fix a buffer overflow in ioctl processing
  dm: don't report warning when doing deferred remove
  cpuidle: powerpc: avoid double clear when breaking snooze
  spi: topcliff-pch: fix use-after-free on unbind
  udf: reject descriptors with oversized CRC length
  ibmveth: Disable GSO for packets with small MSS
  parisc: Fix IRQ leak in LASI driver
  net/rds: handle zerocopy send cleanup before the message is queued
  ip6_gre: Use cached t->net in ip6erspan_changelink().
  sound: ua101: fix division by zero at probe
  Bluetooth: L2CAP: Fix null-ptr-deref in l2cap_sock_state_change_cb()
  Bluetooth: L2CAP: Fix null-ptr-deref in l2cap_sock_new_connection_cb()
  usb: ulpi: fix memory leak on ulpi_register() error paths
  USB: serial: option: add Telit Cinterion LE910Cx compositions
  USB: omap_udc: DMA: Don't enable burst 4 mode
  ALSA: usb-audio: Fix UAC3 cluster descriptor size check
  ALSA: usb-audio: Avoid potential endless loop in convert_chmap_v3()
  usb: usblp: fix uninitialized heap leak via LPGETSTATUS ioctl
  usb: usblp: fix heap leak in IEEE 1284 device ID via short response
  wifi: b43: enforce bounds check on firmware key index in b43_rx()
  wifi: ath5k: do not access array OOB
  wifi: rsi: fix kthread lifetime race between self-exit and external-stop
  wifi: b43legacy: enforce bounds check on firmware key index in RX path
  ipmi:ssif: NULL thread on error
  ipmi:ssif: Remove unnecessary indention
  ipmi:ssif: Clean up kthread on errors
  ipmi:ssif: Fix a shutdown race
  net/sched: sch_red: Replace direct dequeue call with peek and qdisc_dequeue_peeked
  fbdev: udlfb: add vm_ops to dlfb_ops_mmap to prevent use-after-free
  ipmi:si: Return state to normal if message allocation fails
  ipmi: Check event message buffer response for bad data
  ipmi: Add limits to event and receive message requests
  scsi: target: configfs: Bound snprintf() return in tg_pt_gp_members_show()
  ALSA: caiaq: fix usb_dev refcount leak on probe failure
  ALSA: caiaq: Don't abort when no input device is available
  ALSA: caiaq: Fix potentially leftover ep1_in_urb at error path
  dm mirror: fix integer overflow in create_dirty_log()
  crypto: atmel-tdes - fix DMA sync direction
  crypto: ccree - fix a memory leak in cc_mac_digest()
  crypto: hisilicon - Fix dma_unmap_single() direction
  crypto: atmel-ecc - Release client on allocation failure
  crypto: atmel-aes - Fix 3-page memory leak in atmel_aes_buff_cleanup
  taskstats: set version in TGID exit notifications
  inotify: fix watch count leak when fsnotify_add_inode_mark_locked() fails
  md/raid5: validate payload size before accessing journal metadata
  md/raid5: fix soft lockup in retry_aligned_read()
  ext4: fix missing brelse() in ext4_xattr_inode_dec_ref_all()
  userfaultfd: allow registration of ranges below mmap_min_addr
  tpm: tpm_tis: add error logging for data transfer
  mmc: block: use single block write in retry
  RDMA/rxe: Validate pad and ICRC before payload_size() in rxe_rcv
  ALSA: 6fire: Fix input volume change detection
  ALSA: caiaq: Handle probe errors properly
  ALSA: caiaq: Fix control_put() result and cache rollback
  ALSA: seq_oss: return full count for successful SEQ_FULLSIZE writes
  ALSA: ctxfi: Add fallback to default RSR for S/PDIF
  lib/ts_kmp: fix integer overflow in pattern length calculation
  Revert "ALSA: usb: Increase volume range that triggers a warning"
  net: strparser: fix skb_head leak in strp_abort_strp()
  net: caif: clear client service pointer on teardown
  ALSA: control: Validate buf_len before strnlen() in snd_ctl_elem_init_enum_names()
  crypto: pcrypt - Fix handling of MAY_BACKLOG requests
  um: drivers: call kernel_strrchr() explicitly in cow_user.c
  firmware: google: framebuffer: Do not mark framebuffer as busy
  ibmasm: fix heap over-read in ibmasm_send_i2o_message()
  ibmasm: fix OOB reads in command_file_write due to missing size checks
  misc: ibmasm: fix OOB MMIO read in ibmasm_handle_mouse_interrupt()
  ALSA: usb-audio: Fix Audio Advantage Micro II SPDIF switch
  ALSA: usb-audio: Avoid false E-MU sample-rate notifications
  ALSA: usb-audio: stop parsing UAC2 rates at MAX_NR_RATES
  rxrpc: Fix missing validation of ticket length in non-XDR key preparsing
  ALSA: caiaq: take a reference on the USB device in create_card()
  ALSA: usb-audio: apply quirk for MOONDROP JU Jiu
  rxrpc: Fix anonymous key handling
  scripts/dtc: Remove unused dts_version in dtc-lexer.l
  gfs2: Validate i_depth for exhash directories
  mm: blk-cgroup: fix use-after-free in cgwb_release_workfn()
  ocfs2: fix possible deadlock between unlink and dio_end_io_write
  fs/ocfs2: fix comments mentioning i_mutex
  rxrpc: reject undecryptable rxkad response tickets
  ocfs2: fix out-of-bounds write in ocfs2_write_end_inline
  ocfs2: validate inline data i_size during inode read
  ocfs2: add inline inode consistency check to ocfs2_validate_inode_block()
  xfrm: clear trailing padding in build_polexpire()
  rxrpc: fix reference count leak in rxrpc_server_keyring()
  mailbox: Prevent out-of-bounds access in of_mbox_index_xlate()
  wifi: mac80211: always free skb on ieee80211_tx_prepare_skb() failure
  ipv6: add NULL checks for idev in SRv6 paths
  net: tap: NULL pointer derefence in dev_parse_header_protocol when skb->dev is null
  media: hackrf: fix to not free memory after the device is registered in hackrf_probe()
  nilfs2: fix NULL i_assoc_inode dereference in nilfs_mdt_save_to_shadow_map
  media: as102: fix to not free memory after the device is registered in as102_usb_probe()
  ALSA: 6fire: fix use-after-free on disconnect
  media: em28xx: fix use-after-free in em28xx_v4l2_open()
  mm/kasan: fix double free for kasan pXds
  KVM: x86: Use scratch field in MMIO fragment to hold small write values
  media: uvcvideo: Allow extra entities
  Revert "wifi: cfg80211: stop NAN and P2P in cfg80211_leave"
  rxrpc: Fix call removal to use RCU safe deletion
  ACPI: property: Constify stubs for CONFIG_ACPI=n case
  ocfs2: handle invalid dinode in ocfs2_group_extend
  ocfs2: fix use-after-free in ocfs2_fault() when VM_FAULT_RETRY
  ALSA: ctxfi: Limit PTP to a single page
  USB: serial: option: add Telit Cinterion FN990A MBIM composition
  fbdev: udlfb: avoid divide-by-zero on FBIOPUT_VSCREENINFO
  usb: storage: Expand range of matched versions for VL817 quirks entry
  usbip: validate number_of_packets in usbip_pack_ret_submit()
  usb: gadget: renesas_usb3: validate endpoint index in standard request handlers
  usb: gadget: f_phonet: fix skb frags[] overflow in pn_rx_complete()
  usb: gadget: f_ncm: validate minimum block_len in ncm_unwrap_ntb()
  fbdev: tdfxfb: avoid divide-by-zero on FBIOPUT_VSCREENINFO
  ALSA: fireworks: bound device-supplied status before string array lookup
  NFC: digital: Bounds check NFC-A cascade depth in SDD response handler
  net: usb: cdc-phonet: fix skb frags[] overflow in rx_complete()
  HID: core: clamp report_size in s32ton() to avoid undefined shift
  HID: alps: fix NULL pointer dereference in alps_raw_event()
  staging: rtl8723bs: initialize le_tmp64 in rtw_BIP_verify()
  i2c: s3c24xx: check the size of the SMBUS message before using it
  nfc: llcp: add missing return after LLCP_CLOSED checks
  MIPS: mm: Suppress TLB uniquification on EHINV hardware
  af_unix: read UNIX_DIAG_VFS data under unix_state_lock
  netfilter: ip6t_eui64: reject invalid MAC header for all packets
  netfilter: xt_multiport: validate range encoding in checkentry
  netfilter: nfnetlink_log: initialize nfgenmsg in NLMSG_DONE terminator
  xfrm_user: fix info leak in build_mapping()
  e1000: check return value of e1000_read_eeprom
  net: lapbether: replace comparison to NULL with "lapbeth_get_x25_dev"
  net: lapbether: Close the LAPB device before its underlying Ethernet device closes
  net: sched: act_csum: validate nested VLAN headers
  drm/vc4: Protect madv read in vc4_gem_object_mmap() with madv_lock
  drm/vc4: Fix a memory leak in hang state error path
  drm/vc4: Fix memory leak of BO array in hang state
  ASoC: stm32_sai: fix incorrect BCLK polarity for DSP_A/B, LEFT_J
  wifi: brcmfmac: validate bsscfg indices in IF events
  techpack: display: msm: sde: Fix uninitialized errors
  drivers: hwtracing: coresight: Fix sometimes-uninitialized errors
  ata: ahci: force 32-bit DMA for JMicron JMB582/JMB585
  HID: roccat: fix use-after-free in roccat_report_event
  HID: quirks: add HID_QUIRK_ALWAYS_POLL for 8BitDo Pro 3
  wifi: wl1251: validate packet IDs before indexing tx_frames
  btrfs: tracepoints: get correct superblock from dentry in event btrfs_sync_file()
  ALSA: asihpi: avoid write overflow check warning
  net: skbuff: preserve shared-frag marker during coalescing
  Revert "arm64: configs: vendor: Enable CONFIG_FUSE_BPF"
  kbuild: Remove support for Clang's ThinLTO caching
  Makefile: use -z pack-relative-relocs
  Makefile: fix GDB warning with CONFIG_RELR
  Revert "kbuild: disable clang's default use of -fmerge-all-constants"
  Revert "arm64: configs: vendor: Enable CONFIG_UDMABUF"
  Revert "arm64: configs: vendor: Enable DMA-BUF sysfs stats"
  Revert "arm64: configs: vendor: Enable DMABUF heaps"
  qcacmn: nla_nest_start -> nla_nest_start_noflag
  arm64: configs: vendor: Enable CONFIG_FUSE_BPF
  Revert "sdcardfs: Disallow SDCARD_FS when FUSE_BPF is enabled"
  UPSTREAM: bpf: Fix regression on BPF_OBJ_GET with non-O_RDWR flags
  UPSTREAM: bpf: program: Refuse non-O_RDWR flags in BPF_OBJ_GET
  UPSTREAM: bpf: Take module reference for trampoline in module
  UPSTREAM: bpf: Fix a spelling typo in bpf_atomic_alu_string disasm
  UPSTREAM: bpf: BPF-helper for MTU checking add length input
  UPSTREAM: bpf: Dont allow vmlinux BTF to be used in map_create and prog_load.
  UPSTREAM: bpf: Explicitly zero-extend R0 after 32-bit cmpxchg
  UPSTREAM: bpf: Account for BPF_FETCH in insn_has_def32()
  UPSTREAM: bpf: Remove blank line in bpf helper description comment
  UPSTREAM: bpf: Drop imprecise log message
  UPSTREAM: bpf: Clear percpu pointers in bpf_prog_clone_free()
  UPSTREAM: bpf: Fix a warning message in mark_ptr_not_null_reg()
  UPSTREAM: bpf: Support pointers in global func args
  UPSTREAM: bpf: Extract nullable reg type conversion into a helper function
  UPSTREAM: bpf: Rename bpf_reg_state variables
  UPSTREAM: bpf: Drop MTU check when doing TC-BPF redirect to ingress
  UPSTREAM: bpf: Add BPF-helper for MTU checking
  UPSTREAM: bpf: bpf_fib_lookup return MTU value as output when looked up
  UPSTREAM: bpf: Allow bpf_d_path in bpf_iter program
  UPSTREAM: bpf: Introduce task_vma bpf_iter
  UPSTREAM: mmap locking API: add mmap_lock_is_contended()
  BACKPORT: mmap locking API: rename mmap_sem to mmap_lock
  UPSTREAM: bpf: Fix subreg optimization for BPF_FETCH
  UPSTREAM: bpf: Clear per_cpu pointers during bpf_prog_realloc
  UPSTREAM: net/sock: Add kernel config SOCK_RX_QUEUE_MAPPING
  UPSTREAM: bpf: Expose bpf_get_socket_cookie to tracing programs
  UPSTREAM: bpf: Be less specific about socket cookies guarantees
  UPSTREAM: bpf: Allows per-cpu maps and map-in-map in sleepable programs
  UPSTREAM: bpf: Count the number of times recursion was prevented
  UPSTREAM: bpf: Add per-program recursion prevention mechanism
  UPSTREAM: bpf: Compute program stats for sleepable programs
  UPSTREAM: bpf: Run sleepable programs with migration disabled
  UPSTREAM: bpf: Optimize program stats
  BACKPORT: IPv6: Extend 'fib_notify_on_flag_change' sysctl
  BACKPORT: ipv6: Fix sysctl max for fib_multipath_hash_policy
  BACKPORT: IPv6: Add "offload failed" indication to routes
  UPSTREAM: net: ipv4: Pass fib_rt_info as const to fib_dump_info()
  UPSTREAM: rtnetlink: Add RTM_F_OFFLOAD_FAILED flag
  UPSTREAM: net: ipv4: Publish fib_nlmsg_size()
  UPSTREAM: net: add EXPORT_INDIRECT_CALLABLE wrapper
  UPSTREAM: net: use indirect call helpers for dst_input
  BACKPORT: IPv4: Add "offload failed" indication to routes
  UPSTREAM: net: ipv4: Emit notification when fib hardware flags are changed
  UPSTREAM: bpf: Refactor BPF_PSEUDO_CALL checking as a helper function
  UPSTREAM: net: fix building errors on powerpc when CONFIG_RETPOLINE is not set
  UPSTREAM: bpf: Allow usage of BPF ringbuffer in sleepable programs
  UPSTREAM: net: indirect call helpers for ipv4/ipv6 dst_check functions
  UPSTREAM: net: use indirect call helpers for dst_mtu
  UPSTREAM: bpf: Propagate stack bounds to registers in atomics w/ BPF_FETCH
  UPSTREAM: net: ipv6: Emit notification when fib hardware flags are changed
  BACKPORT: net: Pass 'net' struct as first argument to fib6_info_hw_flags_set()
  UPSTREAM: bpf: Enable bpf_{g,s}etsockopt in BPF_CGROUP_UDP{4,6}_RECVMSG
  UPSTREAM: bpf: Enable bpf_{g,s}etsockopt in BPF_CGROUP_INET{4,6}_GET{PEER,SOCK}NAME
  UPSTREAM: bpf: Enable bpf_{g,s}etsockopt in BPF_CGROUP_UDP{4,6}_SENDMSG
  BACKPORT: bpf: Allow rewriting to ports under ip_unprivileged_port_start
  BACKPORT: net: switch sock_set_timeout to sockptr_t
  UPSTREAM: net: switch sock_setbindtodevice to sockptr_t
  BACKPORT: net: switch sock_set_timeout to sockptr_t
  BACKPORT: net: port < inet_prot_sock(net) --> inet_port_requires_bind_service(net, port)
  UPSTREAM: bpf: Change 'BPF_ADD' to 'BPF_AND' in print_bpf_insn()
  BACKPORT: net: allow user to set metric on default route learned via Router Advertisement
  UPSTREAM: net: ipv6: add support for rpl sr exthdr
  UPSTREAM: addrconf: add functionality to check on rpl requirements
  UPSTREAM: include: uapi: linux: add rpl sr header definition
  BACKPORT: fs: add file and path permissions helpers
  UPSTREAM: bpf: Fix typo in scalar{,32}_min_max_rsh comments
  UPSTREAM: bpf: Split cgroup_bpf_enabled per attach type
  UPSTREAM: bpf: Try to avoid kzalloc in cgroup/{s,g}etsockopt
  UPSTREAM: bpf: Remove extra lock_sock for TCP_ZEROCOPY_RECEIVE
  UPSTREAM: bpf: Permit size-0 datasec
  UPSTREAM: net, xdp: Introduce __xdp_build_skb_from_frame utility routine
  UPSTREAM: xdp: implement convert_to_xdp_frame for MEM_TYPE_ZERO_COPY
  UPSTREAM: bpf: Add size arg to build_id_parse function
  UPSTREAM: bpf: Move stack_map_get_build_id into lib
  UPSTREAM: bpf: Add bitwise atomic instructions
  UPSTREAM: bpf: Pull out a macro for interpreting atomic ALU operations
  UPSTREAM: bpf: Add instructions for atomic_[cmp]xchg
  UPSTREAM: bpf: Add BPF_FETCH field / create atomic_fetch_add instruction
  UPSTREAM: bpf: Move BPF_STX reserved field check into BPF_STX verifier code
  BACKPORT: bpf: Rename BPF_XADD and prepare to encode other atomics in .imm
  UPSTREAM: bpf: Support BPF ksym variables in kernel modules
  UPSTREAM: bpf: Allow to retrieve sol_socket opts from sock_addr progs
  UPSTREAM: bpf: Fix a verifier message for alloc size helper arg
  UPSTREAM: bpf: Clarify return value of probe str helpers
  UPSTREAM: bpf: Remove unnecessary <argp.h> include from preload/iterators
  UPSTREAM: bpf: Drop disabled LSM hooks from the sleepable set
  UPSTREAM: bpf: Allow empty module BTFs
  UPSTREAM: bpf: Fix typo in bpf_inode_storage.c
  UPSTREAM: bpf: Use thread_group_leader()
  UPSTREAM: bpf: Add schedule point in htab_init_buckets()
  UPSTREAM: bpf: Remove unused including <linux/version.h>
  UPSTREAM: bpf/task_iter: In task_file_seq_get_next use task_lookup_next_fd_rcu
  UPSTREAM: file: Implement task_lookup_next_fd_rcu
  Revert "UPSTREAM: bpf: Simplify task_file_seq_get_next()"
  Revert "UPSTREAM: bpf: Save correct stopping point in file seq iteration"
  BACKPORT: bpf: Eliminate rlimit-based memory accounting for sockmap and sockhash maps
  UPSTREAM: bpf: Eliminate rlimit-based memory accounting for xskmap maps
  UPSTREAM: vfs, fdtable: Add fget_task helper
  BACKPORT: mm, memcg: rework remote charging API to support nesting
  UPSTREAM: net: Remove the err argument from sock_from_file
  UPSTREAM: ima: Implement ima_inode_hash
  UPSTREAM: ima: add the ability to query the cached hash of a given file
  UPSTREAM: ima: define ima_post_create_tmpfile() hook and add missing call
  UPSTREAM: IMA: Define a new hook to measure the kexec boot command line arguments
  UPSTREAM: file: Rename __fcheck_files to files_lookup_fd_raw
  BACKPORT: file: Replace fcheck_files with files_lookup_fd_rcu
  UPSTREAM: bpf: In bpf_task_fd_query use fget_task
  UPSTREAM: bpf: Only provide bpf_sock_from_file with CONFIG_NET
  UPSTREAM: bpf: Return -ENOTSUPP when attaching to non-kernel BTF
  UPSTREAM: bpf: Propagate __user annotations properly
  UPSTREAM: bpf: Avoid overflows involving hash elem_size
  UPSTREAM: bpf: Expose bpf_sk_storage_* to iterator programs
  UPSTREAM: bpf: Add a bpf_sock_from_file helper
  UPSTREAM: bpf: Allow to specify kernel module BTFs when attaching BPF programs
  UPSTREAM: bpf: Remove hard-coded btf_vmlinux assumption from BPF verifier
  UPSTREAM: bpf: Adds support for setting window clamp
  UPSTREAM: bpf: Eliminate rlimit-based memory accounting for bpf progs
  UPSTREAM: bpf: Eliminate rlimit-based memory accounting infra for bpf maps
  UPSTREAM: bpf: Eliminate rlimit-based memory accounting for bpf local storage maps
  UPSTREAM: bpf: Eliminate rlimit-based memory accounting for stackmap maps
  Revert "UPSTREAM: bpf: Fix excessive memory allocation in stack_map_alloc()"
  Revert "UPSTREAM: bpf: Fix incorrect memory charge cost calculation in stack_map_alloc()"
  UPSTREAM: bpf: Eliminate rlimit-based memory accounting for bpf ringbuffer
  UPSTREAM: bpf: Eliminate rlimit-based memory accounting for reuseport_array maps
  UPSTREAM: bpf: Eliminate rlimit-based memory accounting for queue_stack_maps maps
  UPSTREAM: bpf: Eliminate rlimit-based memory accounting for lpm_trie maps
  UPSTREAM: bpf: Eliminate rlimit-based memory accounting for hashtab maps
  UPSTREAM: bpf: Eliminate rlimit-based memory accounting for devmap maps
  Revert "UPSTREAM: bpf: Fix DEVMAP_HASH overflow check on 32-bit arches"
  UPSTREAM: bpf: Eliminate rlimit-based memory accounting for cgroup storage maps
  UPSTREAM: bpf: Eliminate rlimit-based memory accounting for cpumap maps
  UPSTREAM: bpf: Eliminate rlimit-based memory accounting for bpf_struct_ops maps
  UPSTREAM: bpf: Eliminate rlimit-based memory accounting for arraymap maps
  UPSTREAM: bpf: Memcg-based memory accounting for bpf local storage maps
  UPSTREAM: bpf: Memcg-based memory accounting for bpf ringbuffer
  UPSTREAM: bpf: Memcg-based memory accounting for lpm_trie maps
  UPSTREAM: bpf: Refine memcg-based memory accounting for hashtab maps
  UPSTREAM: bpf: Refine memcg-based memory accounting for devmap maps
  UPSTREAM: bpf: Memcg-based memory accounting for cgroup storage maps
  UPSTREAM: bpf: Refine memcg-based memory accounting for cpumap maps
  UPSTREAM: bpf: Refine memcg-based memory accounting for arraymap maps
  UPSTREAM: bpf: Memcg-based memory accounting for bpf maps
  UPSTREAM: bpf: Prepare for memcg-based memory accounting for bpf maps
  UPSTREAM: bpf: Memcg-based memory accounting for bpf progs
  UPSTREAM: bpf: Allow bpf_{s,g}etsockopt from cgroup bind{4,6} hooks
  UPSTREAM: bpf: Add a BPF helper for getting the IMA hash of an inode
  UPSTREAM: bpf: Refactor check_cfg to use a structured loop.
  UPSTREAM: lockdep: Annotate irq_work
  UPSTREAM: lockdep: Add hrtimer context tracing bits
  UPSTREAM: hrtimer: Introduce HARD expiry mode
  UPSTREAM: hrtimer: Make enqueue mode check work on RT
  BACKPORT: lockdep: Introduce wait-type checks
  UPSTREAM: locking/lockdep: Inline __lockdep_init_map()
  UPSTREAM: IPv6: RTM_GETROUTE: Add RTA_ENCAP to result
  UPSTREAM: bpf: Add bpf_ktime_get_coarse_ns helper
  UPSTREAM: bpf: Add bpf_bprm_opts_set helper
  UPSTREAM: bpf: Fix the irq and nmi check in bpf_sk_storage for tracing usage
  UPSTREAM: IPv4: RTM_GETROUTE: Add RTA_ENCAP to result
  UPSTREAM: bpf: Expose bpf_d_path helper to sleepable LSM hooks
  UPSTREAM: bpf: Augment the set of sleepable LSM hooks
  UPSTREAM: bpf: Allow using bpf_sk_storage in FENTRY/FEXIT/RAW_TP
  UPSTREAM: bpf: Rename some functions in bpf_sk_storage
  UPSTREAM: bpf: Fix NULL dereference in bpf_task_storage
  UPSTREAM: bpf: Compile out btf_parse_module() if module BTF is not enabled
  UPSTREAM: tracing: Fix some typos in comments
  UPSTREAM: bpf: Load and verify kernel module BTFs
  UPSTREAM: bpf: Assign ID to vmlinux BTF and return extra info for BTF in GET_OBJ_INFO
  UPSTREAM: bpf: Add in-kernel split BTF support
  UPSTREAM: bpf, btf: Remove the duplicate btf_ids.h include
  UPSTREAM: nexthop: Remove in-kernel route notifications when nexthop changes
  UPSTREAM: bpf: Implement get_current_task_btf and RET_PTR_TO_BTF_ID
  UPSTREAM: bpf: Implement task local storage
  UPSTREAM: pid: move pidfd_get_pid() to pid.c
  UPSTREAM: exit: support non-blocking pidfds
  UPSTREAM: pidfd: add P_PIDFD to waitid()
  UPSTREAM: bpf: Allow LSM programs to use bpf spin locks
  UPSTREAM: bpf: Lift hashtab key_size limit
  UPSTREAM: bpf: Fix error path in htab_map_alloc()
  UPSTREAM: bpf: Avoid hashtab deadlock with map_locked
  UPSTREAM: bpf: Use separate lockdep class for each hashtab
  BACKPORT: locking/lockdep: Add support for dynamic keys
  UPSTREAM: bpf: Permit cond_resched for some iterators
  UPSTREAM: bpf: Reliably preserve btf_trace_xxx types
  UPSTREAM: bpf: Add typecast to raw_tracepoints to help BTF generation
  UPSTREAM: trace: bpf: Allow bpf to attach to bare tracepoints
  UPSTREAM: bpf, sockmap, udp: sk_prot needs inuse_idx set for proc stats
  UPSTREAM: net: bpfilter: dont use module_init in non-modular code
  UPSTREAM: net: bpfilter: fallback to netfilter if failed to load bpfilter kernel module
  arm64: configs: vendor: Enable DMABUF heaps
  arm64: configs: vendor: Enable DMA-BUF sysfs stats
  arm64: configs: vendor: Enable CONFIG_UDMABUF
  UPSTREAM: mm: introduce page_size()
  ANDROID: dma-buf: heaps: Add a sysfs file to report total pool size.
  ANDROID: dma-buf: Export is_dma_buf_file
  UPSTREAM: dma-mapping: move the dma_coherent flag to struct device
  UPSTREAM: iommu: Introduce wrappers around dev->iommu_fwspec
  UPSTREAM: scatterlist: add generic wrappers for iterating over sgtable objects
  UPSTREAM: lib/scatterlist: Provide a DMA page iterator
  UPSTREAM: xarray: Move multiorder account test in-kernel
  UPSTREAM: shmem: Convert find_swap_entry to XArray
  UPSTREAM: xarray: Fix early termination of xas_for_each_marked
  UPSTREAM: xarray.h: fix kernel-doc warning
  UPSTREAM: mm: fix page cache convergence regression
  UPSTREAM: page cache: Finish XArray conversion
  UPSTREAM: XArray: Use xa_cmpxchg to implement xa_reserve
  UPSTREAM: XArray: Fix xa_release in allocating arrays
  UPSTREAM: XArray: Mark xa_insert and xa_reserve as must_check
  UPSTREAM: XArray: Add cyclic allocation
  BACKPORT: XArray: Redesign xa_alloc API
  BACKPORT: XArray: Add support for 1s-based allocation
  UPSTREAM: XArray: Fix xa_alloc when id exceeds max
  UPSTREAM: XArray: Change xa_insert to return -EBUSY
  UPSTREAM: XArray: Update xa_erase family descriptions
  UPSTREAM: XArray: Fix an arithmetic error in xa_is_err
  UPSTREAM: XArray: Fix typo in comment
  UPSTREAM: XArray: Honour reserved entries in xa_insert
  UPSTREAM: XArray: Permit storing 2-byte-aligned pointers
  UPSTREAM: XArray: Change xa_for_each iterator
  UPSTREAM: XArray: Fix xa_for_each with a single element at 0
  UPSTREAM: XArray: Turn xa_init_flags into a static inline
  UPSTREAM: XArray: Add xa_cmpxchg_irq and xa_cmpxchg_bh
  UPSTREAM: shmem: Convert shmem_free_swap to XArray
  UPSTREAM: XArray: Fix Documentation
  UPSTREAM: XArray: Add xa_store_bh() and xa_store_irq()
  UPSTREAM: XArray: Turn xa_erase into an exported function
  UPSTREAM: XArray: Unify xa_cmpxchg and __xa_cmpxchg
  UPSTREAM: XArray: Regularise xa_reserve
  UPSTREAM: xarray: Add range store functionality
  UPSTREAM: mm: Convert workingset to XArray
  UPSTREAM: page cache: Convert delete_batch to XArray
  UPSTREAM: page cache: Convert page deletion to XArray
  UPSTREAM: page cache: Add and replace pages using the XArray
  UPSTREAM: xarray: Track free entries in an XArray
  UPSTREAM: xarray: Add xa_reserve and xa_release
  UPSTREAM: xarray: Add xas_create_range
  UPSTREAM: xarray: Add xas_for_each_conflict
  UPSTREAM: xarray: Step through an XArray
  UPSTREAM: xarray: Destroy an XArray
  UPSTREAM: xarray: Extract entries from an XArray
  UPSTREAM: xarray: Add XArray iterators
  UPSTREAM: xarray: Add XArray conditional store operations
  fixup! idr: Fix idr_get_next race with idr_remove
  UPSTREAM: xarray: Add XArray unconditional store operations
  UPSTREAM: xarray: Add XArray marks
  UPSTREAM: xarray: Add XArray load operation
  UPSTREAM: xarray: Define struct xa_node
  UPSTREAM: xarray: Add definition of struct xarray
  UPSTREAM: xarray: Change definition of sibling entries
  UPSTREAM: idr: Permit any valid kernel pointer to be stored
  BACKPORT: xarray: Replace exceptional entries
  UPSTREAM: udmabuf: fix a buf size overflow issue during udmabuf creation
  UPSTREAM: dma-buf: heaps: Fix off-by-one in CMA heap fault handler
  UPSTREAM: udmabuf: also check for F_SEAL_FUTURE_WRITE
  UPSTREAM: dma-buf: fix dma_fence_array_signaled v4
  UPSTREAM: dma-buf: system_heap: Avoid warning on mid-order allocations
  UPSTREAM: dma-buf: call dma_buf_stats_setup after dmabuf is in valid list
  UPSTREAM: dma-buf: heaps: Fix potential spectre v1 gadget
  UPSTREAM: dma-buf: cma_heap: Fix mutex locking section
  UPSTREAM: dma-buf: DMABUF_SYSFS_STATS should depend on DMA_SHARED_BUFFER
  UPSTREAM: udmabuf: Set the DMA mask for the udmabuf device (v2)
  UPSTREAM: udmabuf: add back sanity check
  UPSTREAM: udmabuf: validate ubuf->pagecount
  UPSTREAM: dma-buf: system_heap: Use 'for_each_sgtable_sg' in pages free flow
  UPSTREAM: dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled()
  UPSTREAM: dma-buf: WARN on dmabuf release with pending attachments
  UPSTREAM: ANDROID: dma-buf: Add mutex_unlock back which was being wrongly removed
  UPSTREAM: ANDROID: Delete the DMA-BUF attachment sysfs statistics
  UPSTREAM: Revert "ANDROID: dmabuf: Add mmap_count to struct dmabuf"
  UPSTREAM: dma-buf: cma_heap: Include linux/vmalloc.h to fix build failures on MIPS
  UPSTREAM: ANDROID: dma-buf: Fix error path on system heaps use of the page pool
  UPSTREAM: ANDROID: dma-buf: heaps: fix a warning in dmabuf page pools
  UPSTREAM: ANDROID: dmabuf: Add mmap_count to struct dmabuf
  UPSTREAM: ANDROID: Add EXPORT_SYMBOL_GPL for dma_heap_get_name
  UPSTREAM: FROMLIST: dma-buf: heaps: Fix the name used when exporting dmabufs to be the actual heap name
  UPSTREAM: BACKPORT: FROMLIST: dma-buf: dma-heap: Provide accessor to get heap name
  UPSTREAM: ANDROID: dma-buf: system_heap: Add deferred freeing to the system heap
  UPSTREAM: ANDROID: dma-buf: system_heap: Add pagepool support to system heap
  UPSTREAM: ANDROID: dma-buf: heaps: Add a shrinker controlled page pool
  UPSTREAM: ANDROID: dma-buf: heaps: Add deferred-free-helper library code
  UPSTREAM: ANDROID: dma-buf: heap: export dma_heap_put
  UPSTREAM: kobject: Add support for default attribute groups to kobj_type
  BACKPORT: FROMLIST: dmabuf: Add the capability to expose DMA-BUF stats in sysfs
  UPSTREAM: FROMGIT: dma-buf: cma_heap: Fix memory leak in CMA heap
  UPSTREAM: ANDROID: dma-buf: heaps: Allow the DMA-BUF system heap to be a module
  UPSTREAM: FROMLIST: dma-buf: system_heap: Add a system-uncached heap re-using the system heap
  UPSTREAM: FROMLIST: dma-buf: dma-heap: Keep track of the heap device struct
  UPSTREAM: dma-buf: system_heap: Allocate higher order pages if available
  UPSTREAM: dma-buf: heaps: Skip sync if not mapped
  UPSTREAM: dma-buf: heaps: Remove heap-helpers code
  UPSTREAM: BACKPORT: dma-buf: heaps: Move heap-helper logic into the cma_heap implementation
  UPSTREAM: BACKPORT: dma-buf: system_heap: Rework system heap to use sgtables instead of pagelists
  UPSTREAM: ANDROID: dma-buf: heaps: Allow cma heaps to be configured as a module
  UPSTREAM: dma-buf/dma-resv: Respect num_fences when initializing the shared fence list.
  UPSTREAM: ANDROID: dma-buf: heaps: Make cma_heap_allocate() static
  UPSTREAM: ANDROID: dma-heap: Provide accessors so that in-kernel drivers can allocate dmabufs from specific heaps
  UPSTREAM: ANDROID: dma-heap: Rework allocation calls to return struct dma_buf instead of fd
  UPSTREAM: ANDROID: dma-heap: Refactor code to allow for future in-kernel users
  UPSTREAM: ANDROID: dma-buf: Cleanup minor usage in "Add proper kref handling on dma-buf heaps"
  UPSTREAM: ANDROID: dma-heap: Add proper kref handling on dma-buf heaps
  UPSTREAM: ANDROID: Export dma_heap_add to modularize heaps
  UPSTREAM: dmabuf: fix NULL pointer dereference in dma_buf_release()
  UPSTREAM: dma-buf: fix resource leak on -ENOTTY error return path
  UPSTREAM: dma-heap: Make the symbol 'dma_heap_ioctl_cmds' static
  UPSTREAM: dma-buf: heaps: Remove redundant heap identifier from system heap name
  UPSTREAM: dma-buf: heaps: Use _IOCTL_ for userspace IOCTL identifier
  UPSTREAM: dma-buf: heaps: Add CMA heap to dmabuf heaps
  UPSTREAM: dma-buf: heaps: Add system heap to dmabuf heaps
  UPSTREAM: dma-buf: heaps: Add heap helpers
  UPSTREAM: dma-buf: Add dma-buf heaps framework
  UPSTREAM: dmabuf: use spinlock to access dmabuf->name
  fixup! BACKPORT: vfs: Convert dma-buf to use the new mount API
  UPSTREAM: dma-buf/resv: fix exclusive fence get
  UPSTREAM: dmabuf: Mark up onstack timer for selftests
  UPSTREAM: dma-buf: Use %zu for printing sizeof
  UPSTREAM: dma-buf: Add selftests for dma-fence
  UPSTREAM: dma-buf: Introduce selftesting framework
  UPSTREAM: dma-fence: Store the timestamp in the same union as the cb_list
  disp: msm: sde: let dma-fence driver set timestamp on signal
  UPSTREAM: dma-buf: make dma_fence structure a bit smaller v2
  UPSTREAM: dma-fence: Simply wrap dma_fence_signal_locked with dma_fence_signal
  UPSTREAM: dma-fence: Avoid list_del during fence->cb_list iteration
  BACKPORT: dma-buf: rename reservation_object to dma_resv
  UPSTREAM: drm/virtio: switch driver from bo->resv to bo->base.resv
  UPSTREAM: dma-fence: Report the composite sync_file status
  UPSTREAM: dma-fence: Propagate errors to dma-fence-array container
  UPSTREAM: dma-buf: clarify locking documentation for reservation_object_get_excl
  UPSTREAM: dma-buf: simplify reservation_object_get_fences_rcu a bit
  UPSTREAM: dma-buf: fix shared fence list handling in reservation_object_copy_fences
  UPSTREAM: dma-buf: fix busy wait for new shared fences
  UPSTREAM: dma-buf: fix stack corruption in dma_fence_chain_release
  UPSTREAM: dma-buf: Relax the write-seqlock for reallocating the shared fence list
  UPSTREAM: dma-buf: Expand reservation_list to fill allocation
  UPSTREAM: dma-buf: cleanup reservation_object_init/fini
  UPSTREAM: dma-fence: Signal all callbacks from dma_fence_release()
  UPSTREAM: udmabuf: actually unmap the scatterlist
  UPSTREAM: dma-buf: start caching of sg_table objects v2
  UPSTREAM: dma-buf: Make mmap callback actually optional
  UPSTREAM: dma-buf: Remove unused sync_dump()
  UPSTREAM: dma-buf: explicitely note that dma-fence-chains use 64bit seqno
  UPSTREAM: dma-buf: add new dma_fence_chain container v7
  UPSTREAM: dma-buf: add some lockdep asserts to the reservation object implementation
  UPSTREAM: dma-buf: Change to use DEFINE_SHOW_ATTRIBUTE macro
  UPSTREAM: dma-buf: make fence sequence numbers 64 bit v2
  UPSTREAM: dma-buf: add dma_fence_get_stub
  UPSTREAM: udmabuf: set read/write flag when exporting
  UPSTREAM: dma-buf: Update reservation shared_count after adding the new fence
  BACKPORT: dma-buf: allow reserving more than one shared fence slot
  UPSTREAM: dma-buf: remove shared fence staging in reservation object
  UPSTREAM: udmabuf: fix error code in map_udmabuf()
  UPSTREAM: udmabuf: use sizeof(variable) instead of sizeof(type)
  UPSTREAM: udmabuf: drop WARN_ON() check.
  UPSTREAM: udmabuf: use ENOTTY for invalid ioctls
  UPSTREAM: udmabuf: use EBADFD in case we didn't got a memfd
  UPSTREAM: udmabuf: improve udmabuf_create error handling
  UPSTREAM: udmabuf: rework limits
  UPSTREAM: udmabuf: add MEMFD_CREATE dependency
  UPSTREAM: udmabuf: constify udmabuf_create args
  UPSTREAM: udmabuf: constify udmabuf_ops
  UPSTREAM: udmabuf: use pgoff_t for pagecount
  UPSTREAM: udmabuf: improve map_udmabuf error handling
  UPSTREAM: udmabuf: sort headers, drop uapi/ path prefix
  UPSTREAM: dma-buf/udmabuf: Fix NULL pointer dereference in udmabuf_create
  UPSTREAM: drivers/dma-buf/udmabuf.c: convert to use vm_fault_t
  UPSTREAM: Add udmabuf misc device
  UPSTREAM: dma-buf: Remove requirement for ops->map() from dma_buf_export
  UPSTREAM: bpf: Fix metadata_dst leak __bpf_redirect_neigh_v{4,6}
  UPSTREAM: ipv6: Initialize fib6_result in bpf_ipv6_fib_lookup
  UPSTREAM: bpf: Handle ipv6 gateway in bpf_ipv4_fib_lookup
  UPSTREAM: bpf: Do not let BPF test infra emit invalid GSO types to stack
  UPSTREAM: bpf: Reject narrower access to pointer ctx fields
  UPSTREAM: ipv6: Set errno after ip_fib_metrics_init() in ip6_route_info_create().
  UPSTREAM: ipv6: Fix memleak of nhc_pcpu_rth_output in fib_check_nh_v6_gw().
  UPSTREAM: ipv4: Refactor nhc evaluation in fib_table_lookup
  UPSTREAM: ipv6: prevent possible NULL deref in fib6_nh_init()
  UPSTREAM: ipv6: fix possible race in __fib6_drop_pcpu_from()
  UPSTREAM: net/ipv6: Fix route deleting failure when metric equals 0
  UPSTREAM: ipv6: Add lwtunnel encap size of all siblings in nexthop calculation
  UPSTREAM: nexthop: Fix data-races around nexthop_compat_mode.
  UPSTREAM: ipv6: take care of disable_policy when restoring routes
  UPSTREAM: ipv6: Fix stats accounting in ip6_pkt_drop
  UPSTREAM: lwtunnel: Validate RTA_ENCAP_TYPE attribute length
  UPSTREAM: net: ipv6: add fib6_nh_release_dsts stub
  UPSTREAM: net: ipv4: Fix rtnexthop len when RTA_FLOW is present
  UPSTREAM: ipv6: fix another slab-out-of-bounds in fib6_nh_flush_exceptions
  UPSTREAM: ipv6: Fix KASAN: slab-out-of-bounds Read in fib6_nh_flush_exceptions
  UPSTREAM: ipv6: route: convert comma to semicolon
  UPSTREAM: ipv6: remove redundant assignment to variable err
  UPSTREAM: ipv6: Fix nexthop refcnt leak when creating ipv6 route info
  UPSTREAM: ipv6: Fix use of anycast address with loopback
  UPSTREAM: ipv6: fib6_select_path can not use out path for nexthop objects
  UPSTREAM: ipv6: fib6: avoid indirect calls from fib6_rule_lookup
  UPSTREAM: nexthop: support for fdb ecmp nexthops
  UPSTREAM: nexthops: remove redundant assignment to variable err
  UPSTREAM: ipv6: lift copy_from_user out of ipv6_route_ioctl
  UPSTREAM: ipv6: use DST_NOCOUNT in ip6_rt_pcpu_alloc()
  UPSTREAM: ipv6: Use global sernum for dst validation with nexthop objects
  BACKPORT: net: ipv4: add sysctl for nexthop api compatibility mode
  UPSTREAM: nexthops: add support for replace
  BACKPORT: net: ipv6: new arg skip_notify to ip6_rt_del
  BACKPORT: net: add net available in build_state
  BACKPORT: inet: Use fallthrough;
  UPSTREAM: ipv6: Add "offload" and "trap" indications to routes
  UPSTREAM: ipv6: Handle multipath route deletion notification
  UPSTREAM: ipv6: Notify multipath route if should be offloaded
  UPSTREAM: ipv6: Handle route deletion notification
  UPSTREAM: ipv6: Unlink sibling route in case of failure
  BACKPORT: ipv6: Stop sending in-kernel notifications for each nexthop
  Revert "ipv6: Unlink sibling route in case of failure"
  UPSTREAM: net: fib_notifier: Add temporary events to the FIB notification chain
  UPSTREAM: ipv6: keep track of routes using src
  UPSTREAM: ipv6/route: return if there is no fib_nh_gw_family
  UPSTREAM: ipv6: Don't use dst gateway directly in ip6_confirm_neigh()
  UPSTREAM: ipv6: addrconf_f6i_alloc - fix non-null pointer check to !IS_ERR()
  UPSTREAM: net: Properly update v4 routes with v6 nexthop
  UPSTREAM: ipv4: Allow ipv6 gateway with ipv4 routes
  UPSTREAM: ipv6: Fix RTA_MULTIPATH with nexthop objects
  UPSTREAM: net-ipv6: fix excessive RTF_ADDRCONF flag on ::1/128 local route (and others)
  UPSTREAM: ipv6: have a single rcu unlock point in __ip6_rt_update_pmtu
  UPSTREAM: ipv6: Fix unbalanced rcu locking in rt6_update_exception_stamp_rt
  UPSTREAM: ipv6: Support multipath hashing on inner IP pkts
  UPSTREAM: ipv6: Convert gateway validation to use fib6_info
  UPSTREAM: ipv6: fix neighbour resolution with raw socket
  UPSTREAM: ipv6: constify rt6_nexthop()
  UPSTREAM: ipv6: fix suspicious RCU usage in rt6_dump_route()
  UPSTREAM: net/ipv6: Fix misuse of proc_dointvec "skip_notify_on_dev_down"
  UPSTREAM: ipv6: Dump route exceptions if requested
  UPSTREAM: ipv6/route: Change return code of rt6_dump_route() for partial node dumps
  UPSTREAM: ipv6/route: Don't match on fc_nh_id if not set in ip6_route_del()
  UPSTREAM: ipv6: convert major tx path to use RT6_LOOKUP_F_DST_NOREF
  UPSTREAM: ipv6: honor RT6_LOOKUP_F_DST_NOREF in rule lookup logic
  UPSTREAM: ipv6: convert rx data path to not take refcnt on dst
  UPSTREAM: ipv6: initialize rt6->rt6i_uncached in all pre-allocated dst entries
  UPSTREAM: ipv6: introduce RT6_LOOKUP_F_DST_NOREF flag in ip6_pol_route()
  UPSTREAM: ipv6: Error when route does not have any valid nexthops
  UPSTREAM: ipv6: Add IPv6 multipath notification for route delete
  UPSTREAM: ipv6: Add IPv6 multipath notifications for add / replace
  UPSTREAM: netlink: Add field to skip in-kernel notifications
  UPSTREAM: netlink: Document all fields of 'struct nl_info'
  UPSTREAM: ipv6: Allow routes to use nexthop objects
  UPSTREAM: ipv6: Extend notifier info for multipath routes
  UPSTREAM: ipv6: Handle all fib6_nh in a nexthop in mtu updates
  UPSTREAM: nexthops: Add ipv6 helper to walk all fib6_nh in a nexthop struct
  UPSTREAM: ipv6: Handle all fib6_nh in a nexthop in rt6_do_redirect
  UPSTREAM: ipv6: Handle all fib6_nh in a nexthop in __ip6_route_redirect
  UPSTREAM: ipv6: Handle all fib6_nh in a nexthop in exception handling
  UPSTREAM: ipv6: Handle all fib6_nh in a nexthop in fib6_info_uses_dev
  UPSTREAM: ipv6: Handle all fib6_nh in a nexthop in rt6_nlmsg_size
  UPSTREAM: ipv6: Handle all fib6_nh in a nexthop in __find_rr_leaf
  UPSTREAM: ipv6: Handle all fib6_nh in a nexthop in rt6_device_match
  UPSTREAM: ipv6: fix spelling mistake: "wtih" -> "with"
  UPSTREAM: ipv6: Plumb support for nexthop object in a fib6_info
  UPSTREAM: ipv4: Plumb support for nexthop object in a fib_info
  UPSTREAM: ipv4: export fib_flush
  UPSTREAM: ipv4: Add function to send route updates
  UPSTREAM: scsi: libcxgbi: fib6_ino reference in rt6_info is rcu protected
  UPSTREAM: ipv6: Always allocate pcpu memory in a fib6_nh
  UPSTREAM: ipv6: use this_cpu_read() in rt6_get_pcpu_route()
  UPSTREAM: ipv6: Refactor ip6_route_del for cached routes
  UPSTREAM: ipv6: Make fib6_nh optional at the end of fib6_info
  UPSTREAM: ipv6: Refactor fib6_drop_pcpu_from
  UPSTREAM: ipv6: Restore RTF_ADDRCONF check in rt6_qualify_for_ecmp
  UPSTREAM: ipv6: Simplify rt6_qualify_for_ecmp
  UPSTREAM: ipv6: Move exception bucket to fib6_nh
  UPSTREAM: ipv6: fix src addr routing with the exception table
  UPSTREAM: net: Move free of fib_metrics to helper
  UPSTREAM: ipv6: fib6_info_destroy_rcu() cleanup
  UPSTREAM: ipv6: Refactor exception functions
  UPSTREAM: ipv6: Move pcpu cached routes to fib6_nh
  UPSTREAM: net: Set strict_start_type for routes and rules
  UPSTREAM: ipv6: export function to send route updates
  UPSTREAM: ipv6: Add hook to bump sernum for a route to stubs
  UPSTREAM: ipv6: Add delete route hook to stubs
  UPSTREAM: ipv6: Remove fib6_info_nh_lwt
  UPSTREAM: vrf: Use orig netdev to count Ip6InNoRoutes and a fresh route lookup when sending dest unreach
  BACKPORT: netlink: make nla_nest_start() add NLA_F_NESTED flag
  UPSTREAM: ipv6: convert fib6_ref to refcount_t
  UPSTREAM: ipv6: broadly use fib6_info_hold() helper
  UPSTREAM: ipv6: Add fib6_type and fib6_flags to fib6_result
  UPSTREAM: ipv6: Pass fib6_result to rt6_device_match
  UPSTREAM: ipv6: Pass fib6_result to ip6_mtu_from_fib6 and fib6_mtu
  UPSTREAM: ipv6: Pass fib6_result to rt6_insert_exception
  UPSTREAM: ipv6: Pass fib6_result to ip6_rt_get_dev_rcu and ip6_rt_copy_init
  UPSTREAM: ipv6: Pass fib6_result to pcpu route functions
  BACKPORT: ipv6: Pass fib6_result to ip6_rt_cache_alloc
  UPSTREAM: ipv6: Refactor rt6_device_match
  UPSTREAM: ipv6: Remove fallback argument from ip6_hold_safe
  UPSTREAM: net/ipv6: prefer rcu_access_pointer() over rcu_dereference()
  BACKPORT: net: ipv6: route: perform strict checks also for doit handlers
  UPSTREAM: ipv6: route: place a warning with duplicated string with correct extack
  UPSTREAM: net/ipv6: Add knob to skip DELROUTE message on device down
  UPSTREAM: net/ipv6: Make ipv6_route_table_template static
  BACKPORT: net: Add extack to nlmsg_parse
  UPSTREAM: ipv6: do not leave garbage in rt->fib6_metrics
  UPSTREAM: net: inet6_rtm_getroute() - use new style struct initializer instead of memset
  UPSTREAM: net: rtm_to_fib6_config() - use new style struct initializer instead of memset
  UPSTREAM: net: ip6_update_pmtu() - use new style struct initializer instead of memset
  UPSTREAM: net: remove 1 always zero parameter from ip6_redirect_no_header()
  UPSTREAM: net: ip6_redirect_no_header() - use new style struct initializer instead of memset
  UPSTREAM: net: ip6_redirect() - use new style struct initializer instead of memset
  UPSTREAM: ipv6: Allow the l3mdev to be a loopback
  CIP: Bump version suffix to -cip133 after merge from cip/linux-4.19.y-st tree
  Update localversion-st, tree is up-to-date with 5.10.256.
  x86/CPU/AMD: Prevent improper isolation of shared resources in Zen2's op cache
  x86/CPU/AMD: Add X86_FEATURE_ZEN1
  x86/CPU/AMD: Rename init_amd_zn() to init_amd_zen_common()
  x86/CPU/AMD: Add ZenX generations flags
  ptrace: slightly saner 'get_dumpable()' logic
  xfrm: esp: avoid in-place decrypt on shared skb frags

 Conflicts:
	mm/workingset.c

Change-Id: Ibef8a98c5c441511de4bea347c16b3cea3b09316
2026-08-11 02:54:18 +03:00
Tashfin Shakeer Rhythm 662289eeb3 modpost: Do not discard const qualifier in match()
match() receives 'sym' as RO string. But strstr() does not return non-const
char, which here implicitly casts away the const qualifier. Declare 'here'
as 'const char *' to fix the following warning by Clang:

../scripts/mod/modpost.c:870:10: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
  870 |                         char *here = strstr(sym, bare);
      |                               ^      ~~~~~~~~~~~~~~~~~

Change-Id: I3df77d2cd975ff965517b9319ea8013cc6ce2561
Signed-off-by: Tashfin Shakeer Rhythm <tashfinshakeerrhythm@gmail.com>
2026-08-05 17:58:04 +08:00
Denis Efremov 96ff985949 modpost: add NOFAIL to strndup
Add NOFAIL check for the strndup call, because the function
allocates memory and can return NULL. All calls to strdup in
modpost are checked with NOFAIL.

Change-Id: I367030271966456c1909803499d68d16682d687c
Signed-off-by: Denis Efremov <efremov@linux.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2026-08-05 17:57:33 +08:00
Thomas Turner b49f61e801 Merge tag 'v4.19.325-cip134' of https://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip into android13-4.19-kona
version 4.19.325-cip134

* tag 'v4.19.325-cip134' of https://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip:
  CIP: Bump version suffix to -cip134 after merge from cip/linux-4.19.y-st tree
  Update localversion-st, tree is up-to-date with 5.10.258.
  tipc: fix double-free in tipc_buf_append()
  slip: reject VJ receive packets on instances with no rstate array
  netfilter: nfnetlink_osf: fix potential NULL dereference in ttl check
  wifi: brcmfmac: Fix error pointer dereference
  bpf: fix end-of-list detection in cgroup_storage_get_next_key()
  crypto: ccp - copy IV using skcipher ivsize
  netfilter: ipset: stop hash:* range iteration at end
  net/sched: netem: fix queue limit check to include reordered packets
  cdrom, scsi: sr: propagate read-only status to block layer via set_disk_ro()
  btrfs: fix double-decrement of bytes_may_use in submit_one_async_extent()
  crypto: authencesn - reject short ahash digests during instance creation
  crypto: ccp: Don't attempt to copy PDH cert to userspace if PSP command failed
  crypto: ccp: Don't attempt to copy CSR to userspace if PSP command failed
  x86/uprobes: Fix XOL allocation failure for 32-bit tasks
  blk-mq: use quiesced elevator switch when reinitializing queues
  scsi: ufs: core: Improve SCSI abort handling
  bcache: fix cached_dev.sb_bio use-after-free and crash
  rxrpc: proc: size address buffers for %pISpc output
  can: raw: fix ro->uniq use-after-free in raw_rcv()
  can: af_can: export can_sock_destruct()
  batman-adv: hold claim backbone gateways by reference
  l2tp: Drop large packets with UDP encap
  xsk: tighten UMEM headroom validation to account for tailroom and min frame
  can: mcp251x: add error handling for power enable in open and resume
  net: skbuff: propagate shared-frag marker through frag-transfer helpers
  Revert "i2c: fsi: Fix a potential leak in fsi_i2c_probe()"
  net: usb: lan78xx: Fix double free issue with interrupt buffer allocation
  string: add mem_is_zero() helper to check if memory area is all zeros
  tracing: Avoid NULL return from hist_field_name() on truncation
  platform/x86: intel-hid: Check ACPI_HANDLE() against NULL
  HID: quirks: really enable the intended work around for appledisplay
  net: ethernet: cs89x0: remove stale CONFIG_MACH_MX31ADS reference
  net: ethernet: cortina: Carry over frag counter
  net: ethernet: cortina: Drop half-assembled SKB
  net: ethernet: cortina: Make RX SKB per-port
  irqchip/ath79-cpu: Remove unused function
  ARM: integrator: Fix early initialization
  batman-adv: tt: fix negative tt_buff_len
  batman-adv: tt: fix negative last_changeset_len
  batman-adv: tp_meter: avoid use of uninit sender vars
  batman-adv: bla: fix report_work leak on backbone_gw purge
  batman-adv: frag: disallow unicast fragment in fragment
  batman-adv: fix tp_meter counter underflow during shutdown
  batman-adv: fix fragment reassembly length accounting
  batman-adv: dat: handle forward allocation error
  batman-adv: clear current gateway during teardown
  batman-adv: mcast: fix use-after-free in orig_node RCU release
  drm/amd/display: Fix integer overflow in bios_get_image()
  spi: ti-qspi: fix use-after-free after DMA setup failure
  scsi: isci: Fix use-after-free in device removal path
  tracing: Do not call map->ops->elt_free() if elt_alloc() fails
  ixgbevf: fix use-after-free in VEPA multicast source pruning
  ipv4: raw: reject IP_HDRINCL packets with ihl < 5
  vsock/vmci: fix UAF when peer resets connection during handshake
  netfilter: ip6t_hbh: reject oversized option lists
  net: bcmgenet: keep RBUF EEE/PM disabled
  phonet/pep: disable BH around forwarded sk_receive_skb()
  Bluetooth: hci_uart: fix UAFs and race conditions in close and init paths
  Bluetooth: bnep: Fix UAF read of dev->name
  ALSA: asihpi: Fix potential OOB array access at reading cache
  ALSA: ua101: Reject too-short USB descriptors
  sysfs: don't remove existing directory on update failure
  smb: client: reject userspace cifs.spnego descriptions
  Revert "s390/cio: Fix device lifecycle handling in css_alloc_subchannel()"
  selftests: lib.mk: Also install "config" and "settings"
  s390/debug: Reject zero-length input before trimming a newline
  net/rds: reset op_nents when zerocopy page pin fails
  drm/gma500/oaktrail_hdmi: fix i2c adapter leak on setup
  libceph: Fix potential out-of-bounds access in crush_decode()
  libceph: Fix potential null-ptr-deref in decode_choose_args()
  powerpc/warp: Fix error handling in pika_dtm_thread
  ceph: fix a buffer leak in __ceph_setxattr()
  ALSA: usb-audio: Bound MIDI endpoint descriptor scans
  audit: enforce AUDIT_LOCKED for AUDIT_TRIM and AUDIT_MAKE_EQUIV
  audit: fix incorrect inheritable capability in CAPSET records
  crypto: af_alg - Cap AEAD AD length to 0x80000000
  btrfs: tracepoints: fix sleep while in atomic context in btrfs_sync_file()
  drm/amd/display: Read EDID from VBIOS embedded panel info
  drm/amd/display: Allow DCE link encoder without AUX registers
  net/sched: sch_cake: annotate data-races in cake_dump_stats() (V)
  sctp: discard stale INIT after handshake completion
  ASoC: codecs: ab8500: Fix casting of private data
  NFC: trf7970a: Ignore antenna noise when checking for RF field
  net: usb: rtl8150: free skb on usb_submit_urb() failure in xmit
  net: usb: rtl8150: fix use-after-free in rtl8150_start_xmit()
  vrf: Fix a potential NPD when removing a port from a VRF
  net/sched: sch_choke: annotate data-races in choke_dump_stats()
  net: sched: choke: remove unused variables in struct choke_sched_data
  net/sched: netem: validate slot configuration
  net/sched: netem: fix probability gaps in 4-state loss model
  net: sched: sch_netem: Refactor code in 4-state loss generator
  scsi: sr: Add memory allocation failure handling for get_capabilities()
  netfilter: nf_conntrack_sip: don't use simple_strtoul
  netfilter: xt_policy: fix strict mode inbound policy matching
  drm/amdgpu/gfx6: Support harvested SI chips with disabled TCCs (v2)
  netfilter: arp_tables: fix IEEE1394 ARP payload parsing
  tracing: branch: Fix inverted check on stat tracer registration
  mailbox: mailbox-test: initialize struct earlier
  mailbox: mailbox-test: don't free the reused channel
  mailbox: add sanity check for channel array
  cgroup/rdma: fix integer overflow in rdmacg_try_charge()
  mailbox: mailbox-test: free channels on probe error
  fbdev: offb: fix PCI device reference leak on probe failure
  net/sched: sch_sfb: annotate data-races in sfb_dump_stats()
  net/sched: sch_fq_codel: remove data-races from fq_codel_dump_stats()
  net_sched: sch_hhf: annotate data-races in hhf_dump_stats()
  net/rds: zero per-item info buffer before handing it to visitors
  slip: bound decode() reads against the compressed packet length
  netfilter: nfnetlink_osf: fix out-of-bounds read on option matching
  ipvs: fix MTU check for GSO packets in tunnel mode
  netfilter: xtables: restrict several matches to inet family
  netfilter: conntrack: remove sprintf usage
  netfilter: nfnetlink_osf: fix divide-by-zero in OSF_WSS_MODULO
  netfilter: nft_osf: restrict it to ipv4
  openvswitch: cap upcall PID array size and pre-size vport replies
  dissector: do not set invalid PPP protocol
  sctp: fix OOB write to userspace in sctp_getsockopt_peer_auth_chunks
  ipv6: fix possible UAF in icmpv6_rcv()
  e1000e: Unroll PTP in probe error handling
  i40e: don't advertise IFF_SUPP_NOFCS
  PCMCIA: Fix garbled log messages for KERN_CONT
  clk: xgene: Fix mapping leak in xgene_pllclk_init()
  clk: qoriq: avoid format string warning
  clk: imx: imx6q: Fix device node reference leak in of_assigned_ldb_sels()
  scsi: target: core: Fix integer overflow in UNMAP bounds check
  scsi: sg: Resolve soft lockup issue when opening /dev/sgX
  RDMA/core: Prefer NLA_NUL_STRING
  nfs/blocklayout: Fix compilation error (`make W=1`) in bl_write_pagelist()
  mfd: mc13xxx-core: Fix memory leak in mc13xxx_add_subdevice_pdata()
  tty: hvc_iucv: fix off-by-one in number of supported devices
  tty: hvc: remove HVC_IUCV_MAGIC
  platform/surface: surfacepro3_button: Drop wakeup source on remove
  driver core: device.h: remove extern from function prototypes
  perf util: Kill die() prototype, dead for a long time
  pinctrl: abx500: Fix type of 'argument' variable
  pinctrl: pinctrl-pic32: Fix resource leak
  bpf: Fix precedence bug in convert_bpf_ld_abs alignment check
  HID: usbhid: fix deadlock in hid_post_reset()
  mtd: rawnand: sunxi: fix sunxi_nfc_hw_ecc_read_extra_oob
  HID: asus: do not abort probe when not necessary
  HID: asus: make asus_resume adhere to linux kernel coding standards
  ima: check return value of crypto_shash_final() in boot aggregate
  tracing: Rebuild full_name on each hist_field_name() call
  ocfs2: validate group add input before caching
  ocfs2: validate bg_bits during freefrag scan
  ocfs2: fix listxattr handling when the buffer is full
  ocfs2/dlm: fix off-by-one in dlm_match_regions() region comparison
  ocfs2/dlm: validate qr_numregions in dlm_match_regions()
  memory: tegra124-emc: Fix dll_change check
  ARM: dts: mediatek: mt7623: fix efuse fallback compatible
  efi/capsule-loader: fix incorrect sizeof in phys array reallocation
  quota: Fix race of dquot_scan_active() with quota deactivation
  ktest: Honor empty per-test option overrides
  ktest: Avoid undef warning when WARNINGS_FILE is unset
  selftest: memcg: skip memcg_sock test if address family not supported
  Documentation: fix a hugetlbfs reservation statement
  ALSA: hda/realtek: fix code style (ERROR: else should follow close brace '}')
  ALSA: hda/realtek: Whitespace fix
  drm/amd/pm/ci: Clear EnabledForActivity field for memory levels
  drm/amd/pm/ci: Fix powertune defaults for Hawaii 0x67B0
  drm/amd/pm/ci: Use highest MCLK on CI when MCLK DPM is disabled
  ALSA: core: Validate compress device numbers without dynamic minors
  ALSA: compress: Drop unused functions
  fbdev: matroxfb: Mark variable with __maybe_unused to avoid W=1 build break
  drm/sun4i: Fix resource leaks
  dm log: fix out-of-bounds write due to region_count overflow
  dm cache metadata: fix memory leak on metadata abort retry
  dm cache: fix concurrent write failure in passthrough mode
  dm cache policy smq: fix missing locks in invalidating cache blocks
  dm cache: fix write path cache coherency in passthrough mode
  dm cache: fix null-deref with concurrent writes in passthrough mode
  ASoC: sti: use managed regmap_field allocations
  ASoC: sti: Return errors from regmap_field_alloc()
  Bluetooth: hci_ldisc: Clear HCI_UART_PROTO_INIT on error
  Bluetooth: L2CAP: Fix printing wrong information if SDU length exceeds MTU
  ppp: require CAP_NET_ADMIN in target netns for unattached ioctls
  net/rds: Optimize rds_ib_laddr_check
  net: hamradio: 6pack: fix uninit-value in sixpack_receive_buf
  6pack: propagage new tty types
  netfilter: nft_fwd_netdev: check ttl/hl before forwarding
  net: bcmgenet: fix off-by-one in bcmgenet_put_txcb
  wifi: rtlwifi: pci: fix possible use-after-free caused by unfinished irq_prepare_bcn_tasklet
  firmware: dmi: Correct an indexing error in dmi.h
  locking: Fix rwlock support in <linux/spinlock_up.h>
  irqchip/irq-pic32-evic: Address warning related to wrong printf() formatter
  thermal/drivers/spear: Fix error condition for reading st,thermal-flags
  pstore/ram: fix resource leak when ioremap() fails
  nilfs2: reject zero bd_oblocknr in nilfs_ioctl_mark_blocks_dirty()
  drbd: Balance RCU calls in drbd_adm_dump_devices()
  fs/omfs: reject s_sys_blocksize smaller than OMFS_DIR_START
  Bluetooth: L2CAP: Fix null-ptr-deref in l2cap_sock_get_sndtimeo_cb()
  batman-adv: bla: put backbone reference on failed claim hash insert
  batman-adv: bla: only purge non-released claims
  batman-adv: bla: prevent use-after-free when deleting claims
  batman-adv: reject new tp_meter sessions during teardown
  batman-adv: fix integer overflow on buff_pos
  sctp: revalidate list cursor after sctp_sendmsg_to_asoc() in SCTP_SENDALL
  drm/amdgpu/pm: align Hawaii mclk workaround with radeon
  drm/amdgpu/pm: add missing revision check for CI
  drm/amdgpu/sdma4: replace BUG_ON with WARN_ON in fence emission
  drm/amdgpu/gfx9: drop unnecessary 64-bit fence flag check in KIQ
  drm/radeon: add missing revision check for CI
  spi: mpc52xx: fix use-after-free on unbind
  media: dib8000: avoid division by 0 in dib8000_set_dds()
  media: rc: streamzap: Error handling in probe
  media: uvcvideo: Enable VB2_DMABUF for metadata stream
  RDMA/rxe: Reject unknown opcodes before ICRC processing
  RDMA/ocrdma: Don't NULL deref uctx on errors in ocrdma_copy_pd_uresp()
  power: supply: max17042: avoid overflow when determining health
  PCI/AER: Stop ruling out unbound devices as error source
  s390/debug: Reject zero-length input in debug_input_flush_fn()
  nvmet: avoid recursive nvmet-wq flush in nvmet_ctrl_free
  md/raid10: fix divide-by-zero in setup_geo() with zero far_copies
  isofs: validate block number from NFS file handle in isofs_export_iget
  isofs: validate Rock Ridge CE continuation extent against volume size
  dm-verity-fec: correctly reject too-small hash devices
  dm-verity-fec: correctly reject too-small FEC devices
  dm: fix a buffer overflow in ioctl processing
  dm: don't report warning when doing deferred remove
  cpuidle: powerpc: avoid double clear when breaking snooze
  spi: topcliff-pch: fix use-after-free on unbind
  udf: reject descriptors with oversized CRC length
  ibmveth: Disable GSO for packets with small MSS
  parisc: Fix IRQ leak in LASI driver
  net/rds: handle zerocopy send cleanup before the message is queued
  ip6_gre: Use cached t->net in ip6erspan_changelink().
  sound: ua101: fix division by zero at probe
  Bluetooth: L2CAP: Fix null-ptr-deref in l2cap_sock_state_change_cb()
  Bluetooth: L2CAP: Fix null-ptr-deref in l2cap_sock_new_connection_cb()
  usb: ulpi: fix memory leak on ulpi_register() error paths
  USB: serial: option: add Telit Cinterion LE910Cx compositions
  USB: omap_udc: DMA: Don't enable burst 4 mode
  ALSA: usb-audio: Fix UAC3 cluster descriptor size check
  ALSA: usb-audio: Avoid potential endless loop in convert_chmap_v3()
  usb: usblp: fix uninitialized heap leak via LPGETSTATUS ioctl
  usb: usblp: fix heap leak in IEEE 1284 device ID via short response
  wifi: b43: enforce bounds check on firmware key index in b43_rx()
  wifi: ath5k: do not access array OOB
  wifi: rsi: fix kthread lifetime race between self-exit and external-stop
  wifi: b43legacy: enforce bounds check on firmware key index in RX path
  ipmi:ssif: NULL thread on error
  ipmi:ssif: Remove unnecessary indention
  ipmi:ssif: Clean up kthread on errors
  ipmi:ssif: Fix a shutdown race
  net/sched: sch_red: Replace direct dequeue call with peek and qdisc_dequeue_peeked
  fbdev: udlfb: add vm_ops to dlfb_ops_mmap to prevent use-after-free
  ipmi:si: Return state to normal if message allocation fails
  ipmi: Check event message buffer response for bad data
  ipmi: Add limits to event and receive message requests
  scsi: target: configfs: Bound snprintf() return in tg_pt_gp_members_show()
  ALSA: caiaq: fix usb_dev refcount leak on probe failure
  ALSA: caiaq: Don't abort when no input device is available
  ALSA: caiaq: Fix potentially leftover ep1_in_urb at error path
  dm mirror: fix integer overflow in create_dirty_log()
  crypto: atmel-tdes - fix DMA sync direction
  crypto: ccree - fix a memory leak in cc_mac_digest()
  crypto: hisilicon - Fix dma_unmap_single() direction
  crypto: atmel-ecc - Release client on allocation failure
  crypto: atmel-aes - Fix 3-page memory leak in atmel_aes_buff_cleanup
  taskstats: set version in TGID exit notifications
  inotify: fix watch count leak when fsnotify_add_inode_mark_locked() fails
  md/raid5: validate payload size before accessing journal metadata
  md/raid5: fix soft lockup in retry_aligned_read()
  ext4: fix missing brelse() in ext4_xattr_inode_dec_ref_all()
  userfaultfd: allow registration of ranges below mmap_min_addr
  tpm: tpm_tis: add error logging for data transfer
  mmc: block: use single block write in retry
  RDMA/rxe: Validate pad and ICRC before payload_size() in rxe_rcv
  ALSA: 6fire: Fix input volume change detection
  ALSA: caiaq: Handle probe errors properly
  ALSA: caiaq: Fix control_put() result and cache rollback
  ALSA: seq_oss: return full count for successful SEQ_FULLSIZE writes
  ALSA: ctxfi: Add fallback to default RSR for S/PDIF
  lib/ts_kmp: fix integer overflow in pattern length calculation
  Revert "ALSA: usb: Increase volume range that triggers a warning"
  net: strparser: fix skb_head leak in strp_abort_strp()
  net: caif: clear client service pointer on teardown
  ALSA: control: Validate buf_len before strnlen() in snd_ctl_elem_init_enum_names()
  crypto: pcrypt - Fix handling of MAY_BACKLOG requests
  um: drivers: call kernel_strrchr() explicitly in cow_user.c
  firmware: google: framebuffer: Do not mark framebuffer as busy
  ibmasm: fix heap over-read in ibmasm_send_i2o_message()
  ibmasm: fix OOB reads in command_file_write due to missing size checks
  misc: ibmasm: fix OOB MMIO read in ibmasm_handle_mouse_interrupt()
  ALSA: usb-audio: Fix Audio Advantage Micro II SPDIF switch
  ALSA: usb-audio: Avoid false E-MU sample-rate notifications
  ALSA: usb-audio: stop parsing UAC2 rates at MAX_NR_RATES
  rxrpc: Fix missing validation of ticket length in non-XDR key preparsing
  ALSA: caiaq: take a reference on the USB device in create_card()
  ALSA: usb-audio: apply quirk for MOONDROP JU Jiu
  rxrpc: Fix anonymous key handling
  scripts/dtc: Remove unused dts_version in dtc-lexer.l
  gfs2: Validate i_depth for exhash directories
  mm: blk-cgroup: fix use-after-free in cgwb_release_workfn()
  ocfs2: fix possible deadlock between unlink and dio_end_io_write
  fs/ocfs2: fix comments mentioning i_mutex
  rxrpc: reject undecryptable rxkad response tickets
  ocfs2: fix out-of-bounds write in ocfs2_write_end_inline
  ocfs2: validate inline data i_size during inode read
  ocfs2: add inline inode consistency check to ocfs2_validate_inode_block()
  xfrm: clear trailing padding in build_polexpire()
  rxrpc: fix reference count leak in rxrpc_server_keyring()
  mailbox: Prevent out-of-bounds access in of_mbox_index_xlate()
  wifi: mac80211: always free skb on ieee80211_tx_prepare_skb() failure
  ipv6: add NULL checks for idev in SRv6 paths
  net: tap: NULL pointer derefence in dev_parse_header_protocol when skb->dev is null
  media: hackrf: fix to not free memory after the device is registered in hackrf_probe()
  nilfs2: fix NULL i_assoc_inode dereference in nilfs_mdt_save_to_shadow_map
  media: as102: fix to not free memory after the device is registered in as102_usb_probe()
  ALSA: 6fire: fix use-after-free on disconnect
  media: em28xx: fix use-after-free in em28xx_v4l2_open()
  mm/kasan: fix double free for kasan pXds
  KVM: x86: Use scratch field in MMIO fragment to hold small write values
  media: uvcvideo: Allow extra entities
  Revert "wifi: cfg80211: stop NAN and P2P in cfg80211_leave"
  rxrpc: Fix call removal to use RCU safe deletion
  ACPI: property: Constify stubs for CONFIG_ACPI=n case
  ocfs2: handle invalid dinode in ocfs2_group_extend
  ocfs2: fix use-after-free in ocfs2_fault() when VM_FAULT_RETRY
  ALSA: ctxfi: Limit PTP to a single page
  USB: serial: option: add Telit Cinterion FN990A MBIM composition
  fbdev: udlfb: avoid divide-by-zero on FBIOPUT_VSCREENINFO
  usb: storage: Expand range of matched versions for VL817 quirks entry
  usbip: validate number_of_packets in usbip_pack_ret_submit()
  usb: gadget: renesas_usb3: validate endpoint index in standard request handlers
  usb: gadget: f_phonet: fix skb frags[] overflow in pn_rx_complete()
  usb: gadget: f_ncm: validate minimum block_len in ncm_unwrap_ntb()
  fbdev: tdfxfb: avoid divide-by-zero on FBIOPUT_VSCREENINFO
  ALSA: fireworks: bound device-supplied status before string array lookup
  NFC: digital: Bounds check NFC-A cascade depth in SDD response handler
  net: usb: cdc-phonet: fix skb frags[] overflow in rx_complete()
  HID: core: clamp report_size in s32ton() to avoid undefined shift
  HID: alps: fix NULL pointer dereference in alps_raw_event()
  staging: rtl8723bs: initialize le_tmp64 in rtw_BIP_verify()
  i2c: s3c24xx: check the size of the SMBUS message before using it
  nfc: llcp: add missing return after LLCP_CLOSED checks
  MIPS: mm: Suppress TLB uniquification on EHINV hardware
  af_unix: read UNIX_DIAG_VFS data under unix_state_lock
  netfilter: ip6t_eui64: reject invalid MAC header for all packets
  netfilter: xt_multiport: validate range encoding in checkentry
  netfilter: nfnetlink_log: initialize nfgenmsg in NLMSG_DONE terminator
  xfrm_user: fix info leak in build_mapping()
  e1000: check return value of e1000_read_eeprom
  net: lapbether: replace comparison to NULL with "lapbeth_get_x25_dev"
  net: lapbether: Close the LAPB device before its underlying Ethernet device closes
  net: sched: act_csum: validate nested VLAN headers
  drm/vc4: Protect madv read in vc4_gem_object_mmap() with madv_lock
  drm/vc4: Fix a memory leak in hang state error path
  drm/vc4: Fix memory leak of BO array in hang state
  ASoC: stm32_sai: fix incorrect BCLK polarity for DSP_A/B, LEFT_J
  wifi: brcmfmac: validate bsscfg indices in IF events
  ata: ahci: force 32-bit DMA for JMicron JMB582/JMB585
  HID: roccat: fix use-after-free in roccat_report_event
  HID: quirks: add HID_QUIRK_ALWAYS_POLL for 8BitDo Pro 3
  wifi: wl1251: validate packet IDs before indexing tx_frames
  btrfs: tracepoints: get correct superblock from dentry in event btrfs_sync_file()
  ALSA: asihpi: avoid write overflow check warning
  net: skbuff: preserve shared-frag marker during coalescing

Change-Id: I535ecdb1a77312a12564125fedb9f99b3a5533d1
2026-07-09 22:06:07 +01:00
Nathan Chancellor 7fc6ec3abe scripts/dtc: Remove unused dts_version in dtc-lexer.l
This patch is for stable only. Commit 5a09df20872c ("scripts/dtc: Update
to upstream version v1.7.2-69-g53373d135579") upstream applied it as
part of a regular scripts/dtc sync, which may be unsuitable for older
versions of stable where the warning it fixes is present.

A recent strengthening of -Wunused-but-set-variable (enabled with -Wall)
in clang under a new subwarning, -Wunused-but-set-global, points out an
unused static global variable in dtc-lexer.lex.c (compiled from
dtc-lexer.l):

  scripts/dtc/dtc-lexer.lex.c:641:12: warning: variable 'dts_version' set but not used [-Wunused-but-set-global]
    641 | static int dts_version = 1;
        |            ^

Remove it to clear up the warning, as it is truly unused.

Fixes: 658f29a51e ("of/flattree: Update dtc to current mainline.")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ulrich Hecht <uli@kernel.org>
2026-06-29 10:45:23 +02:00
Fangrui Song 97985d5d3f Makefile: use -z pack-relative-relocs
Commit 27f2a4db76e8 ("Makefile: fix GDB warning with CONFIG_RELR")
added --use-android-relr-tags to fix a GDB warning

BFD: /android0/linux-next/vmlinux: unknown type [0x13] section `.relr.dyn'

The GDB warning has been fixed in version 11.2.

The DT_ANDROID_RELR tag was deprecated since DT_RELR was standardized.
Thus, --use-android-relr-tags should be removed. While making the
change, try -z pack-relative-relocs, which is supported since LLD 15.
Keep supporting --pack-dyn-relocs=relr as well for older LLD versions.
There is no indication of obsolescence for --pack-dyn-relocs=relr.

As of today, GNU ld supports the latter option for x86 and powerpc64
ports and has no intention to support --pack-dyn-relocs=relr. In the
absence of the glibc symbol version GLIBC_ABI_DT_RELR,
--pack-dyn-relocs=relr and -z pack-relative-relocs are identical in
ld.lld.

GNU ld and newer versions of LLD report warnings (instead of errors) for
unknown -z options. Only errors lead to non-zero exit codes. Therefore,
we should test --pack-dyn-relocs=relr before testing
-z pack-relative-relocs.

Link: https://github.com/ClangBuiltLinux/linux/issues/1057
Link: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=a619b58721f0a03fd91c27670d3e4c2fb0d88f1e
Signed-off-by: Fangrui Song <maskray@google.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Change-Id: Ib4ca450ed863e16651a8725c721e7e0389c992ae
2026-06-05 17:02:48 +00:00
Nick Desaulniers 4d7eb14891 Makefile: fix GDB warning with CONFIG_RELR
GDB produces the following warning when debugging kernels built with
CONFIG_RELR:

BFD: /android0/linux-next/vmlinux: unknown type [0x13] section `.relr.dyn'

when loading a kernel built with CONFIG_RELR into GDB. It can also
prevent debugging symbols using such relocations.

Peter sugguests:
  [That flag] means that lld will use dynamic tags and section type
  numbers in the OS-specific range rather than the generic range. The
  kernel itself doesn't care about these numbers; it determines the
  location of the RELR section using symbols defined by a linker script.

Link: https://github.com/ClangBuiltLinux/linux/issues/1057
Suggested-by: Peter Collingbourne <pcc@google.com>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Change-Id: I7b6554d4d9a400e7657d6deea8330ee89ac0284d
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Link: https://lore.kernel.org/r/20210522012626.2811297-1-ndesaulniers@google.com
Signed-off-by: Will Deacon <will@kernel.org>
2026-06-05 17:02:48 +00:00
Florent Revest e36fc5d468 UPSTREAM: bpf: Add a bpf_sock_from_file helper
While eBPF programs can check whether a file is a socket by file->f_op
== &socket_file_ops, they cannot convert the void private_data pointer
to a struct socket BTF pointer. In order to do this a new helper
wrapping sock_from_file is added.

This is useful to tracing programs but also other program types
inheriting this set of helpers such as iterators or LSM programs.

Change-Id: I4be02013a5096fee691584a29662aadeac986a85
Signed-off-by: Florent Revest <revest@google.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: KP Singh <kpsingh@google.com>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Link: https://lore.kernel.org/bpf/20201204113609.1850150-2-revest@google.com
2026-05-31 11:15:44 +01:00
KP Singh 00c4691305 UPSTREAM: bpf: Add a BPF helper for getting the IMA hash of an inode
Provide a wrapper function to get the IMA hash of an inode. This helper
is useful in fingerprinting files (e.g executables on execution) and
using these fingerprints in detections like an executable unlinking
itself.

Since the ima_inode_hash can sleep, it's only allowed for sleepable
LSM hooks.

Change-Id: Ic513bbccdb40acbac0bb6aadfa54d266b1bf6da4
Signed-off-by: KP Singh <kpsingh@google.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/bpf/20201124151210.1081188-3-kpsingh@chromium.org
2026-05-31 11:15:42 +01:00
KP Singh a214855f35 UPSTREAM: bpf: Add bpf_bprm_opts_set helper
The helper allows modification of certain bits on the linux_binprm
struct starting with the secureexec bit which can be updated using the
BPF_F_BPRM_SECUREEXEC flag.

secureexec can be set by the LSM for privilege gaining executions to set
the AT_SECURE auxv for glibc.  When set, the dynamic linker disables the
use of certain environment variables (like LD_PRELOAD).

Change-Id: I78b8a1a29bb5aa57e63c43cee71ad2a37364f24d
Signed-off-by: KP Singh <kpsingh@google.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Link: https://lore.kernel.org/bpf/20201117232929.2156341-1-kpsingh@chromium.org
2026-05-31 11:15:42 +01:00
Michael Bestas 3b7a4ab753 Merge remote-tracking branch 'sm8250/lineage-20' into lineage-23.2
* sm8250/lineage-20:
  msm: kgsl: Use kthread instead of workqueue for event work
  msm: kgsl: Fix possible NULL pointer dereference
  fixup! BACKPORT: kbuild: check the minimum assembler version in Kconfig
  techpack: drm/msm/sde: add sysfs node for trigger wake up early

Change-Id: I10989481293366e0d0fc83795dfdfbf68a679743
2026-05-27 19:27:14 +03:00
fadlyas07 d12e9eb2de fixup! BACKPORT: kbuild: check the minimum assembler version in Kconfig
Since minimum assembler version checking is not required in 5.10, it should not be required in 4.19 either.

Change-Id: I333454a3dffb4798295adf9b3038ebc9acda948e
2026-05-20 01:51:44 +00:00
Michael Bestas a611b86ed6 Merge remote-tracking branch 'sm8250/lineage-20' into lineage-23.2
* sm8250/lineage-20: (280 commits)
  ANDROID: kallsyms: increase KSYM_NAME_LEN
  Revert "linux/kallsyms: Increase KSYM_NAME_LEN both in kernel and kallsyms.c"
  Revert "UPSTREAM: fuse: fix page stealing"
  CIP: Bump version suffix to -cip132 after merge from cip/linux-4.19.y-st tree
  Update localversion-st, tree is up-to-date with 5.10.254.
  x86/CPU: Fix FPDSS on Zen1
  seg6: separate dst_cache for input and output paths in seg6 lwtunnel
  netfilter: nft_ct: fix use-after-free in timeout object destroy
  apparmor: fix differential encoding verification
  apparmor: fix missing bounds check on DEFAULT table in verify_dfa()
  ext4: convert inline data to extents when truncate exceeds inline size
  virtio_net: Fix UAF on dst_ops when IFF_XMIT_DST_RELEASE is cleared and napi_tx is false
  ipv6: fix NULL pointer deref in ip6_rt_get_dev_rcu()
  crypto: af_alg - Fix page reassignment overflow in af_alg_pull_tsgl
  crypto: authencesn - Fix src offset when decrypting in-place
  crypto: authencesn - Do not place hiseq at end of dst for out-of-place decryption
  crypto: authenc - use memcpy_sglist() instead of null skcipher
  crypto: algif_aead - snapshot IV for async AEAD requests
  crypto: algif_aead - Revert to operating out-of-place
  crypto: algif_aead - use memcpy_sglist() instead of null skcipher
  ...

Change-Id: Ida75aec49fba4952aa27257cca3ccfeb0dd01917
2026-05-14 13:26:53 +02:00
Sami Tolvanen 9068d3dbaf ANDROID: kallsyms: increase KSYM_NAME_LEN
Clang generates __typeid__ symbols that are longer than 128 characters
when CFI is enabled. Increase KSYM_NAME_LEN to accommodate for this.

Bug: 148470764
Bug: 154088315
Change-Id: I3be253b844d48948ae85b912c432d7234ff33c48
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2026-05-13 00:48:26 +00:00
Nick Reuter b4ebeafa6a Revert "linux/kallsyms: Increase KSYM_NAME_LEN both in kernel and kallsyms.c"
This reverts commit 7054f7931c.

Reason for revert: Take upstream patch

Change-Id: I4948edb51b7fd95b7a0aa4f56e62e2c1f95a79df
2026-05-13 00:48:26 +00:00
Michael Bestas e526cdfdfb Merge remote-tracking branch 'sm8250/lineage-20' into lineage-23.2
* sm8250/lineage-20:
  UPSTREAM: x86/jump_table: Use relative references
  UPSTREAM: x86/jump_label: Switch to jump_entry accessors
  UPSTREAM: arm64/kernel: jump_label: Switch to relative references
  UPSTREAM: net: add and use skb_unclone_keeptruesize() helper
  UPSTREAM: kfence: fix is_kfence_address() for addresses below KFENCE_POOL_SIZE
  BACKPORT: kbuild: check CONFIG_AS_IS_LLVM instead of LLVM_IAS
  BACKPORT: kbuild: Switch to 'f' variants of integrated assembler flag
  Revert "Makefile: Fix LLVM_IAS condition after IAS default flip"

Change-Id: Ief486315e18b87b98ab171c34ccdda6d031bfe18
2026-05-07 17:46:18 +03:00
Nathan Chancellor 00240ae37e BACKPORT: kbuild: Switch to 'f' variants of integrated assembler flag
commit 2185a7e4b0ade86c2c57fc63d4a7535c40254bd0 upstream.

It has been brought up a few times in various code reviews that clang
3.5 introduced -f{,no-}integrated-as as the preferred way to enable and
disable the integrated assembler, mentioning that -{no-,}integrated-as
are now considered legacy flags.

Switch the kernel over to using those variants in case there is ever a
time where clang decides to remove the non-'f' variants of the flag.

Also, fix a typo in a comment ("intergrated" -> "integrated").

Link: https://releases.llvm.org/3.5.0/tools/clang/docs/ReleaseNotes.html#new-compiler-flags
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Change-Id: Id848bd57d5e27afb85cf51c26d9312751168407e
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
[nathan: Backport to 5.10]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-05-03 21:11:14 +03:00
Michael Bestas 050dbce234 Merge remote-tracking branch 'sm8250/lineage-20' into lineage-23.2
* sm8250/lineage-20: (296 commits)
  defconfigs: Enable CONFIG_HIDRAW to satiate FCM 7 requirements
  arm64: configs: vendor: reduce KFENCE pool size
  arm64: configs: vendor: Enable KFENCE by setting the sample interval to 500ms
  arm64: configs: vendor: Enable KFENCE
  UPSTREAM: random: split initialization into early step and later step
  UPSTREAM: kfence: avoid passing -g for test
  UPSTREAM: kfence: fix memory leak when cat kfence objects
  UPSTREAM: kfence: unconditionally use unbound work queue
  UPSTREAM: kfence: use TASK_IDLE when awaiting allocation
  FROMLIST: kfence: skip all GFP_ZONEMASK allocations
  FROMLIST: kfence: move the size check to the beginning of __kfence_alloc()
  ANDROID: kfence: clean up unused variables
  FROMGIT: kfence: use power-efficient work queue to run delayed work
  FROMGIT: kfence: maximize allocation wait timeout duration
  FROMGIT: kfence: await for allocation using wait_event
  FROMGIT: kfence: zero guard page after out-of-bounds access
  UPSTREAM: kfence: make compatible with kmemleak
  UPSTREAM: kfence: fix reports if constant function prefixes exist
  UPSTREAM: kfence: fix printk format for ptrdiff_t
  UPSTREAM: kfence: report sensitive information based on no_hash_pointers
  ...

Change-Id: Ia5322fb5697db2c0fcbd3031aae8c4cc3cfb4a80
2026-04-30 15:42:55 +03:00
Thomas Turner b0da80ea68 Merge tag 'v4.19.325-cip131' of https://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip into android13-4.19-kona
version 4.19.325-cip131

* tag 'v4.19.325-cip131' of https://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip:
  CIP: Bump version suffix to -cip131 after merge from cip/linux-4.19.y-st tree
  Update localversion-st, tree is up-to-date with 5.10.252.
  nfsd: fix return error code for nfsd_map_name_to_[ug]id
  net: usb: pegasus: enable basic endpoint checking
  Bluetooth: L2CAP: Fix not checking l2cap_chan security level
  Bluetooth: Enforce key size of 16 bytes on FIPS level
  xfrm6: fix uninitialized saddr in xfrm6_get_saddr()
  netfilter: nf_conntrack: Add allow_clash to generic protocol handler
  ext4: don't cache extent during splitting extent
  NTB: ntb_transport: Fix too small buffer for debugfs_name
  net: ethernet: ec_bhf: Fix dma_free_coherent() dma handle
  fbdev: ffb: fix corrupted video output on Sun FFB1
  fbdev: of: display_timing: fix refcount leak in of_get_display_timings()
  atm: fore200e: fix use-after-free in tasklets during device removal
  net: wan/fsl_ucc_hdlc: Fix dma_free_coherent() in uhdlc_memclean()
  net: ethernet: marvell: skge: remove incorrect conflicting PCI ID
  ceph: supply snapshot context in ceph_zero_partial_object()
  MIPS: rb532: Fix MMIO UART resource registration
  parisc: kernel: replace kfree() with put_device() in create_tree_node()
  drm/amdkfd: Fix out-of-bounds write in kfd_event_page_set()
  usb: dwc2: fix resume failure if dr_mode is host
  btrfs: continue trimming remaining devices on failure
  kexec: derive purgatory entry from symbol
  ocfs2: fix reflink preserve cleanup issue
  ocfs2: fix xattr array entry __counted_by error
  rapidio: replace rio_free_net() with kfree() in rio_scan_alloc_net()
  iio: gyro: itg3200: Fix unchecked return value in read_raw
  dm mpath: make pg_init_delay_msecs settable
  bus: fsl-mc: fix an error handling in fsl_mc_device_add()
  md/bitmap: fix GPF in write_page caused by resize race
  xfs: fix remote xattr valuelblk check
  xfs: fix freemap adjustments when adding xattrs to leaf blocks
  xfs: delete attr leaf freemap entries when empty
  xfs: mark data structures corrupt on EIO and ENODATA
  mm, page_alloc, thp: prevent reclaim for __GFP_THISNODE THP allocations
  drm: of: drm_of_panel_bridge_remove(): fix device_node leak
  dm-unstripe: fix mapping bug when there are multiple targets in a table
  clk: tegra: tegra124-emc: Fix potential memory leak in tegra124_clk_register_emc()
  dm: clear cloned request bio pointer when last clone bio completes
  media: i2c/tw9906: Fix potential memory leak in tw9906_probe()
  media: i2c/tw9903: Fix potential memory leak in tw9903_probe()
  media: cx25821: Add missing unmap in snd_cx25821_hw_params()
  media: cx23885: Add missing unmap in snd_cx23885_hw_params()
  media: cx88: Add missing unmap in snd_cx88_hw_params()
  media: radio-keene: fix memory leak in error path
  HID: prodikeys: Check presence of pm->input_ep82
  HID: magicmouse: Do not crash on missing msc->input
  HID: hid-pl: handle probe errors
  media: mtk-mdp: Fix a reference leak bug in mtk_mdp_remove()
  dm-verity: correctly handle dm_bufio_client_create() failure
  fpga: dfl: use subsys_initcall to allow built-in drivers to be added
  rpmsg: core: fix race in driver_override_show() and use core helper
  netfilter: nf_conntrack_h323: fix OOB read in decode_choice()
  net: consume xmit errors of GSO frames
  Bluetooth: L2CAP: Fix missing key size check for L2CAP_LE_CONN_REQ
  Bluetooth: l2cap: Check encryption key size on incoming connection
  wifi: cfg80211: wext: fix IGTK key ID off-by-one
  net: usb: lan78xx: scan all MDIO addresses on LAN7801
  lan78xx: Fix memory allocation bug
  lan78xx: Fix race condition in disconnect handling
  lan78xx: Remove unused pause frame queue
  net: usb: kaweth: remove TX queue manipulation in kaweth_set_rx_mode
  ntb: ntb_hw_switchtec: Fix shift-out-of-bounds for 0 mw lut
  ntb: ntb_hw_switchtec: Fix array-index-out-of-bounds access
  drm/radeon: Add HAINAN clock adjustment
  drm/amdgpu: Add HAINAN clock adjustment
  ARM: 9467/1: mm: Don't use %pK through printk
  include: uapi: netfilter_bridge.h: Cover for musl libc
  iio: magnetometer: Remove IRQF_ONESHOT
  Revert "mfd: da9052-spi: Change read-mask to write-mask"
  binder: don't use %pK through printk
  serial: 8250_dw: handle clock enable errors in runtime_resume
  m68k: nommu: fix memmove() with differently aligned src and dest for 68000
  clk: microchip: core: correct return value on *_get_parent()
  nfc: nxp-nci: remove interrupt trigger type
  myri10ge: avoid uninitialized variable use
  PCI: Mark Nvidia GB10 to avoid bus reset
  PCI: Fix pci_slot_lock () device locking
  PCI: Mark ASM1164 SATA controller to avoid bus reset
  net/rds: Clear reconnect pending bit
  vmw_vsock: bypass false-positive Wnonnull warning with gcc-16
  net: usb: sr9700: remove code to drive nonexistent multicast filter
  Bluetooth: btusb: Add device ID for Realtek RTL8761BU
  Bluetooth: hci_conn: use mod_delayed_work for active mode timeout
  ipv4: fib: Annotate access to struct fib_alias.fa_state.
  wifi: iwlegacy: add missing mutex protection in il3945_store_measurement()
  wifi: iwlegacy: add missing mutex protection in il4965_store_tx_power()
  net/rds: No shortcut out of RDS_CONN_ERROR
  net: usb: r8152: fix transmit queue timeout
  openrisc: define arch-specific version of nop()
  netfilter: xt_tcpmss: check remaining length before reading optlen
  wifi: libertas: fix WARNING in usb_tx_block
  jfs: nlink overflow in jfs_rename
  jfs: Add missing set_freezable() for freezable kthread
  modpost: Amend ppc64 save/restfpr symnames for -Os build
  ASoC: es8328: Add error unwind in resume
  HID: multitouch: add eGalaxTouch EXC3188 support
  drm/atmel-hlcdc: fix use-after-free of drm_crtc_commit after release
  drm/atmel-hlcdc: fix memory leak from the atomic_destroy_state callback
  virt: vbox: uapi: Mark inner unions in packed structs as packed
  hyper-v: Mark inner union in hv_kvp_exchg_msg_value as packed
  drm: Account property blob allocations to memcg
  media: cx25821: Fix a resource leak in cx25821_dev_setup()
  media: solo6x10: Check for out of bounds chip_id
  media: pvrusb2: fix URB leak in pvr2_send_request_ex
  media: adv7180: fix frame interval in progressive mode
  ASoC: wm8962: Add WM8962_ADC_MONOMIX to "3D Coefficients" mask
  media: omap3isp: set initial format
  media: omap3isp: isppreview: always clamp in preview_try_format()
  media: omap3isp: isp_video_mbus_to_pix/pix_to_mbus fixes
  media: dvb-core: dmxdevfilter must always flush bufs
  parisc: Prevent interrupts during reboot
  arm64: tegra: smaug: Add usb-role-switch support
  pstore: ram_core: fix incorrect success return when vmap() fails
  mailbox: bcm-ferxrm-mailbox: Use default primary handler
  clocksource/drivers/sh_tmu: Always leave device running after probe
  sparc: don't reference obsolete termio struct for TC* constants
  xenbus: Use .freeze/.thaw to handle xenbus devices
  ACPICA: Abort AML bytecode execution when executing AML_FATAL_OP
  EFI/CPER: don't go past the ARM processor CPER record buffer
  x86/xen/pvh: Enable PAE mode for 32-bit guest only when CONFIG_X86_PAE is set
  s390/purgatory: Add -Wno-default-const-init-unsafe to KBUILD_CFLAGS
  tools/power cpupower: Reset errno before strtoull()
  minix: Add required sanity checking to minix_check_superblock()
  hfsplus: pretend special inodes as regular files
  audit: add missing syscalls to read class
  hfsplus: fix volume corruption issue for generic/498
  audit: add fchmodat2() to change attributes class
  rtc: interface: Alarm race handling should not discard preceding error
  SUNRPC: fix gss_auth kref leak in gss_alloc_msg error path
  SUNRPC: auth_gss: fix memory leaks in XDR decoding error paths
  ata: pata_ftide010: Fix some DMA timings
  ext4: fix memory leak in ext4_ext_shift_extents()
  MIPS: Work around LLVM bug when gp is used as global register variable
  apparmor: fix invalid deref of rawdata when export_binary is unset
  apparmor: fix rlimit for posix cpu timers
  apparmor: fix NULL sock in aa_sock_file_perm
  bonding: alb: fix UAF in rlb_arp_recv during bond up/down
  macvlan: observe an RCU grace period in macvlan_common_newlink() error path
  netfilter: nf_conntrack_h323: don't pass uninitialised l3num value
  net/rds: rds_sendmsg should not discard payload_len
  xen-netback: reject zero-queue configuration from guest
  net: usb: catc: enable basic endpoint checking
  usbb: catc: use correct API for MAC addresses
  cpuidle: Skip governor when only one idle state is available
  pinctrl: single: fix refcount leak in pcs_add_gpio_func()
  iio: sca3000: Fix a resource leak in sca3000_probe()
  ovl: Fix uninit-value in ovl_fill_real
  drivers: iio: mpu3050: use dev_err_probe for regulator request
  mfd: arizona: Fix regulator resource leak on wm5102_clear_write_sequencer() failure
  Revert "mmc: rtsx_pci_sdmmc: increase power-on settling delay to 5ms"
  mmc: rtsx_pci_sdmmc: increase power-on settling delay to 5ms
  mmc: core: Initial support for SD express card/host
  serial: SH_SCI: improve "DMA support" prompt
  staging: greybus: lights: avoid NULL deref
  fbdev: au1200fb: Fix a memory leak in au1200fb_drv_probe()
  tracing: Remove duplicate ENABLE_EVENT_STR and DISABLE_EVENT_STR macros
  scsi: csiostor: Fix dereference of null pointer rn
  pNFS: fix a missing wake up while waiting on NFS_LAYOUT_DRAIN
  svcrdma: Remove queue-shortening warnings
  RDMA/core: Fix a couple of obvious typos in comments
  power: supply: wm97xx_battery: Convert to GPIO descriptor
  power: supply: bq27xxx: fix wrong errno when bus ops are unsupported
  power: supply: sbs-battery: Fix use-after-free in power_supply_changed()
  power: supply: rt9455: Fix use-after-free in power_supply_changed()
  power: supply: act8945a: Fix use-after-free in power_supply_changed()
  serial: caif: fix use-after-free in caif_serial ldisc_close()
  net: atm: fix crash due to unvalidated vcc pointer in sigd_send()
  procfs: fix missing RCU protection when reading real_parent in do_task_stat()
  netfilter: nft_set_rbtree: check for partial overlaps in anonymous sets
  netfilter: nft_set_hash: fix get operation on big endian
  bonding: only set speed/duplex to unknown, if getting speed failed
  ucount: check for CAP_SYS_RESOURCE using ns_capable_noaudit()
  tcp: tcp_tx_timestamp() must look at the rtx queue
  fat: avoid parent link count underflow in rmdir
  PCI: Mark 3ware-9650SA Root Port Extended Tags as broken
  netfilter: nf_conncount: fix tracking of connections from localhost
  netfilter: nf_conncount: increase the connection clean up limit to 64
  netfilter: nf_conncount: make nf_conncount_gc_list() to disable BH
  wifi: cfg80211: stop NAN and P2P in cfg80211_leave
  PCI/portdrv: Fix potential resource leak
  PCI: Do not attempt to set ExtTag for VFs
  PCI: mediatek: Fix IRQ domain leak when MSI allocation fails
  Revert "hwmon: (ibmpex) fix use-after-free in high/low store"
  spi: tools: Add include folder to .gitignore
  regulator: Flag uncontrollable regulators as always_on
  regulator: core: Respect off_on_delay at startup
  smack: /smack/doi: accept previously used values
  smack: /smack/doi must be > 0
  arm64: dts: amlogic: gx: assign the MMC signal clocks
  ARM: dts: allwinner: sun5i-a13-utoo-p66: delete "power-gpios" property
  EDAC/i5400: Fix snprintf() limit calculation in calculate_dimm_size()
  EDAC/i5000: Fix snprintf() size calculation in calculate_dimm_size()
  pstore/ram: fix buffer overflow in persistent_ram_save_old()
  sched/rt: Skip currently executing CPU in rto_next_cpu()
  mfd: wm8350-core: Use IRQF_ONESHOT
  EDAC/altera: Remove IRQF_ONESHOT
  hrtimer: Fix trace oddity
  crypto: cavium - fix dma_free_coherent() size
  s390/cio: Fix device lifecycle handling in css_alloc_subchannel()
  PM: sleep: wakeirq: harden dev_pm_clear_wake_irq() against races
  md/raid10: fix any_working flag handling in raid10_sync_request
  tpm: st33zp24: Fix missing cleanup on get_burstcount() error
  tpm: tpm_i2c_infineon: Fix locality leak on get_burstcount() failure
  gfs2: Add metapath_dibh helper
  gfs2: Add wrapper for iomap_file_buffered_write
  fs: add <linux/init_task.h> for 'init_fs'
  hfsplus: return error when node already exists in hfs_bnode_create
  auxdisplay: arm-charlcd: fix release_mem_region() size
  RDMA/umad: Reject negative data_len in ib_umad_write

Change-Id: Ice1efa8b2faaaab14d1d1563e5aa6ae36549682b
2026-04-22 07:08:43 +01:00
flar2 7054f7931c linux/kallsyms: Increase KSYM_NAME_LEN both in kernel and kallsyms.c
Change-Id: Icf2f2bc548189ff3ceff160b1faeff25ef92cb20
2026-04-20 23:15:56 -04:00
Masahiro Yamada 6f623b41ee UPSTREAM: kbuild: remove 'addtree' and 'flags' magic for header search paths
The 'addtree' and 'flags' in scripts/Kbuild.include are so compilecated
and ugly.

As I mentioned in [1], Kbuild should stop automatic prefixing of header
search path options.

I fixed up (almost) all Makefiles in the kernel. Now 'addtree' and
'flags' have been removed.

Kbuild still caters to add $(srctree)/$(src) and $(objtree)/$(obj)
to the header search path for O= building, but never touches extra
compiler options from ccflags-y etc.

[1]: https://patchwork.kernel.org/patch/9632347/

Change-Id: Ia40dbf252a7255f065eb0e92f75c32ca06f02e97
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2026-04-20 23:15:56 -04:00
Thomas Turner f9d9ed9e6d fixup! BACKPORT: treewide: prefix header search paths with $(srctree)/
Change-Id: I2bf1ade7245ef7d38ebcdb79c6d8d40ccf799967
2026-04-20 23:15:56 -04:00
Masahiro Yamada 47dbfd74a9 UPSTREAM: kbuild: simplify rules of data compression with size appending
All the callers of size_append pass $(filter-out FORCE,$^).
Move $(filter-out FORCE,$^) to the definition of size_append.

This makes the callers cleaner because $(call ...) is unneeded
for a macro with no argument.

Change-Id: Icf6a8ffb8c02e9f4fd9825fb1177c90af7bf1a46
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2026-04-20 23:15:56 -04:00
Masahiro Yamada e4c5a1680c UPSTREAM: kbuild: skip 'addtree' and 'flags' magic for external module build
When building an external module, $(obj) is the absolute path to it.

The header search paths from ccflags-y etc. should not be tweaked.

Change-Id: I6df4ea2fb1017d884a76d176c090dbcfd06e4c0c
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2026-04-20 23:15:56 -04:00
Masahiro Yamada 669bfc09bd UPSTREAM: kbuild: remove UIMAGE_IN and UIMAGE_OUT
The only/last user of UIMAGE_IN/OUT was removed by commit 4722a3e6b716
("microblaze: fix multiple bugs in arch/microblaze/boot/Makefile").

The input and output should always be $< and $@.

Change-Id: I16cf82c279f4060eb05cf43233c81f51fd7f33bd
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2026-04-20 23:15:56 -04:00
Masahiro Yamada 7ab262993f UPSTREAM: kbuild: remove redundant 'set -e' from filechk_offsets
The filechk macro in scripts/Kbuild.include already sets 'set -e'.

Change-Id: I494d04ed2c4f6525df5678cf786747a689877e0e
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2026-04-20 23:15:56 -04:00
Rob Herring 20531d6da4 UPSTREAM: kbuild: Enable dtc graph_port warning by default
All the 'graph_port' warnings have been fixed or have pending fixes, so
we can enable it by default now.

Change-Id: I95f58a73eb59fe39145e8224d5007c00d8245ef7
Signed-off-by: Rob Herring <robh@kernel.org>
2026-04-20 23:15:56 -04:00
Masahiro Yamada ae07c41081 BACKPORT: kbuild: check the minimum assembler version in Kconfig
Documentation/process/changes.rst defines the minimum assembler version
(binutils version), but we have never checked it in the build time.

Kbuild never invokes 'as' directly because all assembly files in the
kernel tree are *.S, hence must be preprocessed. I do not expect
raw assembly source files (*.s) would be added to the kernel tree.

Therefore, we always use $(CC) as the assembler driver, and commit
aa824e0c962b ("kbuild: remove AS variable") removed 'AS'. However,
we are still interested in the version of the assembler acting behind.

As usual, the --version option prints the version string.

  $ as --version | head -n 1
  GNU assembler (GNU Binutils for Ubuntu) 2.35.1

But, we do not have $(AS). So, we can add the -Wa prefix so that
$(CC) passes --version down to the backing assembler.

  $ gcc -Wa,--version | head -n 1
  gcc: fatal error: no input files
  compilation terminated.

OK, we need to input something to satisfy gcc.

  $ gcc -Wa,--version -c -x assembler /dev/null -o /dev/null | head -n 1
  GNU assembler (GNU Binutils for Ubuntu) 2.35.1

The combination of Clang and GNU assembler works in the same way:

  $ clang -no-integrated-as -Wa,--version -c -x assembler /dev/null -o /dev/null | head -n 1
  GNU assembler (GNU Binutils for Ubuntu) 2.35.1

Clang with the integrated assembler fails like this:

  $ clang -integrated-as -Wa,--version -c -x assembler /dev/null -o /dev/null | head -n 1
  clang: error: unsupported argument '--version' to option 'Wa,'

For the last case, checking the error message is fragile. If the
proposal for -Wa,--version support [1] is accepted, this may not be
even an error in the future.

One easy way is to check if -integrated-as is present in the passed
arguments. We did not pass -integrated-as to CLANG_FLAGS before, but
we can make it explicit.

Nathan pointed out -integrated-as is the default for all of the
architectures/targets that the kernel cares about, but it goes
along with "explicit is better than implicit" policy. [2]

With all this in my mind, I implemented scripts/as-version.sh to
check the assembler version in Kconfig time.

  $ scripts/as-version.sh gcc
  GNU 23501
  $ scripts/as-version.sh clang -no-integrated-as
  GNU 23501
  $ scripts/as-version.sh clang -integrated-as
  LLVM 0

[1]: https://github.com/ClangBuiltLinux/linux/issues/1320
[2]: https://lore.kernel.org/linux-kbuild/20210307044253.v3h47ucq6ng25iay@archlinux-ax161/

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
[nd: conflict in arch/Kconfig due to missing dc5723b02e523 ("kbuild: add
  support for Clang LTO") which landed in v5.12-rc1]
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
(cherry picked from commit ba64beb17493a4bfec563100c86a462a15926f24)
Bug: 210043760
Change-Id: I9bcc528adbb86fa902123611ce979af0dd455ad5
2026-04-20 23:15:56 -04:00
Masahiro Yamada 8cdae79481 UPSTREAM: kbuild: simplify GCC_PLUGINS enablement in dummy-tools/gcc
commit f4c3b83b75b91c5059726cb91e3165cc01764ce7 upstream.

With commit 1e860048c53e ("gcc-plugins: simplify GCC plugin-dev
capability test") applied, this hunk can be way simplified because
now scripts/gcc-plugins/Kconfig only checks plugin-version.h

Change-Id: Ic718951bcba65cdfe92ac2b8b6857ad96424408c
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-04-20 23:15:56 -04:00
Jiri Slaby 5ac0bd12b1 UPSTREAM: kbuild: dummy-tools: fix inverted tests for gcc
[ Upstream commit b3d9fc1436808a4ef9927e558b3415e728e710c5 ]

There is a test in Kconfig which takes inverted value of a compiler
check:
* config CC_HAS_INT128
        def_bool !$(cc-option,$(m64-flag) -D__SIZEOF_INT128__=0)

This results in CC_HAS_INT128 not being in super-config generated by
dummy-tools. So take this into account in the gcc script.

Change-Id: Iaf7eb5d969bd92617c622a164bf7a2db58675932
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2026-04-20 23:15:56 -04:00
Masahiro Yamada 5eab48a915 UPSTREAM: kbuild: add dummy toolchains to enable all cc-option etc. in Kconfig
Staring v4.18, Kconfig evaluates compiler capabilities, and hides CONFIG
options your compiler does not support. This works well if you configure
and build the kernel on the same host machine.

It is inconvenient if you prepare the .config that is carried to a
different build environment (typically this happens when you package
the kernel for distros) because using a different compiler potentially
produces different CONFIG options than the real build environment.
So, you probably want to make as many options visible as possible.
In other words, you need to create a super-set of CONFIG options that
cover any build environment. If some of the CONFIG options turned out
to be unsupported on the build machine, they are automatically disabled
by the nature of Kconfig.

However, it is not feasible to get a full-featured compiler for every
arch.

This issue was discussed here:

  https://lkml.org/lkml/2019/12/9/620

Other than distros, savedefconfig is also a problem. Some arch sub-systems
periodically resync defconfig files. If you use a less-capable compiler
for savedefconfig, options that do not meet 'depends on $(cc-option,...)'
will be forcibly disabled. So, 'make defconfig && make savedefconfig'
may silently change the behavior.

This commit adds a set of dummy toolchains that pretend to support any
feature.

Most of compiler features are tested by cc-option, which simply checks
the exit code of $(CC). The dummy tools are shell scripts that always
exit with 0. So, $(cc-option, ...) is evaluated as 'y'.

There are more complicated checks such as:

  scripts/gcc-x86_{32,64}-has-stack-protector.sh
  scripts/gcc-plugin.sh
  scripts/tools-support-relr.sh

scripts/dummy-tools/gcc passes all checks.

From the top directory of the source tree, you can do:

   $ make CROSS_COMPILE=scripts/dummy-tools/ oldconfig

Change-Id: Ic0ed9f3c73888a14c38c5ce546bc171b479c35ed
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Philipp Rudo <prudo@linux.ibm.com>
Tested-by: Jeremy Cline <jcline@redhat.com>
2026-04-20 23:15:52 -04:00
René Rebe cb8f224ccf modpost: Amend ppc64 save/restfpr symnames for -Os build
[ Upstream commit 3cd9763ce4ad999d015cf0734e6b968cead95077 ]

Building a size optimized ppc64 kernel (-Os), gcc emits more FP
save/restore symbols, that the linker generates on demand into the
.sfpr section. Explicitly allow-list those in scripts/mod/modpost.c,
too. They are needed for the amdgpu in-kernel floating point support.

MODPOST Module.symvers
ERROR: modpost: "_restfpr_20" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
ERROR: modpost: "_restfpr_26" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
ERROR: modpost: "_restfpr_22" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
ERROR: modpost: "_savegpr1_27" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
ERROR: modpost: "_savegpr1_25" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
ERROR: modpost: "_restfpr_28" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
ERROR: modpost: "_savegpr1_29" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
ERROR: modpost: "_savefpr_20" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
ERROR: modpost: "_savefpr_22" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
ERROR: modpost: "_restfpr_15" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined!
WARNING: modpost: suppressed 56 unresolved symbol warnings because there were too many)

Signed-off-by: René Rebe <rene@exactco.de>
Link: https://patch.msgid.link/20251123.131330.407910684435629198.rene@exactco.de
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Ulrich Hecht <uli@kernel.org>
2026-04-12 13:56:47 +08:00
Michael Bestas 3992a4d88d Merge remote-tracking branch 'sm8250/lineage-20' into lineage-23.2
* sm8250/lineage-20:
  arm64: configs: vendor: Enable CONFIG_UNICODE
  UPSTREAM: net/ipv6: Remove rt6i_prefsrc
  UPSTREAM: ipv6: Pass fib6_result to fib lookups
  UPSTREAM: ipv6: Pass fib6_result to fib6_table_lookup tracepoint
  UPSTREAM: ipv6: Pass fib6_result to ip6_create_rt_rcu
  UPSTREAM: ipv6: Remove flowi6_oif compare from __ip6_route_redirect
  UPSTREAM: ipv6: Pass fib6_result to rt6_find_cached_rt
  Revert "ipv6: fix src addr routing with the exception table"
  UPSTREAM: ipv6: Refactor __ip6_route_redirect
  UPSTREAM: ipv6: Pass fib6_result to rt6_select and find_rr_leaf
  UPSTREAM: ipv6: Refactor find_rr_leaf
  UPSTREAM: ipv6: Refactor find_match
  UPSTREAM: ipv6: fixes rt6_probe() and fib6_nh->last_probe init
  UPSTREAM: ipv6: Pass fib6_nh and flags to rt6_score_route
  UPSTREAM: ipv6: Change rt6_probe to take a fib6_nh
  Revert "ipv6: fixes rt6_probe() and fib6_nh->last_probe init"
  UPSTREAM: ipv6: Remove rt6_check_dev
  UPSTREAM: ipv6: Only call rt6_check_neigh for nexthop with gateway
  UPSTREAM: ipv6: Rename fib6_multipath_select and pass fib6_result
  UPSTREAM: ipv6: Move fib6_multipath_select down in ip6_pol_route
  UPSTREAM: ipv6: Be smarter with null_entry handling in ip6_pol_route_lookup
  UPSTREAM: net: Replace nhc_has_gw with nhc_gw_family
  UPSTREAM: ipv6: Flip to fib_nexthop_info
  UPSTREAM: net: Enable kernel side filtering of route dumps
  BACKPORT: netlink: Add strict version of nlmsg_parse and nla_parse
  UPSTREAM: netlink: Add answer_flags to netlink_callback
  UPSTREAM: ipv4: Change fib_nexthop_info and fib_add_nexthop to take fib_nh_common
  UPSTREAM: ipv4: Refactor nexthop attributes in fib_dump_info
  UPSTREAM: ipv4: not do cache for local delivery if bc_forwarding is enabled
  UPSTREAM: ipv4: Update exception handling for multipath routes via same device
  UPSTREAM: ipv4: Move exception bucket to nh_common
  UPSTREAM: ipv4: Move cached routes to fib_nh_common
  UPSTREAM: net: Use common nexthop init and release helpers
  BACKPORT: ipv4: Create cleanup helper for fib_nh
  UPSTREAM: ipv4: Add fib_nh_common to fib_result
  Revert "ipv4: not do cache for local delivery if bc_forwarding is enabled"
  Revert "ipv4: Update exception handling for multipath routes via same device"
  UPSTREAM: ipv4: Update fib_table_lookup tracepoint to take common nexthop
  UPSTREAM: net: Add fib_nh_common and update fib_nh and fib6_nh
  BACKPORT: ipv4: Create init helper for fib_nh
  UPSTREAM: ipv4: Define fib_get_nhs when CONFIG_IP_ROUTE_MULTIPATH is disabled
  BACKPORT: ipv4: Move IN_DEV_IGNORE_ROUTES_WITH_LINKDOWN to helper
  UPSTREAM: ipv6: Rename fib6_nh entries
  UPSTREAM: net: netlink: rename NETLINK_DUMP_STRICT_CHK -> NETLINK_GET_STRICT_CHK
  UPSTREAM: net/ipv6: Plumb support for filtering route dumps
  UPSTREAM: net: Add struct for fib dump filter
  UPSTREAM: net/mpls: Implement handler for strict data checking on dumps
  UPSTREAM: rtnetlink: Update fib dumps for strict data checking
  UPSTREAM: netlink: Add new socket option to enable strict checking on dumps
  UPSTREAM: netlink: Pass extack to dump handlers
  UPSTREAM: ipv6: Change rt6_add_nexthop and rt6_nexthop_info to take fib6_nh
  UPSTREAM: ipv6: Refactor fib6_ignore_linkdown
  BACKPORT: ipv6: Move gateway checks to a fib6_nh setting
  Revert "UPSTREAM: bpf: Fix bpf socket lookup from tc/xdp to respect socket VRF bindings"
  BACKPORT: sched: consistently handle layer3 header accesses in the presence of VLANs
  UPSTREAM: sch_cake: Take advantage of skb->hash where appropriate
  UPSTREAM: net: sched: em_ipt: match only on ip/ipv6 traffic
  UPSTREAM: tunnel: Propagate ECT(1) when decapsulating as recommended by RFC6040
  UPSTREAM: inet: Refactor INET_ECN_decapsulate()
  fixup! BACKPORT: treewide: Use fallthrough pseudo-keyword
  Revert "UPSTREAM: net, sctp, filter: remap copy_from_user failure error"
  UPSTREAM: bpf: Check flow_dissector ctx accesses are aligned
  UPSTREAM: ipv6: Add fib6_nh_init and release to stubs
  UPSTREAM: ipv6: Create cleanup helper for fib6_nh
  UPSTREAM: ipv6: Create init helper for fib6_nh
  UPSTREAM: net/ipv6: Do not reset nl_net in ip6_route_info_create
  UPSTREAM: ipv6: Change addrconf_f6i_alloc to use ip6_route_info_create
  UPSTREAM: net: Add extack argument to ip_fib_metrics_init
  UPSTREAM: net: common metrics init helper for FIB entries
  UPSTREAM: ipv6: Move setting default metric for routes
  UPSTREAM: net: rtmsg_to_fib6_config() - use new style struct initializer instead of memset
  UPSTREAM: net: remove VLAN_TAG_PRESENT
  UPSTREAM: net/bpf_jit: SPARC: split VLAN_PRESENT bit handling from VLAN_TCI
  UPSTREAM: net/bpf_jit: PPC: split VLAN_PRESENT bit handling from VLAN_TCI
  UPSTREAM: net/bpf_jit: MIPS: split VLAN_PRESENT bit handling from VLAN_TCI
  UPSTREAM: net/vlan: introduce __vlan_hwaccel_copy_tag() helper
  UPSTREAM: net/vlan: introduce __vlan_hwaccel_clear_tag() helper
  UPSTREAM: net/bpf: split VLAN_PRESENT bit handling from VLAN_TCI
  UPSTREAM: net/skbuff: add macros for VLAN_PRESENT bit
  UPSTREAM: bpf: Explicitly check accesses to bpf_sock_addr
  ipv6: Correct file formatting
  UPSTREAM: lwt: Fix return values of BPF xmit ops
  UPSTREAM: bpf, lwt: Fix crash when using bpf_skb_set_tunnel_key() from bpf_xmit lwt hook
  UPSTREAM: lwt_bpf: Replace preempt_disable() with migrate_disable()
  UPSTREAM: bpf: lwtunnel: Fix reroute supplying invalid dst
  UPSTREAM: net: fix GSO in bpf_lwt_push_ip_encap
  UPSTREAM: net: fix double-free in bpf_lwt_xmit_reroute
  UPSTREAM: bpf: fix memory leak in bpf_lwt_xmit_reroute
  UPSTREAM: bpf: add handling of BPF_LWT_REROUTE to lwt_bpf.c
  UPSTREAM: bpf: handle GSO in bpf_lwt_push_encap
  ANDROID: add kabi padding for bpf_verifier structure
  UPSTREAM: bpfilter: Specify the log level for the kmsg message
  UPSTREAM: net/bpfilter: Initialize pos in __bpfilter_process_sockopt
  UPSTREAM: bpfilter: switch bpfilter_ip_set_sockopt to sockptr_t
  UPSTREAM: bpfilter: reject kernel addresses
  UPSTREAM: net/bpfilter: split __bpfilter_process_sockopt
  UPSTREAM: bpfilter: fix up a sparse annotation
  UPSTREAM: bpfilter: Allow to build bpfilter_umh as a module without static library
  UPSTREAM: bpfilter: Initialize pos variable
  UPSTREAM: bpfilter: switch to kernel_write
  UPSTREAM: bpfilter: Take advantage of the facilities of struct pid
  UPSTREAM: bpfilter: Move bpfilter_umh back into init data
  UPSTREAM: bpfilter: document build requirements for bpfilter_umh
  UPSTREAM: bpfilter: use 'userprogs' syntax to build bpfilter_umh
  UPSTREAM: bpfilter: check if $(CC) can link static libc in Kconfig
  BACKPORT: bpfilter: match bit size of bpfilter_umh to that of the kernel
  UPSTREAM: net/bpfilter: remove superfluous testing message
  arm64: configs: vendor: Disable CONFIG_BPF_PRELOAD
  UPSTREAM: exit: Factor thread_group_exited out of pidfd_poll
  UPSTREAM: net/bpfilter: fix dprintf usage for /dev/kmsg
  UPSTREAM: net: bpfilter: print umh messages to /dev/kmsg
  UPSTREAM: init/Kconfig: add CONFIG_CC_CAN_LINK
  BACKPORT: treewide: prefix header search paths with $(srctree)/
  UPSTREAM: bpfilter: re-add header search paths to tools include to fix build error
  UPSTREAM: bpfilter: remove extra header search paths for bpfilter_umh
  UPSTREAM: net: bpfilter: change section name of bpfilter UMH blob.
  ANDROID: add kabi padding for bpf structures
  UPSTREAM: bpf: Fix WARN() in get_bpf_raw_tp_regs
  UPSTREAM: bpf: Fix passing zero to PTR_ERR() in bpf_btf_printf_prepare
  UPSTREAM: bpf: Fix a possible task gone issue with bpf_send_signal[_thread]() helpers
  UPSTREAM: bpf: Disable preemption in bpf_event_output
  UPSTREAM: bpf: Support 'X' in bpf_seq_printf() helper
  UPSTREAM: bpf: Allow %pB in bpf_seq_printf() and bpf_trace_printk()
  BACKPORT: bpf: Remove inline from bpf_do_trace_printk
  UPSTREAM: lib/strncpy_from_user.c: Mask out bytes after NUL terminator.
  fixup! bpf, lockdown, audit: Fix buggy SELinux lockdown permission checks
  BACKPORT: bpf: Add lockdown check for probe_write_user helper
  UPSTREAM: bpf: Unbreak BPF_PROG_TYPE_KPROBE when kprobe is called via do_int3
  UPSTREAM: bpf/trace: Remove redundant preempt_disable from trace_call_bpf()
  UPSTREAM: bpf: Add extra path pointer check to d_path helper
  UPSTREAM: bpf: Remove config check to enable bpf support for branch records
  UPSTREAM: bpf: Fix bpf_prog_test_run_tracing for !CONFIG_NET
  UPSTREAM: bpf: Fix build failure for kernel/trace/bpf_trace.c with CONFIG_NET=n
  UPSTREAM: bpf: fix compiler warning with CONFIG_MODULES=n
  BACKPORT: net: sk_msg: Simplify sk_psock initialization
  UPSTREAM: bpf: sockmap: Add UDP support
  UPSTREAM: bpf: sockmap: Simplify sock_map_init_proto
  fixup! bpf: sockmap: Move generic sockmap hooks from BPF TCP
  BACKPORT: bpf: skmsg, fix psock create on existing kcm/tls port
  UPSTREAM: bpf, tcp: Make tcp_bpf_recvmsg static
  UPSTREAM: bpf: tcp_bpf_recvmsg should return EAGAIN when nonblocking and no data
  UPSTREAM: bpf/sockmap: Read psock ingress_msg before sk_receive_queue
  UPSTREAM: bpf, tcp: correctly handle DONT_WAIT flags and timeo == 0
  UPSTREAM: bpf: Clean up sockmap related Kconfigs
  UPSTREAM: bpf, tcp: Fix unused function warnings
  UPSTREAM: bpf: sk_msg, fix socket data_ready events
  UPSTREAM: bpf: skmsg, fix potential psock NULL pointer dereference
  UPSTREAM: bpf, sockmap: RCU splat with redirect and strparser error or TLS
  UPSTREAM: bpf: sockmap, only stop/flush strp if it was enabled at some point
  UPSTREAM: bpf: Stop the psock parser before canceling its work
  UPSTREAM: sk_msg: Always cancel strp work before freeing the psock
  BACKPORT: treewide: replace '---help---' in Kconfig files with 'help'
  BACKPORT: net: Fix Kconfig indentation, continued
  UPSTREAM: bpf: Add sockmap hooks for UDP sockets
  UPSTREAM: bpf, sockmap: Allow skipping sk_skb parser program
  drivers: nfc: nq-nci: Retry I2C writes on failures
  CIP: Bump version suffix to -cip128 after merge from cip/linux-4.19.y-st tree
  Update localversion-st, tree is up-to-date with 5.10.248.
  NFSv4: ensure the open stateid seqid doesn't go backwards
  libceph: make calc_target() set t->paused, not just clear it
  crypto: af_alg - zero initialize memory allocated via sock_kmalloc
  jbd2: fix the inconsistency between checksum and data in memory for journal sb
  f2fs: fix to detect recoverable inode during dryrun of find_fsync_dnodes()
  NFS: add barriers when testing for NFS_FSDATA_BLOCKED
  NFS: unlink/rmdir shouldn't call d_delete() twice on ENOENT
  efi/cper: Fix cper_bits_to_str buffer handling and return value
  iommu/omap: fix device leaks on probe_device()
  crypto: seqiv - Do not use req->iv after crypto_aead_encrypt
  f2fs: fix return value of f2fs_recover_fsync_data()
  ext4: improve integrity checking in __mb_check_buddy by enhancing order-0 validation
  ext4: remove unused return value of __mb_check_buddy
  clk: renesas: r9a06g032: Fix memory leak in error path
  nbd: defer config put in recv_work
  jbd2: avoid bug_on in jbd2_journal_get_create_access() when file system corrupted
  scsi: sg: Fix occasional bogus elapsed time that exceeds timeout
  powercap: fix sscanf() error return value handling
  powercap: fix race condition in register_control_type()
  arp: do not assume dev_hard_header() does not change skb->head
  net: usb: pegasus: fix memory leak in update_eth_regs_async()
  HID: quirks: work around VID/PID conflict for appledisplay
  netdev: preserve NETIF_F_ALL_FOR_ALL across TSO updates
  net: sock: fix hardened usercopy panic in sock_recv_errqueue
  inet: ping: Fix icmp out counting
  netfilter: nf_conncount: update last_gc only when GC has been performed
  ARM: dts: imx6q-ba16: fix RTC interrupt level
  scsi: ipr: Enable/disable IRQD_NO_BALANCING during reset
  alpha: don't reference obsolete termio struct for TC* constants
  ARM: 9461/1: Disable HIGHPTE on PREEMPT_RT kernels
  ext4: fix out-of-bound read in ext4_xattr_inode_dec_ref_all()
  ext4: introduce ITAIL helper
  libceph: make free_choose_arg_map() resilient to partial allocation
  libceph: replace overzealous BUG_ON in osdmap_apply_incremental()
  wifi: avoid kernel-infoleak from struct iw_point
  drm/pl111: Fix error handling in pl111_amba_probe
  net: 3com: 3c59x: fix possible null dereference in vortex_probe1()
  atm: Fix dma_free_coherent() size
  Revert "iommu/amd: Skip enabling command/event buffers for kdump"
  pwm: stm32: Always program polarity
  bus: fsl-mc-bus: fix KASAN use-after-free in fsl_mc_bus_remove()
  scsi: iscsi_tcp: Fix UAF during logout when accessing the shost ipaddress
  scsi: iscsi: Move pool freeing
  wifi: mac80211: Discard Beacon frames to non-broadcast address
  media: samsung: exynos4-is: fix potential ABBA deadlock on init
  media: vpif_capture: fix section mismatch
  media: renesas: rcar_drif: fix device node reference leak in rcar_drif_bond_enabled
  SUNRPC: svcauth_gss: avoid NULL deref on zero length gss_token in gss_read_proxy_verf
  NFSD: Clear SECLABEL in the suppattr_exclcreat bitmap
  usb: ohci-nxp: fix device leak on probe failure
  usb: ohci-nxp: Use helper function devm_clk_get_enabled()
  f2fs: fix to avoid updating zero-sized extent in extent cache
  ext4: fix string copying in parse_apply_sb_mount_options()
  ALSA: wavefront: Fix integer overflow in sample size validation
  ALSA: wavefront: Clear substream pointers on close
  usb: gadget: udc: fix use-after-free in usb_gadget_state_work
  HID: core: Harden s32ton() against conversion to 0 bits
  ipv4: Fix uninit-value access in __ip_make_skb()
  ipv6: Fix potential uninit-value access in __ip6_make_skb()
  virtio_console: fix order of fields cols and rows
  drm/nouveau/dispnv50: Don't call drm_atomic_get_crtc_state() in prepare_fb
  net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write
  net: usb: sr9700: fix incorrect command used to write single register
  fjes: Add missing iounmap in fjes_hw_init()
  e1000: fix OOB in e1000_tbi_should_accept()
  RDMA/core: Check for the presence of LS_NLA_TYPE_DGID correctly
  media: i2c: adv7842: Remove redundant cancel_delayed_work in probe
  media: i2c: ADV7604: Remove redundant cancel_delayed_work in probe
  media: TDA1997x: Remove redundant cancel_delayed_work in probe
  media: msp3400: Avoid possible out-of-bounds array accesses in msp3400c_thread()
  media: cec: Fix debugfs leak on bus_register() failure
  fbdev: tcx.c fix mem_map to correct smem_start offset
  fbdev: pxafb: Fix multiple clamped values in pxafb_adjust_timing
  fbdev: gbefb: fix to use physical address instead of dma address
  media: adv7842: Avoid possible out-of-bounds array accesses in adv7842_cp_log_status()
  parisc: entry: set W bit for !compat tasks in syscall_restore_rfi()
  parisc: entry.S: fix space adjustment on interruption for 64-bit userspace
  media: rc: st_rc: Fix reset control resource leak
  PCI/PM: Reinstate clearing state_saved in legacy and !PM codepaths
  iommu/exynos: fix device leak on of_xlate()
  ASoC: qcom: qdsp6: q6asm-dai: set 10 ms period and buffer alignment.
  ASoC: qcom: q6adm: the the copp device only during last instance
  ASoC: qcom: q6asm-dai: perform correct state check before closing
  selftests/ftrace: traceonoff_triggers: strip off names
  RDMA/bnxt_re: fix dma_free_coherent() pointer
  net: rose: fix invalid array index in rose_kill_by_device()
  ipv4: Fix reference count leak when using error routes with nexthop objects
  ipv6: BUG() in pskb_expand_head() as part of calipso_skbuff_setattr()
  net: bridge: Describe @tunnel_hash member in net_bridge_vlan_group struct
  net: dsa: b53: skip multicast entries for fdb_dump()
  firewire: nosy: Fix dma_free_coherent() size
  firewire: nosy: switch from 'pci_' to 'dma_' API
  genalloc.h: fix htmldocs warning
  net: usb: rtl8150: fix memory leak on usb_submit_urb() failure
  team: fix check for port enabled in team_queue_override_port_prio_changed()
  platform/x86: ibm_rtl: fix EBDA signature search pointer arithmetic
  platform/x86: msi-laptop: add missing sysfs_remove_group()
  ip6_gre: make ip6gre_header() robust
  i40e: fix scheduling in set_rx_mode
  hwmon: (w83l786ng) Convert macros to functions to avoid TOCTOU
  hwmon: (w83791d) Convert macros to functions to avoid TOCTOU
  rpmsg: glink: fix rpmsg device leak
  amba: tegra-ahb: Fix device leak on SMMU enable
  nfsd: Mark variable __maybe_unused to avoid W=1 build break
  PM: runtime: Do not clear needs_force_resume with enabled runtime PM
  tracing: Do not register unsupported perf events
  KVM: x86: Fix VM hard lockup after prolonged inactivity with periodic HV timer
  KVM: x86: Explicitly set new periodic hrtimer expiration in apic_timer_fn()
  KVM: x86: WARN if hrtimer callback for periodic APIC timer fires with period=0
  libceph: make decode_pool() more resilient against corrupted osdmaps
  parisc: Do not reprogram affinitiy on ASP chip
  ocfs2: fix kernel BUG in ocfs2_find_victim_chain
  tools/testing/nvdimm: Use per-DIMM device handle
  f2fs: invalidate dentry cache on failed whiteout creation
  scsi: target: Reset t_task_cdb pointer in error case
  NFSD: use correct reservation type in nfsd4_scsi_fence_client
  scsi: aic94xx: fix use-after-free in device removal path
  cpufreq: nforce2: fix reference count leak in nforce2
  char: applicom: fix NULL pointer dereference in ac_ioctl
  usb: renesas_usbhs: Fix a resource leak in usbhs_pipe_malloc()
  media: pvrusb2: Fix incorrect variable used in trace message
  media: dvb-usb: dtv5100: fix out-of-bounds in dtv5100_i2c_msg()
  usb: usb-storage: Maintain minimal modifications to the bcdDevice range.
  media: v4l2-mem2mem: Fix outdated documentation
  jbd2: use a weaker annotation in journal handling
  ext4: fix incorrect group number assertion in mb_check_buddy
  ext4: xattr: fix null pointer deref in ext4_raw_inode()
  ktest.pl: Fix uninitialized var in config-bisect.pl
  floppy: fix for PAGE_SIZE != 4KB
  usb: usb-storage: No additional quirks need to be added to the EL-R12 optical drive.
  usb: xhci: limit run_graceperiod for only usb 3.0 devices
  usb: typec: ucsi: Handle incorrect num_connectors capability
  via_wdt: fix critical boot hang due to unnamed resource allocation
  scsi: qla2xxx: Use reinit_completion on mbx_intr_comp
  powerpc/addnote: Fix overflow on 32-bit builds
  clk: mvebu: cp110 add CLK_IGNORE_UNUSED to pcie_x10, pcie_x11 & pcie_x4
  ipmi: Fix __scan_channels() failing to rescan channels
  ipmi: Fix the race between __scan_channels() and deliver_response()
  ALSA: usb-mixer: us16x08: validate meter packet indices
  ALSA: pcmcia: Fix resource leak in snd_pdacf_probe error path
  ALSA: vxpocket: Fix resource leak in vxpocket_probe error path
  spi: fsl-cpm: Check length parity before switching to 16 bit mode
  Input: ti_am335x_tsc - fix off-by-one error in wire_order validation
  MIPS: Fix a reference leak bug in ip22_check_gio()
  hwmon: (ibmpex) fix use-after-free in high/low store
  net/mlx5: fw_tracer, Handle escaped percent properly
  net/mlx5: fw_tracer, Validate format string parameters
  net/mlx5: fw_tracer, Add support for unrecognized string
  nfc: pn533: Fix error code in pn533_acr122_poweron_rdr()
  caif: fix integer underflow in cffrml_receive()
  ipvs: fix ipv4 null-ptr-deref in route error path
  netfilter: nf_conncount: fix leaked ct in error paths
  broadcom: b44: prevent uninitialized value usage
  net: openvswitch: fix middle attribute validation in push_nsh() action
  mlxsw: spectrum_router: Fix neighbour use-after-free
  ipvlan: Ignore PACKET_LOOPBACK in handle_mode_l2()
  netrom: Fix memory leak in nr_sendmsg()
  btrfs: scrub: always update btrfs_scrub_progress::last_physical
  hfsplus: fix volume corruption issue for generic/073
  hfsplus: Verify inode mode when loading from disk
  hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create
  hfsplus: fix volume corruption issue for generic/070
  cpufreq: s5pv210: fix refcount leak
  ACPI: property: Use ACPI functions in acpi_graph_get_next_endpoint() only
  ACPICA: Avoid walking the Namespace if start_node is NULL
  netfilter: nft_connlimit: memleak if nf_ct_netns_get() fails
  netfilter: nf_conncount: garbage collection is not skipped when jiffies wrap around
  NFS: Fix missing unlock in nfs_unlink()
  ALSA: dice: fix buffer overflow in detect_stream_formats()
  usb: phy: Initialize struct usb_phy list_head
  ocfs2: fix memory leak in ocfs2_merge_rec_left()
  efi/cper: Adjust infopfx size to accept an extra space
  efi/cper: Add a new helper function to print bitmasks
  dm log-writes: Add missing set_freezable() for freezable kthread
  dm-raid: fix possible NULL dereference with undefined raid type
  ARM: 9464/1: fix input-only operand modification in load_unaligned_zeropad()
  ALSA: uapi: Fix typo in asound.h comment
  fs/nls: Fix inconsistency between utf8_to_utf32() and utf32_to_utf8()
  NFSv4/pNFS: Clear NFS_INO_LAYOUTCOMMIT in pnfs_mark_layout_stateid_invalid
  fs/nls: Fix utf16 to utf8 conversion
  NFS: don't unhash dentry during unlink/rename
  NFS: Label the dentry with a verifier in nfs_rmdir() and nfs_unlink()
  fbdev: ssd1307fb: fix potential page leak in ssd1307fb_probe()
  pinctrl: single: Fix incorrect type for error return variable
  pinctrl: single: Fix PIN_CONFIG_BIAS_DISABLE handling
  perf tools: Fix split kallsyms DSO counting
  net/sched: sch_cake: Fix incorrect qlen reduction in cake_drop
  mtd: lpddr_cmds: fix signed shifts in lpddr_cmds
  netfilter: nft_connlimit: update the count if add was skipped
  netfilter: nf_conncount: rework API to use sk_buff directly
  netfilter: nf_conncount: reduce unnecessary GC
  netfilter: nft_connlimit: move stateful fields out of expression data
  regulator: core: Protect regulator_supply_alias_list with regulator_list_mutex
  virtio: fix virtqueue_set_affinity() docs
  ACPI: processor_core: fix map_x2apic_id for amd-pstate on am4
  backlight: lp855x: Fix lp855x.h kernel-doc warnings
  staging: fbtft: core: fix potential memory leak in fbtft_probe_common()
  usb: dwc2: fix hang during shutdown if set as peripheral
  usb: dwc2: disable platform lowlevel hw resources during shutdown
  usb: chaoskey: fix locking for O_NONBLOCK
  wifi: rtl818x: rtl8187: Fix potential buffer underflow in rtl8187_rx_cb()
  powerpc/64s/ptdump: Fix kernel_hash_pagetable dump for ISA v3.00 HPTE format
  NFSD/blocklayout: Fix minlength check in proc_layoutget
  scsi: sim710: Fix resource leak by adding missing ioport_unmap() calls
  ACPI: property: Fix fwnode refcount leak in acpi_fwnode_graph_parse_endpoint()
  ocfs2: relax BUG() to ocfs2_error() in __ocfs2_move_extent()
  nbd: defer config unlock in nbd_genl_connect
  wifi: cw1200: Fix potential memory leak in cw1200_bh_rx_helper()
  macintosh/mac_hid: fix race condition in mac_hid_toggle_emumouse
  scsi: stex: Fix reboot_notifier leak in probe error path
  perf/x86/intel: Correct large PEBS flag check
  ext4: correct the checking of quota files before moving extents
  ext4: minor defrag code improvements
  mfd: da9055: Fix missing regmap_del_irq_chip() in error path
  scsi: target: Do not write NUL characters into ASCII configfs output
  power: supply: apm_power: only unset own apm_get_power_status
  power: supply: wm831x: Check wm831x_set_bits() return value
  kmsan: introduce __no_sanitize_memory and __no_kmsan_checks
  compiler-gcc.h: Define __SANITIZE_ADDRESS__ under hwaddress sanitizer
  s390/smp: Fix fallback CPU detection
  crypto: asymmetric_keys - prevent overflow in asymmetric_key_generate_id
  inet: Avoid ehash lookup race in inet_ehash_insert()
  rculist: Add hlist_nulls_replace_rcu() and hlist_nulls_replace_init_rcu()
  irqchip/qcom-irq-combiner: Fix section mismatch
  USB: Fix descriptor count when handling invalid MBIM extended descriptor
  drm/vgem-fence: Fix potential deadlock on release
  smack: fix bug: unprivileged task can create labels
  staging: rtl8723bs: fix stack buffer overflow in OnAssocReq IE parsing
  comedi: multiq3: sanitize config options in multiq3_attach()
  comedi: c6xdigio: Fix invalid PNP driver unregistration
  platform/x86: acer-wmi: Ignore backlight event
  bfs: Reconstruct file type when loading from disk
  spi: imx: keep dma request disabled before dma transfer setup
  spi: xilinx: increase number of retries before declaring stall
  USB: serial: kobil_sct: fix TIOCMBIS and TIOCMBIC
  USB: serial: belkin_sa: fix TIOCMBIS and TIOCMBIC
  serial: add support of CPCI cards
  USB: serial: ftdi_sio: match on interface number for jtag
  USB: serial: option: move Telit 0x10c7 composition in the right place
  USB: serial: option: add Telit Cinterion FE910C04 new compositions
  USB: serial: option: add Foxconn T99W760
  ext4: add i_data_sem protection in ext4_destroy_inline_data_nolock()
  locking/spinlock/debug: Fix data-race in do_raw_write_lock
  ext4: refresh inline data size before write operations
  xfrm: flush all states in xfrm_state_fini
  xfrm: also call xfrm_state_delete_tunnel at destroy time for states that were never added
  Revert "xfrm: destroy xfrm_state synchronously on net exit path"
  xfrm: delete x->tunnel as we delete x

Change-Id: I4088948b53da8eca6ea8fc1d909a16241e97c4d6
2026-02-06 18:26:42 +02:00
Michael Bestas d902fc153e Merge remote-tracking branch 'sm8250/lineage-20' into lineage-23.2
* sm8250/lineage-20: (66 commits)
  arm64: configs: vendor: Disable module signing support
  techpack: rmnet: Fix compilation errors
  netfilter: conntrack: Make nf_ct_protos store const l4proto pointers
  UPSTREAM: netfilter: Avoid assigning 'const' pointer to non-const pointer
  UPSTREAM: kbuild: Disable -Wdefault-const-init-unsafe
  UPSTREAM: READ_ONCE: Simplify implementations of {READ,WRITE}_ONCE()
  ANDROID: sign-file: Fix warning when OPENSSL_NO_ENGINE is set
  FROMLIST: sign-file: Use OpenSSL provided define to compile out deprecated APIs
  ANDROID: remove more stale variables from build.config files
  ANDROID: extract-cert: omit PKCS#11 support if building against BoringSSL
  BACKPORT: scripts/Makefile.clang: default to LLVM_IAS=1
  Documentation/llvm: Fix clang target examples
  Documentation: add minimum clang/llvm version
  Documentation/llvm: Improve formatting of commands, variables, and arguments
  BACKPORT: Makefile: infer --target from ARCH for CC=clang
  UPSTREAM: Makefile: Only specify '--prefix=' when building with clang + GNU as
  UPSTREAM: Makefile: Remove '--gcc-toolchain' flag
  UPSTREAM: kbuild: remove ld-version macro
  UPSTREAM: Makefile: Remove # characters from compiler string
  UPSTREAM: Makefile: reuse CC_VERSION_TEXT
  ...

Change-Id: Ia04c379f040fe9f44835c0ca17386d4f347a56df
2026-02-03 15:17:16 +02:00
Masahiro Yamada 6ed848b800 BACKPORT: treewide: prefix header search paths with $(srctree)/
Currently, the Kbuild core manipulates header search paths in a crazy
way [1].

To fix this mess, I want all Makefiles to add explicit $(srctree)/ to
the search paths in the srctree. Some Makefiles are already written in
that way, but not all. The goal of this work is to make the notation
consistent, and finally get rid of the gross hacks.

Having whitespaces after -I does not matter since commit 48f6e3cf5b
("kbuild: do not drop -I without parameter").

[1]: https://patchwork.kernel.org/patch/9632347/

Change-Id: Ib57d82a9dc53b272959f3e9e0e273aa208072ce9
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2026-02-02 18:01:34 -05:00
Nathan Chancellor 3ca576bb09 UPSTREAM: kbuild: Disable -Wdefault-const-init-unsafe
A new on by default warning in clang [1] aims to flags instances where
const variables without static or thread local storage or const members
in aggregate types are not initialized because it can lead to an
indeterminate value. This is quite noisy for the kernel due to
instances originating from header files such as:

  drivers/gpu/drm/i915/gt/intel_ring.h:62:2: error: default initialization of an object of type 'typeof (ring->size)' (aka 'const unsigned int') leaves the object uninitialized [-Werror,-Wdefault-const-init-var-unsafe]
     62 |         typecheck(typeof(ring->size), next);
        |         ^
  include/linux/typecheck.h:10:9: note: expanded from macro 'typecheck'
     10 | ({      type __dummy; \
        |              ^

  include/net/ip.h:478:14: error: default initialization of an object of type 'typeof (rt->dst.expires)' (aka 'const unsigned long') leaves the object uninitialized [-Werror,-Wdefault-const-init-var-unsafe]
    478 |                 if (mtu && time_before(jiffies, rt->dst.expires))
        |                            ^
  include/linux/jiffies.h:138:26: note: expanded from macro 'time_before'
    138 | #define time_before(a,b)        time_after(b,a)
        |                                 ^
  include/linux/jiffies.h:128:3: note: expanded from macro 'time_after'
    128 |         (typecheck(unsigned long, a) && \
        |          ^
  include/linux/typecheck.h:11:12: note: expanded from macro 'typecheck'
     11 |         typeof(x) __dummy2; \
        |                   ^

  include/linux/list.h:409:27: warning: default initialization of an object of type 'union (unnamed union at include/linux/list.h:409:27)' with const member leaves the object uninitialized [-Wdefault-const-init-field-unsafe]
    409 |         struct list_head *next = smp_load_acquire(&head->next);
        |                                  ^
  include/asm-generic/barrier.h:176:29: note: expanded from macro 'smp_load_acquire'
    176 | #define smp_load_acquire(p) __smp_load_acquire(p)
        |                             ^
  arch/arm64/include/asm/barrier.h:164:59: note: expanded from macro '__smp_load_acquire'
    164 |         union { __unqual_scalar_typeof(*p) __val; char __c[1]; } __u;   \
        |                                                                  ^
  include/linux/list.h:409:27: note: member '__val' declared 'const' here

  crypto/scatterwalk.c:66:22: error: default initialization of an object of type 'struct scatter_walk' with const member leaves the object uninitialized [-Werror,-Wdefault-const-init-field-unsafe]
     66 |         struct scatter_walk walk;
        |                             ^
  include/crypto/algapi.h:112:15: note: member 'addr' declared 'const' here
    112 |                 void *const addr;
        |                             ^

  fs/hugetlbfs/inode.c:733:24: error: default initialization of an object of type 'struct vm_area_struct' with const member leaves the object uninitialized [-Werror,-Wdefault-const-init-field-unsafe]
    733 |         struct vm_area_struct pseudo_vma;
        |                               ^
  include/linux/mm_types.h:803:20: note: member 'vm_flags' declared 'const' here
    803 |                 const vm_flags_t vm_flags;
        |                                  ^

Silencing the instances from typecheck.h is difficult because '= {}' is
not available in older but supported compilers and '= {0}' would cause
warnings about a literal 0 being treated as NULL. While it might be
possible to come up with a local hack to silence the warning for
clang-21+, it may not be worth it since -Wuninitialized will still
trigger if an uninitialized const variable is actually used.

In all audited cases of the "field" variant of the warning, the members
are either not used in the particular call path, modified through other
means such as memset() / memcpy() because the containing object is not
const, or are within a union with other non-const members.

Since this warning does not appear to have a high signal to noise ratio,
just disable it.

Cc: stable@vger.kernel.org
Link: https://github.com/llvm/llvm-project/commit/576161cb6069e2c7656a8ef530727a0f4aefff30 [1]
Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
Closes: https://lore.kernel.org/CA+G9fYuNjKcxFKS_MKPRuga32XbndkLGcY-PVuoSwzv6VWbY=w@mail.gmail.com/
Reported-by: Marcus Seyfarth <m.seyfarth@gmail.com>
Closes: https://github.com/ClangBuiltLinux/linux/issues/2088
Change-Id: Ibca67d259577cfa2d39c6237dbcff6c8ff6a176e
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2026-01-23 15:34:20 +00:00
Lee Jones 5c35bd2024 ANDROID: sign-file: Fix warning when OPENSSL_NO_ENGINE is set
Place drain_openssl_errors() function under the same build constraints
as the code that calls it.

  scripts/sign-file.c:96:13: warning: unused function 'drain_openssl_errors' [-Wunused-function]
  static void drain_openssl_errors(void)
            ^
  1 warning generated.

For some reason this wasn't picked-up on during automated testing.

Fixes: e9d39639a529 ("FROMLIST: sign-file: Use OpenSSL provided define to compile out deprecated APIs")
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Change-Id: I3b337a9deac4ee83cb780792ece8f5f701a01f5f
2026-01-22 17:05:23 +00:00
Lee Jones 4fd9fb74af FROMLIST: sign-file: Use OpenSSL provided define to compile out deprecated APIs
OpenSSL's ENGINE API is deprecated in OpenSSL v3.0.

Use OPENSSL_NO_ENGINE to disallow its use and fall back on the BIO API.

This is required for fully hermetic builds in android-kernel.

Link: https://lore.kernel.org/lkml/20211005161833.1522737-1-lee.jones@linaro.org/
Fixes: bce40b72a381b ("ANDROID: Disable hermetic toolchain for allmodconfig builds")
Co-developed-by: Adam Langley <agl@google.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Change-Id: I5ecac477c274ef040934710fd4a042c133942e34
2026-01-22 17:05:23 +00:00
Matthias Maennich 3368927d7b ANDROID: extract-cert: omit PKCS#11 support if building against BoringSSL
BoringSSL does not implement the ENGINE API. In Android we do not seem
to rely on the PKCS#11 -> DER extraction. Hence, make this conditional
on the SSL library used.

Bug: 135570712
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I84af6633dd470083497087c7dd1a2734480e2b0e
2026-01-22 17:05:22 +00:00
Masahiro Yamada c423b08cf4 UPSTREAM: kbuild: remove ld-version macro
There is no direct user of ld-version; you can use CONFIG_LD_VERSION
if needed.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Bug: 209655537
(cherry picked from commit 05f6bbf2d714309607d5533f0265a95d037610b4)
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Change-Id: If7f82474beea2822340ee8503de5087336766223
2026-01-22 17:05:22 +00:00
Masahiro Yamada 8e627352b9 UPSTREAM: kbuild: replace cc-name test with CONFIG_CC_IS_CLANG
Evaluating cc-name invokes the compiler every time even when you are
not compiling anything, like 'make help'. This is not efficient.

The compiler type has been already detected in the Kconfig stage.
Use CONFIG_CC_IS_CLANG, instead.

Change-Id: I769c526c32c41821526b8d7eec5a99df2f692c2d
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc)
Acked-by: Paul Burton <paul.burton@mips.com> (MIPS)
Acked-by: Joel Stanley <joel@jms.id.au>
2026-01-22 17:05:22 +00:00
Masahiro Yamada 09c4c3891f UPSTREAM: kbuild: remove cc-name variable
There is one more user of $(cc-name) in the top Makefile. It is supposed
to detect Clang before invoking Kconfig, so it should still be there
in the $(shell ...) form. All the other users of $(cc-name) have been
replaced with $(CONFIG_CC_IS_CLANG). Hence, scripts/Kbuild.include does
not need to define cc-name any more.

Change-Id: Ie9d2a1e142238f5821a6610581ca997a49004463
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2026-01-22 17:05:22 +00:00
Catalin Marinas 4cbf5fa3eb UPSTREAM: kbuild: Add support for 'as-instr' to be used in Kconfig files
commit 42d519e3d0c071161d0a1c36e95a3743b113c590 upstream.

Similar to 'cc-option' or 'ld-option', it is occasionally necessary to
check whether the assembler supports certain ISA extensions. In the
arm64 code we currently do this in Makefile with an additional define:

lseinstr := $(call as-instr,.arch_extension lse,-DCONFIG_AS_LSE=1)

Add the 'as-instr' option so that it can be used in Kconfig directly:

	def_bool $(as-instr,.arch_extension lse)

Acked-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Vladimir Murzin <vladimir.murzin@arm.com>
Tested-by: Vladimir Murzin <vladimir.murzin@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Bug: 141693040
Change-Id: I73e7c52a5449ead65729a1e8b2b09ef2d87976da
2026-01-22 17:05:20 +00:00
Masahiro Yamada 11c4686c74 UPSTREAM: kconfig: introduce m32-flag and m64-flag
[ Upstream commit 8cc4fd73501d9f1370c3eebb70cfe8cc9e24062b ]

When a compiler supports multiple architectures, some compiler features
can be dependent on the target architecture.

This is typical for Clang, which supports multiple LLVM backends.
Even for GCC, we need to take care of biarch compiler cases.

It is not a problem when we evaluate cc-option in Makefiles because
cc-option is tested against the flag in question + $(KBUILD_CFLAGS).

The cc-option in Kconfig, on the other hand, does not accumulate
tested flags. Due to this simplification, it could potentially test
cc-option against a different target.

At first, Kconfig always evaluated cc-option against the host
architecture.

Since commit e8de12fb7cde ("kbuild: Check for unknown options with
cc-option usage in Kconfig and clang"), in case of cross-compiling
with Clang, the target triple is correctly passed to Kconfig.

The case with biarch GCC (and native build with Clang) is still not
handled properly. We need to pass some flags to specify the target
machine bit.

Due to the design, all the macros in Kconfig are expanded in the
parse stage, where we do not know the target bit size yet.

For example, arch/x86/Kconfig allows a user to toggle CONFIG_64BIT.
If a compiler flag -foo depends on the machine bit, it must be tested
twice, one with -m32 and the other with -m64.

However, -m32/-m64 are not always recognized. So, this commits adds
m64-flag and m32-flag macros. They expand to -m32, -m64, respectively
if supported. Or, they expand to an empty string if unsupported.

The typical usage is like this:

  config FOO
          bool
          default $(cc-option,$(m64-flag) -foo) if 64BIT
          default $(cc-option,$(m32-flag) -foo)

This is clumsy, but there is no elegant way to handle this in the
current static macro expansion.

There was discussion for static functions vs dynamic functions.
The consensus was to go as far as possible with the static functions.
(https://lkml.org/lkml/2018/3/2/22)

Change-Id: Icabfcf0a63d5b2d8cd8948ddce0d8e2de8244131
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Tested-by: George Spelvin <lkml@sdf.org>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2026-01-22 17:05:20 +00:00
Thomas Gleixner 627a75c760 UPSTREAM: kbuild: Fail if gold linker is detected
The gold linker has known issues of failing the build both in random and in
predictible ways:

 - The x86/X32 VDSO build fails with:

   arch/x86/entry/vdso/vclock_gettime-x32.o:vclock_gettime.c:function do_hres:
   error: relocation overflow: reference to 'hvclock_page'

   That's a known issue for years and the usual workaround is to disable
   CONFIG_X86_32

 - A recent build failure is caused by turning a relocation into an
   absolute one for unknown reasons. See link below.

 - There are a couple of gold workarounds applied already, but reports
   about broken builds with ld.gold keep coming in on a regular base and in
   most cases the root cause is unclear.

In context of the most recent fail H.J. stated:

  "Since building a workable kernel for different kernel configurations
   isn't a requirement for gold, I don't recommend gold for kernel."

So instead of dealing with attempts to duct tape gold support without
understanding the root cause and without support from the gold folks, fail
the build when gold is detected.

Change-Id: I75ebbadd81dd85cb9d75248699438142d3b241db
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/CAMe9rOqMqkQ0LNpm25yE_Yt0FKp05WmHOrwc0aRDb53miFKM+w@mail.gmail.com
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2026-01-22 17:05:20 +00:00
Masahiro Yamada 2bdfe9f298 UPSTREAM: kbuild: terminate Kconfig when $(CC) or $(LD) is missing
If the compiler specified by $(CC) is not present, the Kconfig stage
sprinkles 'not found' messages, then succeeds.

  $ make CROSS_COMPILE=foo defconfig
  /bin/sh: 1: foogcc: not found
  /bin/sh: 1: foogcc: not found
  *** Default configuration is based on 'x86_64_defconfig'
  ./scripts/gcc-version.sh: 17: ./scripts/gcc-version.sh: foogcc: not found
  ./scripts/gcc-version.sh: 18: ./scripts/gcc-version.sh: foogcc: not found
  ./scripts/gcc-version.sh: 19: ./scripts/gcc-version.sh: foogcc: not found
  ./scripts/gcc-version.sh: 17: ./scripts/gcc-version.sh: foogcc: not found
  ./scripts/gcc-version.sh: 18: ./scripts/gcc-version.sh: foogcc: not found
  ./scripts/gcc-version.sh: 19: ./scripts/gcc-version.sh: foogcc: not found
  ./scripts/clang-version.sh: 11: ./scripts/clang-version.sh: foogcc: not found
  ./scripts/gcc-plugin.sh: 11: ./scripts/gcc-plugin.sh: foogcc: not found
  init/Kconfig:16:warning: 'GCC_VERSION': number is invalid
  #
  # configuration written to .config
  #

Terminate parsing files immediately if $(CC) or $(LD) is not found.
"make *config" will fail more nicely.

  $ make CROSS_COMPILE=foo defconfig
  *** Default configuration is based on 'x86_64_defconfig'
  scripts/Kconfig.include:34: compiler 'foogcc' not found
  make[1]: *** [scripts/kconfig/Makefile;82: defconfig] Error 1
  make: *** [Makefile;557: defconfig] Error 2

Change-Id: I532488163c94db52abf7f4aebc484dbdf3ec30aa
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2026-01-22 17:05:20 +00:00
Masahiro Yamada a50d8f4977 UPSTREAM: kbuild: clean up scripts/gcc-version.sh
Now that the Kconfig is the only user of this script, we can drop
unneeded code.

Remove the -p option, and stop prepending the output with zero,
so that Kconfig can directly use the output from this script.

Change-Id: Ie5e9d66afa3f6769419dc22842cd7422b1391611
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2026-01-22 17:05:20 +00:00
Masahiro Yamada a7e5fd3246 UPSTREAM: kbuild: remove redundant target cleaning on failure
Since commit 9c2af1c737 ("kbuild: add .DELETE_ON_ERROR special
target"), the target file is automatically deleted on failure.

The boilerplate code

  ... || { rm -f $@; false; }

is unneeded.

Change-Id: Idcb75cb97a338cf6bd538b0c7775622d149d5be7
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2026-01-22 17:05:20 +00:00