kernel-6.6/kernel.spec

1816 lines
65 KiB
RPMSpec
Raw Normal View History

# _get_email() in %%build contains bashisms for regexping
%define _buildshell /bin/bash
# brp-python-bytecompile uses /usr/bin/python,
# but it is a different python version in different ROSA
# releases; there is no good way to tell brp-python-bytecompile
# which iterpreter to use; so just disable it to avoid problems
%define _python_bytecompile_build 0
2020-06-19 23:42:50 +03:00
# Probably dwz bug, on i686 only file is not packaged:
# /usr/lib/debug/usr/bin/trace-5.4.40-3.i386.debug.#dwz#.b5xuKG
# dwz compresses only debuginfo from perf, cpupower, uml,
# not the kernel itself (because it is stripped not by RPM),
# so we do not loose much by disabling it.
%global _find_debuginfo_dwz_opts %{nil}
2020-06-19 23:42:50 +03:00
# Put everything into one non-standard debuginfo subpackage
# TODO: make multiple debuginfo packages coinstallable as installonlypkg,
# to achive this, there must be no conflicting files.
# Probably signing and compressing of kernel modules
# has to be moved to %%_spec_install_post.
%global _debuginfo_subpackages %{nil}
%global _debuginfo_template %{nil}
%undefine _debugsource_packages
2023-02-08 15:54:13 +03:00
# Avoid rediffing patches like AUFS when possible
%define _default_patch_fuzz 10
# Hack: flavour and major version are variable, make %%_build_pkgcheck_* always detect and use this config
%global _build_pkgcheck_set %(echo "%{_build_pkgcheck_set}" | sed -e 's,/%{name}.rpmlintrc,/kernel.rpmlintrc,')
%global _build_pkgcheck_srpm %(echo "%{_build_pkgcheck_srpm}" | sed -e 's,/%{name}.rpmlintrc,/kernel.rpmlintrc,')
%define kernelversion 6
%define patchlevel 1
[bot] upd: 6.1.29 -> 6.1.34 Changelog: 3c589_cs: Fix an error handling path in tc589_probe() ACPICA: ACPICA: check null return of ACPI_ALLOCATE_ZEROED in acpi_db_display_objects ACPICA: Avoid undefined behavior: applying zero offset to null pointer ACPI: EC: Fix oops when removing custom query handlers ACPI: processor: Check for null return of devm_kzalloc() in fch_misc_setup() ACPI: resource: Add IRQ override quirk for LG UltraPC 17U70P ACPI: video: Remove desktops without backlight DMI quirks af_key: Reject optional tunnel/BEET mode templates in outbound policies af_packet: do not use READ_ONCE() in packet_bind() af_packet: Fix data-races of pkt_sk(sk)->num. afs: Fix setting of mtime when creating a file/dir/symlink af_unix: Fix a data race of sk->sk_receive_queue->qlen. af_unix: Fix data races around sk->sk_shutdown. ALSA: cmipci: Fix kctl->id initialization ALSA: firewire-digi00x: prevent potential use after free ALSA: gus: Fix kctl->id initialization ALSA: hda: Add NVIDIA codec IDs a3 through a7 to patch table ALSA: hda/ca0132: add quirk for EVGA X299 DARK ALSA: hda: Fix kctl->id initialization ALSA: hda: Fix Oops by 9.1 surround channel names ALSA: hda: Fix unhandled register update during auto-suspend period ALSA: hda: Glenfly: add HD Audio PCI IDs and HDMI Codec Vendor IDs. ALSA: hda: LNL: add HD Audio PCI ID ALSA: hda/realtek: Add a quirk for HP EliteDesk 805 ALSA: hda/realtek: Add a quirk for HP Slim Desktop S01 ALSA: hda/realtek: Add Lenovo P3 Tower platform ALSA: hda/realtek: Add quirk for 2nd ASUS GU603 ALSA: hda/realtek: Add quirk for Clevo L140AU ALSA: hda/realtek: Add quirk for Clevo NS50AU ALSA: hda/realtek: Add quirk for HP EliteBook G10 laptops ALSA: hda/realtek: Add quirks for ASUS GU604V and GU603V ALSA: hda/realtek: Add quirks for Asus ROG 2024 laptops using CS35L41 ALSA: hda/realtek: Apply HP B&O top speaker profile to Pavilion 15 ALSA: hda/realtek: Enable headset onLenovo M70/M90 ALSA: hda/realtek: Fix mute and micmute LEDs for yet another HP laptop ALSA: ice1712,ice1724: fix the kcontrol->id initialization ALSA: oss: avoid missing-prototype warnings ALSA: usb-audio: Add a sample rate workaround for Line6 Pod Go ALSA: ymfpci: Fix kctl->id initialization amd-xgbe: fix the false linkup in xgbe_phy_status arm64: Also reset KASAN tag if page is not PG_mte_tagged arm64: dts: imx8mn-beacon: Fix SPI CS pinmux arm64: dts: imx8mn-var-som: fix PHY detection bug by adding deassert delay arm64: dts: imx8mq-librem5: Remove dis_u3_susphy_quirk from usb_dwc3_0 arm64: dts: imx8qm-mek: correct GPIOs for USDHC2 CD and WP signals arm64: dts: imx8-ss-dma: assign default clock rate for lpuarts arm64: dts: qcom: msm8996: Add missing DWC3 quirks arm64: dts: qcom: sc7180-lite: Fix SDRAM freq for misidentified sc7180-lite boards arm64: dts: qcom: sc8280xp: Flush RSC sleep & wake votes arm64: dts: qcom: sdm845-polaris: Drop inexistent properties arm64: efi: Use SMBIOS processor version to key off Ampere quirk arm64/mm: mark private VM_FAULT_X defines as vm_fault_t arm64: mte: Do not set PG_mte_tagged if tags were not initialized arm64: vdso: Pass (void *) to virt_to_page() ARM: 9295/1: unwind:fix unwind abort for uleb128 case ARM: 9296/1: HP Jornada 7XX: fix kernel-doc warnings ARM: at91: pm: fix imbalanced reference counter for ethernet devices ARM: dts: at91: sama7g5ek: fix debounce delay property for shdwc ARM: dts: imx6qdl-mba6: Add missing pvcie-supply regulator ARM: dts: stm32: add pin map for CAN controller on stm32f7 ASoC: amd: Add Dell G15 5525 to quirks list ASoC: amd: yc: Add DMI entries to support HP OMEN 16-n0xxx (8A42) ASoC: amd: yc: Add DMI entry to support System76 Pangolin 12 ASoC: amd: yc: Add ThinkBook 14 G5+ ARP to quirks list for acp6x ASoC: codecs: wsa881x: do not set can_multi_write flag ASoC: codecs: wsa883x: do not set can_multi_write flag ASoC: dt-bindings: Adjust #sound-dai-cells on TI's single-DAI codecs ASoC: dwc: limit the number of overrun messages ASoC: fsl_micfil: Fix error handler with pm_runtime_enable ASoC: Intel: avs: Access path components under lock ASoC: Intel: avs: Fix declaration of enum avs_channel_config ASoC: Intel: Skylake: Fix declaration of enum skl_ch_cfg ASoC: Intel: soc-acpi-cht: Add quirk for Nextbook Ares 8A tablet ASoC: lpass: Fix for KASAN use_after_free out of bounds ASoC: mediatek: mt8186: Fix use-after-free in driver remove path ASoC: mediatek: mt8195-afe-pcm: Convert to platform remove callback returning void ASoC: mediatek: mt8195: fix use-after-free in driver remove path ASoC: rt5682: Disable jack detection interrupt during suspend ASoC: simple-card-utils: fix PCM constraint error check ASoC: SOF: debug: conditionally bump runtime_pm counter on exceptions ASoC: SOF: pcm: fix pm_runtime imbalance in error handling ASoC: SOF: pm: save io region state in case of errors in resume ASoC: SOF: sof-client-probes: fix pm_runtime imbalance in error handling ASoC: SOF: topology: Fix logic for copying tuples ASoC: ssm2602: Add workaround for playback distortions ata: libata-scsi: Use correct device no in ata_find_dev() atm: hide unused procfs functions batman-adv: Broken sync while rescheduling delayed work binder: add lockless binder_alloc_(set|get)_vma() binder: fix UAF caused by faulty buffer cleanup binder: fix UAF of alloc->vma in race with munmap() blk-mq: fix blk_mq_hw_ctx active request accounting blk-mq: fix race condition in active queue accounting block, bfq: Fix division by zero error on zero wsum block: Deny writable memory mapping if block is read-only block: fix bio-cache for passthru IO block: fix revalidate performance regression block/rnbd: replace REQ_OP_FLUSH with REQ_OP_WRITE bluetooth: Add cmd validity checks at the start of hci_sock_ioctl() Bluetooth: Add new quirk for broken local ext features page 2 Bluetooth: Add new quirk for broken set random RPA timeout for ATS2851 Bluetooth: btintel: Add LE States quirk support Bluetooth: btrtl: add support for the RTL8723CS Bluetooth: btrtl: Add the support for RTL8851B Bluetooth: btrtl: check for NULL in btrtl_set_quirks() Bluetooth: btusb: Add new PID/VID 04ca:3801 for MT7663 Bluetooth: fix debugfs registration Bluetooth: Fix l2cap_disconnect_req deadlock Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk Bluetooth: hci_bcm: Fall back to getting bdaddr from EFI if not set Bluetooth: hci_qca: fix debugfs registration Bluetooth: hci_sync: add lock to protect HCI_UNREGISTER Bluetooth: Improve support for Actions Semi ATS2851 based devices Bluetooth: ISO: don't try to remove CIG if there are bound CIS left Bluetooth: L2CAP: Add missing checks for invalid DCID Bluetooth: L2CAP: fix "bad unlock balance" in l2cap_disconnect_rsp bnxt: avoid overflow in bnxt_get_nvram_directory() bnxt_en: Don't issue AP reset during ethtool's reset operation bnxt_en: Implement .set_port / .unset_port UDP tunnel callbacks bnxt_en: Prevent kernel panic when receiving unexpected PHC_UPDATE event bnxt_en: Query default VLAN before VNIC setup on a VF bnxt_en: Skip firmware fatal error recovery if chip is not accessible bonding: fix send_peer_notif overflow bpf: Add extra path pointer check to d_path helper bpf: Add preempt_count_{sub,add} into btf id deny list bpf: Annotate data races in bpf_local_storage bpf: fix a memory leak in the LRU and LRU_PERCPU hash maps bpf: Fix elem_size not being set for inner maps bpf: Fix mask generation for 32-bit narrow loads of 64-bit fields bpf: Fix UAF in task local storage bpf, sockmap: Avoid potential NULL dereference in sk_psock_verdict_data_ready() bpf, sockmap: Convert schedule_work into delayed_work bpf, sockmap: Handle fin correctly bpf, sockmap: Improved check for empty queue bpf, sockmap: Incorrectly handling copied_seq bpf, sockmap: Pass skb ownership through read_skb bpf, sockmap: Reschedule is now done through backlog bpf, sockmap: TCP data stall on recv before accept bpf, sockmap: Wake up polling after data copy bridge: always declare tunnel functions btrfs: abort transaction when sibling keys check fails for leaves btrfs: fix csum_tree_block page iteration to avoid tripping on -Werror=array-bounds btrfs: use nofs when cleaning up aborted transactions can: dev: fix missing CAN XL support in can_put_echo_skb() can: isotp: recvmsg(): allow MSG_CMSG_COMPAT flag can: j1939: avoid possible use-after-free when j1939_can_rx_register fails can: j1939: change j1939_netdev_lock type to mutex can: j1939: j1939_sk_send_loop_abort(): improved error queue handling in J1939 Socket can: j1939: recvmsg(): allow MSG_CMSG_COMPAT flag can: kvaser_pciefd: Call request_irq() before enabling interrupts can: kvaser_pciefd: Clear listen-only bit if not explicitly requested can: kvaser_pciefd: Disable interrupts in probe error path can: kvaser_pciefd: Do not send EFLUSH command on TFD interrupt can: kvaser_pciefd: Empty SRB buffer in probe can: kvaser_pciefd: Set CAN_STATE_STOPPED in kvaser_pciefd_stop() cassini: Fix a memory leak in the error handling path of cas_init_one() ceph: fix use-after-free bug for inodes when flushing capsnaps ceph: force updating the msg pointer in non-split case ceph: silence smatch warning in reconnect_caps_cb() cifs: mapchars mount option ignored coresight: Fix signedness bug in tmc_etr_buf_insert_barrier_packet() cpufreq: amd-pstate: Add ->fast_switch() callback cpufreq: amd-pstate: Update policy->cur in amd_pstate_adjust_perf() cpupower: Make TSC read per CPU for Mperf monitor crypto: jitter - permanent and intermittent health errors crypto: testmgr - fix RNG performance in fuzz tests cxl: Wait Memory_Info_Valid before access memory related info debugobjects: Don't wake up kswapd from fill_pool() dmaengine: at_xdmac: fix potential Oops in at_xdmac_prep_interleaved() dmaengine: pl330: rename _start to prevent build error drivers: base: cacheinfo: Fix shared_cpu_map changes in event of CPU hotplug drm/amd/amdgpu: introduce gc_*_mes_2.bin v2 drm/amd/amdgpu: limit one queue per gang drm/amd/amdgpu: update mes11 api def drm/amd/display: Correct DML calculation to align HW formula drm/amd/display: Correct DML calculation to follow HW SPEC drm/amd/display: Enable HostVM based on rIOMMU active drm/amd/display: fixed dcn30+ underflow issue drm/amd/display: Have Payload Properly Created After Resume drm/amd/display: hpd rx irq not working with eDP interface drm/amd/display: populate subvp cmd info only for the top pipe drm/amd/display: Reduce sdp bw after urgent to 90% drm/amd/display: Use DC_LOG_DC in the trasform pixel function drm/amd: Don't allow s0ix on APUs older than Raven drm/amd: Fix an out of bounds error in BIOS parser drm/amdgpu: change reserved vram info print drm/amdgpu: declare firmware for new MES 11.0.4 drm/amdgpu: drop gfx_v11_0_cp_ecc_error_irq_funcs drm/amdgpu: enable tmz by default for GC 11.0.1 drm/amdgpu: fix Null pointer dereference error in amdgpu_device_recover_vram drm/amdgpu: Fix sdma v4 sw fini error drm/amdgpu: fix xclk freq on CHIP_STONEY drm/amdgpu/gfx10: Disable gfxoff before disabling powergating. drm/amdgpu/gfx11: Adjust gfxoff before powergating on gfx11 as well drm/amdgpu/gfx11: update gpu_clock_counter logic drm/amdgpu/gmc11: implement get_vbios_fb_size() drm/amdgpu/mes11: enable reg active poll drm/amdgpu: refine get gpu clock counter method drm/amdgpu: release gpu full access after "amdgpu_device_ip_late_init" drm/amdgpu: reserve the old gc_11_0_*_mes.bin drm/amdgpu: set gfx9 onwards APU atomics support to be true drm/amdgpu: skip disabling fence driver src_irqs when device is unplugged drm/amdgpu: Use the default reset when loading or reloading the driver drm/amd/pm: add missing NotifyPowerSource message mapping for SMU13.0.7 drm/amd/pm: conditionally disable pcie lane switching for some sienna_cichlid SKUs drm/amd/pm: Fix output of pp_od_clk_voltage drm/amd/pm: fix possible power mode mismatch between driver and PMFW drm/amd/pm: Fix power context allocation in SMU13 drm/amd/pm: resolve reboot exception for si oland drm/amd/pm: reverse mclk and fclk clocks levels for renoir drm/amd/pm: reverse mclk and fclk clocks levels for SMU v13.0.4 drm/amd/pm: reverse mclk and fclk clocks levels for vangogh drm/amd/pm: reverse mclk and fclk clocks levels for yellow carp drm/amd/pm: reverse mclk clocks levels for SMU v13.0.5 drm/ast: Fix ARM compatibility drm/displayid: add displayid_get_header() and check bounds better drm/exynos: fix g2d_open/close helper function definitions drm/fbdev-generic: prohibit potential out-of-bounds access drm: fix drmm_mutex_init() drm/i915/dp: prevent potential div-by-zero drm/i915: Expand force_probe to block probe of devices as well. drm/i915: Explain the magic numbers for AUX SYNC/precharge length drm/i915: Fix NULL ptr deref by checking new_crtc_state drm/i915/gt: Use the correct error value when kernel_context() fails drm/i915/guc: Don't capture Gen8 regs on Xe devices drm/i915/selftests: Add some missing error propagation drm/i915/selftests: Stop using kthread_stop() drm/i915: taint kernel when force probing unsupported devices drm/i915: Use 18 fast wake AUX sync len drm/mgag200: Fix gamma lut not initialized. drm/mipi-dsi: Set the fwnode for mipi_dsi_device drm/msm: Be more shouty if per-process pgtables aren't working drm/msm/dp: Clean up handling of DP AUX interrupts drm/msm/dpu: Assign missing writeback log_mask drm/msm/dpu: Move non-MDP_TOP INTF_INTR offsets out of hwio header drm/msm/dp: unregister audio driver during unbind drm/msm/dpu: Remove duplicate register defines from INTF drm/msm: Fix submit error-path leaks drm/radeon: reintroduce radeon_dp_work_func content drm/rockchip: dw_hdmi: cleanup drm encoder during unbind drm/tegra: Avoid potential 32-bit integer overflow dt-binding: cdns,usb3: Fix cdns,on-chip-buff-size type dt-bindings: ata: ahci-ceva: Cover all 4 iommus entries dt-bindings: display/msm: dsi-controller-main: Document qcom, master-dsi and qcom, sync-dual-dsi dt-bindings: iio: adc: renesas,rcar-gyroadc: Fix adi,ad7476 compatible value dt-bindings: usb: snps,dwc3: Fix "snps,hsphy_interface" type eeprom: at24: also select REGMAP erspan: get the proto with the md version for collect_md ext2: Check block size validity during mount ext4: add EA_INODE checking to ext4_iget() ext4: add lockdep annotations for i_data_sem for ea_inode's ext4: allow ext4_get_group_info() to fail ext4: allow to find by goal if EXT4_MB_HINT_GOAL_ONLY is set ext4: disallow ea_inodes with extended attributes ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled ext4: enable the lazy init thread when remounting read/write ext4: Fix best extent lstart adjustment logic in ext4_mb_new_inode_pa() ext4: only check dquot_initialize_needed() when debugging ext4: reflect error codes from ext4_multi_mount_protect() to its callers ext4: set goal start correctly in ext4_mb_normalize_request ext4: set lockdep subclass for the ea_inode in ext4_xattr_inode_cache_find() f2fs: Fix system crash due to lack of free space in LFS f2fs: fix to check readonly condition correctly f2fs: fix to drop all dirty pages during umount() if cp_error is set fbcon: Fix null-ptr-deref in soft_cursor fbdev: arcfb: Fix error handling in arcfb_probe() fbdev: imsttfb: Fix use after free bug in imsttfb_probe fbdev: modedb: Add 1920x1080 at 60 Hz video mode fbdev: stifb: Fix info entry in sti_struct on error path fbdev: udlfb: Fix endpoint check firmware: arm_ffa: Check if ffa_driver remove is present before executing firmware: arm_ffa: Fix FFA device names for logical partitions firmware: arm_ffa: Fix usage of partition info get count flag firmware: arm_ffa: Set handle field to zero in memory descriptor firmware: arm_ffa: Set reserved/MBZ fields to zero in the memory descriptors firmware: arm_sdei: Fix sleep from invalid context BUG forcedeth: Fix an error handling path in nv_probe() fs: fix undefined behavior in bit shift for SB_NOUSER fs: hfsplus: remove WARN_ON() from hfsplus_cat_{read,write}_inode() fs/ntfs3: Validate MFT flags before replaying logs gfs2: Don't deref jdesc in evict gfs2: Fix inode height consistency check gpio-f7188x: fix chip name and pin count on Nuvoton chip gpio: mockup: Fix mode of debugfs files gpio: sim: fix memory corruption when adding named lines and unnamed hogs gve: Remove the code of clearing PBA bit HID: apple: Set the tilde quirk flag on the Geyser 3 HID: apple: Set the tilde quirk flag on the Geyser 4 and later HID: google: add jewel USB id HID: Ignore battery for ELAN touchscreen on ROG Flow X13 GV301RA HID: logitech-hidpp: Don't use the USB serial for USB devices HID: logitech-hidpp: Reconcile USB and Unifying serials HID: wacom: avoid integer overflow in wacom_intuos_inout() HID: wacom: generic: Set battery quirk only when we see battery data hwmon: (k10temp) Add PCI ID for family 19, model 78h i2c: mv64xxx: Fix reading invalid status value in atomic mode i2c: sprd: Delete i2c adapter in .remove's error path ice: Fix ice VF reset during iavf initialization ice: introduce clear_reset_state operation igb: fix bit_shift to be in [1..8] range iio: accel: st_accel: Fix invalid mount_matrix on devices without ACPI _ONT method iio: adc: ad7192: Change "shorted" channels to differential iio: adc: ad_sigma_delta: Fix IRQ issue by setting IRQ_DISABLE_UNLAZY flag iio: adc: mxs-lradc: fix the order of two cleanup operations iio: adc: stm32-adc: skip adc-channels setup if none is present iio: adc: stm32-adc: skip adc-diff-channels setup if none is present iio: addac: ad74413: fix resistance input processing iio: dac: build ad5758 driver when AD5758 is selected iio: dac: mcp4725: Fix i2c_master_send() return value handling iio: imu: inv_icm42600: fix timestamp reset iio: light: vcnl4035: fixed chip ID check inet: Add IP_LOCAL_PORT_RANGE socket option Input: fix open count when closing inhibited device Input: psmouse - fix OOB access in Elantech protocol Input: xpad - delete a Razer DeathAdder mouse VID/PID entry iommu/amd: Don't block updates to GATag if guest mode is on iommu/amd: Fix domain flush size when syncing iotlb iommu/amd: Fix up merge conflict resolution iommu/amd: Handle GALog overflows iommu/amd/pgtbl_v2: Fix domain max address iommu/mediatek: Flush IOTLB completely only if domain has been attached iommu/rockchip: Fix unwind goto issue io_uring: undeprecate epoll_ctl support ipv{4,6}/raw: fix output xfrm lookup wrt protocol ipv6: Fix out-of-bounds access in ipv6_find_tlv() ipv6: rpl: Fix Route of Death. ipvlan:Fix out-of-bounds caused by unclear skb->cb ipvs: Update width of source for ip_vs_sync_conn_options irqchip/gicv3: Workaround for NVIDIA erratum T241-FABRIC-4 irqchip/mips-gic: Don't touch vl_map if a local interrupt is not routable irqchip/mips-gic: Use raw spinlock for gic_lock KEYS: asymmetric: Copy sig and digest in public_key_verify_signature() ksmbd: allocate one more byte for implied bcc[0] ksmbd: check the validation of pdu_size in ksmbd_conn_handler_loop ksmbd: fix credit count leakage ksmbd: fix global-out-of-bounds in smb2_find_context_vals ksmbd: fix incorrect AllocationSize set in smb2_get_info ksmbd: fix multiple out-of-bounds read during context decoding ksmbd: fix out-of-bound read in deassemble_neg_contexts() ksmbd: fix out-of-bound read in parse_lease_state() ksmbd: fix slab-out-of-bounds read in smb2_handle_negotiate ksmbd: fix UAF issue from opinfo->conn ksmbd: fix wrong UserName check in session_user ksmbd: smb2: Allow messages padded to 8byte boundary KVM: arm64: Populate fault info for watchpoint KVM: arm64: vgic: Fix a circular locking issue KVM: arm64: vgic: Fix locking comment KVM: arm64: vgic: Wrap vgic_its_create() with config_lock KVM: Fix vcpu_array[0] races KVM: x86: Account fastpath-only VM-Exits in vCPU stats lan966x: Fix unloading/loading of the driver lib: cpu_rmap: Avoid use after free on rmap->obj array entries lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release() linux/dim: Do nothing if no time delta between samples lkdtm/stackleak: Fix noinstr violation m68k: Move signal frame following exception on 68020/030 mailbox: mailbox-test: fix a locking issue in mbox_test_message_write() mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write() maple_tree: make maple state reusable after mas_empty_area() mcb-pci: Reallocate memory region to avoid memory overlapping md: fix soft lockup in status_resync md/raid5: fix miscalculation of 'end_sector' in raid5_read_one_chunk() media: cx23885: Fix a null-ptr-deref bug in buffer_prepare() and buffer_finish() media: dvb_ca_en50221: fix a size write bug media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*() media: dvb-core: Fix use-after-free due on race condition at dvb_net media: dvb-core: Fix use-after-free due to race at dvb_register_device() media: dvb-core: Fix use-after-free due to race condition at dvb_ca_en50221 media: dvb_demux: fix a bug for the continuity counter media: dvb-usb: az6027: fix three null-ptr-deref in az6027_i2c_xfer() media: dvb-usb: digitv: fix null-ptr-deref in digitv_i2c_xfer() media: dvb-usb: dw2102: fix uninit-value in su3000_read_mac_address media: dvb-usb-v2: ce6230: fix null-ptr-deref in ce6230_i2c_master_xfer() media: dvb-usb-v2: ec168: fix null-ptr-deref in ec168_i2c_xfer() media: dvb-usb-v2: rtl28xxu: fix null-ptr-deref in rtl28xxu_i2c_xfer media: mediatek: vcodec: Fix potential array out-of-bounds in decoder queue_setup media: mediatek: vcodec: Only apply 4K frame sizes on decoder formats media: mn88443x: fix !CONFIG_OF error by drop of_match_ptr from ID table media: netup_unidvb: fix irq init by register it at the end of probe media: netup_unidvb: fix use-after-free at del_timer() media: pci: tw68: Fix null-ptr-deref bug in buf prepare and finish media: Prefer designated initializers over memset for subdev pad ops media: pvrusb2: VIDEO_PVRUSB2 depends on DVB_CORE to use dvb_* symbols media: radio-shark: Add endpoint checks media: rcar-vin: Select correct interrupt mode for V4L2_FIELD_ALTERNATE media: ttusb-dec: fix memory leak in ttusb_dec_exit_dvb() media: uvcvideo: Don't expose unsupported formats to userspace memstick: r592: Fix UAF bug in r592_remove due to race condition mfd: dln2: Fix memory leak in dln2_probe() mfd: intel-lpss: Add Intel Meteor Lake PCH-S LPSS PCI IDs mfd: intel_soc_pmic_chtwc: Add Lenovo Yoga Book X90F to intel_cht_wc_models misc: fastrpc: reject new invocations during device removal misc: fastrpc: return -EPIPE to invocations on device removal mmc: block: ensure error propagation for non-blk mmc: pwrseq: sd8787: Fix WILC CHIP_EN and RESETN toggling order mmc: sdhci-esdhc-imx: make "no-mmc-hs400" works mmc: vub300: fix invalid response handling mm: fix zswap writeback race condition mm: page_table_check: Ensure user pages are not slab pages mm: page_table_check: Make it dependent on EXCLUSIVE_SYSTEM_RAM mptcp: add address into userspace pm list mptcp: add annotations around msk->subflow accesses mptcp: add annotations around sk->sk_shutdown accesses mptcp: avoid unneeded address copy mptcp: avoid unneeded __mptcp_nmpc_socket() usage mptcp: consolidate passive msk socket initialization mptcp: fix active subflow finalization mptcp: fix connect timeout handling mptcp: fix data race around msk->first access mptcp: only send RM_ADDR in nl_cmd_remove mptcp: simplify subflow_syn_recv_sock() mptcp: update userspace pm infos mtdchar: mark bits of ioctl handler noinline mtd: rawnand: ingenic: fix empty stub helper definitions mtd: rawnand: marvell: don't set the NAND frequency select mtd: rawnand: marvell: ensure timing values are written nbd: Fix debugfs_create_dir error checking nbd: fix incomplete validation of ioctl arg neighbour: fix unaligned access to pneigh_entry net: add vlan_get_protocol_and_depth() helper net: annotate sk->sk_err write from do_recvmmsg() net: bcmgenet: Fix EEE implementation net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop() net: bcmgenet: Restore phy_stop() depending upon suspend/close net: Catch invalid index in XPS mapping net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize net: datagram: fix data-races in datagram_poll() net: deal with most data-races in sk_wait_event() netdev: Enforce index cap in netdev_get_tx_queue net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods net: dsa: mv88e6xxx: Add RGMII delay to 88E6320 net: dsa: mv88e6xxx: Fix mv88e6393x EPC write command offset net: dsa: mv88e6xxx: Increase wait after reset deactivation net: dsa: rzn1-a5psw: disable learning for standalone ports net: dsa: rzn1-a5psw: enable management frames for CPU port net: dsa: rzn1-a5psw: fix STP states handling net: enetc: correct rx_bytes statistics of XDP net: enetc: correct the statistics of rx bytes net: fec: Better handle pm_runtime_get() failing in .remove() netfilter: conntrack: define variables exp_nat_nla_policy and any_addr with CONFIG_NF_NAT netfilter: conntrack: fix NULL pointer dereference in nf_confirm_cthelper netfilter: conntrack: fix possible bug_on with enable_hooks=1 netfilter: ctnetlink: Support offloaded conntrack entry deletion netfilter: ipset: Add schedule point in call_ad(). netfilter: nf_tables: always release netdev hooks from notifier netfilter: nf_tables: fix nft_trans type confusion netfilter: nf_tables: out-of-bound check in chain blob netfilter: nft_bitwise: fix register tracking netfilter: nft_set_rbtree: fix null deref on element insertion net: Fix load-tearing on sk->sk_stamp in sock_recv_cmsgs(). net: fix skb leak in __skb_tstamp_tx() net: fix stack overflow when LRO is disabled for virtual interfaces net: hns3: fix output information incomplete for dumping tx queue info with debugfs net: hns3: fix reset delay time to avoid configuration timeout net: hns3: fix reset timeout when enable full VF net: hns3: fix sending pfc frames after reset issue net/ipv4: ping_group_range: allow GID from 2147483648 to 4294967294 net/ipv6: fix bool/int mismatch for skip_notify_on_dev_down netlink: annotate accesses to nlk->cb_running net: mdio: mvusb: Fix an error handling path in mvusb_mdio_probe() net: mellanox: mlxbf_gige: Fix skb_panic splat under memory pressure net/mlx5: Collect command failures data only for known commands net/mlx5: Devcom, fix error flow in mlx5_devcom_register_device net/mlx5: Devcom, serialize devcom registration net/mlx5: Drain health before unregistering devlink net/mlx5: DR, Check force-loopback RC QP capability independently from RoCE net/mlx5: DR, Fix crc32 calculation to work on big-endian (BE) CPUs net/mlx5e: do as little as possible in napi poll when budget is 0 net/mlx5e: Don't attach netdev profile while handling internal error net/mlx5e: Fix deadlock in tc route query code net/mlx5e: Fix error handling in mlx5e_refresh_tirs net/mlx5e: Fix SQ wake logic in ptp napi_poll context net/mlx5: E-switch, Devcom, sync devcom events and devcom comp register net/mlx5e: Use correct encap attribute during invalidation net/mlx5: Fix error message when failing to allocate device memory net/mlx5: fw_tracer, Fix event handling net/mlx5: Handle pairing of E-switch via uplink un/load APIs net/mlx5: Read embedded cpu after init bit cleared net/mlx5: SF, Drain health before removing device net: mscc: ocelot: fix stat counter register values net/netlink: fix NETLINK_LIST_MEMBERSHIPS length report net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment() net: page_pool: use in_softirq() instead net: pasemi: Fix return type of pasemi_mac_start_tx() net: pcs: xpcs: fix C73 AN not getting enabled net: phy: bcm7xx: Correct read from expansion register net: phy: dp83867: add w/a for packet errors seen with short cables net: phy: mscc: add VSC8502 to MODULE_DEVICE_TABLE net: phy: mscc: enable VSC8501/2 RGMII RX clock netrom: fix info-leak in nr_write_internal() net: sched: act_police: fix sparse errors in tcf_police_dump() net: sched: add rcu annotations around qdisc->qdisc_sleeping net: sched: fix NULL pointer dereference in mq_attach net: sched: fix possible refcount leak in tc_chain_tmplt_add() net/sched: flower: fix possible OOB write in fl_set_geneve_opt() net/sched: fq_pie: ensure reasonable TCA_FQ_PIE_QUANTUM values net: sched: move rtm_tca_policy declaration to include file net/sched: Prohibit regrafting ingress or clsact Qdiscs net/sched: Reserve TC_H_INGRESS (TC_H_CLSACT) for ingress (clsact) Qdiscs net/sched: sch_clsact: Only create under TC_H_CLSACT net/sched: sch_ingress: Only create under TC_H_INGRESS net: selftests: Fix optstring net: sfp: fix state loss when updating state_hw_mask net: skb_partial_csum_set() fix against transport header magic value net/smc: Avoid to access invalid RMBs' MRs in SMCRv1 ADD LINK CONT net/smc: Don't use RMBs not mapped to new link in SMCRv2 ADD LINK net/smc: Reset connection when trying to use SMCRv2 fails. net/smc: Scan from current RMB list when no position specified net: stmmac: Initialize MAC_ONEUS_TIC_COUNTER register net: tun: rebuild error handling in tun_get_user net: usb: qmi_wwan: Set DTR quirk for BroadMobi BM818 net: wwan: iosm: fix NULL pointer dereference when removing device net: wwan: t7xx: Ensure init is completed before system sleep nfsd: fix double fget() bug in __write_ports_addfd() nfsd: make a copy of struct iattr before calling notify_change nilfs2: fix use-after-free bug of nilfs_root in nilfs_evict_inode() null_blk: Always check queue mode setting from configfs nvme: do not let the user delete a ctrl before a complete initialization nvme: fix the name of Zone Append for verbose logging nvme-multipath: don't call blk_mark_disk_dead in nvme_mpath_remove_disk nvme-pci: add NVME_QUIRK_BOGUS_NID for HS-SSD-FUTURE 2048G nvme-pci: add quirk for missing secondary temperature thresholds nvme-pci: Add quirk for Teamgroup MP33 SSD ocfs2: Switch to security_inode_init_security() octeontx2-af: Add validation for lmac type octeontx2-pf: Fix TSOv6 offload open: return EINVAL for O_DIRECTORY | O_CREAT optee: fix uninited async notif value page_pool: fix inconsistency for page_pool_ring_[un]lock() parisc: Allow to reboot machine after system halt parisc: Enable LOCKDEP support parisc: Fix flush_dcache_page() for usage from irq context parisc: Handle kgdb breakpoints only in kernel context parisc: Handle kprobes breakpoints only in kernel context parisc: Replace regular spinlock with spin_trylock on panic path parisc: Use num_present_cpus() in alternative patching code perf ftrace latency: Remove unnecessary "--" from --use-nsec option perf/x86/uncore: Correct the number of CHAs on SPR phy: amlogic: phy-meson-g12a-mipi-dphy-analog: fix CNTL2_DIF_TX_CTL0 value phy: qcom-qmp-combo: fix init-count imbalance phy: qcom-qmp-pcie-msm8996: fix init-count imbalance phy: st: miphy28lp: use _poll_timeout functions for waits pinctrl: meson-axg: add missing GPIOA_18 gpio group platform/mellanox: fix potential race in mlxbf-tmfifo driver platform/mellanox: mlxbf-pmc: fix sscanf() error checking platform: Provide a remove callback that returns no value platform/surface: aggregator: Allow completion work-items to be executed in parallel platform/surface: aggregator_tabletsw: Add support for book mode in KIP subsystem platform/x86/amd/pmf: Fix CnQF and auto-mode after resume platform/x86: hp-wmi: add micmute to hp_wmi_keymap struct platform/x86: hp-wmi: Fix cast to smaller integer type warning platform/x86/intel/ifs: Annotate work queue on stack so object debug does not complain platform/x86: intel_scu_pcidrv: Add back PCI ID for Medfield platform/x86: ISST: Remove 8 socket limit platform/x86: Move existing HP drivers to a new hp subdir platform/x86: x86-android-tablets: Add Acer Iconia One 7 B1-750 data powerpc/64s/radix: Fix soft dirty tracking powerpc/iommu: DMA address offset is incorrectly calculated with 2MB TCEs powerpc/iommu: Incorrect DDW Table is referenced for SR-IOV device powerpc/iommu: Limit number of TCEs to 512 for H_STUFF_TCE hcall powerpc/xmon: Use KSYM_NAME_LEN in array size power: supply: axp288_fuel_gauge: Fix external_power_changed race power: supply: bq24190: Call power_supply_changed() after updating input current power: supply: bq25890: Call power_supply_changed() after updating input current or voltage power: supply: bq25890: Fix external_power_changed race power: supply: bq27xxx: Add cache parameter to bq27xxx_battery_current_and_status() power: supply: bq27xxx: After charger plug in/out wait 0.5s for things to stabilize power: supply: bq27xxx: Ensure power_supply_changed() is called on current sign changes power: supply: bq27xxx: Fix bq27xxx_battery_update() race condition power: supply: bq27xxx: Fix I2C IRQ race on remove power: supply: bq27xxx: Fix poll_interval handling and races on remove power: supply: bq27xxx: Move bq27xxx_battery_update() down power: supply: leds: Fix blink to LED on transition power: supply: mt6360: add a check of devm_work_autocancel in mt6360_charger_probe power: supply: sbs-charger: Fix INHIBITED bit for Status reg qed/qede: Fix scheduling while atomic rbd: get snapshot context after exclusive lock is ensured to be held rbd: move RBD_OBJ_FLAG_COPYUP_ENABLED flag setting rcu: Protect rcu_print_task_exp_stall() ->exp_tasks access RDMA/bnxt_re: Fix a possible memory leak RDMA/bnxt_re: Fix return value of bnxt_re_process_raw_qp_pkt_rx RDMA/bnxt_re: Fix the page_size used during the MR creation RDMA/efa: Fix unsupported page sizes in device RDMA/hns: Fix base address table allocation RDMA/hns: Fix timeout attr in query qp for HIP08 RDMA/hns: Modify the value of long message loopback slice RDMA/irdma: Fix Local Invalidate fencing RDMA/irdma: Prevent QP use after free RDMA/rxe: Fix the error "trying to register non-static key in rxe_cleanup_task" recordmcount: Fix memory leaks in the uwrite function refscale: Move shutdown from wait_event() to wait_event_idle() regmap: Account for register length when chunking regmap: cache: Return error in cache sync operations for REGCACHE_NONE regulator: mt6359: add read check for PMIC MT6359 regulator: pca9450: Fix BUCK2 enable_mask remoteproc: imx_dsp_rproc: Add custom memory copy implementation for i.MX DSP Cores remoteproc: imx_dsp_rproc: Fix kernel test robot sparse warning remoteproc: stm32_rproc: Add mutex protection for workqueue rethook, fprobe: do not trace rethook related functions rethook: use preempt_{disable, enable}_notrace in rethook_trampoline_handler Revert "android: binder: stop saving a pointer to the VMA" Revert "binder_alloc: add missing mmap_lock calls when using the VMA" Revert "ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled" Revert "Fix XFRM-I support for nested ESP tunnels" Revert "staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE" Revert "thermal/drivers/mellanox: Use generic thermal_zone_get_trip() function" Revert "usb: gadget: udc: core: Invoke usb_gadget_connect only when started" Revert "usb: gadget: udc: core: Prevent redundant calls to pullup" rfs: annotate lockless accesses to RFS sock flow table rfs: annotate lockless accesses to sk->sk_rxhash riscv: fix kprobe __user string arg print fault issue riscv: Fix unused variable warning when BUILTIN_DTB is set riscv: mm: Ensure prot of VM_WRITE and VM_EXEC must be readable riscv: perf: Fix callchain parse error with kernel tracepoint events rtnetlink: call validate_linkmsg in rtnl_create_link s390/cio: include subchannels without devices also for evaluation s390/crypto: use vector instructions only if available for ChaCha20 s390/dasd: fix command reject error on ESE devices s390/dasd: Use correct lock while counting channel queue length s390/pkey: zeroize key blobs s390/qdio: fix do_sqbs() inline assembly constraint s390/topology: honour nr_cpu_ids when adding CPUs samples/bpf: Fix fout leak in hbm's run_bpf_prog sched: Fix KCSAN noinstr violation scsi: core: Decrease scsi_device's iorequest_cnt if dispatch failed scsi: lpfc: Correct used_rpi count when devloss tmo fires with no recovery scsi: lpfc: Prevent lpfc_debugfs_lockstat_write() buffer overflow scsi: megaraid_sas: Add flexible array member for SGLs scsi: message: mptlan: Fix use after free bug in mptlan_remove() due to race condition scsi: stex: Fix gcc 13 warnings scsi: storvsc: Don't pass unused PFNs to Hyper-V host scsi: target: iscsit: Free cmds before session free scsi: ufs: core: Fix I/O hang that occurs when BKOPS fails in W-LUN suspend scsi: ufs: ufs-pci: Add support for Intel Lunar Lake sctp: fix an issue that plpmtu can never go to complete state selftests/bpf: Fix pkg-config call building sign-file selftests/bpf: Fix sockopt_sk selftest selftests/bpf: Verify optval=NULL case selftests: cgroup: Add 'malloc' failures checks in test_memcontrol selftests: fib_tests: mute cleanup error message selftests/memfd: Fix unknown type name build failure selftests: mptcp: connect: skip if MPTCP is not supported selftests: mptcp: diag: skip if MPTCP is not supported selftests: mptcp: join: avoid using 'cmp --bytes' selftests: mptcp: join: skip if MPTCP is not supported selftests: mptcp: pm nl: skip if MPTCP is not supported selftests: mptcp: simult flows: skip if MPTCP is not supported selftests: mptcp: sockopt: skip if MPTCP is not supported selftests: mptcp: update userspace pm addr tests selftests: mptcp: update userspace pm subflow tests selftests: mptcp: userspace pm: skip if MPTCP is not supported selftests: seg6: disable DAD on IPv6 router cfg for srv6_end_dt4_l3vpn_test selftets: seg6: disable rp_filter by default in srv6_end_dt4_l3vpn_test selinux: don't use make's grouped targets feature yet serial: 8250_bcm7271: balance clk_enable calls serial: 8250_bcm7271: fix leak in `brcmuart_probe` serial: 8250_exar: Add support for USR298x PCI Modems serial: 8250: Reinit port->pm on port specific driver unbind serial: 8250_tegra: Fix an error handling path in tegra_uart_probe() serial: Add support for Advantech PCI-1611U card serial: arc_uart: fix of_iomap leak in `arc_serial_probe` serial: cpm_uart: Fix a COMPILE_TEST dependency serial: qcom-geni: fix enabling deactivated interrupt sfc: disable RXFCS and RXALL features by default skbuff: Proactively round up to kmalloc bucket size SMB3: Close all deferred handles of inode in case of handle lease break SMB3: drop reference to cfile before sending oplock break soc: qcom: icc-bwmon: fix incorrect error code passed to dev_err_probe() soundwire: bus: Fix unbalanced pm_runtime_put() causing usage count underflow soundwire: dmi-quirks: add remapping for Intel 'Rooks County' NUC M15 soundwire: qcom: gracefully handle too many ports in DT soundwire: stream: Add missing clear of alloc_slave_rt spi: mt65xx: make sure operations completed before unloading spi: qup: Request DMA before enabling clocks spi: spi-imx: fix MX51_ECSPI_* macros when cs > 3 staging: axis-fifo: initialize timeouts in init only staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE statfs: enforce statfs[64] structure initialization SUNRPC: always free ctxt when freeing deferred request SUNRPC: Don't change task->tk_status after the call to rpc_exit_task SUNRPC: double free xprt_ctxt while still in use SUNRPC: Fix trace_svc_register() call site tcp: add annotations around sk->sk_shutdown accesses tcp: deny tcp_disconnect() when threads are waiting tcp: fix mishandling when the sack compression is deferred. tcp: fix possible sk_priority leak in tcp_v4_send_reset() tcp: gso: really support BIG TCP tcp: Return user_mss for TCP_MAXSEG in CLOSE/LISTEN state if user_mss set tee: amdtee: Add return_origin to 'struct tee_cmd_load_ta' test_firmware: fix a memory leak with reqs buffer test_firmware: fix the memory leak of the allocated firmware buffer thunderbolt: Clear registers properly when auto clear isn't in use tick/broadcast: Make broadcast device replacement work correctly tipc: add tipc_bearer_min_mtu to calculate min mtu tipc: check the bearer min mtu properly when setting it by netlink tipc: do not update mtu if msg_max is too small in mtu negotiation tls: improve lockless access safety of tls_err_abort() tls: rx: device: fix checking decryption status tls: rx: strp: don't use GFP_KERNEL in softirq context tls: rx: strp: factor out copying skb data tls: rx: strp: fix determining record length in copy mode tls: rx: strp: force mixed decrypted records into copy mode tls: rx: strp: preserve decryption status of skbs when needed tls: rx: strp: set the skb->len of detached / CoW'ed skbs tools headers UAPI: Sync the linux/in.h with the kernel sources tpm: Prevent hwrng from activating during resume tpm: Re-enable TPM chip boostrapping non-tpm_tis TPM drivers tpm_tis: Use tpm_chip_{start,stop} decoration inside tpm_tis_resume tpm, tpm_tis: Avoid cache incoherency in test for interrupts tpm, tpm_tis: correct tpm_tis_flags enumeration values tpm/tpm_tis: Disable interrupts for more Lenovo devices tpm, tpm_tis: Only handle supported interrupts tpm, tpm_tis: Request threaded interrupt handler tpm, tpm_tis: startup chip before testing for interrupts tracing/histograms: Allow variables to have some modifiers tracing/probe: trace_probe_primary_from_call(): checked list_first_entry tracing/timerlat: Always wakeup the timerlat thread tty: serial: fsl_lpuart: use UARTCTRL_TXINV to send break instead of UARTCTRL_SBK tun: Fix memory leak for detached NAPI queue. ublk: fix AB-BA lockdep warning udp6: Fix race condition in udp6_sendmsg & connect udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated(). um: harddog: fix modular build usb: cdns3: fix NCM gadget RX speed 20x slow than expection at iMX8QM USB: core: Add routines for endpoint checks in old drivers usb: dwc3: debugfs: Resume dwc3 before accessing registers usb: dwc3: fix gadget mode suspend interrupt handler issue usb: dwc3: gadget: Improve dwc3_gadget_suspend() and dwc3_gadget_resume() usb: gadget: f_fs: Add unbind event before functionfs_unbind usb: gadget: u_ether: Fix host MAC address case USB: sisusbvga: Add endpoint checks usb-storage: fix deadlock when a scsi command timeouts more than once usb: typec: altmodes/displayport: fix pin_assignment_show usb: typec: tcpm: fix multiple times discover svids error usb: typec: ucsi: acpi: add quirk for ASUS Zenbook UM325 USB: UHCI: adjust zhaoxin UHCI controllers OverCurrent bit value usb: usbfs: Enforce page requirements for mmap usb: usbfs: Use consistent mmap functions USB: usbtmc: Fix direction for 0-length ioctl control messages vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF vduse: avoid empty string for dev name vfio/type1: check pfn valid before converting to struct page vhost: support PACKED when setting-getting vring_base vhost_vdpa: support PACKED when setting-getting vring_base virtio_net: Fix error unwinding of XDP initialization virtio-net: Maintain reverse cleanup order virtio_net: use control_buf for coalesce params vlan: fix a potential uninit-value in vlan_dev_hard_start_xmit() vsock: avoid to close connected socket after the timeout watchdog: menz069_wdt: fix watchdog initialisation watchdog: sp5100_tco: Immediately trigger upon starting. wifi: ath11k: Fix SKB corruption in REO destination ring wifi: ath11k: Ignore frags from uninitialized peer in dp. wifi: ath: Silence memcpy run-time false positive warning wifi: b43: fix incorrect __packed annotation wifi: brcmfmac: cfg80211: Pass the PMK in binary instead of hex wifi: brcmfmac: pcie: Provide a buffer of random bytes to the device wifi: cfg80211: Drop entries with invalid BSSIDs in RNR wifi: cfg80211: fix locking in sched scan stop work wifi: cfg80211: reject bad AP MLD address wifi: iwlwifi: add a new PCI device ID for BZ device wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace wifi: iwlwifi: fix iwl_mvm_max_amsdu_size() for MLO wifi: iwlwifi: fix OEM's name in the ppag approved list wifi: iwlwifi: fw: fix DBGI dump wifi: iwlwifi: mvm: Add locking to the rate read flow wifi: iwlwifi: mvm: don't trust firmware n_channels wifi: iwlwifi: mvm: fix cancel_delayed_work_sync() deadlock wifi: iwlwifi: mvm: fix OEM's name in the tas approved list wifi: iwlwifi: mvm: fix potential memory leak wifi: iwlwifi: mvm: fix ptk_pn memory leak wifi: iwlwifi: mvm: Fix -Warray-bounds bug in iwl_mvm_wait_d3_notif() wifi: iwlwifi: mvm: support wowlan info notification version 2 wifi: iwlwifi: pcie: Fix integer overflow in iwl_write_to_user_buf wifi: iwlwifi: pcie: fix possible NULL pointer dereference wifi: mac80211: Abort running color change when stopping the AP wifi: mac80211: consider reserved chanctx for mindef wifi: mac80211: don't translate beacon/presp addrs wifi: mac80211: fix min center freq offset tracing wifi: mac80211: fortify the spinlock against deadlock by interrupt wifi: mac80211: mlme: fix non-inheritence element wifi: mac80211: recalc chanctx mindef before assigning wifi: mac80211: simplify chanctx allocation wifi: mac80211: use correct iftype HE cap wifi: mt76: connac: fix stats->tx_bytes calculation wifi: mt76: mt7615: fix possible race in mt7615_mac_sta_poll wifi: rtl8xxxu: fix authentication timeout due to incorrect RCR value wifi: rtw88: correct PS calculation for SUPPORTS_DYNAMIC_PS wifi: rtw88: use work to update rate to avoid RCU warning wifi: rtw89: correct 5 MHz mask setting wifi: rtw89: correct PS calculation for SUPPORTS_DYNAMIC_PS x86/mm: Avoid incomplete Global INVLPG flushes x86/mtrr: Revert 90b926e68f50 ("x86/pat: Fix pat_x_mtrr_type() for MTRR disabled case") x86/pci/xen: populate MSI sysfs entries x86/show_trace_log_lvl: Ensure stack pointer is aligned, again x86/topology: Fix erroneous smp_num_siblings on Intel Hybrid platforms xen/pvcalls-back: fix double frees with pvcalls_new_active_socket() xfrm: Check if_id in inbound policy/secpath match xfrm: don't check the default policy if the policy allows the packet xfrm: Reject optional tunnel/BEET mode templates in outbound policies xfs: verify buffer contents when we skip log replay xhci: Fix incorrect tracking of free space on transfer rings xhci-pci: Only run d3cold avoidance quirk for s2idle xtensa: add __bswap{si,di}2 helpers xtensa: fix signal delivery to FDPIC process Updated by kernel-updater-bot (https://abf.io/mikhailnov/kernel-updater-bot)
2023-06-14 19:46:52 +03:00
%define sublevel 34
2013-11-16 00:27:01 +04:00
# Release number. Increase this before a rebuild.
[bot] upd: 6.1.27 -> 6.1.29 Changelog: ACPI: bus: Ensure that notify handlers are not running after removal ACPI: PM: Do not turn of unused power resources on the Toshiba Click Mini ACPI: processor: Fix evaluating _PDC method when running as Xen dom0 ACPI: video: Remove acpi_backlight=video quirk for Lenovo ThinkPad W530 ACPI: VIOT: Initialize the correct IOMMU fwspec af_packet: Don't send zero-byte data in packet_sendmsg_spkt(). afs: Avoid endless loop if file is larger than expected afs: Fix getattr to report server i_size on dirs, not local size afs: Fix updating of i_size with dv jump from server ALSA: caiaq: input: Add error handling for unsupported input methods in `snd_usb_caiaq_input_init` ALSA: hda/realtek: Add quirk for ASUS UM3402YAR using CS35L41 ALSA: hda/realtek: Add quirk for ThinkPad P1 Gen 6 ALSA: hda/realtek: Fix mute and micmute LEDs for an HP laptop ALSA: hda/realtek: support HP Pavilion Aero 13-be0xxx Mute LED ALSA: usb-audio: Add quirk for Pioneer DDJ-800 arm64: Always load shadow stack pointer directly from the task struct arm64: dts: apple: t8103: Disable unused PCIe ports arm64: dts: broadcom: bcmbca: bcm4908: fix LED nodenames arm64: dts: broadcom: bcmbca: bcm4908: fix NAND interrupt name arm64: dts: broadcom: bcmbca: bcm4908: fix procmon nodename arm64: dts: mediatek: mt8192-asurada: Fix voltage constraint for Vgpu arm64: dts: qcom: apq8096-db820c: drop unit address from PMI8994 regulator arm64: dts: qcom: ipq6018: Fix the PCI I/O port range arm64: dts: qcom: ipq8074: Fix the PCI I/O port range arm64: dts: qcom: msm8994-angler: Fix cont_splash_mem mapping arm64: dts: qcom: msm8994-angler: removed clash with smem_region arm64: dts: qcom: msm8994-kitakami: drop unit address from PMI8994 regulator arm64: dts: qcom: msm8994-msft-lumia-octagon: drop unit address from PMI8994 regulator arm64: dts: qcom: msm8996: Fix the PCI I/O port range arm64: dts: qcom: msm8998: Fix stm-stimulus-base reg name arm64: dts: qcom: msm8998: Fix the PCI I/O port range arm64: dts: qcom: sc7180-trogdor-lazor: correct trackpad supply arm64: dts: qcom: sc7180-trogdor-pazquel: correct trackpad supply arm64: dts: qcom: sc7280: fix EUD port properties arm64: dts: qcom: sc7280: Fix the PCI I/O port range arm64: dts: qcom: sc7280-herobrine-villager: correct trackpad supply arm64: dts: qcom: sdm845: correct dynamic power coefficients arm64: dts: qcom: sdm845: Fix the PCI I/O port range arm64: dts: qcom: sm8150: Fix the PCI I/O port range arm64: dts: qcom: sm8250: Fix the PCI I/O port range arm64: dts: qcom: sm8350-microsoft-surface: fix USB dual-role mode property arm64: dts: qcom: sm8450: fix pcie1 gpios properties name arm64: dts: qcom: sm8450: Fix the PCI I/O port range arm64: dts: renesas: r8a774c0: Remove bogus voltages from OPP table arm64: dts: renesas: r8a77990: Remove bogus voltages from OPP table arm64: dts: renesas: r9a07g043: Introduce SOC_PERIPHERAL_IRQ() macro to specify interrupt property arm64: dts: renesas: r9a07g043: Update IRQ numbers for SSI channels arm64: dts: renesas: r9a07g044: Update IRQ numbers for SSI channels arm64: dts: renesas: r9a07g054: Update IRQ numbers for SSI channels arm64: dts: sc7180: Rename qspi data12 as data23 arm64: dts: sc7280: Rename qspi data12 as data23 arm64: dts: ti: k3-am625: Correct L2 cache size to 512KB arm64: dts: ti: k3-am62a7: Correct L2 cache size to 512KB arm64: dts: ti: k3-am62a7-sk: Fix DDR size to full 4GB arm64: dts: ti: k3-am62-main: Fix GPIO numbers in DT arm64: dts: ti: k3-j721e-main: Remove ti,strobe-sel property arm64: kgdb: Set PSTATE.SS to 1 to re-enable single-step arm64: Stash shadow stack pointer in the task struct on interrupt ARM: dts: aspeed: asrock: Correct firmware flash SPI clocks ARM: dts: aspeed: romed8hm3: Fix GPIO polarity of system-fault LED ARM: dts: exynos: fix WM8960 clock name in Itop Elite ARM: dts: gta04: fix excess dma channel usage ARM: dts: qcom-apq8064: Fix opp table child name ARM: dts: qcom: ipq4019: Fix the PCI I/O port range ARM: dts: qcom: ipq8064: Fix the PCI I/O port range ARM: dts: qcom: sdx55: Fix the unit address of PCIe EP node ARM: dts: s5pv210: correct MIPI CSIS clock name ARM: dts: stm32: fix spi1 pin assignment on stm32mp15 asm-generic/io.h: suppress endianness warnings for readq() and writeq() ASoC: amd: fix ACP version typo mistake ASoC: amd: ps: update the acp clock source. ASoC: amd: yc: Add DMI entries to support Victus by HP Laptop 16-e1xxx (8A22) ASoC: codecs: constify static sdw_slave_ops struct ASoC: codecs: wcd938x: fix accessing regmap on unattached devices ASoC: cs35l41: Only disable internal boost ASoC: da7213.c: add missing pm_runtime_disable() ASoC: dt-bindings: qcom,lpass-rx-macro: correct minItems for clocks ASoC: es8316: Handle optional IRQ assignment ASoC: fsl_mqs: move of_node_put() to the correct location ASoC: Intel: bytcr_rt5640: Add quirk for the Acer Iconia One 7 B1-750 ASoC: Intel: soc-acpi: add table for Intel 'Rooks County' NUC M15 ASoC: Intel: soc-acpi-byt: Fix "WM510205" match no longer working ASOC: Intel: sof_sdw: add quirk for Intel 'Rooks County' NUC M15 ASoC: rt1318: Add RT1318 SDCA vendor-specific driver ASoC: soc-compress: Inherit atomicity from DAI link for Compress FE ASoC: soc-pcm: fix hw->formats cleared by soc_pcm_hw_init() for dpcm blk-crypto: add a blk_crypto_config_supported_natively helper blk-crypto: Add a missing include directive blk-crypto: don't use struct request_queue for public interfaces blk-crypto: make blk_crypto_evict_key() more robust blk-crypto: make blk_crypto_evict_key() return void blk-crypto: move internal only declarations to blk-crypto-internal.h blk-iocost: avoid 64-bit division in ioc_timer_fn blk-mq: don't plug for head insertions in blk_execute_rq_nowait blk-mq: release crypto keyslot before reporting I/O complete blk-stat: fix QUEUE_FLAG_STATS clear block/blk-iocost (gcc13): keep large values in a new enum block: Skip destroyed blkg when restart in blkg_destroy_all() bonding (gcc13): synchronize bond_{a,t}lb_xmit() types bpf/btf: Fix is_int_ptr() bpf: Don't EFAULT for getsockopt with optval=NULL bpf: fix precision propagation verbose logging bpf: Fix race between btf_put and btf_idr walk. bpf: Fix __reg_bound_offset 64->32 var_off subreg propagation bpf: Remove misleading spec_v1 check on var-offset stack read bpf, sockmap: fix deadlocks in the sockhash and sockmap bpf, sockmap: Revert buggy deadlock fix in the sockhash and sockmap bpf: take into account liveness when propagating precision bpftool: Fix bug for long instructions in program CFG dumps btrfs: don't free qgroup space unless specified btrfs: fix assertion of exclop condition when starting balance btrfs: fix btrfs_prev_leaf() to not return the same key twice btrfs: fix encoded write i_size corruption with no-holes btrfs: fix space cache inconsistency after error loading it from disk btrfs: make clear_cache mount option to rebuild FST without disabling it btrfs: print-tree: parent bytenr must be aligned to sector size btrfs: properly reject clear_cache and v1 cache for block-group-tree btrfs: scrub: reject unsupported scrub flags btrfs: zero the buffer before marking it dirty in btrfs_redirty_list_add btrfs: zoned: fix full zone super block reading on ZNS btrfs: zoned: fix wrong use of bitops API in btrfs_ensure_empty_zones btrfs: zoned: zone finish data relocation BG with last IO bus: mhi: host: Range check CHDBOFF and ERDBOFF bus: mhi: host: Remove duplicate ee check for syserr bus: mhi: host: Use mhi_tryset_pm_state() for setting fw error state cacheinfo: Check sib_leaf in cache_leaves_are_shared() ceph: fix potential use-after-free bug when trimming caps cifs: fix pcchunk length type in smb2_copychunk_range cifs: fix potential use-after-free bugs in TCP_Server_Info::hostname cifs: protect session status check in smb2_reconnect() cifs: release leases for deferred close handles when freezing clk: add missing of_node_put() in "assigned-clocks" property parsing clk: at91: clk-sam9x60-pll: fix return value check clk: imx: fracn-gppll: disable hardware select control clk: imx: fracn-gppll: fix the rate table clk: imx: imx8ulp: Fix XBAR_DIVBUS and AD_SLOW clock parents clk: mediatek: Consistently use GATE_MTK() macro clk: mediatek: mt2712: Add error handling to clk_mt2712_apmixed_probe() clk: mediatek: mt7622: Properly use CLK_IS_CRITICAL flag clk: mediatek: mt8135: Properly use CLK_IS_CRITICAL flag clk: microchip: fix potential UAF in auxdev release callback clk: qcom: dispcc-qcm2290: get rid of test clock clk: qcom: dispcc-qcm2290: Remove inexistent DSI1PHY clk clk: qcom: gcc-qcm2290: Fix up gcc_sdcc2_apps_clk_src clk: qcom: gcc-sm6115: Mark RCGs shared where applicable clk: qcom: gcc-sm8350: fix PCIe PIPE clocks handling clk: qcom: lpassaudiocc-sc7280: Add required gdsc power domain clks in lpass_cc_sc7280_desc clk: qcom: lpasscc-sc7280: Skip qdsp6ss clock registration clk: rockchip: rk3399: allow clk_cifout to force clk_cifout_src to reparent clocksource/drivers/davinci: Fix memory leak in davinci_timer_register when init fails coresight: etm_pmu: Set the module field cpufreq: mediatek: fix KP caused by handler usage after regulator_put/clk_put cpufreq: mediatek: fix passing zero to 'PTR_ERR' cpufreq: mediatek: Raise proc and sram max voltage for MT7622/7623 cpufreq: mediatek: raise proc/sram max voltage for MT8516 cpufreq: qcom-cpufreq-hw: Revert adding cpufreq qos cpufreq: use correct unit when verify cur freq crypto: api - Add scaffolding to change completion function signature crypto: api - Demote BUG_ON() in crypto_unregister_alg() to a WARN_ON() crypto: arm64/aes-neonbs - fix crash with CFI enabled crypto: caam - Clear some memory in instantiate_rng crypto: ccp - Clear PSP interrupt status register before calling handler crypto: ccp - Don't initialize CCP for PSP 0x1649 crypto: drbg - Only fail when jent is unavailable in FIPS mode crypto: engine - fix crypto_queue backlog handling crypto: engine - Use crypto_request_complete crypto: qat - fix concurrency issue when device state changes crypto: sa2ul - Select CRYPTO_DES crypto: safexcel - Cleanup ring IRQ workqueues on load failure crypto: sun8i-ss - Fix a test in sun8i_ss_setup_ivs() cxl/hdm: Fail upon detecting 0-sized decoders debugobject: Ensure pool refill (again) debugobject: Prevent init race with static objects dmaengine: at_xdmac: do not enable all cyclic channels dmaengine: dw-edma: Fix to change for continuous transfer dmaengine: dw-edma: Fix to enable to issue dma request on DMA processing dmaengine: mv_xor_v2: Fix an error code. dma: gpi: remove spurious unlock in gpi_ch_init dm clone: call kmem_cache_destroy() in dm_clone_init() error path dm: don't lock fs when the map is NULL in process of resume dm flakey: fix a crash with invalid table line dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path dm ioctl: fix nested locking in table_clear() to remove deadlock concern dm verity: fix error handling for check_at_most_once on FEC drbd: correctly submit flush bio on barrier drivers: staging: rtl8723bs: Fix locking in _rtw_join_timeout_handler() drivers: staging: rtl8723bs: Fix locking in rtw_scan_timeout_handler() drm: Add missing DP DSC extended capability definitions. drm/amd: Add a new helper for loading/validating microcode drm/amd/display: Add debug option to skip PSR CRTC disable drm/amd/display: Add minimum Z8 residency debug option drm/amd/display: Add missing WA and MCLK validation drm/amd/display: Add NULL plane_state check for cursor disable logic drm/amd/display: Add Z8 allow states to z-state support list drm/amd/display: Change default Z8 watermark values drm/amd/display/dc/dce60/Makefile: Fix previous attempt to silence known override-init warnings drm/amd/display: Do not clear GPINT register when releasing DMUB from reset drm/amd/display: Enforce 60us prefetch for 200Mhz DCFCLK modes drm/amd/display: Ext displays with dock can't recognized after resume drm/amd/display: filter out invalid bits in pipe_fuses drm/amd/display: Fix 4to1 MPC black screen with DPP RCO drm/amd/display: fix a divided-by-zero error drm/amd/display: Fixes for dcn32_clk_mgr implementation drm/amd/display: fix flickering caused by S/G mode drm/amd/display: Fix hang when skipping modeset drm/amd/display: Fix potential null dereference drm/amd/display: fix PSR-SU/DSC interoperability support drm/amd/display: Fix Z8 support configurations drm/amd/display (gcc13): fix enum mismatch drm/amd/display: limit timing for single dimm memory drm/amd/display: Lowering min Z8 residency time drm/amd/display: Refactor eDP PSR codes drm/amd/display: Remove FPU guards from the DML folder drm/amd/display: Remove stutter only configurations drm/amd/display: Reset OUTBOX0 r/w pointer on DMUB reset drm/amd/display: Return error code on DSC atomic check failure drm/amd/display: Update bounding box values for DCN321 drm/amd/display: Update minimum stutter residency for DCN314 Z8 drm/amd/display: Update Z8 SR exit/enter latencies drm/amd/display: Update Z8 watermarks for DCN314 drm/amdgpu: add a missing lock for AMDGPU_SCHED drm/amdgpu: change gfx 11.0.4 external_id range drm/amdgpu: disable sdma ecc irq only when sdma RAS is enabled in suspend drm/amdgpu: fix amdgpu_irq_put call trace in gmc_v10_0_hw_fini drm/amdgpu: fix amdgpu_irq_put call trace in gmc_v11_0_hw_fini drm/amdgpu: fix an amdgpu_irq_put() issue in gmc_v9_0_hw_fini() drm/amdgpu: Fix vram recover doesn't work after whole GPU reset (v2) drm/amdgpu/gfx: disable gfx9 cp_ecc_error_irq only when enabling legacy gfx ras drm/amdgpu/jpeg: Remove harvest checking for JPEG3 drm/amdgpu: register a vga_switcheroo client for MacBooks with apple-gmux drm/amdgpu: remove deprecated MES version vars drm/amd: Load MES microcode during early_init drm/amd/pm: avoid potential UBSAN issue on legacy asics drm/amd/pm: parse pp_handle under appropriate conditions drm/amd/pm: re-enable the gfx imu when smu resume drm/amd: Use `amdgpu_ucode_*` helpers for MES drm/bridge: adv7533: Fix adv7533_mode_valid for adv7533 and adv7535 drm/bridge: lt8912b: Fix DSI Video Mode drm/dsc: fix DP_DSC_MAX_BPP_DELTA_* macro values drm/dsc: fix drm_edp_dsc_sink_output_bpp() DPCD high byte usage drm/i915: Check pipe source size when using skl+ scalers drm/i915/color: Fix typo for Plane CSC indexes drm/i915/dg2: Drop one PCI ID drm/i915/dsi: Use unconditional msleep() instead of intel_dsi_msleep() drm/i915: Make intel_get_crtc_new_encoder() less oopsy drm/i915/mtl: Add the missing CPU transcoder mask in intel_device_info drm/i915/mtl: update scaler source and destination limits for MTL drm/lima/lima_drv: Add missing unwind goto in lima_pdev_probe() drm/mediatek: dp: Change the aux retries times when receiving AUX_DEFER drm/mediatek: dp: Only trigger DRM HPD events if bridge is attached drm/msm/adreno: adreno_gpu: Use suspend() instead of idle() on load error drm: msm: adreno: Disable preemption on Adreno 510 drm/msm/adreno: drop bogus pm_runtime_set_active() drm/msm/adreno: fix runtime PM imbalance at gpu load drm/msm/adreno: Simplify read64/write64 helpers drm/msm/disp/dpu: check for crtc enable rather than crtc active to release shared resources drm/msm: fix drm device leak on bind errors drm/msm: fix missing wq allocation error handling drm/msm: fix NULL-deref on irq uninstall drm/msm: fix NULL-deref on snapshot tear down drm/msm: fix vram leak on bind errors drm/msm: fix workqueue leak on bind errors drm/msm: Hangcheck progress detection drm/panel: novatek-nt35950: Improve error handling drm/panel: novatek-nt35950: Only unregister DSI1 if it exists drm/panel: otm8009a: Set backlight parent to panel device drm/probe-helper: Cancel previous job before starting new one drm: rcar-du: Fix a NULL vs IS_ERR() bug drm/rockchip: Drop unbalanced obj unref drm/ttm: optimize pool allocations a bit v2 drm/ttm/pool: Fix ttm_pool_alloc error path drm/vgem: add missing mutex_destroy drm/vmwgfx: Fix Legacy Display Unit atomic drm support drm/vmwgfx: Remove explicit and broken vblank handling EDAC/skx: Fix overflows on the DRAM row address mapping arrays erofs: fix potential overflow calculating xattr_isize erofs: initialize packed inode after root inode is assigned erofs: stop parsing non-compact HEAD index if clusterofs is invalid ethtool: Fix uninitialized number of lanes ext4: add bounds checking in get_max_inline_xattr_value_size() ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum ext4: bail out of ext4_xattr_ibody_get() fails for any reason ext4: check iomap type only if ext4_iomap_begin() does not fail ext4: fix data races when using cached status extents ext4: fix deadlock when converting an inline directory in nojournal mode ext4: fix i_disksize exceeding i_size problem in paritally written case ext4: fix invalid free tracking in ext4_xattr_move_to_block() ext4: fix lockdep warning when enabling MMP ext4: fix use-after-free read in ext4_find_extent for bigalloc + inline ext4: fix WARNING in mb_find_extent ext4: improve error handling from ext4_dirhash() ext4: improve error recovery code paths in __ext4_remount() ext4: remove a BUG_ON in ext4_mb_release_group_pa() f2fs: allocate the extent_cache by default f2fs: apply zone capacity to all zone type f2fs: compress: fix to call f2fs_wait_on_page_writeback() in f2fs_write_raw_pages() f2fs: factor out victim_entry usage from general rb_tree use f2fs: fix iostat lock protection f2fs: fix null pointer panic in tracepoint in __replace_atomic_write_block f2fs: fix potential corruption when moving a directory f2fs: fix scheduling while atomic in decompression path f2fs: fix to avoid use-after-free for cached IPU bio f2fs: fix to check return value of f2fs_do_truncate_blocks() f2fs: fix to check return value of inc_valid_block_count() f2fs: fix to do sanity check on extent cache correctly f2fs: fix uninitialized skipped_gc_rwsem f2fs: handle dqget error in f2fs_transfer_project_quota() f2fs: inode: fix to do sanity check on extent cache correctly f2fs: move internal functions into extent_cache.c f2fs: refactor extent_cache to support for read and more f2fs: remove unnecessary __init_extent_tree f2fs: specify extent cache for read explicitly fbdev: mmp: Fix deferred clk handling in mmphw_probe() firmware: arm_scmi: Fix xfers allocation on Rx channel firmware: qcom_scm: Clear download bit during reboot firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe fpga: bridge: fix kernel-doc parameter description fs: fix sysctls.c built fs/ntfs3: Add check for kmemdup fs/ntfs3: Fix memory leak if ntfs_read_mft failed fs/ntfs3: Fix null-ptr-deref on inode->i_op in ntfs_lookup() fs/ntfs3: Fix OOB read in indx_insert_into_buffer fs/ntfs3: Fix slab-out-of-bounds read in hdr_delete_de() fs/ntfs3: Refactoring of various minor issues gpu: host1x: Fix memory leak of device names gpu: host1x: Fix potential double free if IOMMU is disabled HID: amd_sfh: Add support for shutdown operation HID: amd_sfh: Correct the sensor enable and disable command HID: amd_sfh: Correct the stop all command HID: amd_sfh: Correct the structure fields HID: amd_sfh: Fix illuminance value HID: amd_sfh: Handle "no sensors" enabled for SFH1.1 HID: amd_sfh: Increase sensor command timeout for SFH1.1 HID: wacom: insert timestamp to packed Bluetooth (BT) events HID: wacom: Set a default resolution for older tablets hte: tegra-194: Fix off by one in tegra_hte_map_to_line_id() hte: tegra: fix 'struct of_device_id' build error hwmon: (adt7475) Use device_property APIs when configuring polarity hwmon: (k10temp) Check range scale when CUR_TEMP register is read-write hwmon: (pmbus/fsp-3y) Fix functionality bitmask in FSP-3Y YM-2151E i2c: cadence: cdns_i2c_master_xfer(): Fix runtime PM leak on error path i2c: omap: Fix standard mode false ACK readings i2c: tegra: Fix PEC support for SMBUS block read i2c: xiic: xiic_xfer(): Fix runtime PM leak on error path i40e: Remove string printing for i40e_status i40e: Remove unused i40e status codes i40e: use int for i40e_status ia64: fix an addr to taddr in huge_pte_offset() ia64: mm/contig: fix section mismatch warning/error ia64: salinfo: placate defined-but-not-used warning IB/hfi1: Fix bugs with non-PAGE_SIZE-end multi-iovec user SDMA requests IB/hfi1: Fix SDMA mmu_rb_node not being evicted in LRU order IB/hifi1: add a null check of kzalloc_node in hfi1_ipoib_txreq_init ice: block LAN in case of VF to VF offload iio: adc: palmas_gpadc: fix NULL dereference on rmmod iio: addac: stx104: Fix race condition for stx104_write_raw() iio: addac: stx104: Fix race condition when converting analog-to-digital iio: light: max44009: add missing OF device matching IMA: allow/fix UML builds inotify: Avoid reporting event with invalid wd Input: raspberrypi-ts - fix refcount leak in rpi_ts_probe interconnect: qcom: rpm: drop bogus pm domain attach iommu/amd: Fix "Guest Virtual APIC Table Root Pointer" configuration in IRTE iommu/amd: Set page size bitmap during V2 domain allocation iommu/mediatek: Set dma_mask for PGTABLE_PA_35_EN ionic: catch failure from devlink_alloc ionic: remove noise from ethtool rxnfc error msg io_uring/rsrc: use nospec'ed indexes ipmi: ASPEED_BT_IPMI_BMC: select REGMAP_MMIO instead of depending on it ipmi: fix SSIF not responding under certain cond. ipmi:ssif: Add send_retries increment ipv4: Fix potential uninit variable access bug in __ip_make_skb() irqchip/loongarch: Adjust acpi_cascade_irqdomain_init() and sub-routines irqchip/loongson-eiointc: Fix incorrect use of acpi_get_vec_parent irqchip/loongson-eiointc: Fix registration of syscore_ops irqchip/loongson-eiointc: Fix returned value on parsing MADT irqchip/loongson-pch-pic: Fix pch_pic_acpi_init calling ixgbe: Allow flow hash to be set via ethtool ixgbe: Enable setting RSS table to default values ixgbe: Fix panic during XDP_TX with > 64 CPUs jdb2: Don't refuse invalidation of already invalidated buffers kasan: hw_tags: avoid invalid virt_to_page() kcsan: Avoid READ_ONCE() in read_instrumented_memory() kheaders: Use array declaration instead of char ksmbd: block asynchronous requests when making a delay on session setup ksmbd: call rcu_barrier() in ksmbd_server_exit() ksmbd: destroy expired sessions ksmbd: fix deadlock in ksmbd_find_crypto_ctx() ksmbd: fix memleak in session setup ksmbd: fix NULL pointer dereference in smb2_get_info_filesystem() ksmbd: fix racy issue from session setup and logoff ksmbd: fix racy issue from smb2 close and logoff with multichannel ksmbd: fix racy issue under cocurrent smb2 tree disconnect ksmbd: Implements sess->ksmbd_chann_list as xarray ksmbd: not allow guest user on multichannel kunit: fix bug in the order of lines in debugfs logs kunit: improve KTAP compliance of KUnit test output KVM: arm64: Avoid lock inversion when setting the VM register width KVM: arm64: Avoid vcpu->mutex v. kvm->lock inversion in CPU_ON KVM: arm64: Use config_lock to protect data ordered against KVM_RUN KVM: arm64: Use config_lock to protect vgic state KVM: arm64: vgic: Don't acquire its_lock before config_lock KVM: nVMX: Emulate NOPs in L2, and PAUSE if it's not intercepted KVM: RISC-V: Retry fault if vma_lookup() results become invalid KVM: s390: fix race in gmap_make_secure() KVM: VMX: Make CR0.WP a guest owned bit KVM: x86: Do not unload MMU roots when only toggling CR0.WP with TDP enabled KVM: x86: Make use of kvm_read_cr*_bits() when testing bits KVM: x86/mmu: Avoid indirect call for get_cr3 KVM: x86/mmu: Refresh CR0.WP prior to checking for emulated permission faults KVM: x86/pmu: Disallow legacy LBRs if architectural LBRs are available KVM: x86: Track supported PERF_CAPABILITIES in kvm_caps leds: tca6507: Fix error handling of using fwnode_property_read_string leds: TI_LMU_COMMON: select REGMAP instead of depending on it libbpf: Fix ld_imm64 copy logic for ksym in light skeleton. linux/vt_buffer.h: allow either builtin or modular for macros locking/rwsem: Add __always_inline annotation to __down_read_common() and inlined callers macintosh: via-pmu-led: requires ATA to be set macintosh/windfarm_smu_sat: Add missing of_node_put() mailbox: mpfs: switch to txdone_poll mailbox: zynqmp: Fix counts of child nodes mailbox: zynqmp: Fix IPI isr handling mailbox: zynqmp: Fix typo in IPI documentation mailbox: zynq: Switch to flexible array to simplify code md/raid10: don't call bio_start_io_acct twice for bio which experienced read error md/raid10: fix leak of 'r10bio->remaining' for recovery md/raid10: fix memleak for 'conf->bio_split' md/raid10: fix memleak of md thread md/raid10: fix null-ptr-deref in raid10_sync_request md/raid10: fix task hung in raid10d md/raid5: Improve performance for sequential IO media: amphion: decoder implement display delay enable media: av7110: prevent underflow in write_ts_to_decoder() media: bdisp: Add missing check for create_workqueue media: cedrus: fix use after free bug in cedrus_remove due to race condition media: dm1105: Fix use after free bug in dm1105_remove due to race condition media: hi846: Fix memleak in hi846_init_controls() media: max9286: Free control handler media: mediatek: vcodec: add core decode done event media: mediatek: vcodec: add params to record lat and core lat_buf count media: mediatek: vcodec: add remove function for decoder platform driver media: mediatek: vcodec: change lat thread decode error condition media: mediatek: vcodec: fix decoder disable pm crash media: mediatek: vcodec: Force capture queue format to MM21 media: mediatek: vcodec: Make MM21 the default capture format media: mediatek: vcodec: making sure queue_work successfully media: mediatek: vcodec: move lat_buf to the top of core list media: mediatek: vcodec: remove unused lat_buf media: mediatek: vcodec: Use 4K frame size when supported by stateful decoder media: mediatek: vcodec: using each instance lat_buf count replace core ready list media: ov8856: Do not check for for module version media: platform: mtk-mdp3: Add missing check and free for ida_alloc media: platform: mtk-mdp3: fix potential frame size overflow in mdp_try_fmt_mplane() media: rcar_fdp1: Fix refcount leak in probe and remove function media: rc: gpio-ir-recv: Fix support for wake-up media: rkvdec: fix use after free bug in rkvdec_remove media: saa7134: fix use after free bug in saa7134_finidev due to race condition media: v4l: async: Return async sub-devices to subnotifier list media: venus: dec: Fix capture formats enumeration order media: venus: dec: Fix handling of the start cmd mfd: arizona-spi: Add missing MODULE_DEVICE_TABLE mfd: ocelot-spi: Fix unsupported bulk read mfd: tqmx86: Correct board names for TQMxE39x mfd: tqmx86: Do not access I2C_DETECT register through io_base mfd: tqmx86: Specify IO port register range more precisely MIPS: fw: Allow firmware to pass a empty env mmc: sdhci-of-esdhc: fix quirk to ignore command inhibit for data mm: do not reclaim private data from pinned page mm/mempolicy: correctly update prev when policy is equal on mbind mt76: mt7921: fix kernel panic by accessing unallocated eeprom.data mtd: core: fix error path for nvmem provider mtd: core: fix nvmem error reporting mtd: core: provide unique name for nvmem device, take two mtd: spi-nor: Add a RWW flag mtd: spi-nor: add SFDP fixups for Quad Page Program mtd: spi-nor: core: Update flash's current address mode when changing address mode mtd: spi-nor: spansion: Enable JFFS2 write buffer for Infineon s25hx SEMPER flash mtd: spi-nor: spansion: Enable JFFS2 write buffer for Infineon s28hx SEMPER flash mtd: spi-nor: spansion: Remove NO_SFDP_FLAGS from s28hs512t info net: amd: Fix link leak when verifying config failed net: dpaa: Fix uninitialized variable in dpaa_stop() net: dsa: mt7530: fix corrupt frames using trgmii on 40 MHz XTAL MT7621 net: dsa: mt7530: fix network connectivity with multiple CPU ports net: dsa: mt7530: split-off common parts from mt7531_setup net: dsa: mv88e6xxx: add mv88e6321 rsvd2cpu net: dsa: qca8k: remove assignment of an_enabled in pcs_get_state() net: enetc: check the index of the SFI rather than the handle net: ethernet: stmmac: dwmac-rk: fix optional phy regulator handling net: ethernet: stmmac: dwmac-rk: rework optional clock handling netfilter: conntrack: fix wrong ct->timeout value netfilter: conntrack: restore IPS_CONFIRMED out of nf_conntrack_hash_check_insert() netfilter: keep conntrack reference until IPsecv6 policy checks are done netfilter: nf_tables: deactivate anonymous set from preparation phase netfilter: nf_tables: don't write table validation state without mutex net: ipv6: fix skb hash for some RST packets netlink: Use copy_to_user() for optval in netlink_getsockopt(). net/mlx5e: Don't clone flow post action attributes second time net/mlx5e: Fix error flow in representor failing to add vport rx rule net/mlx5e: Nullify table pointer when failing to create net/mlx5: E-switch, Create per vport table based on devlink encap mode net/mlx5: E-switch, Don't destroy indirect table in split rule net/mlx5: Remove "recovery" arg from mlx5_load_one() function net/mlx5: Suspend auxiliary devices only in case of PCI device suspend net/mlx5: Use recovery timeout on sync reset flow net/ncsi: clear Tx enable mode when handling a Config required AEN net/packet: annotate accesses to po->xmit net/packet: convert po->auxdata to an atomic flag net/packet: convert po->origdev to an atomic flag net: pcs: xpcs: remove double-read of link state when using AN net: qrtr: correct types of trace event parameters net/sched: act_mirred: Add carrier check net/sched: cls_api: remove block_cb from driver_list before freeing net/sched: sch_fq: fix integer overflow of "credit" net: sfp: add quirk enabling 2500Base-x for HG MXPD-483II net: stmmac:fix system hang when setting up tag_8021q VLAN for DSA ports net: sunhme: Fix uninitialized return code net: wwan: t7xx: do not compile with -Werror NFSv4.1: Always send a RECLAIM_COMPLETE after establishing lease nilfs2: do not write dirty data after degenerating to read-only nilfs2: fix infinite loop in nilfs_mdt_get_block() nvme-fcloop: fix "inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage" nvme: fix async event trace event nvmet: fix error handling in nvmet_execute_identify_cns_cs_ns() nvmet: fix Identify Active Namespace ID list handling nvmet: fix Identify Controller handling nvmet: fix Identify Namespace handling nvmet: fix I/O Command Set specific Identify Controller octeontx2-af: Allow mkex profile without DMAC and add L2M/L2B header extraction support octeontx2-af: Fix depth of cam and mem table. octeontx2-af: Fix issues with NPC field hash extract octeontx2-af: Fix start and end bit for scan config octeontx2-af: mcs: Config parser to skip 8B header octeontx2-af: mcs: Fix MCS block interrupt octeontx2-af: mcs: Write TCAM_DATA and TCAM_MASK registers at once octeontx2-af: Secure APR table update with the lock octeontx2-af: Skip PFs if not enabled octeontx2-af: Update/Fix NPC field hash extract feature octeontx2-pf: Add additional checks while configuring ucast/bcast/mcast rules octeontx2-pf: Disable packet I/O for graceful exit octeontx2-pf: Increase the size of dmac filter flows octeontx2-pf: mcs: Clear stats before freeing resource octeontx2-pf: mcs: Do not reset PN while updating secy octeontx2-pf: mcs: Fix NULL pointer dereferences octeontx2-pf: mcs: Fix shared counters logic octeontx2-pf: mcs: Match macsec ethertype along with DMAC octeontx2-vf: Detach LF resources on probe cleanup octeonxt2-af: mcs: Fix per port bypass config of: Fix modalias string generation openrisc: Properly store r31 to pt_regs on unhandled exceptions parisc: Ensure page alignment in flush functions parisc: Fix argument pointer in real64_call_asm() PCI/EDR: Clear Device Status after EDR error recovery PCI: imx6: Install the fault handler only on compatible match PCI: kirin: Select REGMAP_MMIO PCI: pciehp: Fix AB-BA deadlock between reset_lock and device_lock PCI/PM: Extend D3hot delay for NVIDIA HDA controllers PCI: qcom: Fix the incorrect register usage in v2.7.0 config perf/arm-cmn: Fix port detection for CMN-700 perf/arm-cmn: Move overlapping wp_combine field perf auxtrace: Fix address filter entire kernel size perf/core: Fix hardlockup failure caused by perf throttle perf cs-etm: Fix timeless decode mode detection perf ftrace: Make system wide the default target for latency subcommand perf intel-pt: Fix CYC timestamps after standalone CBR perf map: Delete two variable initialisations before null pointer checks in sort__sym_from_cmp() perf pmu: zfree() expects a pointer to a pointer to zero it after freeing its contents perf record: Fix "read LOST count failed" msg with sample read perf scripts intel-pt-events.py: Fix IPC output for Python 2 perf stat: Separate bperf from bpf_profiler perf symbols: Fix return incorrect build_id size in elf_read_build_id() perf tests record_offcpu.sh: Fix redirection of stderr to stdin perf tracepoint: Fix memory leak in is_valid_tracepoint() perf vendor events power9: Remove UTF-8 characters from JSON files perf vendor events s390: Remove UTF-8 characters from JSON file perf/x86/core: Zero @lbr instead of returning -1 in x86_perf_get_lbr() stub phy: qcom-qmp-pcie: sc8180x PCIe PHY has 2 lanes phy: tegra: xusb: Add missing tegra_xusb_port_unregister for usb2_port and ulpi_port phy: ti: j721e-wiz: Fix unreachable code in wiz_mode_select() pinctrl-bcm2835.c: fix race condition when setting gpio dir pinctrl: qcom: lpass-lpi: set output value before enabling output pinctrl: ralink: reintroduce ralink,rt2880-pinmux compatible string pinctrl: renesas: r8a779a0: Remove incorrect AVB[01] pinmux configuration pinctrl: renesas: r8a779f0: Fix tsn1_avtp_pps pin group pinctrl: renesas: r8a779g0: Fix ERROROUTC function names pinctrl: renesas: r8a779g0: Fix Group 4/5 pin functions pinctrl: renesas: r8a779g0: Fix Group 6/7 pin functions platform/chrome: cros_typec_switch: Add missing fwnode_handle_put() platform/x86/amd: pmc: Don't dump data after resume from s0i3 on picasso platform/x86/amd: pmc: Don't try to read SMU version on Picasso platform/x86/amd: pmc: Hide SMU version and program attributes for Picasso platform/x86/amd: pmc: Move idlemask check into `amd_pmc_idlemask_read` platform/x86/amd: pmc: Move out of BIOS SMN pair for STB init platform/x86/amd: pmc: Utilize SMN index 0 for driver probe platform/x86/amd/pmf: Move out of BIOS SMN pair for driver probe platform/x86/intel-uncore-freq: Return error on write frequency platform/x86: thinkpad_acpi: Add missing T14s Gen1 type to s2idle quirk list platform/x86: thinkpad_acpi: Add profile force ability platform/x86: thinkpad_acpi: Fix platform profiles on T490 platform/x86: touchscreen_dmi: Add info for the Dexp Ursus KX210i platform/x86: touchscreen_dmi: Add upside-down quirk for GDIX1002 ts on the Juno Tablet PM: hibernate: Do not get block device exclusively in test_resume mode PM: hibernate: Turn snapshot_test into global variable posix-cpu-timers: Implement the missing timer_wait_running callback powerpc/boot: Fix boot wrapper code generation with CONFIG_POWER10_CPU powerpc/mpc512x: fix resource printk format warning powerpc/perf: Properly detect mpc7450 family powerpc/rtas: use memmove for potentially overlapping buffer copy powerpc/sysdev/tsi108: fix resource printk format warnings powerpc/wii: fix resource printk format warnings power: supply: generic-adc-battery: fix unit scaling power: supply: rk817: Fix low SOC bugs proc_sysctl: enhance documentation proc_sysctl: update docs for __register_sysctl_table() pstore: Revert pmsg_lock back to a normal mutex pwm: meson: Fix axg ao mux parents pwm: meson: Fix g12a ao clk81 name pwm: mtk-disp: Configure double buffering before reading in .get_state() pwm: mtk-disp: Disable shadow registers before setting backlight values qcom: llcc/edac: Support polling mode for ECC handling r8152: fix flow control issue of RTL8156A r8152: fix the poor throughput for 2.5G devices r8152: move setting r8153b_rx_agg_chg_indicate() rcu: Avoid stack overflow due to __rcu_irq_enter_check_tick() being kprobe-ed rcu: Fix missing TICK_DEP_MASK_RCU_EXP dependency check RDMA/cm: Trace icm_send_rej event before the cm state is reset RDMA/erdma: Use fixed hardware page size RDMA/mlx4: Prevent shift wrapping in set_user_sq_size() RDMA/mlx5: Check pcie_relaxed_ordering_enabled() in UMR RDMA/mlx5: Fix flow counter query via DEVX RDMA/mlx5: Use correct device num_ports when modify DC RDMA/rdmavt: Delete unnecessary NULL check RDMA/siw: Fix potential page_array out of range access RDMA/siw: Remove namespace check from siw_netdev_event() RDMA/srpt: Add a check for valid 'mad_agent' pointer regulator: core: Avoid lockdep reports when resolving supplies regulator: core: Consistently set mutex_owner when using ww_mutex_lock_slow() regulator: core: Shorten off-on-delay-us for always-on/boot-on by time since booted regulator: stm32-pwr: fix of_iomap leak reiserfs: Add security prefix to xattr name in reiserfs_security_write() relayfs: fix out-of-bounds access in relay_file_read remoteproc: imx_dsp_rproc: Call of_node_put() on iteration error remoteproc: imx_rproc: Call of_node_put() on iteration error remoteproc: rcar_rproc: Call of_node_put() on iteration error remoteproc: st: Call of_node_put() on iteration error remoteproc: stm32: Call of_node_put() on iteration error Revert "Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work" Revert "net/mlx5: Remove "recovery" arg from mlx5_load_one() function" Revert "objtool: Support addition to set CFA base" Revert "ubifs: dirty_cow_znode: Fix memleak in error handling path" ring-buffer: Ensure proper resetting of atomic variables in ring_buffer_reset_online_cpus ring-buffer: Sync IRQ works before buffer destruction RISC-V: Align SBI probe implementation with spec riscv: compat_syscall_table: Fixup compile warning riscv: Fix ptdump when KASAN is enabled RISC-V: fix taking the text_mutex twice during sifive errata patching RISC-V: mm: Enable huge page support to kernel_page_present() function riscv: mm: remove redundant parameter of create_fdt_early_page_table RISC-V: take text_mutex during alternative patching rpmsg: glink: Propagate TX failures in intentless mode as well rtc: k3: handle errors while enabling wake irq rtc: meson-vrtc: Use ktime_get_real_ts64() to get the current time rtc: omap: include header for omap_rtc_power_off_program prototype rxrpc: Fix hard call timeout units s390/dasd: fix hanging blockdevice after request requeue sched/fair: Fix inaccurate tally of ttwu_move_affine sched/rt: Fix bad task migration for rt tasks scm: fix MSG_CTRUNC setting condition for SO_PASSSEC scripts/gdb: bail early if there are no clocks scripts/gdb: bail early if there are no generic PD scripts/gdb: fix lx-timerlist for Python3 scripts/gdb: raise error with reduced debugging information scsi: hisi_sas: Handle NCQ error when IPTT is valid scsi: libsas: Add sas_ata_device_link_abort() scsi: libsas: Grab the ATA port lock in sas_ata_device_link_abort() scsi: lpfc: Fix ioremap issues in lpfc_sli4_pci_mem_setup() scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS scsi: mpi3mr: Handle soft reset in progress fault code (0xF002) scsi: qedi: Fix use after free bug in qedi_remove() scsi: target: core: Change the way target_xcopy_do_work() sets restiction on max I/O scsi: target: Fix multiple LUN_RESET handling scsi: target: iscsit: Fix TAS handling during conn cleanup scsi: target: iscsit: isert: Alloc per conn cmd counter scsi: target: iscsit: Stop/wait on cmds during conn close scsi: target: Move cmd counter allocation scsi: target: Move sess cmd counter to new struct scsi: target: Pass in cmd counter to use during cmd setup selftests/bpf: Fix a fd leak in an error path in network_helpers.c selftests/bpf: Fix leaked bpf_link in get_stackid_cannot_attach selftests/bpf: Use read_perf_max_sample_freq() in perf_event_stackmap selftests/bpf: Wait for receive in cg_storage_multi test selftests mount: Fix mount_setattr_test builds failed selftests: netfilter: fix libmnl pkg-config usage selftests/powerpc/pmu: Fix sample field check in the mmcra_thresh_marked_sample_test selftests/resctrl: Allow ->setup() to return errors selftests/resctrl: Check for return value after write_schemata() selftests/resctrl: Move ->setup() call outside of test specific branches selftests/resctrl: Return NULL if malloc_and_init_memory() did not alloc mem selftests: srv6: make srv6_end_dt46_l3vpn_test more robust selftests: xsk: Deflakify STATS_RX_DROPPED test selftests: xsk: Disable IPv6 on VETH1 selftests: xsk: Use correct UMEM size in testapp_invalid_desc selinux: ensure av_permissions.h is built when needed selinux: fix Makefile dependencies of flask.h serial: 8250: Add missing wakeup event reporting serial: 8250_bcm7271: Fix arbitration handling serial: 8250: Fix serial8250_tx_empty() race with DMA Tx serial: fix TIOCSRS485 locking serial: max310x: fix IO data corruption in batched operations serial: stm32: Re-assert RTS/DE GPIO in RS485 mode only if more data are transmitted sfc: Fix module EEPROM reporting for QSFP modules sfc (gcc13): synchronize ef100_enqueue_skb()'s return type sh: init: use OF_EARLY_FLATTREE for early init sh: math-emu: fix macro redefined warning sh: mcount.S: fix build error when PRINTK is not enabled sh: nmi_debug: fix return value of __setup handler sh: sq: Fix incorrect element size for allocating bitmap buffer sit: update dev->needed_headroom in ipip6_tunnel_bind_dev() SMB3: Add missing locks to protect deferred close file list SMB3: Close deferred file handles in case of handle lease break smb3: fix problem remounting a share after shutdown SMB3: force unmount was failing to close deferred close files soc: bcm: brcmstb: biuctrl: fix of_iomap leak soc: qcom: llcc: Do not create EDAC platform device on SDM845 soc: renesas: renesas-soc: Release 'chipid' from ioremap() soc: ti: pm33xx: Fix refcount leak in am33xx_pm_probe soundwire: cadence: rename sdw_cdns_dai_dma_data as sdw_cdns_dai_runtime soundwire: intel: don't save hw_params for use in prepare soundwire: qcom: correct setting ignore bit on v1.5.1 spi: atmel-quadspi: Don't leak clk enable count in pm resume spi: atmel-quadspi: Free resources even if runtime resume failed in .remove() spi: cadence-quadspi: fix suspend-resume implementations spi: cadence-quadspi: use macro DEFINE_SIMPLE_DEV_PM_OPS spi: fsl-cpm: Use 16 bit mode for large transfers with even size spi: fsl-spi: Fix CPM/QE mode Litte Endian spi: fsl-spi: Re-organise transfer bits_per_word adaptation spi: imx: Don't skip cleanup in remove's error path spi: qup: Don't skip cleanup in remove's error path spmi: Add a check for remove callback when removing a SPMI driver staging: iio: resolver: ads1210: fix config mode staging: rtl8192e: Fix W_DISABLE# does not work after stop/start SUNRPC: remove the maximum number of retries in call_bind_status swiotlb: fix debugfs reporting of reserved memory pools swiotlb: relocate PageHighMem test away from rmem_swiotlb_setup swsmu/amdgpu_smu: Fix the wrong if-condition sysctl: clarify register_sysctl_init() base directory order tcp: fix skb_copy_ubufs() vs BIG TCP tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp. thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe thunderbolt: Use correct type in tb_port_is_clx_enabled() prototype tick/common: Align tick period with the HZ tick. tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem timekeeping: Fix references to nonexistent ktime_get_fast_ns() tools: bpftool: Remove invalid \' json escape tools/x86/kcpuid: Fix avx512bw and avx512lvl fields in Fn00000007 tpm: Add !tpm_amd_is_rng_defective() to the hwrng_unregister() call site tpm, tpm: Implement usage counter for locality tpm, tpm_tis: Claim locality before writing interrupt registers tpm, tpm_tis: Claim locality before writing TPM_INT_ENABLE register tpm, tpm_tis: Claim locality when interrupts are reenabled on resume tpm, tpm_tis: Disable interrupts if tpm_tis_probe_irq() failed tpm, tpm_tis: Do not skip reset of original interrupt vector tracing: Error if a trace event has an array for a __field() tracing: Fix permissions for the buffer_percent file tracing/user_events: Ensure write index cannot be negative tty: Prevent writing chars during tcsetattr TCSADRAIN/FLUSH tty: serial: fsl_lpuart: adjust buffer length to the intended size uapi/linux/const.h: prefer ISO-friendly __typeof__ ubi: Fix return value overwrite issue in try_write_vid_and_data() ubifs: Fix memleak when insert_old_idx() failed ubifs: Fix memory leak in do_rename ubifs: Free memory for tmpfile name usb: chipidea: fix missing goto in `ci_hdrc_probe` USB: dwc3: fix runtime pm imbalance on probe errors USB: dwc3: fix runtime pm imbalance on unbind usb: dwc3: gadget: Change condition for processing suspend event USB: dwc3: gadget: drop dead hibernation code usb: dwc3: gadget: Execute gadget stop after halting the controller usb: dwc3: gadget: Stall and restart EP0 if host is unresponsive usb: gadget: tegra-xudc: Fix crash in vbus_draw usb: gadget: udc: core: Invoke usb_gadget_connect only when started usb: gadget: udc: core: Prevent redundant calls to pullup usb: gadget: udc: renesas_usb3: Fix use after free bug in renesas_usb3_remove due to race condition usb: host: xhci-rcar: remove leftover quirk handling usb: mtu3: fix kernel panic at qmu transfer done irq handler vhost_vdpa: fix unmap process in no-batch mode virt/coco/sev-guest: Double-buffer messages virtio_net: suppress cpu stall when free_unused_bufs virtio_ring: don't update event idx on get_buf vlan: partially enable SIOCSHWTSTAMP in container vmci_host: fix a race condition in vmci_host_poll() causing GPF watchdog: dw_wdt: Fix the error handling path of dw_wdt_drv_probe() wifi: ath11k: fix deinitialization of firmware resources wifi: ath11k: fix SAC bug on peer addition with sta band migration wifi: ath11k: fix writing to unintended memory region wifi: ath11k: reduce the MHI timeout to 20s wifi: ath11k: synchronize ath11k_mac_he_gi_to_nl80211_he_gi()'s return type wifi: ath11k: Use platform_get_irq() to get the interrupt wifi: ath5k: fix an off by one check in ath5k_eeprom_read_freq_list() wifi: ath5k: Use platform_get_irq() to get the interrupt wifi: ath6kl: minor fix for allocation size wifi: ath6kl: reduce WARN to dev_dbg() in callback wifi: ath9k: hif_usb: fix memory leak of remain_skbs wifi: brcmfmac: support CQM RSSI notification with older firmware wifi: iwlwifi: debug: fix crash in __iwl_err() wifi: iwlwifi: fix duplicate entry in iwl_dev_info_table wifi: iwlwifi: fw: fix memory leak in debugfs wifi: iwlwifi: fw: move memset before early return wifi: iwlwifi: make the loop for card preparation effective wifi: iwlwifi: mvm: check firmware response size wifi: iwlwifi: mvm: don't drop unencrypted MCAST frames wifi: iwlwifi: mvm: don't set CHECKSUM_COMPLETE for unsupported protocols wifi: iwlwifi: mvm: initialize seq variable wifi: iwlwifi: trans: don't trigger d3 interrupt twice wifi: iwlwifi: yoyo: Fix possible division by zero wifi: iwlwifi: yoyo: skip dump correctly on hw error wifi: mt76: add flexible polling wait-interval support wifi: mt76: add missing locking to protect against concurrent rx/status calls wifi: mt76: connac: fix txd multicast rate setting wifi: mt76: fix 6GHz high channel not be scanned wifi: mt76: handle failure of vzalloc in mt7615_coredump_work wifi: mt76: mt7915: expose device tree match table wifi: mt76: mt7921e: fix probe timeout after reboot wifi: mt76: mt7921e: improve reliability of dma reset wifi: mt76: mt7921e: Set memory space enable in PCI_COMMAND if unset wifi: mt76: mt7921e: stop chip reset worker in unregister hook wifi: mt76: mt7921: fix missing unwind goto in `mt7921u_probe` wifi: rt2x00: Fix memory leak when handling surveys wifi: rtl8xxxu: RTL8192EU always needs full init wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_reg() wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_rfreg() wifi: rtw88: mac: Return the original error from rtw_mac_power_switch() wifi: rtw88: mac: Return the original error from rtw_pwr_seq_parser() wifi: rtw88: rtw8821c: Fix rfe_option field width wifi: rtw89: fix potential race condition between napi_init and napi_enable wireguard: timers: cast enum limits members to int in prints workqueue: Fix hung time report of worker pools writeback: fix call of incorrect macro x86/amd_nb: Add PCI ID for family 19h model 78h x86/apic: Fix atomic update of offset in reserve_eilvt_offset() x86/cpu: Add model number for Intel Arrow Lake processor x86: fix clear_user_rep_good() exception handling annotation x86/hyperv: Block root partition functionality in a Confidential VM x86/ioapic: Don't return 0 from arch_dynirq_lower_bound() x86/MCE/AMD: Use an u64 for bank_map x86/retbleed: Fix return thunk alignment xfs: don't consider future format versions valid xhci: fix debugfs register accesses while suspended xsk: Fix unaligned descriptor validation Updated by kernel-updater-bot (https://abf.io/mikhailnov/kernel-updater-bot)
2023-05-17 23:10:02 +03:00
%define rpmrel 1
%define fullrpmrel %{rpmrel}
2013-11-16 00:27:01 +04:00
%define rpmtag %{disttag}
2013-11-16 00:27:01 +04:00
# Version defines
%define kversion %{kernelversion}.%{patchlevel}.%{sublevel}
%define kverrel %{kversion}-%{fullrpmrel}
2022-12-14 02:55:50 +00:00
%define tar_ver %{kernelversion}.%{patchlevel}
2013-11-16 00:27:01 +04:00
%ifarch %{ix86}
%define arch_suffix i686
2020-11-26 21:09:27 +00:00
%endif
%ifarch %{x86_64}
%define arch_suffix x86_64
%endif
2020-11-26 21:09:27 +00:00
%ifarch aarch64
%define arch_suffix arm64
2020-11-26 21:09:27 +00:00
%endif
%define buildrpmrel %{fullrpmrel}%{rpmtag}-%{arch_suffix}
%define buildrel %{kversion}-%{buildrpmrel}
2013-11-16 00:27:01 +04:00
# Add not only the build time generated key to the trusted keyring,
# but also add public keys of private ROSA's keys
%bcond_without additional_keys
2021-05-22 12:08:22 +03:00
# Fail the build after "make oldconfig" to edit kernel configs
%bcond_with fail
2021-05-22 12:08:22 +03:00
2020-03-13 20:35:12 +03:00
# User Mode Linux, https://habr.com/ru/company/itsumma/blog/459558/
# Not buildable on aarch64, rarely needed in general
%bcond_with uml
# "Nickel" is a special brand for certified distros
2022-03-17 10:23:10 +03:00
%if %{mdvver} == 201905
%bcond_without nickel
# Require kernel modules to be signed
%bcond_without oblig_signed_modules
%else
%bcond_with nickel
%bcond_with oblig_signed_modules
%endif
# Build binary out-of-tree kernel modules (experimental)
%bcond_without binary_extra_modules
# Sign kernel modules with GOST key (experimental)
%bcond_without gost_sign
2020-07-29 10:59:41 +03:00
%bcond_with ccache
%bcond_without flow_abi
%bcond_without aufs
Update from 5.4 to 5.10.1 - rediffed most of patches, renamed files to easify further rediffs by git format-patch - thanks to abf.io/kernels_stable for some patches for kernel 5.9 - using unofficial patch for AUFS for kernel 5.10, there may be issues with stability, try to avoid using AUFS (I would have dropped it, but MagOS wants it very much) - pulled updates of AltHa from http://git.altlinux.org/gears/k/kernel-image-un-def.git?p=kernel-image-un-def.git;a=history;f=security/altha;hb=HEAD - dropped patch adding sysctl to disable disk-based swap because it has not found any usage - bpf is now in the list of LSM modules (ability to write LSM modules as BPF programs), enable it, it is potentially useful and does not seem to be harmful - keeping kernel libc headers in older kernels for now - dropped building external virtualbox guest modules because they are now included into the mainline kernel - offed building VirtualBox host modules, I do not know how to keep these binary modules in sync with userspace part of VirtualBox, users can continue using dkms - offed building kernel-shredder because it is not buildable on kernel 5.10 - updated rtl8821ce and added a dependency from its "blacklist" subpackage here (see https://github.com/tomaspinho/rtl8821ce/commit/14b536f0) It is not clear if kernel 5.10 will receive an LTS support longer than 5.4 or not. Support until Dec, 2022 is declared right now at https://www.kernel.org/category/releases.html for 5.10 and until Dec, 2025 - for 5.4. TODO: update kernel configs TODO: solve problems with version of virtualbox host modules not matching version of the virtualbox package after virtualbox is updated but kernel is not rebuilt
2020-12-20 18:49:24 +03:00
# 1. VirtualBox is for x86_32 and x86_64 only
# 2. I do not know how to solve the problem that userspace part of VirtualBox
# will be updated ahead of these binary modules. So just off building them.
Update from 5.4 to 5.10.1 - rediffed most of patches, renamed files to easify further rediffs by git format-patch - thanks to abf.io/kernels_stable for some patches for kernel 5.9 - using unofficial patch for AUFS for kernel 5.10, there may be issues with stability, try to avoid using AUFS (I would have dropped it, but MagOS wants it very much) - pulled updates of AltHa from http://git.altlinux.org/gears/k/kernel-image-un-def.git?p=kernel-image-un-def.git;a=history;f=security/altha;hb=HEAD - dropped patch adding sysctl to disable disk-based swap because it has not found any usage - bpf is now in the list of LSM modules (ability to write LSM modules as BPF programs), enable it, it is potentially useful and does not seem to be harmful - keeping kernel libc headers in older kernels for now - dropped building external virtualbox guest modules because they are now included into the mainline kernel - offed building VirtualBox host modules, I do not know how to keep these binary modules in sync with userspace part of VirtualBox, users can continue using dkms - offed building kernel-shredder because it is not buildable on kernel 5.10 - updated rtl8821ce and added a dependency from its "blacklist" subpackage here (see https://github.com/tomaspinho/rtl8821ce/commit/14b536f0) It is not clear if kernel 5.10 will receive an LTS support longer than 5.4 or not. Support until Dec, 2022 is declared right now at https://www.kernel.org/category/releases.html for 5.10 and until Dec, 2025 - for 5.4. TODO: update kernel configs TODO: solve problems with version of virtualbox host modules not matching version of the virtualbox package after virtualbox is updated but kernel is not rebuilt
2020-12-20 18:49:24 +03:00
%bcond_with binary_virtualbox_host
# Shredder-kernel works only on x86_64, makes manipulations with syscalls tables,
Update from 5.4 to 5.10.1 - rediffed most of patches, renamed files to easify further rediffs by git format-patch - thanks to abf.io/kernels_stable for some patches for kernel 5.9 - using unofficial patch for AUFS for kernel 5.10, there may be issues with stability, try to avoid using AUFS (I would have dropped it, but MagOS wants it very much) - pulled updates of AltHa from http://git.altlinux.org/gears/k/kernel-image-un-def.git?p=kernel-image-un-def.git;a=history;f=security/altha;hb=HEAD - dropped patch adding sysctl to disable disk-based swap because it has not found any usage - bpf is now in the list of LSM modules (ability to write LSM modules as BPF programs), enable it, it is potentially useful and does not seem to be harmful - keeping kernel libc headers in older kernels for now - dropped building external virtualbox guest modules because they are now included into the mainline kernel - offed building VirtualBox host modules, I do not know how to keep these binary modules in sync with userspace part of VirtualBox, users can continue using dkms - offed building kernel-shredder because it is not buildable on kernel 5.10 - updated rtl8821ce and added a dependency from its "blacklist" subpackage here (see https://github.com/tomaspinho/rtl8821ce/commit/14b536f0) It is not clear if kernel 5.10 will receive an LTS support longer than 5.4 or not. Support until Dec, 2022 is declared right now at https://www.kernel.org/category/releases.html for 5.10 and until Dec, 2025 - for 5.4. TODO: update kernel configs TODO: solve problems with version of virtualbox host modules not matching version of the virtualbox package after virtualbox is updated but kernel is not rebuilt
2020-12-20 18:49:24 +03:00
# loading/unloading of the module failed sometimes on kernel 5.4
# and it has not been adapted for kernel 5.10 (is not buildable)
%bcond_with binary_shredder
# Compress modules with zstd (zstd is good compression and fast decompression)
%bcond_without compress_modules
# Spend more resources on compression, but make resulting size less;
# decompression speed will not be affected, but more memory will be required
# which should not a problem here (performance penalty from allocating more
# memory should not be big, I think, but I did not benchmark).
%define zstd_cmd zstd -q --format=zstd --ultra -22
# Kernel flavour
%if %{with nickel}
%define flavour nickel
%else
%define flavour generic
%endif
2013-11-16 00:27:01 +04:00
# The full kernel version
%define kver_full %{kversion}-%{flavour}-%{buildrpmrel}
2021-10-10 16:12:22 +03:00
############################################################################
%define top_dir_name kernel-%{_arch}
%define build_dir ${RPM_BUILD_DIR}/%{top_dir_name}
%define src_dir %{build_dir}/linux-%{tar_ver}
# Common target directories
%define _bootdir /boot
%define _modulesdir /lib/modules
%define devel_root /usr/src/linux-%{kver_full}
%define initrd_path %{_bootdir}/initrd-%{kver_full}.img
# Directories needed for building
%define temp_root %{build_dir}/temp-root
%define temp_boot %{temp_root}%{_bootdir}
%define temp_modules %{temp_root}%{_modulesdir}
%define temp_devel_root %{temp_root}%{devel_root}
# Directories definition needed for installing
%define target_boot %{buildroot}%{_bootdir}
%define target_modules %{buildroot}%{_modulesdir}
2019-11-11 17:47:53 +03:00
# Manual control of creating and deleting keys
# "rnd" is "random" and means that a key pair is generated at build time
# and is not saved anywhere.
%define certs_dir_rnd certs
%define certs_signing_key_priv_rnd %{certs_dir_rnd}/signing_key_priv.key
%define certs_signing_der %{certs_dir_rnd}/signing_key.x509
%define certs_key_config_rnd %{certs_dir_rnd}/x509.genkey
%define certs_public_keys %{certs_dir_rnd}/public.pem
%define certs_verify_tmp %{certs_dir_rnd}/verify.tmp
%define kernel_files %{_builddir}/kernel_files.list
%define debuginfo_files %{_builddir}/debuginfo_files.list
# Append list of files generate by find-debuginfo.sh to our custom list
%global __debug_install_post \
%{__debug_install_post} \
cat %{_builddir}/debugfiles.list >> %{debuginfo_files}
############################################################################
2013-11-16 00:27:01 +04:00
%if %{with binary_extra_modules}
# global instead of define to speed up things
2022-10-16 00:19:07 +03:00
%global nvidia_340_j %{kroko_j -p kernel-source-nvidia340 -r 340}
%global nvidia_340_n %{kroko_n -p kernel-source-nvidia340 -r 340}
%global nvidia_390_j %{kroko_j -p kernel-source-nvidia390 -r 390}
%global nvidia_390_n %{kroko_n -p kernel-source-nvidia390 -r 390}
%global nvidia_470_j %{kroko_j -p kernel-source-nvidia470 -r 470}
%global nvidia_470_n %{kroko_n -p kernel-source-nvidia470 -r 470}
%global nvidia_510_j %{kroko_j -p kernel-source-nvidia510 -r 510}
%global nvidia_510_n %{kroko_n -p kernel-source-nvidia510 -r 510}
%global nvidia_515_j %{kroko_j -p kernel-source-nvidia515 -r 515}
%global nvidia_515_n %{kroko_n -p kernel-source-nvidia515 -r 515}
2022-10-14 18:16:15 +03:00
%global nvidia_520_j %{kroko_j -p kernel-source-nvidia520 -r 520}
%global nvidia_520_n %{kroko_n -p kernel-source-nvidia520 -r 520}
2023-03-13 23:05:12 +03:00
%global nvidia_525_j %{kroko_j -p kernel-source-nvidia525 -r 525}
%global nvidia_525_n %{kroko_n -p kernel-source-nvidia525 -r 525}
2021-10-10 16:12:22 +03:00
# For SRPM stage when auto-krokodil-rpm-macros is not installed
%{?!kroko_mk_release:%global kroko_mk_release(n:) %{nil}}
%{?!kroko_req_modules_in_kernel:%global kroko_req_modules_in_kernel(j:n:p:) %{nil}}
# global, not define, must be expanded only once
%global kroko_release %kroko_mk_release -n kernel-%{kernelversion}.%{patchlevel}-%{flavour}
%endif #/binary_extra_modules
2021-10-10 16:12:22 +03:00
############################################################################
# Buildtime flags
2013-11-16 00:27:01 +04:00
%{?_without_doc: %global build_doc 0}
%{?_without_devel: %global build_devel 0}
%{?_without_debug: %global build_debug 0}
%{?_without_perf: %global build_perf 0}
%{?_without_cpupower: %global build_cpupower 0}
%{?_with_doc: %global build_doc 1}
%{?_with_devel: %global build_devel 1}
%{?_with_debug: %global build_debug 1}
%{?_with_perf: %global build_perf 1}
%{?_with_cpupower: %global build_cpupower 1}
%{?_with_modxz: %global build_modxz 0}
2013-11-16 00:27:01 +04:00
# Build defines
%define build_doc 1
%define build_devel 1
%define build_debug 1
# Build kernel-headers package
%define build_headers 0
# Build perf and cpupower tools
%define build_perf 1
%define build_cpupower 1
2020-07-29 10:59:41 +03:00
%if %{with compress_modules}
%if %{with modxz}
%define kmod_suffix .xz
%else
%define kmod_suffix .zst
%endif
%else
%define kmod_suffix %{nil}
%endif
%if !%{build_debug}
# Disable debug rpms.
%define _enable_debug_packages %{nil}
%define debug_package %{nil}
%endif
# End of user definitions
# http://nickdesaulniers.github.io/blog/2018/06/02/speeding-up-linux-kernel-builds-with-ccache/
%if %{with ccache}
%define kmake KBUILD_BUILD_TIMESTAMP='' %make CC='ccache gcc' ARCH="%{arch_type}"
2013-11-16 00:27:01 +04:00
%else
%define kmake %make CC='gcc' ARCH="%{arch_type}"
2013-11-16 00:27:01 +04:00
%endif
# There are places where parallel make don't work
%define smake make
2020-11-26 18:48:55 +00:00
%ifarch %{ix86} %{x86_64}
%define arch_type x86
2020-11-26 18:48:55 +00:00
%endif
%ifarch aarch64
%define arch_type arm64
2020-11-26 18:48:55 +00:00
%endif
2013-11-16 00:27:01 +04:00
# Parallelize xargs invocations on smp machines
%define kxargs xargs %([ -z "$RPM_BUILD_NCPUS" ] \\\
2013-11-16 00:27:01 +04:00
&& RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\
[ "$RPM_BUILD_NCPUS" -gt 1 ] && echo "-P $RPM_BUILD_NCPUS")
#
# SRC RPM description
#
Summary: The Linux kernel
Name: kernel-%{kernelversion}.%{patchlevel}-%{flavour}
Version: %{kversion}
Release: %{fullrpmrel}
License: GPLv2
Group: System/Kernel and hardware
Url: https://www.kernel.org
2013-11-16 00:27:01 +04:00
ExclusiveArch: %{x86_64} %{ix86} aarch64
2013-11-16 00:27:01 +04:00
####################################################################
#
# Sources
#
#Source0: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/linux-%{tar_ver}.tar.xz
2022-12-14 18:46:00 +03:00
Source0: https://github.com/torvalds/linux/archive/refs/tags/v6.1.tar.gz?/linux-6.1.tar.gz
Revisited the set of kernel flavours and the generation of config files Until now, the build system for the kernel supported a number of flavours: nrj and non-nrj ones, desktop-, laptop-, server- and netbook-oriented, etc. It turned out over the years, however, that our users mostly need the following: * a kernel to use on the desktops (home and office use) with reasonable default settings for performance and responsiveness; * a kernel for laptops, with a bit more emphasis on power consumption. Other variants were rarely used. We also did not have enough time to properly support all these. Besides, the kernels for ARM and other architectures need a somewhat different build process than for x86. So, they are better off to be in separate ABF projects, even if they are needed. No signs of ROSA on ARM yet, btw. So, I kept only nrj-desktop and nrj-laptop flavours and only x86. Non-PAE systems also seem to be rare now, so I enabled PAE by default for the 32-bit kernels. Non-PAE kernels are no longer built. If they are needed, we may use a separate git branch or an ABF project for that. To simplify debugging, maintenance and experimentation with the kernel builds further, I revisited the process of preparing the kernel configuration files. The goal is to get rid of a separate git repo with the default configs (kernel-patches-and-configs) and keep everything in this project. The default config files are now kept here. For x86_64: * kernel-x86_64.config contains the options for both nrj-desktop and nrn-laptop flavours; * kernel-{nrj_desktop|nrj_laptop}-x86_64.config files contain the flavour-specific options. This way, it is easier to track which config options changed when, easier to experiment with the custom configs and so on. The kernel will be built with debug info if rpmbuild is called with "--with debug".
2016-07-21 13:56:25 +03:00
2013-11-16 00:27:01 +04:00
# This is for disabling *config, mrproper, prepare, scripts on -devel rpms
# Needed, because otherwise the -devel won't build correctly.
#Source2: 0001-disable-mrproper-prepare-scripts-configs-in-devel-rp.patch
2013-11-16 00:27:01 +04:00
# TODO: Make a separate package "ksobirator" and BR it
2020-07-29 10:59:41 +03:00
# after testing these macros properly
Source3: macros.ksobirator
%{load:%{SOURCE3}}
Revisited the set of kernel flavours and the generation of config files Until now, the build system for the kernel supported a number of flavours: nrj and non-nrj ones, desktop-, laptop-, server- and netbook-oriented, etc. It turned out over the years, however, that our users mostly need the following: * a kernel to use on the desktops (home and office use) with reasonable default settings for performance and responsiveness; * a kernel for laptops, with a bit more emphasis on power consumption. Other variants were rarely used. We also did not have enough time to properly support all these. Besides, the kernels for ARM and other architectures need a somewhat different build process than for x86. So, they are better off to be in separate ABF projects, even if they are needed. No signs of ROSA on ARM yet, btw. So, I kept only nrj-desktop and nrj-laptop flavours and only x86. Non-PAE systems also seem to be rare now, so I enabled PAE by default for the 32-bit kernels. Non-PAE kernels are no longer built. If they are needed, we may use a separate git branch or an ABF project for that. To simplify debugging, maintenance and experimentation with the kernel builds further, I revisited the process of preparing the kernel configuration files. The goal is to get rid of a separate git repo with the default configs (kernel-patches-and-configs) and keep everything in this project. The default config files are now kept here. For x86_64: * kernel-x86_64.config contains the options for both nrj-desktop and nrn-laptop flavours; * kernel-{nrj_desktop|nrj_laptop}-x86_64.config files contain the flavour-specific options. This way, it is easier to track which config options changed when, easier to experiment with the custom configs and so on. The kernel will be built with debug info if rpmbuild is called with "--with debug".
2016-07-21 13:56:25 +03:00
# Kernel configuration files.
Source111: kernel-x86_64.config
Source112: kernel-i686.config
Source113: kernel-arm64.config
2013-11-16 00:27:01 +04:00
# Cpupower: the service, the config, etc.
Source50: cpupower.service
Source51: cpupower.config
Source52: cpupower-start.sh
Source53: cpupower.path
2013-11-16 00:27:01 +04:00
Source80: kernel.rpmlintrc
# Additional keys that can be used to sign kernel modules
# Generated by https://abf.io/soft/kernel-keys
# Source201..206: public_key_GOST_*.pem
%{expand:%(for i in `seq 1 6`; do echo "Source$((200+${i})): public_key_GOST_${i}.pem"; done)}
# Source207..212: public_key_RSA_*.pem
%{expand:%(for i in `seq 7 12`; do echo "Source$((200+${i})): public_key_RSA_${i}.pem"; done)}
####################################################################
Revisited the set of kernel flavours and the generation of config files Until now, the build system for the kernel supported a number of flavours: nrj and non-nrj ones, desktop-, laptop-, server- and netbook-oriented, etc. It turned out over the years, however, that our users mostly need the following: * a kernel to use on the desktops (home and office use) with reasonable default settings for performance and responsiveness; * a kernel for laptops, with a bit more emphasis on power consumption. Other variants were rarely used. We also did not have enough time to properly support all these. Besides, the kernels for ARM and other architectures need a somewhat different build process than for x86. So, they are better off to be in separate ABF projects, even if they are needed. No signs of ROSA on ARM yet, btw. So, I kept only nrj-desktop and nrj-laptop flavours and only x86. Non-PAE systems also seem to be rare now, so I enabled PAE by default for the 32-bit kernels. Non-PAE kernels are no longer built. If they are needed, we may use a separate git branch or an ABF project for that. To simplify debugging, maintenance and experimentation with the kernel builds further, I revisited the process of preparing the kernel configuration files. The goal is to get rid of a separate git repo with the default configs (kernel-patches-and-configs) and keep everything in this project. The default config files are now kept here. For x86_64: * kernel-x86_64.config contains the options for both nrj-desktop and nrn-laptop flavours; * kernel-{nrj_desktop|nrj_laptop}-x86_64.config files contain the flavour-specific options. This way, it is easier to track which config options changed when, easier to experiment with the custom configs and so on. The kernel will be built with debug info if rpmbuild is called with "--with debug".
2016-07-21 13:56:25 +03:00
2013-11-16 00:27:01 +04:00
# Patches
# The patch to make kernel x.y.z from x.y.0.
2023-01-04 17:13:03 +00:00
Patch1: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/patch-%{kversion}.xz
2013-11-16 00:27:01 +04:00
# ROSA-specific patches
Patch2: kernel-5.10.93-fix-perf-build.patch
2023-03-13 21:59:13 +03:00
# Keep in sync with patch in r8168
Patch3: 0001-r8169-remove-devices-supported-by-r8168.patch
# Perf docs are built after all the kernels. To validate the xml files
# generated during that process, xmlto tries to get DTD files from the Net.
# If it fails, the whole build fails, which is unfortunate. Let us avoid
# this.
Patch101: 0001-perf-skip-xmlto-validation.patch
# http://bugs.rosalinux.ru/show_bug.cgi?id=6235
# http://bugs.rosalinux.ru/show_bug.cgi?id=6459
Patch102: 0001-audit-make-it-less-verbose.patch
%if %{with aufs}
# https://github.com/sfjro/aufs-linux/compare/830b3c68c1fb1e9176028d02ef86f3cf76aa2476..834d19786ccd95485e397fc0f36ef7d6c3b04c95.diff
Patch103: aufs-6.1.diff
%endif
2019-12-07 21:57:55 +03:00
2020-06-18 18:38:30 +03:00
# For kmod() generator of RPM Provides
# Changes version of aacraid.ko
Patch111: 0001-Remove-RPM-illegal-chars-from-module-version.patch
2020-06-18 18:38:30 +03:00
# AltHa LSM Module
# https://www.altlinux.org/AltHa
# http://git.altlinux.org/gears/k/kernel-image-un-def.git
# TODO: known problem: https://bugzilla.altlinux.org/show_bug.cgi?id=38225
2022-03-17 10:23:10 +03:00
Patch201: 0001-altha.patch
2020-03-20 11:27:35 +03:00
# sent to upstream, https://patchwork.kernel.org/patch/11446123/
Patch302: 0001-sign-file-full-functionality-with-modern-LibreSSL.patch
# Allow to off modules signature check dynamically
Patch306: 0001-ROSA-ima-allow-to-off-modules-signature-check-dynami.patch
2013-11-16 00:27:01 +04:00
# Support sound on notebook Aquarius NS685U R11 (https://linux-hardware.org/?probe=339dc3db60)
Patch0401: 0401-ASoC-es8316-Use-increased-GPIO-debounce-time.patch
Patch0402: 0402-ASoC-Intel-sof_es8336-Add-more-quirks-for-Russian-ha.patch
Patch0403: 0403-ASoC-Intel-sof_es8336-Add-a-quirk-for-Aquarius-NS685.patch
Add support of Baikal-M SoCs Information about config values was taken from: From 804820df7bcb3d53a33ecd074b1eac277e938f24 Mon Sep 17 00:00:00 2001 From: Alexey Sheplyakov <asheplyakov@altlinux.org> Date: Thu, 4 Feb 2021 19:35:14 +0400 Subject: [PATCH] config-aarch64: adjusted for Baikal-M (MBM1.0 board) * DW_APB_TIMER=y, DW_APB_TIMER_OF=y: SoC clocks * SERIAL_8250_DW=y: serial console * I2C_DESIGNWARE_CORE=y, I2C_DESIGNWARE_PLATFORM=y: BMC (board management controller) and RTC (Real Time Clock) are connected via I2C. * GPIO_DWAPB=y: device (PCIe, PHY, etc) reset/configuration * RTC_DRV_PCF2127=y: RTC compiled in so the kernel automatically sets the system time from the hardware clock * TP_BMC=y: amongst other things handles the power button * DRM_BAIKAL_VDU=m, DRM_BAIKAL_HDMI=m: video unit and HDMI transmitter * CMA_SIZE_MBYTES=256: video display unit and GPU use system RAM, hence CMA should reserve enough (contiguous) memory. Note: CMA reserves memory during very early init, hence the size has to be hard-coded into CONFIG * MALI_MIDGARD=m: GPU driver, kernel side of proprietary mali blob. Note: kernel mode code is GPLv2, so it's fine to distribute it. * SENSORS_BT1_PVT=m: hardware temperature/voltage sensors * PCI_BAIKAL=m: PCIe root complex. Compiled as a module since takes ages (60 seconds or so) to probe the hardware. If compiled in substantially increases the boot time, and machine is completely unresponsive during probing PCIe. When built as a module probing executes concurrently with other boot activities (unless booting from a PCIe device) * STMMAC_ETH=m, STMMAC_PLATFORM=m, DWMAC_BAIKAL=m: Ethernet driver
2021-06-22 16:12:03 +03:00
# Support Baikal-M (aarch64)
# From https://github.com/asheplyakov/linux/commits/baikalm-6.1.y
Patch0600: 0600-clk-added-Baikal-M-clock-management-unit-driver.patch
Patch0601: 0601-cpufreq-dt-don-t-load-on-Baikal-M-SoC.patch
Patch0602: 0602-serial-8250_dw-verify-clock-rate-in-dw8250_set_termi.patch
Patch0603: 0603-usb-dwc3-of-simple-added-compatible-string-for-Baika.patch
Patch0604: 0604-dw-pcie-refuse-to-load-on-Baikal-M-with-recent-firmw.patch
Patch0605: 0605-arm64-Enable-armv8-based-Baikal-M-SoC-support.patch
Patch0606: 0606-efi-rtc-avoid-calling-efi.get_time-on-Baikal-M-SoC.patch
Patch0607: 0607-arm64-stub-fixed-secondary-cores-boot-on-Baikal-M-So.patch
Patch0608: 0608-pm-disable-all-sleep-states-on-Baikal-M-based-boards.patch
Patch0609: 0609-net-fwnode_get_phy_id-consider-all-compatible-string.patch
Patch0610: 0610-net-stmmac-inital-support-of-Baikal-T1-M-SoCs-GMAC.patch
Patch0611: 0611-dt-bindings-dwmac-Add-bindings-for-Baikal-T1-M-SoCs.patch
Patch0612: 0612-net-dwmac-baikal-added-compatible-strings.patch
Patch0613: 0613-Added-TF307-TF306-board-management-controller-driver.patch
Patch0614: 0614-hwmon-bt1-pvt-access-registers-via-pvt_-readl-writel.patch
Patch0615: 0615-hwmon-bt1-pvt-define-pvt_readl-pvt_writel-for-Baikal.patch
Patch0616: 0616-hwmon-bt1-pvt-adjusted-probing-for-Baikal-M-SoC.patch
Patch0617: 0617-hwmon-bt1-pvt-added-compatible-baikal-pvt.patch
Patch0618: 0618-drm-new-bridge-driver-stdp4028.patch
Patch0619: 0619-drm-added-Baikal-M-SoC-video-display-unit-driver.patch
Patch0620: 0620-drm-bridge-dw-hdmi-support-ahb-audio-hw-revision-0x2.patch
Patch0621: 0621-dt-bindings-dw-hdmi-added-ahb-audio-regshift.patch
Patch0622: 0622-drm-bridge-dw-hdmi-force-ahb-audio-register-offset-f.patch
Patch0623: 0623-drm-panfrost-forcibly-set-dma-coherent-on-Baikal-M.patch
Patch0624: 0624-drm-panfrost-disable-devfreq-on-Baikal-M.patch
Patch0625: 0625-ALSA-hda-Baikal-M-support.patch
Patch0626: 0626-PCI-pcie-baikal-driver-for-Baikal-M-with-new-firmwar.patch
Patch0627: 0627-BROKEN-dwc-i2s-support-Baikal-M-SoC.patch
Patch0628: 0628-input-added-TF307-serio-PS-2-emulator-driver.patch
Patch0629: 0629-input-new-driver-serdev-serio.patch
Patch0630: 0630-phy-realtek-leds-configuration-for-RTL8211f.patch
Patch0631: 0631-arm64-defconfig-for-Baikal-M-testing.patch
2020-03-09 10:50:38 +03:00
# Disable AutoReq
AutoReq: 0
2020-03-09 10:50:38 +03:00
# but keep autoprov for kmod(xxx)
AutoProv: 1
2013-11-16 00:27:01 +04:00
BuildRequires: bash
BuildRequires: bc
BuildRequires: binutils
BuildRequires: bison
BuildRequires: bzip2
%if %{with ccache}
BuildRequires: ccache
%endif
BuildRequires: flex
BuildRequires: gcc
# ./scripts/mkcompile_h
BuildRequires: hostname
BuildRequires: kmod-compat
2019-09-24 11:56:44 +03:00
BuildRequires: rsync
%if %{with compress_modules}
%if %{with modxz}
BuildRequires: xz
%else
BuildRequires: zstd
%endif
%endif
2022-03-17 10:23:10 +03:00
%ifarch aarch64
BuildRequires: uboot-tools
%endif
BuildRequires: kmod-devel
BuildRequires: pkgconfig(libelf)
2020-11-26 21:21:05 +00:00
%ifarch x86_64 aarch64
BuildRequires: numa-devel
%endif
%if %{with uml}
BuildRequires: vde-devel
%endif
# For power tools
BuildRequires: pkgconfig(ncurses)
# For perf, cpufreq and all other tools
# For cpupower
%if %{build_cpupower}
BuildRequires: pciutils-devel
%endif
# For perf
%if %{build_perf}
BuildRequires: asciidoc
BuildRequires: perl-ExtUtils-Embed
BuildRequires: python3
BuildRequires: xmlto
BuildRequires: audit-devel
BuildRequires: binutils-devel
BuildRequires: elfutils-devel
BuildRequires: java-1.8.0-openjdk-devel
BuildRequires: libunwind-devel
BuildRequires: newt-devel
BuildRequires: perl-devel
BuildRequires: pkgconfig(babeltrace)
BuildRequires: pkgconfig(libcap)
BuildRequires: pkgconfig(libcrypto)
BuildRequires: pkgconfig(python3)
BuildRequires: pkgconfig(slang)
BuildRequires: pkgconfig(zlib)
BuildRequires: python3-setuptools
%endif
2019-12-01 02:03:15 +03:00
# (To generate keys)
2019-12-07 21:57:55 +03:00
# LibreSSL has GOST support without editing openssl.cnf
# or dlopen()-ing external library
BuildRequires: libressl
BuildRequires: libressl-devel
# To verify signatures (find, xargs, hexdump)
BuildRequires: findutils
BuildRequires: util-linux
2019-11-11 17:47:53 +03:00
2020-07-29 10:59:41 +03:00
%if %{with binary_extra_modules}
BuildRequires: auto-krokodil-rpm-macros
BuildRequires: kernel-source-rtl8821cu
2022-10-15 14:00:47 +03:00
BuildRequires: kernel-source-rtl88x2bu
2022-10-15 15:03:47 +03:00
BuildRequires: kernel-source-rtl8812au
2022-10-15 15:39:08 +03:00
BuildRequires: kernel-source-rtl8821au
2022-10-15 15:52:51 +03:00
BuildRequires: kernel-source-rtl8814au
2022-10-15 18:02:04 +03:00
BuildRequires: kernel-source-rtk_btusb
2022-10-18 18:44:54 +03:00
BuildRequires: kernel-source-rtl8188gu
BuildRequires: kernel-source-rtl8723du
BuildRequires: kernel-source-rtl8852au
BuildRequires: kernel-source-rtl8192du
BuildRequires: kernel-source-rtw89
2023-03-13 21:59:13 +03:00
BuildRequires: kernel-source-r8168
2022-10-16 00:19:07 +03:00
# Broadcom-wl and nvidia contain a proprietary blob which is only for x86
2021-10-07 00:45:03 +03:00
%ifarch %{ix86} %{x86_64}
BuildRequires: kernel-source-broadcom-wl
2022-10-16 00:19:07 +03:00
BuildRequires: kernel-source-nvidia340
BuildRequires: kernel-source-nvidia390
2021-10-07 00:45:03 +03:00
%endif
# Nvidia470+ are x86_64 only (maybe aarch64 will be also packaged later)
%ifarch %{x86_64}
BuildRequires: kernel-source-nvidia470
BuildRequires: kernel-source-nvidia510
BuildRequires: kernel-source-nvidia515
2022-10-14 18:16:15 +03:00
BuildRequires: kernel-source-nvidia520
2023-03-13 23:05:12 +03:00
BuildRequires: kernel-source-nvidia525
%endif
BuildRequires: kernel-source-tripso
BuildRequires: kernel-source-ipt-so
Update from 5.4 to 5.10.1 - rediffed most of patches, renamed files to easify further rediffs by git format-patch - thanks to abf.io/kernels_stable for some patches for kernel 5.9 - using unofficial patch for AUFS for kernel 5.10, there may be issues with stability, try to avoid using AUFS (I would have dropped it, but MagOS wants it very much) - pulled updates of AltHa from http://git.altlinux.org/gears/k/kernel-image-un-def.git?p=kernel-image-un-def.git;a=history;f=security/altha;hb=HEAD - dropped patch adding sysctl to disable disk-based swap because it has not found any usage - bpf is now in the list of LSM modules (ability to write LSM modules as BPF programs), enable it, it is potentially useful and does not seem to be harmful - keeping kernel libc headers in older kernels for now - dropped building external virtualbox guest modules because they are now included into the mainline kernel - offed building VirtualBox host modules, I do not know how to keep these binary modules in sync with userspace part of VirtualBox, users can continue using dkms - offed building kernel-shredder because it is not buildable on kernel 5.10 - updated rtl8821ce and added a dependency from its "blacklist" subpackage here (see https://github.com/tomaspinho/rtl8821ce/commit/14b536f0) It is not clear if kernel 5.10 will receive an LTS support longer than 5.4 or not. Support until Dec, 2022 is declared right now at https://www.kernel.org/category/releases.html for 5.10 and until Dec, 2025 - for 5.4. TODO: update kernel configs TODO: solve problems with version of virtualbox host modules not matching version of the virtualbox package after virtualbox is updated but kernel is not rebuilt
2020-12-20 18:49:24 +03:00
%if %{with binary_virtualbox_host}
BuildRequires: kernel-source-virtualbox
2020-11-26 18:58:01 +00:00
%endif
BuildRequires: kernel-source-v4l2loopback
Update from 5.4 to 5.10.1 - rediffed most of patches, renamed files to easify further rediffs by git format-patch - thanks to abf.io/kernels_stable for some patches for kernel 5.9 - using unofficial patch for AUFS for kernel 5.10, there may be issues with stability, try to avoid using AUFS (I would have dropped it, but MagOS wants it very much) - pulled updates of AltHa from http://git.altlinux.org/gears/k/kernel-image-un-def.git?p=kernel-image-un-def.git;a=history;f=security/altha;hb=HEAD - dropped patch adding sysctl to disable disk-based swap because it has not found any usage - bpf is now in the list of LSM modules (ability to write LSM modules as BPF programs), enable it, it is potentially useful and does not seem to be harmful - keeping kernel libc headers in older kernels for now - dropped building external virtualbox guest modules because they are now included into the mainline kernel - offed building VirtualBox host modules, I do not know how to keep these binary modules in sync with userspace part of VirtualBox, users can continue using dkms - offed building kernel-shredder because it is not buildable on kernel 5.10 - updated rtl8821ce and added a dependency from its "blacklist" subpackage here (see https://github.com/tomaspinho/rtl8821ce/commit/14b536f0) It is not clear if kernel 5.10 will receive an LTS support longer than 5.4 or not. Support until Dec, 2022 is declared right now at https://www.kernel.org/category/releases.html for 5.10 and until Dec, 2025 - for 5.4. TODO: update kernel configs TODO: solve problems with version of virtualbox host modules not matching version of the virtualbox package after virtualbox is updated but kernel is not rebuilt
2020-12-20 18:49:24 +03:00
%if %{with binary_shredder}
BuildRequires: kernel-source-shredder-kernel
%endif
# Rosa-test-suite is maintained in certified branches only nlkm, memfreetest, pcietest
%if %{with nickel}
BuildRequires: kernel-source-rosa-test-suite
2020-07-29 10:59:41 +03:00
%endif
%endif
# End of with binary_extra_modules
Provides: kernel = %{EVRD}
Provides: kernel-%{flavour} = %{EVRD}
2021-10-10 16:12:22 +03:00
Provides: kernel-abi(%{kver_full}) = %{EVRD}
# Dnf config-manager --dump | grep installonly
Provides: installonlypkg(kernel) = %{EVRD}.image
Provides: installonlypkg(kernel) = %{EVRD}.modules
# >= because of added support of zstd-compressed modules
Requires(posttrans): dracut >= 053-0.git5eb736.5
Requires(posttrans): kmod >= 28-3
# Need for rebuild dkms drivers
Recommends: (%{name}-devel%{_isa} = %{EVRD} if dkms)
2023-03-13 21:59:13 +03:00
# not blob, support of devices supported by r8168 is removed from r8169
Recommends: %{ksob_module_pkg_name r8168} = %{EVRD}
# Usually necessary, but sometimes user may want to not install them
Recommends: crda
Recommends: linux-firmware
Recommends: microcode
# Set BFQ as default scheduler for HDDs
# https://www.phoronix.com/scan.php?page=article&item=linux-50hdd-io
Recommends: udev-rules-ioschedulers
Recommends: wireless-regdb
%if %{with flow_abi}
Requires: kernel-%{kernelversion}.%{patchlevel}-rosa-flow-abi
2013-11-16 00:27:01 +04:00
%endif
%ifarch %{ix86}
Conflicts: arch(x86_64)
2013-11-16 00:27:01 +04:00
%endif
2016-07-21 15:58:13 +03:00
# XXX temporary hack to upgrade from kernel-headers 1:5.4
%if %{build_headers}
Recommends: kernel-headers = %{EVRD}
%endif
2021-10-10 16:12:22 +03:00
%if %{with binary_extra_modules}
%ifarch %{ix86} %{x86_64}
2022-10-16 00:19:07 +03:00
%kroko_req_modules_in_kernel -j %{nvidia_340_j} -n %{nvidia_340_n} -p %{kver_full}
%kroko_req_modules_in_kernel -j %{nvidia_390_j} -n %{nvidia_390_n} -p %{kver_full}
2021-10-10 16:12:22 +03:00
%endif
%ifarch %{x86_64}
%kroko_req_modules_in_kernel -j %{nvidia_470_j} -n %{nvidia_470_n} -p %{kver_full}
%kroko_req_modules_in_kernel -j %{nvidia_510_j} -n %{nvidia_510_n} -p %{kver_full}
%kroko_req_modules_in_kernel -j %{nvidia_515_j} -n %{nvidia_515_n} -p %{kver_full}
2022-10-14 18:16:15 +03:00
%kroko_req_modules_in_kernel -j %{nvidia_520_j} -n %{nvidia_520_n} -p %{kver_full}
2023-03-13 23:05:12 +03:00
%kroko_req_modules_in_kernel -j %{nvidia_525_j} -n %{nvidia_525_n} -p %{kver_full}
%endif
2021-10-10 16:12:22 +03:00
%endif
%description
The kernel package contains the Linux kernel (vmlinuz), the core of your
operating system. The kernel handles the basic functions
of the operating system: memory allocation, process allocation, device
input and output, etc. This is a general-purpose kernel.
%posttrans
2022-10-18 23:20:11 +03:00
# update information about modules, useful if kernel-module* packages were
# installed in one transaction with this kernel (%%transfiletrigger* will run later)
depmod -a %{kver_full}
# We always regenerate initrd here, even if it already exists. This may
# happen if kernel-<...>-devel is installed first, triggers rebuild of
# DKMS modules and some of these request remaking of initrd. The initrd
# that is created then will be non-functional. But when the user installs
# kernel-<...> package, that defunct initrd will be replaced with a working
# one here.
dracut -f %{initrd_path} %{kver_full}
2013-11-16 00:27:01 +04:00
# File triggers from grub packages will handle this.
#/usr/sbin/update-grub2
2013-11-16 00:27:01 +04:00
%transfiletriggerin -- %{_modulesdir}/%{kver_full}
# Detect all modules, including ones inside kernel-module* packages
if grep -qE '/.*\.ko(|\..*)' ; then
depmod -a %{kver_full}
fi
%transfiletriggerpostun -- %{_modulesdir}/%{kver_full}
# Handle e.g. removal of kernel-module* packages
# List of files is not available here (?)
depmod -a %{kver_full}
%files -f %{kernel_files}
%{_bootdir}/System.map-%{kver_full}
%{_bootdir}/symvers-%{kver_full}.*
%{_bootdir}/config-%{kver_full}
%{_bootdir}/vmlinuz-%{kver_full}
%ghost %{initrd_path}
%ifarch %{armx}
%{_bootdir}/dtb-%{kver_full}
%endif
%{_modulesdir}/%{kver_full}/modules.*
%if %{with flow_abi}
%{_modulesdir}/%{kver_full}/kernel/zzz-%{kernelversion}.%{patchlevel}-rosa-flow-abi
%endif
%if %{with binary_extra_modules}
2021-10-03 16:35:09 +03:00
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8821cu.ko%{kmod_suffix}
2022-10-15 14:00:47 +03:00
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/88x2bu.ko%{kmod_suffix}
2022-10-15 15:03:47 +03:00
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8812au.ko%{kmod_suffix}
2022-10-15 15:39:08 +03:00
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8821au.ko%{kmod_suffix}
2022-10-15 15:52:51 +03:00
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8814au.ko%{kmod_suffix}
2022-10-15 18:02:04 +03:00
%exclude %{_modulesdir}/%{kver_full}/kernel/drivers/bluetooth/rtk_btusb.ko%{kmod_suffix}
2022-10-18 18:44:54 +03:00
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8188gu.ko%{kmod_suffix}
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8723du.ko%{kmod_suffix}
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8852au.ko%{kmod_suffix}
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8192du.ko%{kmod_suffix}
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/realtek/rtw89p
2023-03-13 21:59:13 +03:00
%exclude %{_modulesdir}/%{kver_full}/kernel/drivers/net/ethernet/realtek/r8168.ko%{kmod_suffix}
2021-10-07 00:45:03 +03:00
%ifarch %{ix86} %{x86_64}
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/wl.ko%{kmod_suffix}
%endif
%if %{with binary_shredder}
%exclude %{_modulesdir}/%{kver_full}/kernel/extra/shredder-kernel.ko%{kmod_suffix}
%endif
2021-10-16 20:11:50 +03:00
%exclude %{_modulesdir}/%{kver_full}/kernel/drivers/media/v4l2loopback.ko%{kmod_suffix}
%if %{with binary_virtualbox_host}
# vbox host modules may be built here (vboxnetflt vboxnetadp vboxdrv vboxpci)
# vbox guest modules are in the mainline kernel now (vboxvideo vboxguest vboxsf)
%exclude %{_modulesdir}/%{kver_full}/kernel/misc/vbox*.ko%{kmod_suffix}
%endif
%exclude %{_modulesdir}/%{kver_full}/kernel/net/xt_TRIPSO.ko%{kmod_suffix}
%exclude %{_modulesdir}/%{kver_full}/kernel/net/xt_so.ko%{kmod_suffix}
%if %{with nickel}
%exclude %{_modulesdir}/%{kver_full}/kernel/misc/nlkm.ko%{kmod_suffix}
%exclude %{_modulesdir}/%{kver_full}/kernel/misc/memfreetest.ko%{kmod_suffix}
%exclude %{_modulesdir}/%{kver_full}/kernel/misc/pcietest.ko%{kmod_suffix}
%endif
%endif
# End of with binary_extra_modules
############################################################################
%if %{build_devel}
%package devel
Summary: Development files for %{name}
Group: Development/Kernel
Requires: glibc-devel
Requires: ncurses-devel
Requires: gcc
Requires: make
Requires: perl
2022-06-09 17:28:02 +03:00
Requires: %{name} = %{EVRD}
Provides: kernel-devel = %{kverrel}
Provides: kernel-%{flavour}-devel = %{kverrel}
Provides: installonlypkg(kernel) = %{EVRD}.devel
# Have dkms updated/installed before the kernel, scriptlet here checks if dkms exists
OrderWithRequires(post): dkms
# Try to remove the main kernel package after removing this devel package
# because there may be dkms-built kernel modules inside directories owned
# by the main package, try to get rid of such files before RPM starts to
# deal with directories owned in the main package
# (note that the devel package does not explicitly require the main package,
# there is no need to do so, a kernel module may be built using just the devel part).
OrderWithRequires(postun): %{name} = %{EVRD}
%ifarch %{ix86}
Conflicts: arch(x86_64)
2013-11-16 00:27:01 +04:00
%endif
%description devel
This package contains the kernel files (headers and build tools) that should
be enough to build additional drivers for use with %{name}.
%post devel
2020-08-03 21:07:52 +03:00
if command -v dkms_autoinstaller >/dev/null 2>&1; then
dkms_autoinstaller start %{kver_full}
fi
%preun devel
# If any DKMS modules with REMAKE_INITRD=yes in their configs have been
# uninstalled, initrd has been regenerated for the given kernel. However,
# the kernel itself might have been uninstalled before, so that (defunct)
# initrd image files would be left behind. Remove them if the kernel itself
# is no longer installed. Should work if they are uninstalled in parallel
# too.
if ! test -f /boot/vmlinuz-%{kver_full}; then
rm -f /boot/initrd-%{kver_full}.img
rm -f /boot/initrd-%{kver_full}_old.img
fi
if ! command -v dkms >/dev/null 2>&1; then exit 0; fi
for ii in $(/usr/sbin/dkms status -k %{kver_full} | awk '{ print $1 $2; }'); do
mod=$(echo $ii | awk -v FS=',' '{ print $1; }')
ver=$(echo $ii | awk -v FS=',' '{ print $2; }')
/usr/sbin/dkms --rpm_safe_upgrade uninstall -m $mod -v $ver -k %{kver_full} || :
done
%files devel
Fix list of devel files New files appeared, there is not much sense to list all files explicitly here... DEBUG: Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/kernel-6.1-generic-6.1.0-0.rc4.1.aarch64 DEBUG: error: Installed (but unpackaged) file(s) found: DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/arch/loongarch/Kbuild DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/arch/loongarch/Kconfig DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/arch/loongarch/Kconfig.debug DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/arch/loongarch/Makefile DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/arch/loongarch/boot/Makefile DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/arch/loongarch/boot/dts/Makefile DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/arch/loongarch/include/asm/Kbuild DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/arch/loongarch/include/uapi/asm/Kbuild DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/arch/loongarch/kernel/Makefile DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/arch/loongarch/lib/Makefile DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/arch/loongarch/mm/Makefile DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/arch/loongarch/net/Makefile DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/arch/loongarch/pci/Makefile DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/arch/loongarch/vdso/Makefile DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/include/rv/automata.h DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/include/rv/da_monitor.h DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/include/rv/instrumentation.h DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/include/ufs/ufs.h DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/include/ufs/ufs_quirks.h DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/include/ufs/ufshcd.h DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/include/ufs/ufshci.h DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/include/ufs/unipro.h DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/io_uring/Makefile DEBUG: /usr/src/linux-6.1.0-generic-0.rc4.1rosa2021.1-arm64/rust/Makefile
2022-11-07 18:19:22 +03:00
%{devel_root}
%{_modulesdir}/%{kver_full}/build
%{_modulesdir}/%{kver_full}/source
%endif
# End of build_devel
############################################################################
%if %{build_debug}
%package debuginfo
Summary: Debuginfo for %{name}
Group: Development/Debug
Provides: kernel-debug = %{kverrel}
AutoReq: 0
AutoProv: 0
%description debuginfo
This package contains the files with debuginfo for %{name}.
%files debuginfo -f %{debuginfo_files}
%{_bootdir}/vmlinux-%{kver_full}
%endif
# End of build_debug
############################################################################
%if %{build_doc}
%package doc
Summary: Various documentation bits found in the kernel source
Group: Documentation
BuildArch: noarch
2013-11-16 00:27:01 +04:00
%description doc
This package contains documentation files from the kernel source.
%files doc
%doc linux-%{tar_ver}/Documentation/*
2013-11-16 00:27:01 +04:00
%endif
############################################################################
2013-11-16 00:27:01 +04:00
%if %{build_perf}
%package -n perf
Summary: perf tool and the supporting documentation
Group: System/Kernel and hardware
%description -n perf
The package contains perf tool and the supporting documentation.
%files -n perf
%{_bindir}/perf
%ifarch x86_64
%{_bindir}/perf-read-vdso32
2013-11-16 00:27:01 +04:00
%endif
%{_bindir}/trace
%{_includedir}/perf/perf_dlfilter.h
%dir %{_libexecdir}/perf-core
%dir %{_libdir}/traceevent
%dir %{_libdir}/traceevent/plugins
%{_libdir}/libperf-jvmti.so
%{_libdir}/traceevent/plugins/*
%{_libexecdir}/perf-core/*
%{_mandir}/man[1-8]/perf*
%{_sysconfdir}/bash_completion.d/perf
%{_datadir}/perf-core/strace/groups/*
%{_datadir}/doc/perf-tip/*.txt
/usr/lib/perf/examples/bpf/*
/usr/lib/perf/include/bpf/*
%endif
############################################################################
2013-11-16 00:27:01 +04:00
%if %{build_cpupower}
%package -n cpupower
Summary: The cpupower tools
2013-11-16 00:27:01 +04:00
Group: System/Kernel and hardware
%description -n cpupower
The cpupower tools.
2013-11-16 00:27:01 +04:00
%post -n cpupower
if [ $1 -ge 0 ]; then
# Do not enable/disable cpupower.service directly, because it should start
# when cpupower.path triggers it.
/bin/systemctl enable cpupower.path >/dev/null 2>&1 || :
/bin/systemctl start cpupower.path >/dev/null 2>&1 || :
2014-04-01 15:25:39 +04:00
fi
2013-11-16 00:27:01 +04:00
%preun -n cpupower
2014-04-01 15:25:39 +04:00
if [ $1 -eq 0 ]; then
/bin/systemctl --no-reload disable cpupower.path > /dev/null 2>&1 || :
/bin/systemctl stop cpupower.path > /dev/null 2>&1 || :
2014-04-01 15:25:39 +04:00
fi
2013-11-16 00:27:01 +04:00
%files -n cpupower -f cpupower.lang
%config(noreplace) %{_sysconfdir}/sysconfig/cpupower
%{_bindir}/cpupower
%{_bindir}/cpupower-start.sh
%{_libdir}/libcpupower.so.0
%{_libdir}/libcpupower.so.0.0.1
%{_unitdir}/cpupower.service
%{_unitdir}/cpupower.path
%{_datadir}/bash-completion/completions/cpupower
%{_mandir}/man[1-8]/cpupower*
############################################################################
2013-11-16 00:27:01 +04:00
%package -n cpupower-devel
Summary: Development files for cpupower
2013-11-16 00:27:01 +04:00
Group: Development/Kernel
Requires: cpupower = %{EVRD}
2013-11-16 00:27:01 +04:00
Conflicts: %{_lib}cpufreq-devel
%description -n cpupower-devel
This package contains the development files for cpupower.
%files -n cpupower-devel
%{_libdir}/libcpupower.so
%{_includedir}/cpufreq.h
2020-03-21 12:28:56 +03:00
%{_includedir}/cpuidle.h
2013-11-16 00:27:01 +04:00
%endif
############################################################################
%if %{build_headers}
%package -n kernel-headers
2013-11-16 00:27:01 +04:00
Summary: Linux kernel header files mostly used by your C library
Group: System/Kernel and hardware
Provides: linux-userspace-headers = %{EVRD}
Provides: kernel-release-headers = %{EVRD}
2013-11-16 00:27:01 +04:00
%description -n kernel-headers
2013-11-16 00:27:01 +04:00
C header files from the Linux kernel. The header files define
structures and constants that are needed for building most
standard programs, notably the C library.
This package is not suitable for building kernel modules, you
should use the 'kernel-devel' package instead.
%files -n kernel-headers
2020-03-21 12:28:56 +03:00
%{_includedir}/*
2013-11-16 00:27:01 +04:00
# Don't conflict with cpupower-devel
%if %{build_cpupower}
2020-03-21 12:28:56 +03:00
%exclude %{_includedir}/cpufreq.h
%exclude %{_includedir}/cpuidle.h
2013-11-16 00:27:01 +04:00
%endif
%if %{build_perf}
%exclude %{_includedir}/perf/perf_dlfilter.h
%endif
%endif
2013-11-16 00:27:01 +04:00
############################################################################
2020-03-13 20:35:12 +03:00
%if %{with uml}
%package uml
2020-03-13 20:35:12 +03:00
Summary: User Mode Linux binary
Group: System/Kernel and hardware
Provides: kernel-uml = %{kverrel}
Provides: kernel-uml-%{flavour} = %{kverrel}
Provides: installonlypkg(kernel) = %{EVRD}.uml
2020-03-13 20:35:12 +03:00
%description uml
User Mode Linux binary.
Stripped, debug is in %{name}-debuginfo.
2020-03-13 20:35:12 +03:00
%files uml
2020-03-13 20:35:12 +03:00
%{_bindir}/linux-uml-%{kver_full}
#-----------------------------------------------------------------------------
2020-03-13 20:35:12 +03:00
%package uml-modules
2020-03-13 20:35:12 +03:00
Summary: User Mode Linux (UML) kernel modules
Group: System/Kernel and hardware
Provides: kernel-uml-modules = %{kverrel}
Provides: kernel-uml-modules-%{flavour} = %{kverrel}
Provides: installonlypkg(kernel-module) = %{EVRD}.uml
2020-03-13 20:35:12 +03:00
%description uml-modules
User Mode Linux (UML) kernel modules:
- not compressed;
- not stripped;
- signed.
2020-03-13 20:35:12 +03:00
%files uml-modules
2020-03-13 20:35:12 +03:00
/lib/modules-uml/%{kver_full}
%endif
# End of uml
#-----------------------------------------------------------------------------
2020-07-29 10:59:41 +03:00
###############################
# Extra modules package definitions
2020-07-29 10:59:41 +03:00
%if %{with binary_extra_modules}
2021-10-03 16:35:09 +03:00
%ksob_mk_module_pkg -n 8821cu -s net/wireless
# add "-r rtl88x2bu-blacklist" in 5.18+!!!
%ksob_mk_module_pkg -n 88x2bu -s net/wireless
# "-r xxx-blacklist" was not added for modules bellow because
# blacklisted modules have not appeared in upstream yet
%ksob_mk_module_pkg -n 8812au -s net/wireless
2022-10-15 15:39:08 +03:00
# for RTL8811AU and RTL8821AU
%ksob_mk_module_pkg -n 8821au -s net/wireless
%ksob_mk_module_pkg -n 8814au -s net/wireless
2022-10-15 18:02:04 +03:00
%ksob_mk_module_pkg -n rtk_btusb -s drivers/bluetooth -r rtk_btusb-firmware
2022-10-18 18:44:54 +03:00
%ksob_mk_module_pkg -n 8188gu -s net/wireless
%ksob_mk_module_pkg -n 8723du -s net/wireless
%ksob_mk_module_pkg -n 8852au -s net/wireless
%ksob_mk_module_pkg -n 8192du -s net/wireless
%ksob_mk_modules_pkg -n rtw89 -s net/wireless/realtek/rtw89p
2023-03-13 21:59:13 +03:00
%ksob_mk_module_pkg -n r8168 -s drivers/net/ethernet/realtek
2022-10-18 18:44:54 +03:00
2021-10-07 00:45:03 +03:00
%ifarch %{ix86} %{x86_64}
%ksob_mk_module_pkg -n wl -s net/wireless -r broadcom-wl-aliases
2022-10-16 00:19:07 +03:00
%kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_340_j} -n %{nvidia_340_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix}
2022-09-26 15:32:27 +03:00
%kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_390_j} -n %{nvidia_390_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix}
2021-10-07 00:45:03 +03:00
%endif
%ifarch %{x86_64}
2022-09-26 15:32:27 +03:00
%kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_470_j} -n %{nvidia_470_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix}
%kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_510_j} -n %{nvidia_510_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix}
%kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_515_j} -n %{nvidia_515_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix}
2022-10-14 18:16:15 +03:00
%kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_520_j} -n %{nvidia_520_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix}
2023-03-13 23:05:12 +03:00
%kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_525_j} -n %{nvidia_525_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix}
%endif
2020-07-29 10:59:41 +03:00
%ksob_mk_module_pkg -n xt_TRIPSO -s net -r tripso
%ksob_mk_module_pkg -n xt_so -s net -r ipt-so
2021-10-16 20:11:50 +03:00
%ksob_mk_module_pkg -n v4l2loopback -s drivers/media -r v4l2loopback
2020-07-29 10:59:41 +03:00
Update from 5.4 to 5.10.1 - rediffed most of patches, renamed files to easify further rediffs by git format-patch - thanks to abf.io/kernels_stable for some patches for kernel 5.9 - using unofficial patch for AUFS for kernel 5.10, there may be issues with stability, try to avoid using AUFS (I would have dropped it, but MagOS wants it very much) - pulled updates of AltHa from http://git.altlinux.org/gears/k/kernel-image-un-def.git?p=kernel-image-un-def.git;a=history;f=security/altha;hb=HEAD - dropped patch adding sysctl to disable disk-based swap because it has not found any usage - bpf is now in the list of LSM modules (ability to write LSM modules as BPF programs), enable it, it is potentially useful and does not seem to be harmful - keeping kernel libc headers in older kernels for now - dropped building external virtualbox guest modules because they are now included into the mainline kernel - offed building VirtualBox host modules, I do not know how to keep these binary modules in sync with userspace part of VirtualBox, users can continue using dkms - offed building kernel-shredder because it is not buildable on kernel 5.10 - updated rtl8821ce and added a dependency from its "blacklist" subpackage here (see https://github.com/tomaspinho/rtl8821ce/commit/14b536f0) It is not clear if kernel 5.10 will receive an LTS support longer than 5.4 or not. Support until Dec, 2022 is declared right now at https://www.kernel.org/category/releases.html for 5.10 and until Dec, 2025 - for 5.4. TODO: update kernel configs TODO: solve problems with version of virtualbox host modules not matching version of the virtualbox package after virtualbox is updated but kernel is not rebuilt
2020-12-20 18:49:24 +03:00
%if %{with binary_shredder}
%ksob_mk_module_pkg -n shredder-kernel -s extra -r rosa-shredder-user
%endif
#-----------------------------------------------------------------------------
###############
# Virtualbox host
Update from 5.4 to 5.10.1 - rediffed most of patches, renamed files to easify further rediffs by git format-patch - thanks to abf.io/kernels_stable for some patches for kernel 5.9 - using unofficial patch for AUFS for kernel 5.10, there may be issues with stability, try to avoid using AUFS (I would have dropped it, but MagOS wants it very much) - pulled updates of AltHa from http://git.altlinux.org/gears/k/kernel-image-un-def.git?p=kernel-image-un-def.git;a=history;f=security/altha;hb=HEAD - dropped patch adding sysctl to disable disk-based swap because it has not found any usage - bpf is now in the list of LSM modules (ability to write LSM modules as BPF programs), enable it, it is potentially useful and does not seem to be harmful - keeping kernel libc headers in older kernels for now - dropped building external virtualbox guest modules because they are now included into the mainline kernel - offed building VirtualBox host modules, I do not know how to keep these binary modules in sync with userspace part of VirtualBox, users can continue using dkms - offed building kernel-shredder because it is not buildable on kernel 5.10 - updated rtl8821ce and added a dependency from its "blacklist" subpackage here (see https://github.com/tomaspinho/rtl8821ce/commit/14b536f0) It is not clear if kernel 5.10 will receive an LTS support longer than 5.4 or not. Support until Dec, 2022 is declared right now at https://www.kernel.org/category/releases.html for 5.10 and until Dec, 2025 - for 5.4. TODO: update kernel configs TODO: solve problems with version of virtualbox host modules not matching version of the virtualbox package after virtualbox is updated but kernel is not rebuilt
2020-12-20 18:49:24 +03:00
%if %{with binary_virtualbox_host}
2020-07-29 10:59:41 +03:00
%ksob_mk_module_pkg -n vboxnetflt -s misc
%ksob_mk_module_pkg -n vboxnetadp -s misc
%ksob_mk_module_pkg -n vboxdrv -s misc
%ksob_mk_module_pkg -n vboxpci -s misc
# A package which will pull all those modules
%package -n kernel-modules-virtualbox-host-%{ksob_kernel}
Summary: Meta package to pull VirtualBox host kernel modules for kernel-%{flavour}-%{kernelversion}.%{patchlevel}
Group: System/Kernel and hardware
2023-03-13 21:59:13 +03:00
Requires: %ksob_module_pkg_name vboxnetflt
Requires: %ksob_module_pkg_name vboxnetadp
Requires: %ksob_module_pkg_name vboxdrv
Requires: %ksob_module_pkg_name vboxpci
2020-07-29 10:59:41 +03:00
%description -n kernel-modules-virtualbox-host-%{ksob_kernel}
Meta package to pull VirtualBox host kernel modules for %{name}.
2020-07-29 10:59:41 +03:00
%files -n kernel-modules-virtualbox-host-%{ksob_kernel}
2020-07-29 10:59:41 +03:00
# empty
%endif
#End of ifarch x86
#-----------------------------------------------------------------------------
2020-07-29 10:59:41 +03:00
%if %{with nickel}
%ksob_mk_module_pkg -n nlkm -s misc
%ksob_mk_module_pkg -n memfreetest -s misc
%ksob_mk_module_pkg -n pcietest -s misc
%endif
%endif
# End of binary_extra_modules
2020-07-29 10:59:41 +03:00
#################################################################
%if %{with flow_abi}
%package -n kernel-%{kernelversion}.%{patchlevel}-rosa-flow-abi
Summary: Directory to install third-party binary kernel modules for kernels %{kernelversion}.%{patchlevel}.x
Group: System/Kernel and hardware
%description -n kernel-%{kernelversion}.%{patchlevel}-rosa-flow-abi
This package contains a directory to install third-party binary kernel modules for kernels %{kernelversion}.%{patchlevel}.x.
Some vendors provide binary-only kernel modules. They can put them into /lib/modules/%{kernelversion}.%{patchlevel}-rosa-flow-abi.
kmod tools will find them for kernels 5.4.x of "generic" and "nickel" flavours
but there is no guarantee that these modules will load and work correctly on
newer or older kernels then the ones they were build against.
We call this "flow ABI" because most ABIs are not changed between %{kernelversion}.%{patchlevel}.x releases,
but there are no specific guarantees. ABI may evolve and change.
We highly recommend to use DKMS and build third-party kernel modules from source for every kernel!
This package does nothing, just owns a directory for third-party binary kernel modules.
%files -n kernel-%{kernelversion}.%{patchlevel}-rosa-flow-abi
/lib/modules/%{kernelversion}.%{patchlevel}-rosa-flow-abi
%endif
# End of flow_abi
################################################
2020-03-13 20:35:12 +03:00
2013-11-16 00:27:01 +04:00
%prep
# Avoid accidental merge
%if 0%{?rpm5}
%{error:Package structure is for dnf, not for urpmi!}
%endif
%setup -q -n %{top_dir_name} -c
2020-03-13 20:35:12 +03:00
%if %{with uml}
cp -r %{src_dir} %{src_dir}.uml
%endif
cd %{src_dir}
2013-11-16 00:27:01 +04:00
2020-11-26 18:48:55 +00:00
%autopatch -p1
2013-11-16 00:27:01 +04:00
#
# Setup Begin
#
##################################
# Kernel configuration
echo "Creating the kernel configuration file."
Revisited the set of kernel flavours and the generation of config files Until now, the build system for the kernel supported a number of flavours: nrj and non-nrj ones, desktop-, laptop-, server- and netbook-oriented, etc. It turned out over the years, however, that our users mostly need the following: * a kernel to use on the desktops (home and office use) with reasonable default settings for performance and responsiveness; * a kernel for laptops, with a bit more emphasis on power consumption. Other variants were rarely used. We also did not have enough time to properly support all these. Besides, the kernels for ARM and other architectures need a somewhat different build process than for x86. So, they are better off to be in separate ABF projects, even if they are needed. No signs of ROSA on ARM yet, btw. So, I kept only nrj-desktop and nrj-laptop flavours and only x86. Non-PAE systems also seem to be rare now, so I enabled PAE by default for the 32-bit kernels. Non-PAE kernels are no longer built. If they are needed, we may use a separate git branch or an ABF project for that. To simplify debugging, maintenance and experimentation with the kernel builds further, I revisited the process of preparing the kernel configuration files. The goal is to get rid of a separate git repo with the default configs (kernel-patches-and-configs) and keep everything in this project. The default config files are now kept here. For x86_64: * kernel-x86_64.config contains the options for both nrj-desktop and nrn-laptop flavours; * kernel-{nrj_desktop|nrj_laptop}-x86_64.config files contain the flavour-specific options. This way, it is easier to track which config options changed when, easier to experiment with the custom configs and so on. The kernel will be built with debug info if rpmbuild is called with "--with debug".
2016-07-21 13:56:25 +03:00
# Configs
cp %{SOURCE111} .
cp %{SOURCE112} .
cp %{SOURCE113} .
cp kernel-%{arch_suffix}.config .config
touch %{build_dir}/.config.append
# Get rid of unwanted files
2020-11-26 21:17:21 +00:00
find . -name '*~' -o -name '*.orig' -o -name '*.append' -delete
# Wipe all .gitignore/.get_maintainer.ignore files
2020-11-26 21:17:21 +00:00
find . -name "*.g*ignore" -delete
# Disable debug info if requested (enabled by default)
%if ! %build_debug
sed -i -e '/CONFIG_DEBUG_INFO/d' -e '/CONFIG_GDB_SCRIPTS/d' .config
echo '# CONFIG_DEBUG_INFO is not set' >> %{build_dir}/.config.append
echo '# CONFIG_GDB_SCRIPTS is not set' >> %{build_dir}/.config.append
2013-11-16 00:27:01 +04:00
%endif
sed -i '/CONFIG_MODULE_SIG_FORCE/d' .config
%if %{with oblig_signed_modules}
2019-11-11 17:47:53 +03:00
# Disallow loading not signed modules
# But 0001-ROSA-ima-allow-to-off-modules-signature-check-dynami.patch allows to override this in cmdline
2020-03-13 20:35:12 +03:00
echo CONFIG_MODULE_SIG_FORCE=y >> %{build_dir}/.config.append
%else
2020-03-13 20:35:12 +03:00
echo CONFIG_MODULE_SIG_FORCE=n >> %{build_dir}/.config.append
%endif
sed -i '/CONFIG_MODULE_SIG_KEY/d' .config
2019-12-01 02:03:15 +03:00
# Set path to the key that will be generated later by openssl/libressl
2020-03-13 20:35:12 +03:00
echo CONFIG_MODULE_SIG_KEY=\"%{certs_signing_key_priv_rnd}\" >> %{build_dir}/.config.append
# Set path to one PEM file with all keys that the kernel must trust
sed -i '/CONFIG_SYSTEM_TRUSTED_KEYS/d' .config
2020-03-13 20:35:12 +03:00
echo CONFIG_SYSTEM_TRUSTED_KEYS=\"%{certs_public_keys}\" >> %{build_dir}/.config.append
# Memory wiping
# Introduced in kernel 5.3 by commit 6471384af2a6530696fc0203bafe4de41a23c9ef
# Estimated performance impact is described in the commit
# "Fill newly allocated pages and heap objects with zeroes."
# To enable, add to cmdline: init_on_alloc=1
sed -i '/CONFIG_INIT_ON_ALLOC_DEFAULT_ON/d' .config
echo CONFIG_INIT_ON_ALLOC_DEFAULT_ON=n >> %{build_dir}/.config.append
# "Fill freed pages and heap objects with zeroes"
# To disable, add to cmdline: init_on_free=0
sed -i '/CONFIG_INIT_ON_FREE_DEFAULT_ON/d' .config
%if %{with nickel}
2020-03-13 20:35:12 +03:00
echo CONFIG_INIT_ON_FREE_DEFAULT_ON=y >> %{build_dir}/.config.append
%else
echo CONFIG_INIT_ON_FREE_DEFAULT_ON=n >> %{build_dir}/.config.append
%endif
# Here enabling only either only init_on_free or only init_on_alloc
# makes sense; init_on_alloc is not about protecting information.
2020-03-13 20:35:12 +03:00
# To load kernel keyring in UML
for i in STREEBOG SHA1 SHA256 SHA512 ECRDSA RSA ; do
if ! grep -q "^CONFIG_CRYPTO_${i}=y$" .config; then
sed -i "/CONFIG_CRYPTO_${i}/d" .config
echo "CONFIG_CRYPTO_${i}=y" >> %{build_dir}/.config.append
fi
done
2020-03-13 20:35:12 +03:00
cat %{build_dir}/.config.append >> .config
##################
# End of kernel config
# Store the config file in the appropriate directory.
2020-11-26 18:48:55 +00:00
CONFIG_DIR=arch/%{arch_type}/configs
Revisited the set of kernel flavours and the generation of config files Until now, the build system for the kernel supported a number of flavours: nrj and non-nrj ones, desktop-, laptop-, server- and netbook-oriented, etc. It turned out over the years, however, that our users mostly need the following: * a kernel to use on the desktops (home and office use) with reasonable default settings for performance and responsiveness; * a kernel for laptops, with a bit more emphasis on power consumption. Other variants were rarely used. We also did not have enough time to properly support all these. Besides, the kernels for ARM and other architectures need a somewhat different build process than for x86. So, they are better off to be in separate ABF projects, even if they are needed. No signs of ROSA on ARM yet, btw. So, I kept only nrj-desktop and nrj-laptop flavours and only x86. Non-PAE systems also seem to be rare now, so I enabled PAE by default for the 32-bit kernels. Non-PAE kernels are no longer built. If they are needed, we may use a separate git branch or an ABF project for that. To simplify debugging, maintenance and experimentation with the kernel builds further, I revisited the process of preparing the kernel configuration files. The goal is to get rid of a separate git repo with the default configs (kernel-patches-and-configs) and keep everything in this project. The default config files are now kept here. For x86_64: * kernel-x86_64.config contains the options for both nrj-desktop and nrn-laptop flavours; * kernel-{nrj_desktop|nrj_laptop}-x86_64.config files contain the flavour-specific options. This way, it is easier to track which config options changed when, easier to experiment with the custom configs and so on. The kernel will be built with debug info if rpmbuild is called with "--with debug".
2016-07-21 13:56:25 +03:00
mkdir -p "${CONFIG_DIR}"
2020-11-26 18:48:55 +00:00
cfg_file=arch/%{arch_type}/configs/%{arch_suffix}_defconfig-%{flavour}
2021-05-22 12:08:22 +03:00
make ARCH=%{arch_type} oldconfig
# When it is needed to edit kernel configs, run:
2021-06-01 07:01:02 +03:00
# abf fetch
# rpmbuild --define "_sourcedir $PWD" --with=fail -bb kernel.spec
2021-05-22 12:08:22 +03:00
# and then work with the config in the buildroot with applied patches etc.
%{?_with_fail:exit 1}
mv .config ${cfg_file}
echo "Created ${cfg_file}."
# Make sure the kernel has the sublevel we know it has...
LC_ALL=C sed -ri "s/^SUBLEVEL.*/SUBLEVEL = %{sublevel}/" Makefile
2013-11-16 00:27:01 +04:00
# Get rid of unwanted files
2013-11-16 00:27:01 +04:00
find . -name '*~' -o -name '*.orig' -o -name '*.append' | %kxargs rm -f
find . -name '.get_maintainer.ignore' | %kxargs rm -f
2013-11-16 00:27:01 +04:00
# Versionize python shebang (#!/usr/bin/env python -> #!/usr/bin/python3) in scripts
grep -Irl '^#!/usr/bin/env python' | xargs sed -i '1 s,^#!/usr/bin/env python$,#!%{__python3},'
# Drop env from bash scripts
2022-03-17 10:23:10 +03:00
sed -i '1 s,^#!.*env .*,#!%{_bindir}/bash,' scripts/config
# Drop env from perl scripts
grep -IrlE '^#!.*env perl' | xargs sed -i -e '1 s,^#!/usr/bin/env perl$,#!{_bindir}/perl,'
############################################################################
2013-11-16 00:27:01 +04:00
%build
2019-11-11 22:27:50 +03:00
# Ensure that build time generated private keys don't get published
# as e.g. "RPM build root" on ABF!
# Note that ABF sends SIGKILL to rpm-build.sh when the build is terminated;
# in this case trap will not work, but RPM build root also will not be
# saved because rpm-build.sh saves it, but it is SIGKILLed.
# For best security we could store private keys in RAM (not reachable from
# filesystem, so not in /tmp!) and override sth like fopen() by LD_PRELOAD
# to give the content of keys from RAM when a virtual address of a key file
# is accessed, but currently I don't know how to implement this (TODO: ).
_cleanup(){
# Show resulting kernel public keys for debugging
cat "%{src_dir}/%{certs_dir_rnd}/x509_certificate_list" | base64 -d || :
2020-03-14 13:49:15 +03:00
rm -fvr "%{src_dir}/%{certs_dir_rnd}"
2020-03-13 20:35:12 +03:00
%if %{with uml}
cat "%{src_dir}.uml/%{certs_dir_rnd}/x509_certificate_list" | base64 -d || :
2020-03-13 20:35:12 +03:00
rm -fvr "%{src_dir}.uml/%{certs_dir_rnd}"
%endif
2019-11-11 22:27:50 +03:00
}
# Make a trap to delete keys even if %%build fails in the middle
trap "_cleanup" EXIT
rm -rf %{temp_root}
install -d %{temp_root}
2013-11-16 00:27:01 +04:00
cd %{src_dir}
2013-11-16 00:27:01 +04:00
2019-11-11 17:47:53 +03:00
### Keys for signing kernel modules
# Keys can be generated both manually and automatically,
# let's generate them by ourselves to take full control of the process
# https://www.ibm.com/support/knowledgecenter/en/SSB23S_1.1.0.13/gtps7/cfgcert.html
# See also certs/Makefile in kernel source
2019-11-11 17:47:53 +03:00
mkdir -p "%{certs_dir_rnd}"
# On ABF, %%packager == $username <$email>
# Try to extract email from %%packager if it is set
_get_email(){
# Check that macro %%packager was set and is not empty
if echo '%{packager}' | grep -q 'packager}$' || [ -z "%{packager}" ]
# If was not set or is empty, use default email
then echo 'rpmbuild@rosa.unknown' && return
# Otherwise try to extract email from 'name <email>' or sth else
else temp="$(echo '%{packager}' | tr '[:upper:]' '[:lower:]' | tr ' ' '\n' | tr -d '<>' | grep -E '@.*\..*' | head -n 1)"
fi
# Validate that what we have now is a valid email
# https://stackoverflow.com/a/2138832, https://stackoverflow.com/a/41192733
# Note that we set %%_buildshell to /bin/bash to guarantee the work of this bashism
regex_email="^[a-z0-9!#\$%&'*+/=?^_\`{|}~-]+(\.[a-z0-9!#$%&'*+/=?^_\`{|}~-]+)*@([a-z0-9]([a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]([a-z0-9-]*[a-z0-9])?\$"
if [[ "$temp" =~ ${regex_email} ]]
# If it is, use it
then echo "$temp" && return
# Otherwise use default email
else echo 'rpmbuild@rosa.unknown' && return
fi
# If script above has not return'ed for any reason,
# e.g. because of non-bash shell being not able to
# process regexp, use default email
echo 'rpmbuild@rosa.unknown'
}
email="$(_get_email)"
2019-11-11 17:47:53 +03:00
cat <<EOF > "%{certs_key_config_rnd}"
[ req ]
prompt = no
string_mask = utf8only
#default_keyfile = %%{certs_signing_key_priv_rnd}
2019-11-11 17:47:53 +03:00
distinguished_name = req_distinguished_name
x509_extensions = myexts
2019-11-11 17:47:53 +03:00
[ req_distinguished_name ]
organizationName = %{vendor} rpmbuild
commonName = Build time autogenerated @ALGO@ kernel key
emailAddress = ${email}
[ myexts ]
basicConstraints=critical,CA:FALSE
keyUsage=digitalSignature
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid
2019-11-11 17:47:53 +03:00
EOF
cat "%{certs_key_config_rnd}"
sed -e 's,@ALGO@,RSA,g' "%{certs_key_config_rnd}" > "%{certs_key_config_rnd}.RSA"
sed -e 's,@ALGO@,GOST R 34.10-2012,g' "%{certs_key_config_rnd}" > "%{certs_key_config_rnd}.GOST"
# Avoid using the template
rm -f "%{certs_key_config_rnd}"
_libressl_gen_key(){
if [ "$GOST_KEY" = 1 ]
then
lssl_req_gost_args="\
-newkey gost2001 \
-pkeyopt dgst:streebog512 -pkeyopt paramset:A \
-streebog512"
OUT="%{certs_signing_key_priv_rnd}.GOST"
CONFIG="%{certs_key_config_rnd}.GOST"
else
lssl_req_gost_args=""
OUT="%{certs_signing_key_priv_rnd}.RSA"
CONFIG="%{certs_key_config_rnd}.RSA"
fi
libressl req -new -nodes -utf8 -batch \
$lssl_req_gost_args \
-days 109500 \
-x509 -config "$CONFIG" \
-out "$OUT" \
-keyout "$OUT"
# Verify
if [ "$GOST_KEY" = 1 ]; then
libressl x509 -in "%{certs_signing_key_priv_rnd}.GOST" -text -noout \
| grep -E 'Signature Algorithm:.*GOST R 34.10-2012'
libressl x509 -in "%{certs_signing_key_priv_rnd}.GOST" -text -noout \
| grep -E 'Digest Algorithm:.*GOST R 34-11-2012'
libressl x509 -in "%{certs_signing_key_priv_rnd}.GOST" -text -noout \
| grep -E 'Public Key Algorithm:.*GOST R 34.10-2012'
fi
}
2019-11-11 17:47:53 +03:00
GOST_KEY=0 _libressl_gen_key
GOST_KEY=1 _libressl_gen_key
# Fake CONFIG_MODULE_SIG_KEY to make build scripts happy
cp -v "%{certs_signing_key_priv_rnd}.RSA" "%{certs_signing_key_priv_rnd}"
# Strip public parts from the generated PEMs
sed -n \
'/^-----BEGIN CERTIFICATE-----$/,/^-----END CERTIFICATE-----$/p' \
"%{certs_signing_key_priv_rnd}.GOST" \
"%{certs_signing_key_priv_rnd}.RSA" \
> "%{certs_public_keys}"
2019-12-07 21:57:55 +03:00
# Link sign-file and extract-cert with LibreSSL instead of OpenSSL
2019-12-07 21:57:55 +03:00
if [ $? != 0 ] ; then exit $? ; fi
sed -i %{src_dir}/scripts/Makefile \
2020-03-13 20:35:12 +03:00
%if %{with uml}
%{src_dir}.uml/scripts/Makefile \
2020-03-13 20:35:12 +03:00
%endif
-e "s, libcrypto , libressl-libcrypto ,g"
%if %{with additional_keys}
# Add additional public RSA keys to the list of trusted keys for kernel modules
# Build kernel --without additional_keys if you do not want to trust them
cat %{expand:%(for i in `seq 1 12`; do echo "%%SOURCE$((200+${i}))" | tr "\n" " "; done)} \
>> "%{certs_public_keys}"
%endif
# End of additional_keys
cat %{certs_public_keys}
2019-11-11 17:47:53 +03:00
# .config
%smake -s mrproper
2020-11-26 18:48:55 +00:00
cp arch/%{arch_type}/configs/%{arch_suffix}_defconfig-%{flavour} .config
2013-11-16 00:27:01 +04:00
# Make sure EXTRAVERSION says what we want it to say
LC_ALL=C sed -ri "s/^EXTRAVERSION.*/EXTRAVERSION = -%{flavour}-%{buildrpmrel}/" Makefile
2013-11-16 00:27:01 +04:00
# Build the kernel
echo "Building kernel %{kver_full}"
2013-11-16 00:27:01 +04:00
2020-11-26 21:09:27 +00:00
TARGETS="all"
# need to install dtbs to proper boot arm64 devices
%ifarch %{armx}
2020-11-26 21:09:27 +00:00
TARGETS="$TARGETS dtbs"
%endif
2021-02-23 17:35:52 +03:00
%kmake V=1 -s $TARGETS
2015-04-23 12:11:47 +03:00
2020-07-29 10:59:41 +03:00
# Install modules
mkdir -p %{temp_modules}/%{kver_full}
%smake INSTALL_MOD_PATH=%{temp_root} KERNELRELEASE=%{kver_full} modules_install
%if %{with binary_extra_modules}
# Build and install procedure is specific to each Makefile from kernmel-source-* packages
# See also: https://www.kernel.org/doc/html/latest/kbuild/modules.html
# Copy directory because write permissions are required
# `make modules_install` must be done before this, otherwise these copied files will be deleted
2022-10-18 18:44:54 +03:00
# $1: name of kernel module
# $2: directory (e.g.: kernel/net/wireless)
_build_rtl(){
cp -r "$(rpm -q --qf "/usr/src/rtl${1}-%%{VERSION}-%%{RELEASE}" kernel-source-rtl${1})" kernel-source-rtl${1}
pushd kernel-source-rtl${1}
%kmake KSRC=%{src_dir} M="$PWD"
mkdir -p %{temp_modules}/%{kver_full}/${2}
cp ${1}.ko %{temp_modules}/%{kver_full}/${2}
popd
rm -fr kernel-source-rtl${1}
}
2022-10-15 15:39:08 +03:00
2022-10-18 18:44:54 +03:00
_build_rtl 8821cu kernel/net/wireless
_build_rtl 88x2bu kernel/net/wireless
_build_rtl 8812au kernel/net/wireless
_build_rtl 8821au kernel/net/wireless
_build_rtl 8821au kernel/net/wireless
_build_rtl 8814au kernel/net/wireless
_build_rtl 8188gu kernel/net/wireless
_build_rtl 8723du kernel/net/wireless
_build_rtl 8852au kernel/net/wireless
_build_rtl 8192du kernel/net/wireless
2022-10-15 15:52:51 +03:00
2023-03-13 21:59:13 +03:00
cp -r "$(rpm -q --qf "/usr/src/r8168-%%{VERSION}-%%{RELEASE}" kernel-source-r8168)" kernel-source-r8168
pushd kernel-source-r8168
%kmake -C %{src_dir} KERNELRELEASE=%{kver_full} KERNELDIR=%{src_dir} M="$PWD" modules
mkdir -p %{temp_modules}/%{kver_full}/kernel/drivers/net/ethernet/realtek
cp r8168.ko %{temp_modules}/%{kver_full}/kernel/drivers/net/ethernet/realtek
popd
rm -fr kernel-source-r8168
2022-10-15 18:02:04 +03:00
cp -r "$(rpm -q --qf '/usr/src/rtk_btusb-%%{VERSION}-%%{RELEASE}' kernel-source-rtk_btusb)" kernel-source-rtk_btusb
pushd kernel-source-rtk_btusb
%kmake KDIR=%{src_dir}
mkdir -p %{temp_modules}/%{kver_full}/kernel/drivers/bluetooth/
cp rtk_btusb.ko %{temp_modules}/%{kver_full}/kernel/drivers/bluetooth/rtk_btusb.ko
popd
rm -fr kernel-source-rtk_btusb
cp -r "$(rpm -q --qf '/usr/src/rtw89-%%{VERSION}-%%{RELEASE}' kernel-source-rtw89)" kernel-source-rtw89
pushd kernel-source-rtw89
%kmake KSRC=%{src_dir}
mkdir -p %{temp_modules}/%{kver_full}/kernel/net/wireless/realtek/rtw89p
cp *.ko %{temp_modules}/%{kver_full}/kernel/net/wireless/realtek/rtw89p
popd
rm -fr kernel-source-rtw89
_build_nvidia(){
cp -r "$(rpm -q --qf "/usr/src/nvidia${1}-%%{VERSION}-%%{RELEASE}" kernel-source-nvidia${1})" kernel-source-nvidia${1}
pushd kernel-source-nvidia${1}
%make SYSSRC=%{src_dir}
2022-09-26 15:32:27 +03:00
mkdir -p %{temp_modules}/%{kver_full}/kernel/drivers/video/nvidia${1}.%{kroko_release}
for i in *.ko
do
# put them here to extract debug and compress, will be moved later
install -m0644 "$i" %{temp_modules}/%{kver_full}/kernel/drivers/video/nvidia${1}.%{kroko_release}/"$i"
done
popd
rm -fr kernel-source-nvidia${1}
2022-09-26 15:32:27 +03:00
# for rosa-kernel-tools
mkdir -p %{temp_root}/var/spool/initramfs-regen
touch %{temp_root}/var/spool/initramfs-regen/nvidia${1}.%{kroko_release}
}
2021-10-07 00:45:03 +03:00
%ifarch %{ix86} %{x86_64}
cp -r "$(rpm -q --qf '/usr/src/broadcom-wl-%%{VERSION}-%%{RELEASE}' kernel-source-broadcom-wl)" kernel-source-broadcom-wl
pushd kernel-source-broadcom-wl
%kmake -C %{src_dir} M="$PWD"
mkdir -p %{temp_modules}/%{kver_full}/kernel/net/wireless/
cp wl.ko %{temp_modules}/%{kver_full}/kernel/net/wireless/wl.ko
popd
rm -fr kernel-source-broadcom-wl
2021-10-10 16:12:22 +03:00
2022-10-16 00:19:07 +03:00
_build_nvidia 340
_build_nvidia 390
%endif
%ifarch %{x86_64}
_build_nvidia 470
_build_nvidia 510
_build_nvidia 515
2022-10-14 18:16:15 +03:00
_build_nvidia 520
2023-03-13 23:05:12 +03:00
_build_nvidia 525
2021-10-07 00:45:03 +03:00
%endif
2020-07-29 10:59:41 +03:00
cp -r "$(rpm -q --qf '/usr/src/tripso-%%{VERSION}-%%{RELEASE}' kernel-source-tripso)" kernel-source-tripso
pushd kernel-source-tripso
%kmake KDIR=%{src_dir}
mkdir -p %{temp_modules}/%{kver_full}/kernel/net
cp xt_TRIPSO.ko %{temp_modules}/%{kver_full}/kernel/net/
popd
rm -fr kernel-source-tripso
cp -r "$(rpm -q --qf '/usr/src/ipt-so-%%{VERSION}-%%{RELEASE}' kernel-source-ipt-so)" kernel-source-ipt-so
pushd kernel-source-ipt-so
%kmake KDIR=%{src_dir}
mkdir -p %{temp_modules}/%{kver_full}/kernel/net
cp xt_so.ko %{temp_modules}/%{kver_full}/kernel/net/
popd
rm -fr kernel-source-ipt-so
Update from 5.4 to 5.10.1 - rediffed most of patches, renamed files to easify further rediffs by git format-patch - thanks to abf.io/kernels_stable for some patches for kernel 5.9 - using unofficial patch for AUFS for kernel 5.10, there may be issues with stability, try to avoid using AUFS (I would have dropped it, but MagOS wants it very much) - pulled updates of AltHa from http://git.altlinux.org/gears/k/kernel-image-un-def.git?p=kernel-image-un-def.git;a=history;f=security/altha;hb=HEAD - dropped patch adding sysctl to disable disk-based swap because it has not found any usage - bpf is now in the list of LSM modules (ability to write LSM modules as BPF programs), enable it, it is potentially useful and does not seem to be harmful - keeping kernel libc headers in older kernels for now - dropped building external virtualbox guest modules because they are now included into the mainline kernel - offed building VirtualBox host modules, I do not know how to keep these binary modules in sync with userspace part of VirtualBox, users can continue using dkms - offed building kernel-shredder because it is not buildable on kernel 5.10 - updated rtl8821ce and added a dependency from its "blacklist" subpackage here (see https://github.com/tomaspinho/rtl8821ce/commit/14b536f0) It is not clear if kernel 5.10 will receive an LTS support longer than 5.4 or not. Support until Dec, 2022 is declared right now at https://www.kernel.org/category/releases.html for 5.10 and until Dec, 2025 - for 5.4. TODO: update kernel configs TODO: solve problems with version of virtualbox host modules not matching version of the virtualbox package after virtualbox is updated but kernel is not rebuilt
2020-12-20 18:49:24 +03:00
%if %{with binary_shredder}
2020-11-26 21:09:27 +00:00
cp -r "$(rpm -q --qf '/usr/src/shredder-kernel-%%{VERSION}-%%{RELEASE}' kernel-source-shredder-kernel)" kernel-source-shredder-kernel
pushd kernel-source-shredder-kernel
%kmake KERNEL_PATH=%{src_dir}
mkdir -p %{temp_modules}/%{kver_full}/kernel/extra/
cp shredder-kernel.ko %{temp_modules}/%{kver_full}/kernel/extra/
popd
rm -fr kernel-source-shredder-kernel
%endif
2020-11-26 21:09:27 +00:00
Update from 5.4 to 5.10.1 - rediffed most of patches, renamed files to easify further rediffs by git format-patch - thanks to abf.io/kernels_stable for some patches for kernel 5.9 - using unofficial patch for AUFS for kernel 5.10, there may be issues with stability, try to avoid using AUFS (I would have dropped it, but MagOS wants it very much) - pulled updates of AltHa from http://git.altlinux.org/gears/k/kernel-image-un-def.git?p=kernel-image-un-def.git;a=history;f=security/altha;hb=HEAD - dropped patch adding sysctl to disable disk-based swap because it has not found any usage - bpf is now in the list of LSM modules (ability to write LSM modules as BPF programs), enable it, it is potentially useful and does not seem to be harmful - keeping kernel libc headers in older kernels for now - dropped building external virtualbox guest modules because they are now included into the mainline kernel - offed building VirtualBox host modules, I do not know how to keep these binary modules in sync with userspace part of VirtualBox, users can continue using dkms - offed building kernel-shredder because it is not buildable on kernel 5.10 - updated rtl8821ce and added a dependency from its "blacklist" subpackage here (see https://github.com/tomaspinho/rtl8821ce/commit/14b536f0) It is not clear if kernel 5.10 will receive an LTS support longer than 5.4 or not. Support until Dec, 2022 is declared right now at https://www.kernel.org/category/releases.html for 5.10 and until Dec, 2025 - for 5.4. TODO: update kernel configs TODO: solve problems with version of virtualbox host modules not matching version of the virtualbox package after virtualbox is updated but kernel is not rebuilt
2020-12-20 18:49:24 +03:00
%if %{with binary_virtualbox_host}
2020-11-26 21:09:27 +00:00
# build commands for virtualbox are based on the ones from the virtualbox package
2020-07-29 10:59:41 +03:00
cp -r "$(rpm -q --qf '/usr/src/virtualbox-%%{VERSION}-%%{RELEASE}' kernel-source-virtualbox)" kernel-source-virtualbox
mkdir -p %{temp_modules}/%{kver_full}/kernel/misc/
pushd kernel-source-virtualbox
make -C vboxdrv KERN_DIR=%{src_dir} KERN_VER=%{kver_full}
cp -fv vboxdrv/Module.symvers vboxnetflt
cp -fv vboxdrv/Module.symvers vboxnetadp
make -C vboxnetflt KERN_DIR=%{src_dir} KERN_VER=%{kver_full}
make -C vboxnetadp KERN_DIR=%{src_dir} KERN_VER=%{kver_full}
cp -fv vboxnetadp/Module.symvers vboxpci/
make -C vboxpci KERN_DIR=%{src_dir} KERN_VER=%{kver_full}
for i in vboxnetflt vboxnetadp vboxdrv vboxpci
do
cp -v "${i}/${i}.ko" %{temp_modules}/%{kver_full}/kernel/misc/
done
popd
2020-11-26 18:58:01 +00:00
%endif
2020-07-29 10:59:41 +03:00
2021-10-16 20:11:50 +03:00
cp -r "$(rpm -q --qf '/usr/src/v4l2loopback-%%{VERSION}-%%{RELEASE}' kernel-source-v4l2loopback)" kernel-source-v4l2loopback
pushd kernel-source-v4l2loopback
cat Kbuild > Makefile
mkdir -p %{temp_modules}/%{kver_full}/kernel/drivers/media
make -C %{src_dir} M="$PWD" modules
cp v4l2loopback.ko %{temp_modules}/%{kver_full}/kernel/drivers/media
pushd
rm -fr kernel-source-v4l2loopback
%if %{with nickel}
# rosa-test-suite uses /sr/src/xxx-version, not /usr/src/xxx-version-release
cp -r "$(rpm -q --qf '/usr/src/rosa-test-suite-%%{VERSION}' kernel-source-rosa-test-suite)" kernel-source-rosa-test-suite
pushd kernel-source-rosa-test-suite
mkdir -p %{temp_modules}/%{kver_full}/kernel/misc/
for i in nlkm memfreetest pcietest
do
cat << EOF > Makefile
obj-m := ${i}.o
all:
make -C %{src_dir} M=\$(PWD) modules
EOF
%kmake
cp -fv ${i}.ko %{temp_modules}/%{kver_full}/kernel/misc/
done
popd
%endif
# End with nickel <- with binary_extra_modules
%endif
# End with binary_extra_modules
2020-07-29 10:59:41 +03:00
2020-03-13 20:35:12 +03:00
%if %{with uml}
cp -rv %{certs_dir_rnd} %{src_dir}.uml/
pushd %{src_dir}.uml
%kmake ARCH=um defconfig
2020-03-13 20:35:12 +03:00
%kmake ARCH=um linux
install -Dm0755 linux %{temp_root}%{_bindir}/linux-uml-%{kver_full}
#rm -fv linux
%kmake V=1 ARCH=um modules
mkdir -p %{temp_root}/lib/modules-uml/%{kver_full}/
%kmake ARCH=um INSTALL_MOD_PATH=%{temp_root}/lib/modules-uml/%{kver_full}/ modules_install
popd
%endif
install -d %{temp_boot}
install -m 644 System.map %{temp_boot}/System.map-%{kver_full}
install -m 644 .config %{temp_boot}/config-%{kver_full}
%if %{with modxz}
xz -c Module.symvers > %{temp_boot}/symvers-%{kver_full}.xz
%else
%{zstd_cmd} Module.symvers
install -m 644 Module.symvers.zst %{temp_boot}/symvers-%{kver_full}.zst
%endif
2013-11-16 00:27:01 +04:00
2021-04-06 19:36:12 +00:00
%ifarch %{armx}
%make_build ARCH=%{arch_type} V=1 INSTALL_DTBS_PATH=%{temp_boot}/dtb-%{kver_full} dtbs_install
2021-04-06 19:36:12 +00:00
%endif
2020-11-26 21:09:27 +00:00
%ifarch aarch64
cp -f arch/arm64/boot/Image* %{temp_boot}/vmlinuz-%{kver_full}
2020-11-26 21:09:27 +00:00
%else
cp -f arch/%{arch_type}/boot/bzImage %{temp_boot}/vmlinuz-%{kver_full}
%endif
2013-11-16 00:27:01 +04:00
# Headers
%if %{build_headers}
%make INSTALL_HDR_PATH=%{temp_root}%{_prefix} KERNELRELEASE=%{kver_full} headers_install
find %{temp_root}%{_prefix} -name .install -or -name ..install.cmd | %kxargs rm -f
2013-11-16 00:27:01 +04:00
%endif
# Remove /lib/firmware, we use a separate linux-firmware package
rm -rf %{temp_root}/lib/firmware
# Prepare the files for kernel*-devel
%if %{build_devel}
mkdir -p %{temp_devel_root}
for i in $(find . -name 'Makefile*'); do cp -R --parents $i %{temp_devel_root}; done
for i in $(find . -name 'Kconfig*' -o -name 'Kbuild*'); do cp -R --parents $i %{temp_devel_root}; done
2013-11-16 00:27:01 +04:00
cp -fR include %{temp_devel_root}
cp -fR scripts %{temp_devel_root}
cp -fR kernel/bounds.c %{temp_devel_root}/kernel
cp -fR kernel/time/timeconst.bc %{temp_devel_root}/kernel/time
cp -fR tools %{temp_devel_root}/
2020-11-26 18:48:55 +00:00
cp -fR arch/%{arch_type}/kernel/asm-offsets.{c,s} %{temp_devel_root}/arch/%{arch_type}/kernel/
2020-11-26 21:09:27 +00:00
%ifarch %{ix86} %{x86_64}
2020-11-26 18:48:55 +00:00
cp -fR arch/%{arch_type}/kernel/asm-offsets_{32,64}.c %{temp_devel_root}/arch/%{arch_type}/kernel/
cp -fR arch/%{arch_type}/purgatory/* %{temp_devel_root}/arch/%{arch_type}/purgatory/
# Needed for arch/x86/purgatory
2020-11-26 21:09:27 +00:00
cp -fR lib/*.h lib/*.c %{temp_devel_root}/lib/
2020-11-26 18:48:55 +00:00
cp -fR arch/%{arch_type}/entry/syscalls/syscall* %{temp_devel_root}/arch/%{arch_type}/entry/syscalls/
cp -fR arch/%{arch_type}/tools %{temp_devel_root}/arch/%{arch_type}/
2020-11-26 21:09:27 +00:00
# needed for kexec
cp -fR arch/%{arch_type}/boot/*.h %{temp_devel_root}/arch/%{arch_type}/boot/
cp -fR arch/%{arch_type}/boot/*.c %{temp_devel_root}/arch/%{arch_type}/boot/
%endif
cp -fR arch/%{arch_type}/include %{temp_devel_root}/arch/%{arch_type}/
cp -fR .config Module.symvers %{temp_devel_root}
# Needed for truecrypt build (Danny)
cp -fR drivers/md/dm.h %{temp_devel_root}/drivers/md/
2013-11-16 00:27:01 +04:00
# Needed for lirc_gpio (#39004)
cp -fR drivers/media/pci/bt8xx/bttv{,p}.h %{temp_devel_root}/drivers/media/pci/bt8xx/
cp -fR drivers/media/pci/bt8xx/bt848.h %{temp_devel_root}/drivers/media/pci/bt8xx/
cp -fR drivers/media/common/btcx-risc.h %{temp_devel_root}/drivers/media/common/
# Add acpica header files, needed for fglrx build
cp -fR drivers/acpi/acpica/*.h %{temp_devel_root}/drivers/acpi/acpica/
2013-11-16 00:27:01 +04:00
%if %{with aufs}
# aufs2 has a special file needed
cp -fR fs/aufs/magic.mk %{temp_devel_root}/fs/aufs
%endif
2013-11-16 00:27:01 +04:00
# SELinux needs security/selinux/include
cp -fR security/selinux/include %{temp_devel_root}/security/selinux
2013-11-16 00:27:01 +04:00
for i in alpha arc avr32 blackfin c6x cris csky frv h8300 hexagon ia64 m32r m68k m68knommu metag microblaze \
mips mn10300 nds32 nios2 openrisc parisc powerpc riscv s390 score sh sparc tile unicore32 xtensa; do
rm -rf %{temp_devel_root}/arch/$i
done
2013-11-16 00:27:01 +04:00
# Clean the scripts tree, and make sure everything is ok (sanity check)
# running prepare+scripts (tree was already "prepared" in build)
2020-03-14 13:49:15 +03:00
pushd %{temp_devel_root}
2020-11-26 21:09:27 +00:00
%smake V=1 -s clean ARCH=%{arch_type}
2020-03-14 13:49:15 +03:00
popd
2020-11-26 21:09:27 +00:00
rm -f %{temp_devel_root}/.config.old
2013-11-16 00:27:01 +04:00
# Fix permissions
chmod -R a+rX %{temp_devel_root}
2013-11-16 00:27:01 +04:00
# Disable mrproper in -devel rpms
#patch -p1 --fuzz=0 -d %{temp_devel_root} -i %{SOURCE2}
2013-11-16 00:27:01 +04:00
%endif
# End of build_devel
2013-11-16 00:27:01 +04:00
# TODO: maybe move to /usr/lib/debug?
%if %{build_debug}
find %{temp_modules}/%{kver_full}/kernel \
-name "*.ko" | \
%kxargs -I '{}' objcopy --only-keep-debug '{}' '{}'.debug
find %{temp_modules}/%{kver_full}/kernel \
-name "*.ko" | %kxargs -I '{}' \
sh -c 'cd `dirname {}`; \
objcopy --add-gnu-debuglink=`basename {}`.debug \
--strip-debug `basename {}`'
%endif
# End of build_debug
2020-07-29 10:59:41 +03:00
# https://patchwork.kernel.org/patch/11446123/
2019-12-07 21:57:55 +03:00
_libressl_sign(){
if [ ! -f "$1" ]; then
echo "No file $1"
return 0
2019-12-07 21:57:55 +03:00
fi
f="$1"
%if %{with gost_sign}
%{src_dir}/scripts/sign-file streebog512 \
"%{certs_signing_key_priv_rnd}.GOST" "%{certs_signing_key_priv_rnd}.GOST" "$f"
%else
%{src_dir}/scripts/sign-file sha512 \
2020-03-20 11:27:35 +03:00
"%{certs_signing_key_priv_rnd}.RSA" "%{certs_signing_key_priv_rnd}.RSA" "$f"
%endif
2019-12-07 21:57:55 +03:00
unset f
}
export -f _libressl_sign
2020-03-13 20:35:12 +03:00
find %{temp_modules}/%{kver_full}/kernel \
%if %{with uml}
%{temp_root}/lib/modules-uml/%{kver_full} \
2020-03-13 20:35:12 +03:00
%endif
-name '*.ko' -print0 | sort -u | \
2019-12-07 21:57:55 +03:00
xargs --null -P "$(nproc)" -I {} "$SHELL" -e -x -c 'if ! _libressl_sign "{}"; \
then echo Failed _libressl_sign on "{}" && exit 1; fi'
2019-11-13 17:35:59 +03:00
# Set extraversion to match srpm to get nice version reported by the tools
LC_ALL=C sed -ri "s/^EXTRAVERSION.*/EXTRAVERSION = -%{fullrpmrel}/" Makefile
2013-11-16 00:27:01 +04:00
%if %{build_perf}
%smake -C tools/perf -s PYTHON=%{__python3} HAVE_CPLUS_DEMANGLE=1 WERROR=0 prefix=%{_prefix} lib=%{_lib} NO_GTK2=1 all
2020-11-27 01:21:49 +03:00
%smake -C tools/perf -s prefix=%{_prefix} lib=%{_lib} NO_GTK2=1 man
2013-11-16 00:27:01 +04:00
%endif
%if %{build_cpupower}
# Make sure version-gen.sh is executable.
2013-11-16 00:27:01 +04:00
chmod +x tools/power/cpupower/utils/version-gen.sh
%make -C tools/power/cpupower CPUFREQ_BENCH=false
2013-11-16 00:27:01 +04:00
%endif
2019-11-11 22:27:50 +03:00
_cleanup
############################################################################
2013-11-16 00:27:01 +04:00
%install
cd %{src_dir}
2013-11-16 00:27:01 +04:00
2022-09-26 15:32:27 +03:00
# TODO: get rid of temporary directory, install to buildroot directly?
2013-11-16 00:27:01 +04:00
# We want to be able to test several times the install part
rm -rf %{buildroot}
cp -a %{temp_root} %{buildroot}
#if %%{with oblig_signed_modules}
# Multithreaded verification that every kernel module has a signature attached to it
mkdir -p "%{certs_dir_rnd}"
touch %{certs_verify_tmp}
_verify_signature(){
if [ -z "$1" ] || [ ! -f "$1" ]; then return; fi
if hexdump -C "$1" | rev | cut -f 2 -d '|' | rev | tr -d '\n' | grep -q '~Module signature appended~'; then
if [ -f %{certs_verify_tmp} ]; then
rm -f %{certs_verify_tmp}
fi
else
echo "ERROR: Module $1 has no signature attached to it!"
exit 1
fi
}
export -f _verify_signature
2020-03-13 20:35:12 +03:00
find %{target_modules} \
%if %{with uml}
%{buildroot}/lib/modules-uml/%{kver_full} \
2020-03-13 20:35:12 +03:00
%endif
-name '*.ko' -print0 | sort -u | \
xargs --null -P "$(nproc)" -I {} "$SHELL" -c '_verify_signature "{}"'
if [ -f %{certs_verify_tmp} ]; then
echo "ERROR: seems that signatures of none modules were verified!"
exit 1
fi
rm -f %{certs_verify_tmp}
#endif
# Compressing modules
%if %{with compress_modules}
# Tested on /lib/modules/5.10.34-generic-2rosa2019.1-x86_64, the results are the following:
# * decompressed: 266.3 MiB
# * xz -9 --extreme: 67.8 MiB
# * zstd --ultra -22 without training: 73.5 MiB
# * zstd -6 without training: 79.6 MiB
# * zstd --ultra -22 with training: 66.3 MiB (the winner!)
# Training takes only a few minutes, make it here in place with current zstd and kernel modules.
# But! Decompressing also requires a dictionary for zstd, that will be too complex, so not using training :(
# We already use zstd in dracut to compress initrds quickly and with good compression ration.
# Testing speed of loading modules:
# `time modinfo bcache.ko.xz` took 0,048s, `time modinfo bcache.ko.zstd` took 0,014s (for multiple times)
# find /lib/modules/5.10.34-generic-2rosa2019.1-x86_64 -type f -name '*.ko.zst' > /tmp/zst.list
# time { for i in `cat /tmp/zst.list`; do modinfo $i >/dev/null 2>&1; done ;}
# took ~31-40s, with disk cache (2+ runs) ~33s
# find /lib/modules/5.10.34-generic-1rosa2019.1-x86_64 -type f -name '*.ko.xz' > /tmp/xz.list
# time { for i in `cat /tmp/xz.list`; do modinfo $i >/dev/null 2>&1; done ;}
# took 43-47s, with disk cache (2+ runs) ~42s, +21%%
# zstd-compressed initramfs image initrd-5.10.34-generic-1rosa2019.1-x86_64.img with *.ko.xz is 56,3 MiB
# zstd-compressed initramfs image initrd-5.10.34-generic-2rosa2019.1-x86_64.img with *.ko.zst is 58,4 MiB (+3.6%%)
# /lib/modules/5.10.34-generic-1rosa2019.1-x86_64 (*.ko.xz) is 78,1 MiB
# /lib/modules/5.10.34-generic-2rosa2019.1-x86_64 (*.ko.zst) is 83,9 MiB (+7%%)
# When zstd is compressing cpio (initrd image) with zstd-compressed kernel modules inside it, does it recompress data?
# It is not easy to make a choice between zstd and xz for kernel modules... Disk space (and so speed of installing
# RPM packages) is not much bigger, we do not try to support super low end devices, operation speed is a bit better.
# I have not seen measurable difference in startup time according to systemd-analyze.
# Note that decompression after zstd --ultra -22 will consume more memory than after zstd -6, see commit message in
# https://github.com/torvalds/linux/commit/73f3d1b48f5069d46b. I did not benchmark -6 vs -22 in runtime.
# Let's use zstd for now.
# zstd may also be used to compress linux-firmware to save a lot of space on disk,
# but upstream kernels still cannot decompress it.
#{zstd_cmd} -T0 --train $(find . -type f -name '*.ko')
#[ -f dictionary ]
# -T1 (one thread) because we run multiple zstd processes by xargs
%if %{with modxz}
find %{target_modules} -name "*.ko" | %kxargs xz -6e
%else
find %{target_modules} -name "*.ko" | %kxargs %{zstd_cmd} --rm -T1 #-D dictionary
rm -f dictionary
%endif
%endif
2013-11-16 00:27:01 +04:00
2022-09-26 15:32:27 +03:00
%if %{with binary_extra_modules}
# Move nvidia modules to manage them via alternatives(8), leave *.debug
# TODO: better handle debug here and in the package in general
find %{target_modules}/%{kver_full}/kernel/drivers/video -name 'nvidia???.*' -type d -maxdepth 1 |
while read -r line
do
nv="$(basename "$line")"
mkdir -p %{buildroot}%{kroko_kmods_dir}/"$nv"-%{kver_full}
mv -v "$line"/*.ko%{kmod_suffix} %{buildroot}%{kroko_kmods_dir}/"$nv"-%{kver_full}
2022-10-07 00:01:12 +03:00
dir_no_buildroot="$(echo "$line" | sed -e 's,^%{buildroot},,')"
echo "%exclude $dir_no_buildroot" >> %{kernel_files}
%if %{build_debug}
echo "%dir $dir_no_buildroot" >> %{debuginfo_files}
%endif
2022-09-26 15:32:27 +03:00
done
%endif #/with binary_extra_modules
find %{buildroot}%{_modulesdir}/%{kver_full} -type f -name '*.ko%{kmod_suffix}' | sed -e 's,^%{buildroot},,' | sort -u >> %{kernel_files}
find %{buildroot}%{_modulesdir}/%{kver_full} -type d | sed -e 's,^%{buildroot},%dir ,' | sort -u >> %{kernel_files}
# We estimate the size of the initramfs because rpm needs to take this size
# into consideration when performing disk space calculations (See rhbz#530778)
# 65 MiB is a bit more than needed, but let's be more sure that there is enought space.
# On my PC, zstd-compressed initrds take 58,5 MiB.
# Real size of the RPM package should not increase because RPM compresses the payload.
# This file is %%ghost, so the real initrd will be deleted when uninstalling this package.
dd if=/dev/zero of=%{buildroot}%{initrd_path} bs=1M count=65
%if %{build_debug}
install -m 644 vmlinux %{buildroot}%{_bootdir}/vmlinux-%{kver_full}
find %{buildroot}%{_modulesdir} -type f -name '*.debug' | sed -e 's,^%{buildroot},,' | sort -u >> %{debuginfo_files}
%endif
# End of build_debug
pushd %{target_modules}
for i in *; do
rm -f $i/build $i/source
ln -sf /usr/src/linux-$i $i/build
ln -sf /usr/src/linux-$i $i/source
done
# Sniff, if we compressed all the modules, we change the stamp :(
2013-11-16 00:27:01 +04:00
# we really need the depmod -ae here
for i in *; do
/sbin/depmod -ae -b %{buildroot} -F %{target_boot}/System.map-$i $i
echo $?
done
# We used to create modules.description files which contained the
# description strings for the modules as shown by modinfo. These files
# are unlikely to be used right now, so create them (in case some old tool
# checks for their existence) but keep them empty.
2013-11-16 00:27:01 +04:00
for i in *; do
touch $i/modules.description
2013-11-16 00:27:01 +04:00
done
popd
# Need to set extraversion to match srpm again to avoid rebuild
LC_ALL=C sed -ri "s/^EXTRAVERSION.*/EXTRAVERSION = -%{fullrpmrel}/" Makefile
2013-11-16 00:27:01 +04:00
%if %{build_perf}
# Perf tool binary and supporting scripts/binaries
2020-12-11 19:39:08 +00:00
make -C tools/perf -s V=1 DESTDIR=%{buildroot} WERROR=0 HAVE_CPLUS_DEMANGLE=1 prefix=%{_prefix} lib=%{_lib} install
2013-11-16 00:27:01 +04:00
2020-05-11 09:33:18 +03:00
# Versionize shebang (#!/usr/bin/env python -> #!/usr/bin/python3)
2022-03-17 10:23:10 +03:00
sed -i '1 s,^#!/usr/bin/env python$,#!%{__python3},' \
%{buildroot}%{_libexecdir}/perf-core/scripts/python/exported-sql-viewer.py \
%{buildroot}%{_libexecdir}/perf-core/scripts/python/libxed.py
sed -i -e '1s,^#!/usr/bin/python$,#!%{__python3},' \
%{buildroot}%{_libexecdir}/perf-core/tests/shell/lib/perf_json_output_lint.py
2020-05-11 09:33:18 +03:00
# Perf man pages (note: implicit rpm magic compresses them later)
make -C tools/perf -s V=1 DESTDIR=%{buildroot} WERROR=0 HAVE_CPLUS_DEMANGLE=1 prefix=%{_prefix} install-man
2013-11-16 00:27:01 +04:00
%endif
%if %{build_cpupower}
make -C tools/power/cpupower DESTDIR=%{buildroot} libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install
2013-11-16 00:27:01 +04:00
rm -f %{buildroot}%{_libdir}/*.{a,la}
2013-11-16 00:27:01 +04:00
%find_lang cpupower
2013-11-16 00:27:01 +04:00
mv cpupower.lang ../
chmod 0755 %{buildroot}%{_libdir}/libcpupower.so*
mkdir -p %{buildroot}%{_unitdir} %{buildroot}%{_sysconfdir}/sysconfig
install -m644 %{SOURCE50} %{buildroot}%{_unitdir}/cpupower.service
install -m644 %{SOURCE53} %{buildroot}%{_unitdir}/cpupower.path
2013-11-16 00:27:01 +04:00
install -m644 %{SOURCE51} %{buildroot}%{_sysconfdir}/sysconfig/cpupower
install -m755 %{SOURCE52} %{buildroot}%{_bindir}/cpupower-start.sh
2013-11-16 00:27:01 +04:00
%endif
2020-07-29 10:59:41 +03:00
# Delete junk
rm -fr %{buildroot}%{_usr}/src/*/kernel-source-*
%if %{with flow_abi}
# Prefix with "zzz" to put this directory into the end of search list
# and avoid tricks with depmod configs
mkdir -p %{buildroot}/lib/modules/%{kernelversion}.%{patchlevel}-rosa-flow-abi
ln -s /lib/modules/%{kernelversion}.%{patchlevel}-rosa-flow-abi %{buildroot}%{_modulesdir}/%{kver_full}/kernel/zzz-%{kernelversion}.%{patchlevel}-rosa-flow-abi
%endif
# Drop hidden files
rm -f %{buildroot}%{_docdir}/kernel-5.10-generic-doc/devicetree/bindings/.yamllint
# Fix perms
2022-10-11 09:24:23 +03:00
%if %{build_perf}
chmod -x %{buildroot}%{_sysconfdir}/bash_completion.d/perf
chmod -x %{buildroot}%{_prefix}/lib/perf/examples/bpf/*.c
chmod -x %{buildroot}%{_prefix}/lib/perf/include/bpf/*.h
chmod -x %{buildroot}%{_prefix}/lib/perf/include/bpf/linux/*.h
chmod -x %{buildroot}%{_datadir}/doc/perf-tip/*.txt
2022-10-11 09:24:23 +03:00
%endif