kernel-5.15/kernel.spec

1572 lines
52 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}
# 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
# 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 5
%define patchlevel 10
[bot] upd: 5.10.35 -> 5.10.38 Changelog: ACPI: CPPC: Replace cppc_attr with kobj_attribute ACPI: custom_method: fix a possible memory leak ACPI: custom_method: fix potential use-after-free issue ACPI: GTDT: Don't corrupt interrupt mappings on watchdow probe failure ACPI: PM: Add ACPI ID of Alder Lake Fan ACPI: scan: Fix a memory leak in an error handling path afs: Fix speculative status fetches afs: Fix updating of i_mode due to 3rd party change ALSA: bebob: enable to deliver MIDI messages for multiple ports ALSA: core: remove redundant spin_lock pair in snd_card_disconnect ALSA: emu8000: Fix a use after free in snd_emu8000_create_mixer ALSA: hda/conexant: Re-order CX5066 quirk table entries ALSA: hda/hdmi: fix race in handling acomp ELD notification at resume ALSA: hda/realtek: Add quirk for Intel Clevo PCx0Dx ALSA: hda/realtek: Add quirk for Lenovo Ideapad S740 ALSA: hda/realtek: ALC285 Thinkpad jack pin quirk is unreachable ALSA: hda/realtek: fix mic boost on Intel NUC 8 ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 445 G7 ALSA: hda/realtek: Fix speaker amp on HP Envy AiO 32 ALSA: hda/realtek: fix static noise on ALC285 Lenovo laptops ALSA: hda/realtek: GA503 use same quirks as GA401 ALSA: hda/realtek - Headset Mic issue on HP platform ALSA: hda/realtek: Remove redundant entry for ALC861 Haier/Uniwill devices ALSA: hda/realtek: Re-order ALC269 Acer quirk table entries ALSA: hda/realtek: Re-order ALC269 ASUS quirk table entries ALSA: hda/realtek: Re-order ALC269 Dell quirk table entries ALSA: hda/realtek: Re-order ALC269 HP quirk table entries ALSA: hda/realtek: Re-order ALC269 Lenovo quirk table entries ALSA: hda/realtek: Re-order ALC269 Sony quirk table entries ALSA: hda/realtek: Re-order ALC662 quirk table entries ALSA: hda/realtek: Re-order ALC882 Acer quirk table entries ALSA: hda/realtek: Re-order ALC882 Clevo quirk table entries ALSA: hda/realtek: Re-order ALC882 Sony quirk table entries ALSA: hda/realtek: Re-order remaining ALC269 quirk table entries ALSA: hdsp: don't disable if not enabled ALSA: hdspm: don't disable if not enabled ALSA: rme9652: don't disable if not enabled ALSA: sb: Fix two use after free in snd_sb_qsound_build ALSA: usb-audio: Add dB range mapping for Sennheiser Communications Headset PC 8 ALSA: usb-audio: Add error checks for usb_driver_claim_interface() calls ALSA: usb-audio: Explicitly set up the clock selector ALSA: usb: midi: don't return -ENOMEM when usb_urb_ep_type_check fails amdgpu: avoid incorrect %hu format string ARC: entry: fix off-by-one error in syscall number validation ARC: mm: PAE: use 40-bit physical page mask ARC: mm: Use max_high_pfn as a HIGHMEM zone border arm64: dts: imx8mq-librem5-r3: Mark buck3 as always on arm64: dts: marvell: armada-37xx: add syscon compatible to NB clk node arm64: dts: mediatek: fix reset GPIO level on pumpkin arm64: dts: mt8173: fix property typo of 'phys' in dsi node arm64: dts: qcom: db845c: fix correct powerdown pin for WSA881x arm64: dts: qcom: sdm845: fix number of pins in 'gpio-ranges' arm64: dts: qcom: sm8150: fix number of pins in 'gpio-ranges' arm64: dts: qcom: sm8250: Fix level triggered PMU interrupt polarity arm64: dts: qcom: sm8250: fix number of pins in 'gpio-ranges' arm64: dts: qcom: sm8250: Fix timer interrupt to specify EL2 physical timer arm64: dts: renesas: Add mmc aliases into board dts files arm64: dts: renesas: r8a77980: Fix vin4-7 endpoint binding arm64: dts: renesas: r8a779a0: Fix PMU interrupt arm64: dts: uniphier: Change phy-mode to RGMII-ID to enable delay pins for RTL8211E arm64: entry: always set GIC_PRIO_PSR_I_SET during entry arm64: entry: factor irq triage logic into macros arm64: Fix race condition on PG_dcache_clean in __sync_icache_dcache() arm64: mte: initialize RGSR_EL1.SEED in __cpu_setup arm64: Remove arm64_dma32_phys_limit and its uses arm64/vdso: Discard .note.gnu.property sections in vDSO ARM: 9011/1: centralize phys-to-virt conversion of DT/ATAGS address ARM: 9012/1: move device tree mapping out of linear region ARM: 9020/1: mm: use correct section size macro to describe the FDT virtual address ARM: 9027/1: head.S: explicitly map DT even if it lives in the first physical section ARM: 9056/1: decompressor: fix BSS size calculation for LLVM ld.lld ARM: 9064/1: hw_breakpoint: Do not directly check the event's overflow_handler hook ARM: dts: aspeed: Rainier: Fix humidity sensor bus address ARM: dts: at91: change the key code of the gpio key ARM: dts: BCM5301X: fix "reg" formatting in /memory node ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 ARM: dts: exynos: correct fuel gauge interrupt trigger level on Midas family ARM: dts: exynos: correct MUIC interrupt trigger level on Midas family ARM: dts: exynos: correct PMIC interrupt trigger level on Midas family ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid X/U3 family ARM: dts: exynos: correct PMIC interrupt trigger level on SMDK5250 ARM: dts: exynos: correct PMIC interrupt trigger level on Snow ARM: dts: renesas: Add mmc aliases into R-Car Gen2 board dts files ARM: dts: s5pv210: correct fuel gauge interrupt trigger level on Fascinate family ARM: dts: stm32: fix usart 2 & 3 pinconf to wake up with flow control ARM: dts: uniphier: Change phy-mode to RGMII-ID to enable delay pins for RTL8211E ARM: dts: ux500: Fix up TVK R3 sensors ARM: tegra: acer-a500: Rename avdd to vdda of touchscreen node ASoC: ak5558: correct reset polarity ASoC: Intel: boards: sof-wm8804: add check for PLL setting ASoC: Intel: bytcr_rt5640: Add quirk for the Chuwi Hi8 tablet ASoC: Intel: bytcr_rt5640: Enable jack-detect support on Asus T100TAF ASoC: Intel: kbl_da7219_max98927: Fix kabylake_ssp_fixup function ASoC: Intel: Skylake: Compile when any configuration is selected ASoC: Intel: sof_sdw: add quirk for new ADL-P Rvp ASoC: rsnd: call rsnd_ssi_master_clk_start() from rsnd_ssi_init() ASoC: rsnd: check all BUSIF status when error ASoC: rsnd: core: Check convert rate in rsnd_hw_params ASoC: rt286: Generalize support for ALC3263 codec ASoC: rt286: Make RT286_SET_GPIO_* readable and writable ASoC: rt5670: Add a quirk for the Dell Venue 10 Pro 5055 ASoC: samsung: tm2_wm5110: check of of_parse return value ASoC: simple-card: fix possible uninitialized single_cpu local variable ASoC: tlv320aic32x4: Increase maximum register in regmap ASoC: tlv320aic32x4: Register clocks before registering component ASoC: wm8960: Remove bitclk relax condition in wm8960_configure_sysclk async_xor: increase src_offs when dropping destination page ata: ahci: Disable SXS for Hisilicon Kunpeng920 ata: libahci_platform: fix IRQ check ath10k: Fix ath10k_wmi_tlv_op_pull_peer_stats_info() unlock without lock ath10k: Fix a use after free in ath10k_htc_send_bundle ath11k: fix thermal temperature read ath9k: Fix error check in ath9k_hw_read_revisions() for PCI devices atomisp: don't let it go past pipes array backlight: qcom-wled: Fix FSC update issue for WLED5 backlight: qcom-wled: Use sink_addr for sync toggle blk-iocost: fix weight updates of inner active iocgs blk-mq: plug request for shared sbitmap blk-mq: Swap two calls in blk_mq_exit_queue() block/rnbd-clt: Change queue_depth type in rnbd_clt_session to size_t block/rnbd-clt: Check the return value of the function rtrs_clt_query block/rnbd-clt: Fix missing a memory free when unloading the module Bluetooth: avoid deadlock between hci_dev->lock and socket lock Bluetooth: btusb: Enable quirk boolean flag for Mediatek Chip. Bluetooth: check for zapped sk before connecting bluetooth: eliminate the potential race condition when removing the HCI controller Bluetooth: Fix incorrect status handling in LE PHY UPDATE event Bluetooth: initialize skb_queue_head at l2cap_chan_create() Bluetooth: Set CONF_NOT_COMPLETE as l2cap_chan default Bluetooth: verify AMP hci_chan before amp_destroy bnxt_en: Add PCI IDs for Hyper-V VF devices. bnxt_en: Fix RX consumer index logic in the error path. bnxt_en: fix ternary sign extension bug in bnxt_show_temp() bpf: Fix alu32 const subreg bound tracking on bitwise operations bpf: Fix propagation of 32 bit unsigned bounds from 64 bit bounds bpf: Prevent writable memory-mapping of read-only ringbuf pages bpf, ringbuf: Deny reserve of buffers larger than ringbuf bpftool: Fix maybe-uninitialized warnings btrfs: convert logic BUG_ON()'s in replace_path to ASSERT()'s btrfs: do proper error handling in btrfs_update_reloc_root btrfs: do proper error handling in create_reloc_root btrfs: fix metadata extent leak after failure to create subvolume btrfs: fix race between transaction aborts and fsyncs leading to use-after-free btrfs: fix race leading to unpersisted data and metadata on fsync btrfs: fix race when picking most recent mod log operation for an old root btrfs: handle remount to no compress during compression bug: Remove redundant condition check in report_bug bus: mhi: core: Clear configuration from channel context during reset bus: mhi: core: Clear context for stopped channels from remove() bus: mhi: core: Destroy SBL devices when moving to mission mode bus: mhi: core: Fix check for syserr at power_up bus: mhi: core: Sanity check values from remote device before use bus: qcom: Put child node before return bus: ti-sysc: Probe for l4_wkup and l4_cfg interconnect devices first can: m_can: m_can_tx_work_queue(): fix tx_skb race condition can: mcp251xfd: mcp251xfd_probe(): add missing can_rx_offload_del() in error path can: mcp251x: fix resume from sleep before interface was brought up cdc-wdm: untangle a circular dependency between callback and softint ceph: fix inode leak on getattr error in __fh_to_dentry cfg80211: scan: drop entry from hidden_list on overflow cifs: detect dead connections only when echoes are enabled. cifs: fix out-of-bound memory access when calling smb3_notify() at mount point cifs: Return correct error code from smb2_get_enc_key clk: exynos7: Mark aclk_fsys1_200 as critical clk: imx: Fix reparenting of UARTs not associated with stdout clk: mvebu: armada-37xx-periph: Fix switching CPU freq from 250 Mhz to 1 GHz clk: mvebu: armada-37xx-periph: Fix workaround for switching from L1 to L0 clk: mvebu: armada-37xx-periph: remove .set_parent method for CPU PM clock clk: qcom: a53-pll: Add missing MODULE_DEVICE_TABLE clk: qcom: apss-ipq-pll: Add missing MODULE_DEVICE_TABLE clk: socfpga: arria10: Fix memory leak of socfpga_clk on error return clk: uniphier: Fix potential infinite loop clk: zynqmp: move zynqmp_pll_set_mode out of round_rate callback clk: zynqmp: pll: add set_pll_mode to check condition in zynqmp_pll_enable clocksource/drivers/ingenic_ost: Fix return value check in ingenic_ost_probe() clocksource/drivers/timer-ti-dm: Add missing set_state_oneshot_stopped clocksource/drivers/timer-ti-dm: Fix posted mode status check order clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940 clocksource/drivers/timer-ti-dm: Prepare to handle dra7 timer wrap issue coresight: Do not scan for graph if none is present cpufreq: armada-37xx: Fix determining base CPU frequency cpufreq: armada-37xx: Fix driver cleanup when registration failed cpufreq: armada-37xx: Fix setting TBG parent for load levels cpufreq: armada-37xx: Fix the AVS value for load L1 cpufreq: intel_pstate: Use HWP if enabled by platform firmware cpuidle: Fix ARM_QCOM_SPM_CPUIDLE configuration cpuidle: tegra: Fix C7 idling state on Tegra114 crypto: allwinner - add missing CRYPTO_ prefix crypto: api - check for ERR pointers in crypto_destroy_tfm() crypto: arm/curve25519 - Move '.fpu' after '.arch' crypto: ccp: Detect and reject "invalid" addresses destined for PSP crypto: ccp - fix command queuing to TEE ring buffer crypto: ccp: Free SEV device if SEV init fails crypto: chelsio - Read rxchannel-id from firmware crypto: hisilicon/sec - fixes a printing error crypto: omap-aes - Fix PM reference leak on omap-aes.c crypto: poly1305 - fix poly1305_core_setkey() declaration crypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init crypto: qat - don't release uninitialized resources crypto: qat - Fix a double free in adf_create_ring crypto: qat - fix error path in adf_isr_resource_alloc() crypto: qat - fix unmap invalid dma address crypto: rng - fix crypto_rng_reset() refcounting when !CRYPTO_STATS crypto: sa2ul - Fix memory leak of rxd crypto: sa2ul - Fix PM reference leak in sa_ul_probe() crypto: stm32/cryp - Fix PM reference leak on stm32-cryp.c crypto: stm32/hash - Fix PM reference leak on stm32-hash.c crypto: sun8i-ce - Fix PM reference leak in sun8i_ce_probe() crypto: sun8i-ss - Fix memory leak of object d when dma_iv fails to map crypto: sun8i-ss - Fix memory leak of pad crypto: sun8i-ss - Fix PM reference leak when pm_runtime_get_sync() fails crypto: sun8i-ss - fix result memory leak on error path cuse: prevent clone cxgb4: Fix unintentional sign extension issues dax: Add an enum for specifying dax wakup mode dax: Add a wakeup mode parameter to put_unlocked_entry() dax: Wake up all waiters after invalidating dax entry debugfs: Make debugfs_allow RO after init devtmpfs: fix placement of complete() call dmaengine: idxd: fix cdev setup and free device lifetime issues dmaengine: idxd: fix dma device lifetime dmaengine: idxd: Fix potential null dereference on pointer status dm integrity: fix missing goto in bitmap_flush_interval error handling dm persistent data: packed struct should have an aligned() attribute too dm raid: fix inconclusive reshape layout on fast raid4/5/6 table reload sequences dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails dm space map common: fix division bug in sm_ll_find_free_block() driver core: platform: Declare early_platform_cleanup() prototype drivers/block/null_blk/main: Fix a double free in null_init. Drivers: hv: vmbus: Increase wait time for VMbus unload Drivers: hv: vmbus: Use after free in __vmbus_open() drivers: nvmem: Fix voltage settings for QTI qfprom-efuse drm: Added orientation quirk for OneGX1 Pro drm/amd/display: add handling for hdcp2 rx id list validation drm/amd/display: changing sr exit latency drm/amd/display: Check for DSC support instead of ASIC revision drm/amd/display/dc/dce/dce_aux: Remove duplicate line causing 'field overwritten' issue drm/amd/display: DCHUB underflow counter increasing in some scenarios drm/amd/display: Don't optimize bandwidth before disabling planes drm/amd/display: Fix debugfs link_settings entry drm/amd/display: fix dml prefetch validation drm/amd/display: fixed divide by zero kernel crash during dsc enablement drm/amd/display: Fix off by one in hdmi_14_process_transaction() drm/amd/display: Fix UBSAN: shift-out-of-bounds warning drm/amd/display: Fix UBSAN warning for not a valid value for type '_Bool' drm/amd/display: Force vsync flip when reconfiguring MPCC drm/amd/display: Initialize attribute for hdcp_srm sysfs file drm/amd/display: Reject non-zero src_y and src_x for video planes drm/amd/display: Try YCbCr420 color when YCbCr444 fails drm/amd/display: use GFP_ATOMIC in dcn20_resource_construct drm/amdgpu: Add mem sync flag for IB allocated by SA drm/amdgpu/display: buffer INTERRUPT_LOW_IRQ_CONTEXT interrupt work drm/amdgpu : Fix asic reset regression issue introduce by 8f211fe8ac7c4f drm/amdgpu: fix concurrent VM flushes on Vega/Navi v2 drm/amdgpu: fix NULL pointer dereference drm/amdgpu: Fix some unload driver issues drm/amdgpu: mask the xgmi number of hops reported from psp to kfd drm/amdgpu/ttm: Fix memory leak userptr pages drm/amdkfd: fix build error with AMD_IOMMU_V2=m drm/amdkfd: Fix cat debugfs hang_hws file causes system crash bug drm/amdkfd: Fix UBSAN shift-out-of-bounds warning drm/amd/pm: fix error code in smu_set_power_limit() drm/amd/pm: fix workload mismatch on vega10 drm/ast: Fix invalid usage of AST_MAX_HWC_WIDTH in cursor atomic_check drm/ast: fix memory leak when unload the driver drm: bridge: fix LONTIUM use of mipi_dsi_() functions drm: bridge/panel: Cleanup connector on bridge detach drm/dp_mst: Revise broadcast msg lct & lcr drm/dp_mst: Set CLEAR_PAYLOAD_ID_TABLE as broadcast drm/i915: Avoid div-by-zero on gen2 drm/i915: Fix crash in auto_retire drm/i915/gt: Fix a double free in gen8_preallocate_top_level_pdp drm/i915/gvt: Fix error code in intel_gvt_init_device() drm/i915/gvt: Fix vfio_edid issue for BXT/APL drm/i915/gvt: Fix virtual display setup for BXT/APL drm/i915/overlay: Fix active retire callback alignment drm/i915: Read C0DRB3/C1DRB3 as 16 bits again drm/komeda: Fix bit check to import to value of proper type drm/mcde/panel: Inverse misunderstood flag drm/msm/dp: Fix incorrect NULL check kbot warnings in DP driver drm/msm/dp: initialize audio_comp when audio starts drm/msm/mdp5: Configure PP_SYNC_HEIGHT to double the vtotal drm/msm/mdp5: Do not multiply vclk line count by 100 drm/panfrost: Clear MMU irqs before handling the fault drm/panfrost: Don't try to map pages that are already mapped drm/probe-helper: Check epoch counter in output_poll_execute() drm/qxl: do not run release if qxl failed to init drm/qxl: release shadow on shutdown drm/qxl: use ttm bo priorities drm/radeon: Avoid power table parsing memory leaks drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected drm/radeon: Fix a missing check bug in radeon_dp_mst_detect() drm/radeon: fix copy of uninitialized variable back to userspace drm/radeon: Fix off-by-one power_state index heap overwrite drm/radeon/ttm: Fix memory leak userptr pages drm/stm: Fix bus_flags handling drm/tilcdc: send vblank event when disabling crtc drm/vkms: fix misuse of WARN_ON drm: xlnx: zynqmp: fix a memset in zynqmp_dp_train() dt-bindings: media: renesas,vin: Make resets optional on R-Car Gen1 dt-bindings: serial: 8250: Remove duplicated compatible strings dt-bindings: serial: stm32: Use 'type: object' instead of false for 'additionalProperties' dyndbg: fix parsing file query without a line-range suffix ecryptfs: fix kernel panic with null dev_name efi/libstub: Add $(CLANG_FLAGS) to x86 flags erofs: add unsupported inode i_format check ethernet:enic: Fix a use after free bug in enic_hard_start_xmit ethtool: fix missing NLM_F_MULTI flag when dumping ethtool: ioctl: Fix out-of-bounds warning in store_link_ksettings_for_user() exfat: fix erroneous discard when clear cluster bit ext4: allow the dax flag to be set and cleared on inline directories ext4: annotate data race in jbd2_journal_dirty_metadata() ext4: annotate data race in start_this_handle() ext4: do not set SB_ACTIVE in ext4_orphan_cleanup() ext4: fix check to prevent false positive report of incorrect used inodes ext4: fix debug format string warning ext4: fix error code in ext4_commit_super ext4: fix error return code in ext4_fc_perform_commit() ext4: fix ext4_error_err save negative errno into superblock ext4: Fix occasional generic/418 failure extcon: arizona: Fix some issues when HPDET IRQ fires after the jack has been unplugged extcon: arizona: Fix various races on driver unbind f2fs: avoid unneeded data copy in f2fs_ioc_move_range() f2fs: compress: fix race condition of overwrite vs truncate f2fs: compress: fix to assign cc.cluster_idx correctly f2fs: compress: fix to free compress page correctly f2fs: Fix a hungtask problem in atomic write f2fs: fix a redundant call to f2fs_balance_fs if an error occurs f2fs: fix compat F2FS_IOC_{MOVE,GARBAGE_COLLECT}_RANGE f2fs: fix error handling in f2fs_end_enable_verity() f2fs: fix panic during f2fs_resize_fs() f2fs: fix to align to section for fallocate() on pinned file f2fs: fix to allow migrating fully valid segment f2fs: fix to avoid accessing invalid fio in f2fs_allocate_data_block() f2fs: fix to avoid out-of-bounds memory access f2fs: fix to avoid touching checkpointed data in get_victim() f2fs: fix to cover __allocate_new_section() with curseg_lock f2fs: fix to update last i_size if fallocate partially succeeds f2fs: move ioctl interface definitions to separated file fbdev: zero-fill colormap in fbcmap.c FDDI: defxx: Bail out gracefully with unassigned PCI resource for CSR FDDI: defxx: Make MMIO the configuration default except for EISA firmware: qcom-scm: Fix QCOM_SCM configuration firmware: qcom_scm: Make __qcom_scm_is_call_available() return bool firmware: qcom_scm: Reduce locking section for __get_convention() firmware: qcom_scm: Workaround lack of "is available" call on SC7180 firmware: xilinx: Add a blank line after function declaration firmware: xilinx: Fix dereferencing freed memory firmware: xilinx: Remove zynqmp_pm_get_eemi_ops() in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE) Fix misc new gcc warnings flow_dissector: Fix out-of-bounds warning in __skb_flow_bpf_to_target() fotg210-udc: Complete OUT requests on short packets fotg210-udc: Don't DMA more than the buffer can take fotg210-udc: Fix DMA on EP0 for length > max packet size fotg210-udc: Fix EP0 IN requests bigger than two packets fotg210-udc: Mask GRP2 interrupts we don't handle fotg210-udc: Remove a dubious condition leading to fotg210_done fpga: dfl: pci: add DID for D5005 PAC cards fpga: fpga-mgr: xilinx-spi: fix error messages on -EPROBE_DEFER fs: dlm: add errno handling to check callback fs: dlm: check on minimum msglen size fs: dlm: fix debugfs dump fs: dlm: flush swork on shutdown fs/epoll: restore waking from ep_done_scan() fs: fix reporting supported extra file attributes for statx() fs/proc/generic.c: fix incorrect pde_is_permanent check ftrace: Handle commands when closing set_ftrace_filter file fuse: fix write deadlock fuse: invalidate attrs when page writeback completes futex: Do not apply time namespace adjustment on FUTEX_LOCK_PI genirq/matrix: Prevent allocation counter corruption gpio: guard gpiochip_irqchip_add_domain() with GPIOLIB_IRQCHIP gro: fix napi_gro_frags() Fast GRO breakage due to IP alignment check hfsplus: prevent corruption in shrinking truncate HID: lenovo: Check hid_get_drvdata() returns non NULL in lenovo_event() HID: lenovo: Fix lenovo_led_set_tp10ubkbd() error handling HID: lenovo: Map mic-mute button to KEY_F20 instead of KEY_MICMUTE HID: lenovo: Use brightness_set_blocking callback for setting LEDs brightness HID: plantronics: Workaround for double volume key presses HSI: core: fix resource leaks in hsi_add_client_from_dt() hwmon: (occ) Fix poll rate limiting hwmon: (pmbus/pxe1610) don't bail out when not all pages are active i2c: Add I2C_AQ_NO_REP_START adapter quirk i2c: bail out early when RDWR parameters are wrong i2c: cadence: add IRQ check i2c: cadence: fix reference leak when pm_runtime_get_sync fails i2c: emev2: add IRQ check i2c: img-scb: fix reference leak when pm_runtime_get_sync fails i2c: imx: fix reference leak when pm_runtime_get_sync fails i2c: imx-lpi2c: fix reference leak when pm_runtime_get_sync fails i2c: jz4780: add IRQ check i2c: mediatek: Fix send master code at more than 1MHz i2c: mediatek: Fix wrong dma sync flag i2c: mlxbf: add IRQ check i2c: omap: fix reference leak when pm_runtime_get_sync fails i2c: rcar: add IRQ check i2c: rcar: make sure irq is not threaded on Gen2 and earlier i2c: rcar: protect against supurious interrupts on V3U i2c: sh7760: add IRQ check i2c: sh7760: fix IRQ error path i2c: sprd: fix reference leak when pm_runtime_get_sync fails i2c: stm32f7: fix reference leak when pm_runtime_get_sync fails i2c: xiic: fix reference leak when pm_runtime_get_sync fails i40e: fix broken XDP support i40e: Fix PHY type identifiers for 2.5G and 5G adapters i40e: fix the restart auto-negotiation after FEC modified i40e: Fix use-after-free in i40e_client_subtask() ia64: fix EFI_DEBUG build ia64: module: fix symbolizer crash on fdescr iavf: remove duplicate free resources calls IB/hfi1: Correct oversized ring allocation IB/hfi1: Fix error return code in parse_platform_config() IB/hfi1: Use kzalloc() for mmu_rb_handler allocation IB/isert: Fix a use after free in isert_connect_request ice: handle increasing Tx or Rx ring sizes iio:accel:adis16201: Fix wrong axis assignment that prevents loading iio:adc:ad7476: Fix remove handling iio: adc: Kconfig: make AD9467 depend on ADI_AXI_ADC symbol iio: gyro: mpu3050: Fix reported temperature value iio: hid-sensors: select IIO_TRIGGERED_BUFFER under HID_SENSOR_IIO_TRIGGER iio: inv_mpu6050: Fully validate gyro and accel scale writes iio: light: gp2ap002: Fix rumtime PM imbalance on error iio: proximity: pulsedlight: Fix rumtime PM imbalance on error iio: tsl2583: Fix division by a zero lux_val ima: Fix the error code for restoring the PCR value inet: use bigger hash table for IP ID generation Input: ili210x - add missing negation for touch indication on ili210x intel_th: Consistency and off-by-one fix intel_th: pci: Add Alder Lake-M support intel_th: pci: Add Rocket Lake CPU support iommu/amd: Put newline after closing bracket in warning iommu/amd: Remove performance counter pre-initialization test iommu/arm-smmu-v3: add bit field SFM into GERROR_ERR_MASK iommu: Check dev->iommu in iommu_dev_xxx functions iommu: Fix a boundary issue to avoid performance drop iommu/vt-d: Don't set then clear private data in prq_event_thread() iommu/vt-d: Invalidate PASID cache when root/context entry changed iommu/vt-d: Preset Access/Dirty bits for IOVA over FL iommu/vt-d: Reject unsupported page request modes iommu/vt-d: Remove WO permissions on second-level paging entries iommu/vt-d: Report right snoop capability when using FL for IOVA iommu/vt-d: Report the right page fault address io_uring: fix overflows checks in provide buffers io_uring: truncate lengths larger than MAX_RW_COUNT on provide buffers ip6_vti: proper dev_{hold|put} in ndo_[un]init methods ipw2x00: potential buffer overflow in libipw_wx_set_encodeext() irqchip/gic-v3: Do not enable irqs when handling spurious interrups irqchip/gic-v3: Fix OF_BAD_ADDR error handling iwlwifi: pcie: make cfg vs. trans_cfg more robust jffs2: check the validity of dstlen in jffs2_zlib_compress() jffs2: Fix kasan slab-out-of-bounds problem jffs2: Hook up splice_write callback kasan: fix unit tests with CONFIG_UBSAN_LOCAL_BOUNDS enabled kbuild: generate Module.symvers only when vmlinux exists kbuild: update config_data.gz only when the content of .config is changed kconfig: nconf: stop endless search loops kcsan, debugfs: Move debugfs file creation out of early init kernel: kexec_file: fix error return code of kexec_calculate_store_digests() kernel/resource: make walk_mem_res() find all busy IORESOURCE_MEM resources kernel/resource: make walk_system_ram_res() find all busy IORESOURCE_SYSTEM_RAM resources KEYS: trusted: Fix memory leak on object td kfifo: fix ternary sign extension bugs khugepaged: fix wrong result value for trace_mm_collapse_huge_page_isolate() kobject_uevent: remove warning in init_uevent_argv() kselftest/arm64: mte: Fix compilation with native compiler kselftest/arm64: mte: Fix MTE feature detection ksm: fix potential missing rmap_item for stable_node kvfree_rcu: Use same set of GFP flags as does single-argument KVM: arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION read KVM: arm64: Fully zero the vcpu state on reset KVM: arm64: Initialize VCPU mdcr_el2 before loading it KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read kvm: Cap halt polling at kvm->max_halt_poll_ns KVM: Destroy I/O bus devices on unregister failure _after_ sync'ing SRCU kvm: exit halt polling on need_resched() as well KVM: LAPIC: Accurately guarantee busy wait for timer to expire when using hv_timer KVM: nSVM: Set the shadow root level to the TDP level for nested NPT KVM: nVMX: Always make an attempt to map eVMCS after migration KVM: nVMX: Defer the MMU reload to the normal path on an EPTP switch KVM: nVMX: Truncate base/index GPR value on address calc in !64-bit KVM: nVMX: Truncate bits 63:32 of VMCS field on nested check in !64-bit KVM: PPC: Book3S HV P9: Restore host CTRL SPR after guest exit KVM: s390: extend kvm_s390_shadow_fault to return entry pointer KVM: s390: fix guarded storage control register handling KVM: s390: split kvm_s390_logical_to_effective KVM: s390: split kvm_s390_real_to_abs KVM: s390: VSIE: correctly handle MVPG when in VSIE KVM: s390: VSIE: fix MVPG handling for prefixing and MSO KVM: Stop looking for coalesced MMIO zones if the bus is destroyed KVM: SVM: Do not allow SEV/SEV-ES initialization after vCPUs are created KVM: SVM: Don't strip the C-bit from CR2 on #PF interception KVM: SVM: Inject #GP on guest MSR_TSC_AUX accesses if RDTSCP unsupported KVM: VMX: Disable preemption when probing user return MSRs KVM: VMX: Do not advertise RDPID if ENABLE_RDTSCP control is unsupported KVM: VMX: Intercept FS/GS_BASE MSR accesses for 32-bit KVM KVM/VMX: Invoke NMI non-IST entry instead of IST entry KVM: x86: Cancel pvclock_gtod_work on module removal KVM: x86: Defer the MMU unload to the normal path on an global INVPCID KVM: x86: dump_vmcs should not assume GUEST_IA32_EFER is valid KVM: x86: Emulate RDPID only if RDTSCP is supported KVM: x86/mmu: Alloc page for PDPTEs when shadowing 32-bit NPT with 64-bit KVM: x86/mmu: Remove the defunct update_pte() paging hook KVM: x86/mmu: Retry page faults that hit an invalid memslot KVM: x86: Move RDPID emulation intercept to its own enum KVM: x86: Prevent deadlock against tk_core.seq KVM: x86: Remove emulator's broken checks on CR0/CR3/CR4 loads kyber: fix out of bounds access when preempted libbpf: Add explicit padding to bpf_xdp_set_link_opts libbpf: Add explicit padding to btf_dump_emit_type_decl_opts libbpf: Fix signed overflow in ringbuf_process_ring libbpf: Initialize the bpf_seq_printf parameters array field by field lib/vsprintf.c: remove leftover 'f' and 'F' cases from bstr_printf() liquidio: Fix unintented sign extension of a left shift of a u16 m68k: Add missing mmap_read_lock() to sys_cacheflush() m68k: mvme147,mvme16x: Don't wipe PCC timer config bits mac80211: bail out if cipher schemes are invalid mac80211: clear the beacon's CRC after channel switch mailbox: sprd: Introduce refcnt when clients requests/free channels Makefile: Move -Wno-unused-but-set-variable out of GCC only block md/bitmap: wait for external bitmap writes to complete during tear down md-cluster: fix use-after-free issue when removing rdev md: factor out a mddev_find_locked helper from mddev_find md: Fix missing unused status line of /proc/mdstat md: md_open returns -EBUSY when entering racing area md/raid1: properly indicate failure when ending a failed write request md: split mddev_find media: adv7604: fix possible use-after-free in adv76xx_remove() media: aspeed: fix clock handling logic media: atomisp: Fixed error handling path media: atomisp: Fix use after free in atomisp_alloc_css_stat_bufs() media: cedrus: Fix H265 status definitions media: docs: Fix data organization of MEDIA_BUS_FMT_RGB101010_1X30 media: drivers: media: pci: sta2x11: fix Kconfig dependency on GPIOLIB media: dvbdev: Fix memory leak in dvb_media_device_free() media: dvb-usb: Fix memory leak at error in dvb_usb_device_init() media: dvb-usb: fix memory leak in dvb_usb_adapter_init media: dvb-usb: Fix use-after-free access media: em28xx: fix memory leak media: gscpa/stv06xx: fix memory leak media: gspca/sq905.c: fix uninitialized variable media: i2c: adv7511-v4l2: fix possible use-after-free in adv7511_remove() media: i2c: adv7842: fix possible use-after-free in adv7842_remove() media: i2c: imx219: Balance runtime PM use-count media: i2c: imx219: Move out locking/unlocking of vflip and hflip controls from imx219_set_stream media: i2c: tda1997: Fix possible use-after-free in tda1997x_remove() media: imx: capture: Return -EPIPE from __capture_legacy_try_fmt() media: ite-cir: check for receive overflow media: m88ds3103: fix return value check in m88ds3103_probe() media: m88rs6000t: avoid potential out-of-bounds reads on arrays media: media/saa7164: fix saa7164_encoder_register() memory leak bugs media: [next] staging: media: atomisp: fix memory leak of object flash media: omap4iss: return error code when omap4iss_get() failed media: platform: sti: Fix runtime PM imbalance in regs_show media: platform: sunxi: sun6i-csi: fix error return code of sun6i_video_start_streaming() media: rkisp1: rsz: crash fix when setting src format media: rkvdec: Remove of_match_ptr() media: saa7134: use sg_dma_len when building pgtable media: saa7146: use sg_dma_len when building pgtable media: staging/intel-ipu3: Fix memory leak in imu_fmt media: staging/intel-ipu3: Fix race condition during set_fmt media: staging/intel-ipu3: Fix set_fmt error handling media: sun8i-di: Fix runtime PM imbalance in deinterlace_start_streaming media: tc358743: fix possible use-after-free in tc358743_remove() media: v4l2-ctrls.c: fix race condition in hdl->requests list media: v4l2-ctrls: fix reference to freed memory media: venus: core: Fix some resource leaks in the error path of 'venus_probe()' media: venus: hfi_parser: Don't initialize parser on v1 media: vivid: fix assignment of dev->fbuf_out_flags media: vivid: update EDID memory: gpmc: fix out of bounds read and dereference on gpmc_cs[] memory: pl353: fix mask of ECC page_size config register memory: renesas-rpc-if: fix possible NULL pointer dereference of resource memory: samsung: exynos5422-dmc: handle clk_set_parent() failure mfd: arizona: Fix rumtime PM imbalance on error mfd: da9063: Support SMBus and I2C mode mfd: intel-m10-bmc: Fix the register access range mfd: stm32-timers: Avoid clearing auto reload register MIPS: Avoid DIVU in `__div64_32' is result would be zero MIPS: Avoid handcoded DIVU in `__div64_32' altogether mips: bmips: fix syscon-reboot nodes MIPS/bpf: Enable bpf_probe_read{, str}() on MIPS again MIPS: fix local_irq_{disable,enable} in asmmacro.h MIPS: loongson64: fix bug when PAGE_SIZE > 16KB MIPS: Loongson64: Use _CACHE_UNCACHED instead of _CACHE_UNCACHED_ACCELERATED MIPS: pci-legacy: stop using of_pci_range_to_resource MIPS: pci-mt7620: fix PLL lock check MIPS: pci-rt2880: fix slot 0 configuration MIPS: Reinstate platform `__div64_32' handler misc: lis3lv02d: Fix false-positive WARN on various HP models misc: vmw_vmci: explicitly initialize vmci_datagram payload misc: vmw_vmci: explicitly initialize vmci_notify_bm_set_msg struct mlxsw: spectrum_mr: Update egress RIF list before route's action mmc: block: Issue a cache flush only when it's enabled mmc: block: Update ext_csd.cache_ctrl if it was written mmc: core: Do a power cycle when the CMD11 fails mmc: core: Fix hanging on I/O during system suspend for removable cards mmc: core: Set read only for SD cards with permanent write protect bit mmc: sdhci-brcmstb: Remove CQE quirk mmc: sdhci: Check for reset prior to DMA address unmap mmc: sdhci-esdhc-imx: validate pinctrl before use it mmc: sdhci-pci: Add PCI IDs for Intel LKF mmc: sdhci-pci: Fix initialization of some SD cards for Intel BYT-based controllers mmc: sdhci-tegra: Add required callbacks to set/clear CQE_EN bit mmc: uniphier-sd: Fix an error handling path in uniphier_sd_probe() mmc: uniphier-sd: Fix a resource leak in the remove function mm: fix struct page layout on 32-bit systems mm/gup: check every subpage of a compound page during isolation mm/gup: check for isolation errors mm/gup: return an error on migration failure mm/hugeltb: handle the error case in hugetlb_fix_reserve_counts() mm/hugetlb: fix F_SEAL_FUTURE_WRITE mm: memcontrol: slab: fix obtain a reference to a freeing memcg mm/memory-failure: unnecessary amount of unmapping mm/migrate.c: fix potential indeterminate pte entry in migrate_vma_insert_page() mm/sl?b.c: remove ctor argument from kmem_cache_flags mm/sparse: add the missing sparse_buffer_fini() in error branch mptcp: fix splat when closing unaccepted socket mt7601u: fix always true expression mt76: fix potential DMA mapping leak mt76: mt7615: fix entering driver-own state on mt7663 mt76: mt7615: fix memleak when mt7615_unregister_device() mt76: mt7615: fix mib stats counter reporting to mac80211 mt76: mt7615: fix tx skb dma unmap mt76: mt7615: support loading EEPROM for MT7613BE mt76: mt7615: use ieee80211_free_txskb() in mt7615_tx_token_put() mt76: mt7663s: fix the possible device hang in high traffic mt76: mt7663s: make all of packets 4-bytes aligned in sdio tx aggregation mt76: mt76x0: disable GTK offloading mt76: mt7915: fix aggr len debugfs node mt76: mt7915: fix mib stats counter reporting to mac80211 mt76: mt7915: fix txpower init for TSSI off chips mt76: mt7915: fix tx skb dma unmap mtd: don't lock when recursively deleting partitions mtd: Handle possible -EPROBE_DEFER from parse_mtd_partitions() mtd: maps: fix error return code of physmap_flash_remove() mtd: physmap: physmap-bt1-rom: Fix unintentional stack access mtd: rawnand: atmel: Update ecc_stats.corrected counter mtd: rawnand: brcmnand: fix OOB R/W with Hamming ECC mtd: rawnand: fsmc: Fix error code in fsmc_nand_probe() mtd: rawnand: gpmi: Fix a double free in gpmi_nand_init mtd: rawnand: qcom: Return actual error code instead of -ENODEV mtd: require write permissions for locking and badblock ioctls mtd: spinand: core: add missing MODULE_DEVICE_TABLE() mtd: spi-nor: core: Fix an issue of releasing resources during read/write mwl8k: Fix a double Free in mwl8k_probe_hw nbd: Fix NULL pointer in flush_workqueue net: bridge: mcast: fix broken length + header check for MRDv6 Adv. net: bridge: when suppression is enabled exclude RARP packets net: davinci_emac: Fix incorrect masking of tx and rx error channel net:emac/emac-mac: Fix a use after free in emac_mac_tx_buf_send net: enetc: fix link error again net: ethernet: ixp4xx: Set the DMA masks explicitly net: ethernet: mtk_eth_soc: fix RX VLAN offload netfilter: nfnetlink_osf: Fix a missing skb_header_pointer() NULL check netfilter: nftables: avoid overflows in nft_hash_buckets() netfilter: nftables: Fix a memleak from userdata error path in new objects netfilter: nftables_offload: special ethertype handling for VLAN netfilter: nftables_offload: VLAN id needs host byteorder in flow dissector netfilter: nft_payload: fix C-VLAN offload support netfilter: xt_SECMARK: add new revision to fix structure layout net: fix nla_strcmp to handle more then one trailing null character net: geneve: modify IP header check in geneve6_xmit_skb and geneve_xmit_skb net: hns3: add check for HNS3_NIC_STATE_INITED in hns3_reset_notify_up_enet() net: hns3: add handling for xmit skb with recursive fraglist net: hns3: disable phy loopback setting in hclge_mac_start_phy net: hns3: fix for vxlan gpe tx checksum bug net: hns3: fix incorrect configuration for igu_egu_hw_err net: hns3: initialize the message content in hclge_get_link_mode() net: hns3: Limiting the scope of vector_ring_chain variable net: hns3: remediate a potential overflow risk of bd_num_list net: hns3: use netif_tx_disable to stop the transmit queue net: lapbether: Prevent racing when checking whether the netif is running net: marvell: prestera: fix port event handling on init net/mlx5e: Use net_prefetchw instead of prefetchw in MPWQE TX datapath net/mlx5: Fix bit-wise and with zero net:nfc:digital: Fix a double free in digital_tg_recv_dep_req net/nfc: fix use-after-free llcp_sock_bind/connect net: Only allow init netns to set default tcp cong to a restricted algo net/packet: make packet_fanout.arr size configurable up to 64K net/packet: remove data races in fanout operations net: phy: intel-xway: enable integrated led functions net: phy: lan87xx: fix access to wrong register of LAN87xx net: phy: marvell: fix m88e1011_set_downshift net: phy: marvell: fix m88e1111_set_downshift net: renesas: ravb: Fix a stuck issue when a lot of frames are received net/sched: cls_flower: use ntohs for struct flow_dissector_key_ports net: sched: tapr: prevent cycle_time == 0 in parse_taprio_schedule net: stmmac: Clear receive all(RA) bit when promiscuous mode is off net: stmmac: fix TSO and TBS feature enabling during driver open net: stmmac: Set FIFO sizes for ipq806x net: thunderx: Fix unintentional sign extension issue net/tipc: fix missing destroy_workqueue() on error in tipc_crypto_start() nfc: pn533: prevent potential memory corruption nfp: devlink: initialize the devlink port attribute "lanes" NFS: Deal correctly with attribute generation counter overflow nfsd: ensure new clients break delegations NFSD: Fix sparse warning in nfs4proc.c NFS: Don't discard pNFS layout segments that are marked for return NFS: Fix attribute bitmask in _nfs42_proc_fallocate() NFS: fs_context: validate UDP retrans to prevent shift out-of-bounds NFS: nfs4_bitmask_adjust() must not change the server global bitmasks NFSv4.2: Always flush out writes in nfs42_proc_fallocate() NFSv4.2: fix copy stateid copying for the async copy NFSv4.2 fix handling of sr_eof in SEEK's reply NFSv4: Don't discard segments marked for return in _pnfs_return_layout() NFSv4.x: Don't return NFS4ERR_NOMATCHING_LAYOUT if we're unmounting nitro_enclaves: Fix stale file descriptors on failed usercopy node: fix device cleanups in error handling code nvme: do not try to reconfigure APST when the controller is not live nvme-pci: don't simple map sgl when sgls are disabled nvme: retrigger ANA log update if group descriptor isn't found nvmet: add lba to sect conversion helpers nvme-tcp: block BH in sk state_change sk callback nvmet: fix inline bio check for bdev-ns nvmet-rdma: Fix NULL deref when SEND is completed with error nvmet: return proper error code from discovery ctrl nvmet-tcp: fix a segmentation fault during io parsing error nvmet-tcp: fix incorrect locking in state_change sk callback of: overlay: fix for_each_child.cocci warnings openvswitch: fix stack OOB read while fragmenting IPv4 packets ovl: fix missing revert_creds() on error path ovl: invalidate readdir cache on changes to dir with origin pata_arasan_cf: fix IRQ check pata_ipx4xx_cf: fix IRQ check PCI: Allow VPD access for QLogic ISP2722 PCI: endpoint: Add helper API to get the 'next' unreserved BAR PCI: endpoint: Fix missing destroy_workqueue() PCI: endpoint: Fix NULL pointer dereference for ->get_features() PCI: endpoint: Make *_free_bar() to return error codes on failure PCI: endpoint: Make *_get_first_free_bar() take into account 64 bit BAR PCI: iproc: Fix return value of iproc_msi_irq_domain_alloc() PCI: keystone: Let AM65 use the pci_ops defined in pcie-designware-host.c PCI: PM: Do not read power state in pci_enable_device_flags() PCI: Release OF node in pci_scan_device()'s error path PCI: xgene: Fix cfg resource mapping perf/amd/uncore: Fix sysfs type mismatch perf/arm_pmu_platform: Fix error handling perf/arm_pmu_platform: Use dev_err_probe() for IRQ errors perf beauty: Fix fsconfig generator perf jit: Let convert_timestamp() to be backwards-compatible perf: Rework perf_event_exit_event() perf session: Add swap operation for event TIME_CONV perf symbols: Fix dso__fprintf_symbols_by_name() to return the number of printed chars perf tools: Change fields type in perf_record_time_conv perf tools: Fix dynamic libbpf link perf vendor events amd: Fix broken L2 Cache Hits from L2 HWPF metric phy: cadence: Sierra: Fix PHY power_on sequence phy: marvell: ARMADA375_USBCLUSTER_PHY should not default to y, unconditionally phy: phy-twl4030-usb: Fix possible use-after-free in twl4030_usb_remove() phy: ti: j721e-wiz: Delete "clk_div_sel" clk provider during cleanup phy: ti: j721e-wiz: Invoke wiz_init() before of_platform_device_create() pinctrl: pinctrl-single: fix pcs_pin_dbg_show() when bits_per_mux is not zero pinctrl: pinctrl-single: remove unused parameter pinctrl: samsung: use 'int' for register masks in Exynos platform/x86: intel_pmc_core: Don't use global pmcdev in quirks platform/x86: ISST: Account for increased timeout in some cases platform/x86: pmc_atom: Match all Beckhoff Automation baytrail boards with critclk_systems DMI table PM / devfreq: Unlock mutex and free devfreq struct in error path PM / devfreq: Use more accurate returned new_freq as resume_freq PM: hibernate: x86: Use crc32 instead of md5 for hibernation e820 integrity check PM: runtime: Fix unpaired parent child_count for force_resume PM: runtime: Replace inline function pm_runtime_callbacks_present() pNFS/flexfiles: fix incorrect size check in decode_nfs_fh() posix-timers: Preserve return value in clock_adjtime32() powerpc/32: Fix boot failure with CONFIG_STACKPROTECTOR powerpc/32: Statically initialise first emergency context powerpc/52xx: Fix an invalid ASM expression ('addi' used instead of 'add') powerpc/64: Fix the definition of the fixmap area powerpc/64s: Fix crashes when toggling entry flush barrier powerpc/64s: Fix crashes when toggling stf barrier powerpc/64s: Fix pte update for kernel memory on radix powerpc/eeh: Fix EEH handling for hugepages in ioremap space. powerpc/fadump: Mark fadump_calculate_reserve_size as __init powerpc: fix EDEADLOCK redefinition error in uapi/asm/errno.h powerpc: Fix HAVE_HARDLOCKUP_DETECTOR_ARCH build configuration powerpc/iommu: Annotate nested lock for lockdep powerpc: iommu: fix build when neither PCI or IBMVIO is set powerpc/kexec_file: Use current CPU info while setting up FDT powerpc/mm: Add cond_resched() while removing hpte mappings powerpc/perf: Fix PMU constraint check for EBB events powerpc/perf: Fix the threshold event selection for memory events in power10 powerpc/powernv: Enable HAIL (HV AIL) for ISA v3.1 processors powerpc/prom: Mark identical_pvr_fixup as __init powerpc/pseries: extract host bridge from pci_bus prior to bus removal powerpc/pseries: Only register vio drivers if vio bus exists powerpc/pseries: Stop calling printk in rtas_stop_self() powerpc/smp: Reintroduce cpu_core_mask powerpc/smp: Set numa node before updating mask powerpc/xive: Drop check on irq_data in xive_core_debug_show() powerpc/xive: Fix xmon command "dxi" power: supply: bq25980: Move props from battery node power: supply: bq27xxx: fix power_avg for newer ICs power: supply: cpcap-battery: fix invalid usage of list cursor power: supply: cpcap-charger: Add usleep to cpcap charger to avoid usb plug bounce power: supply: generic-adc-battery: fix possible use-after-free in gab_remove() power: supply: s3c_adc_battery: fix possible use-after-free in s3c_adc_bat_remove() power: supply: Use IRQF_ONESHOT pwm: atmel: Fix duty cycle calculation in .get_state() qtnfmac: Fix possible buffer overflow in qtnf_event_handle_external_auth random: initialize ChaCha20 constants with correct endianness rcu: Remove spurious instrumentation_end() in rcu_nmi_enter() RDMA/bnxt_re: Fix a double free in bnxt_qplib_alloc_res RDMA/bnxt_re: Fix error return code in bnxt_qplib_cq_process_terminal() RDMA/core: Add CM to restrack after successful attachment to a device RDMA/core: Fix corrupted SL on passive side RDMA/cxgb4: add missing qpid increment RDMA/i40iw: Fix error unwinding when i40iw_hmc_sd_one fails RDMA/mlx5: Fix drop packet rule in egress table RDMA/mlx5: Fix mlx5 rates to IB rates map RDMA/qedr: Fix error return code in qedr_iw_connect() RDMA/rtrs-clt: destroy sysfs after removing session from active list RDMA/rxe: Fix a bug in rxe_fill_ip_info() RDMA/siw: Fix a use after free in siw_alloc_mr RDMA/srpt: Fix error return code in srpt_cm_req_recv() regmap: set debugfs_name to NULL after it is freed regulator: bd9576: Fix return from bd957x_probe() remoteproc: qcom_q6v5_mss: Replace ioremap with memremap remoteproc: qcom_q6v5_mss: Validate p_filesz in ELF loader Revert 337f13046ff0 ("futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op") Revert "drivers/net/wan/hdlc_fr: Fix a double free in pvc_xmit" Revert "drm/qxl: do not run release if qxl failed to init" Revert "i3c master: fix missing destroy_workqueue() on error in i3c_master_register" Revert "iommu/amd: Fix performance counter initialization" Revert "iommu/vt-d: Preset Access/Dirty bits for IOVA over FL" Revert "iommu/vt-d: Remove WO permissions on second-level paging entries" Revert "mtd: spi-nor: macronix: Add support for mx25l51245g" Revert "net/sctp: fix race condition in sctp_destroy_sock" Revert "tools/power turbostat: adjust for temperature offset" Revert "USB: cdc-acm: fix rounding error in TIOCSSERIAL" RISC-V: Fix error code returned by riscv_hartid_to_cpuid() rpmsg: qcom_glink_native: fix error return code of qcom_glink_rx_data() rsi: Use resume_noirq for SDIO rtc: ds1307: Fix wday settings for rx8130 rtc: fsl-ftm-alarm: add MODULE_TABLE() rtlwifi: 8821ae: upgrade PHY and RF parameters rtw88: 8822c: add LC calibration for RTL8822C rtw88: Fix an error code in rtw_debugfs_set_rsvd_page() rtw88: Fix array overrun in rtw_get_tx_power_params() s390/archrandom: add parameter check for s390_arch_random_generate s390/disassembler: increase ebpf disasm buffer size s390: fix detection of vector enhancements facility 1 vs. vector packed decimal facility s390/zcrypt: fix zcard and zqueue hot-unplug memleak samples/bpf: Fix broken tracex1 due to kprobe argument change sata_mv: add IRQ checks sc16is7xx: Defer probe if device read fails sched/debug: Fix cgroup_path[] serialization sched,fair: Alternative sched_slice() sched/fair: Fix shift-out-of-bounds in load_balance() sched/fair: Fix unfairness caused by missing load decay sched/fair: Ignore percpu threads for imbalance pulls sched: Fix out-of-bound access in uclamp sched/pelt: Fix task util_est update filtering sched,psi: Handle potential task count underflow bugs more gracefully scsi: hisi_sas: Fix IRQ checks scsi: ibmvfc: Fix invalid state machine BUG_ON() scsi: jazz_esp: Add IRQ check scsi: libfc: Fix a format specifier scsi: lpfc: Fix crash when a REG_RPI mailbox fails triggering a LOGO response scsi: lpfc: Fix error handling for mailboxes completed in MBX_POLL mode scsi: lpfc: Fix incorrect dbde assignment when building target abts wqe scsi: lpfc: Fix pt2pt connection does not recover after LOGO scsi: lpfc: Remove unsupported mbox PORT_CAPABILITIES logic scsi: mpt3sas: Block PCI config access from userspace during reset scsi: pm80xx: Fix potential infinite loop scsi: pm80xx: Increase timeout for pm80xx mpi_uninit_check() scsi: qla2xxx: Always check the return value of qla24xx_get_isp_stats() scsi: qla2xxx: Fix crash in qla2xxx_mqueuecommand() scsi: qla2xxx: Fix use after free in bsg scsi: qla2xxx: Prevent PRLI in target mode scsi: scsi_dh_alua: Remove check for ASC 24h in alua_rtpg() scsi: smartpqi: Add new PCI IDs scsi: smartpqi: Correct request leakage during reset operations scsi: smartpqi: Use host-wide tag space scsi: sni_53c710: Add IRQ check scsi: sun3x_esp: Add IRQ check scsi: target: pscsi: Fix warning in pscsi_complete_cmd() scsi: ufs: core: Cancel rpm_dev_flush_recheck_work during system suspend scsi: ufs: core: Do not put UFS power into LPM if link is broken scsi: ufs: core: Narrow down fast path in system suspend path scsi: ufs: ufshcd-pltfrm: Fix deferred probing sctp: delay auto_asconf init until binding the first addr sctp: do asoc update earlier in sctp_sf_do_dupcook_a sctp: fix a SCTP_MIB_CURRESTAB leak in sctp_sf_do_dupcook_b sctp: Fix out-of-bounds warning in sctp_process_asconf_param() seccomp: Fix CONFIG tests for Seccomp_filters security: commoncap: fix -Wstringop-overread warning security: keys: trusted: fix TPM2 authorizations selftests/bpf: Fix BPF_CORE_READ_BITFIELD() macro selftests/bpf: Fix core_reloc test runner selftests/bpf: Fix field existence CO-RE reloc tests selftests/bpf: Re-generate vmlinux.h and BPF skeletons if bpftool changed selftests: fix prepending $(OUTPUT) to $(TEST_PROGS) selftests: mlxsw: Fix mausezahn invocation in ERSPAN scale test selftests: mlxsw: Increase the tolerance of backlog buildup selftests: mlxsw: Remove a redundant if statement in tc_flower_scale test selftests: net: mirror_gre_vlan_bridge_1q: Make an FDB entry static selftests/powerpc: Fix L1D flushing tests for Power10 selftests/resctrl: Clean up resctrl features check selftests/resctrl: Enable gcc checks to detect buffer overflows selftests/resctrl: Fix checking for < 0 for unsigned values selftests/resctrl: Fix compilation issues for global variables selftests/resctrl: Fix compilation issues for other global variables selftests/resctrl: Fix incorrect parsing of iMC counters selftests/resctrl: Fix missing options "-n" and "-p" selftests/resctrl: Use resctrl/info for feature detection selftests: Set CC to clang in lib.mk if LLVM is set selinux: add proper NULL termination to the secclass_map permissions serial: core: return early on unsupported ioctls serial: omap: don't disable rs485 if rts gpio is missing serial: omap: fix rs485 half-duplex filtering serial: stm32: add FIFO flush when port is closed serial: stm32: add "_usart" prefix in functions name serial: stm32: call stm32_transmit_chars locked serial: stm32: fix a deadlock condition with wakeup event serial: stm32: fix a deadlock in set_termios serial: stm32: fix code cleaning warnings and checks serial: stm32: fix FIFO flush in startup and set_termios serial: stm32: fix incorrect characters on console serial: stm32: fix probe and remove order for dma serial: stm32: fix startup by enabling usart for reception serial: stm32: fix TX and RX FIFO thresholds serial: stm32: fix tx dma completion, release channel serial: stm32: fix tx_empty condition serial: stm32: fix wake-up flag handling serial: stm32: Use of_device_get_match_data() sfc: ef10: fix TX queue lookup in TX event handling sfc: farch: fix TX queue lookup in TX event handling sfc: farch: fix TX queue lookup in TX flush done handling smb2: fix use-after-free in smb2_ioctl_query_info() smb3: do not attempt multichannel to server which does not support it smb3: when mounting with multichannel include it in requested capabilities smc: disallow TCP_ULP in smc_setsockopt() smp: Fix smp_call_function_single_async prototype soc: aspeed: fix a ternary sign expansion bug soc: qcom: mdt_loader: Detect truncated read of segments soc: qcom: mdt_loader: Validate that p_filesz < p_memsz soc: qcom: pdr: Fix error return code in pdr_register_listener soc/tegra: pmc: Fix completion of power-gate toggling soc/tegra: regulators: Fix locking up when voltage-spread is out of range soundwire: bus: Fix device found flag correctly soundwire: cadence: only prepare attached devices on clock stop soundwire: stream: fix memory leak in stream config error path spi: ath79: always call chipselect function spi: ath79: remove spi-master setup and cleanup assignment spi: dln2: Fix reference leak to master spi: Fix use-after-free with devm_spi_alloc_* spi: fsl: add missing iounmap() on error in of_fsl_spi_probe() spi: fsl-lpspi: Fix PM reference leak in lpspi_prepare_xfer_hardware() spi: omap-100k: Fix reference leak to master spi: qup: fix PM reference leak in spi_qup_remove() spi: rockchip: avoid objtool warning spi: spi-ti-qspi: Free DMA resources spi: spi-zynqmp-gqspi: add mutex locking for exec_op spi: spi-zynqmp-gqspi: fix clk_enable/disable imbalance issue spi: spi-zynqmp-gqspi: fix hang issue when suspend/resume spi: spi-zynqmp-gqspi: fix incorrect operating mode in zynqmp_qspi_read_op spi: spi-zynqmp-gqspi: Fix missing unlock on error in zynqmp_qspi_exec_op() spi: spi-zynqmp-gqspi: fix use-after-free in zynqmp_qspi_exec_op spi: spi-zynqmp-gqspi: return -ENOMEM if dma_map_single fails spi: spi-zynqmp-gqspi: transmit dummy circles by using the controller's internal functionality spi: spi-zynqmp-gqspi: use wait_for_completion_timeout to make zynqmp_qspi_exec_op not interruptible spi: stm32: drop devres version of spi_register_master spi: stm32: Fix use-after-free on unbind spi: stm32-qspi: fix pm_runtime usage_count counter spi: sync up initial chipselect state squashfs: fix divide error in calculate_skip() staging: comedi: tests: ni_routes_test: Fix compilation error staging: fwserial: fix TIOCGSERIAL implementation staging: fwserial: fix TIOCSSERIAL implementation staging: fwserial: fix TIOCSSERIAL jiffies conversions staging: fwserial: fix TIOCSSERIAL permission check staging: greybus: uart: fix TIOCSSERIAL jiffies conversions staging: greybus: uart: fix unprivileged TIOCCSERIAL staging: rtl8192u: Fix potential infinite loop staging: wimax/i2400m: fix byte-order issue sunrpc: Fix misplaced barrier in call_decode SUNRPC: fix ternary sign expansion bug in tracing SUNRPC: Handle major timeout in xprt_adjust_timeout() SUNRPC: Move fault injection call sites SUNRPC: Remove trace_xprt_transmit_queued swiotlb: Fix the type of index tee: optee: do not check memref size on return from Secure World thermal/core/fair share: Lock the thermal zone while looping over instances thermal/drivers/cpufreq_cooling: Fix slab OOB issue thermal/drivers/tsens: Fix missing put_device error thermal: thermal_of: Fix error return code of thermal_of_populate_bind_params() tipc: convert dest node's address to network order tools/power turbostat: Fix offset overflow issue in index converting tools/power/turbostat: Fix turbostat for AMD Zen CPUs tools/power/x86/intel-speed-select: Increase string size tpm: acpi: Check eventlog signature before using it tpm: efi: Use local variable for calculating final log size tpm: fix error return code in tpm2_get_cc_attrs_tbl() tpm, tpm_tis: Extend locality handling to TPM2 in tpm_tis_gen_interrupt() tpm, tpm_tis: Reserve locality in tpm_tis_resume() tpm: vtpm_proxy: Avoid reading host log when using a virtual device tracing: Map all PIDs to command lines tracing: Restructure trace_clock_global() to never block tty: actually undefine superseded ASYNC flags tty: amiserial: fix TIOCSSERIAL permission check tty: fix memory leak in vc_deallocate tty: fix return value for unsupported ioctls tty: fix return value for unsupported termiox ioctls tty: moxa: fix TIOCSSERIAL jiffies conversions tty: moxa: fix TIOCSSERIAL permission check tty: n_gsm: check error while registering tty devices ttyprintk: Add TTY hangup callback. tty: Remove dead termiox code ubifs: Only check replay with inode type to judge if inode linked udp: never accept GSO_FRAGLIST packets USB: cdc-acm: fix TIOCGSERIAL implementation USB: cdc-acm: fix unprivileged TIOCCSERIAL usb: core: hub: Fix PM reference leak in usb_port_resume() usb: core: hub: fix race condition about TRSMRCY of resume usb: dwc2: Fix gadget DMA unmap direction usb: dwc2: Fix hibernation between host and device modes. usb: dwc2: Fix host mode hibernation exit with remote wakeup flow. usb: dwc2: Fix session request interrupt handler usb: dwc3: core: Do core softreset when switch mode usb: dwc3: gadget: Check for disabled LPM quirk usb: dwc3: gadget: Enable suspend events usb: dwc3: gadget: Fix START_TRANSFER link state check usb: dwc3: gadget: Free gadget structure only after freeing endpoints usb: dwc3: gadget: Ignore EP queue requests during bus reset usb: dwc3: gadget: Remove FS bInterval_m1 limitation usb: dwc3: gadget: Return success always for kick transfer in ep queue usb: dwc3: omap: improve extcon initialization usb: dwc3: pci: Enable usb2-gadget-lpm-disable for Intel Merrifield usb: fotg210-hcd: Fix an error message usb: gadget: aspeed: fix dma map failure usb: gadget: dummy_hcd: fix gpf in gadget_setup usb: gadget: Fix double free of device descriptor pointers usb: gadget: f_uac1: validate input parameters usb: gadget: f_uac2: validate input parameters usb: gadget/function/f_fs string table fix for multiple languages usb: gadget: pch_udc: Check for DMA mapping error usb: gadget: pch_udc: Check if driver is present before calling ->setup() usb: gadget: pch_udc: Initialize device pointer before use usb: gadget: pch_udc: Provide a GPIO line used on Intel Minnowboard (v1) usb: gadget: pch_udc: Replace cpu_to_le32() by lower_32_bits() usb: gadget: pch_udc: Revert d3cb25a12138 completely usb: gadget: r8a66597: Add missing null check on return from platform_get_resource usb: gadget: s3c: Fix incorrect resources releasing usb: gadget: s3c: Fix the error handling path in 's3c2410_udc_probe()' usb: gadget: tegra-xudc: Fix possible use-after-free in tegra_xudc_remove() USB: gadget: udc: fix wrong pointer passed to IS_ERR() and PTR_ERR() usb: gadget: uvc: add bInterval checking for HS mode usbip: vudc: fix missing unlock on error in usbip_sockfd_store() usb: musb: Fix an error message usb: musb: fix PM reference leak in musb_irq_work() usb: roles: Call try_module_get() from usb_role_switch_find_by_fwnode() USB: serial: ti_usb_3410_5052: fix TIOCSSERIAL permission check USB: serial: usb_wwan: fix TIOCSSERIAL jiffies conversions usb: typec: stusb160x: fix return value check in stusb160x_probe() usb: typec: tcpci: Check ROLE_CONTROL while interpreting CC_STATUS usb: typec: tcpm: Address incorrect values of tcpm psy for fixed supply usb: typec: tcpm: Address incorrect values of tcpm psy for pps supply usb: typec: tcpm: Fix error while calculating PPS out values usb: typec: tcpm: update power supply once partner accepts usb: typec: tps6598x: Fix return value check in tps6598x_probe() usb: typec: ucsi: Put fwnode in any case during ->probe() usb: typec: ucsi: Retrieve all the PDOs instead of just the first 4 usb: webcam: Invalid size of Processing Unit Descriptor usb: xhci: Fix port minor revision usb: xhci: Increase timeout for HC halt usb: xhci-mtk: improve bandwidth scheduling with TT usb: xhci-mtk: remove or operator for setting schedule parameters usb: xhci-mtk: support quirk to disable usb2 lpm userfaultfd: release page in error path to avoid BUG_ON vfio/fsl-mc: Re-order vfio_fsl_mc_probe() vfio/mdev: Do not allow a mdev_type to have a NULL parent pointer vfio/pci: Move VGA and VF initialization to functions vfio/pci: Re-order vfio_pci_probe() vhost-vdpa: fix vm_flags for virtqueue doorbell mapping virtiofs: fix memory leak in virtio_fs_probe() virtiofs: fix userns vsock/virtio: free queued packets when closing socket vsock/vmci: log once the failed queue pair allocation watchdog: explicitly update timestamp when reporting softlockup watchdog: fix barriers when printing backtraces from all CPUs watchdog: rename __touch_watchdog() to a better descriptive name watchdog/softlockup: remove logic that tried to prevent repeated reports wilc1000: write value to WILC_INTR2_ENABLE register wl3501_cs: Fix out-of-bounds warnings in wl3501_mgmt_join wl3501_cs: Fix out-of-bounds warnings in wl3501_send_pkt wlcore: Fix buffer overrun by snprintf due to incorrect buffer size wlcore: fix overlapping snprintf arguments in debugfs x86/boot: Add $(CLANG_FLAGS) to compressed KBUILD_CFLAGS x86/build: Disable HIGHMEM64G selection for M486SX x86/build: Propagate $(CLANG_FLAGS) to $(REALMODE_FLAGS) x86/cpu: Initialize MSR_TSC_AUX if RDTSCP *or* RDPID is supported x86/events/amd/iommu: Fix sysfs type mismatch x86/kprobes: Fix to check non boostable prefixes correctly x86/microcode: Check for offline CPUs before requesting new microcode x86/platform/uv: Fix !KEXEC build failure x86/platform/uv: Set section block size for hubless architectures x86, sched: Treat Intel SNC topology as default, COD as exception x86/sev: Do not require Hypervisor CPUID bit for SEV guests xen-blkback: fix compatibility bug with single page rings xen/gntdev: fix gntdev_mmap() error exit path xen/unpopulated-alloc: consolidate pgmap manipulation xen/unpopulated-alloc: fix error return code in fill_list() xfs: fix return of uninitialized value in variable error xhci: Add reset resume quirk for AMD xhci controller. xhci: check control context is valid before dereferencing it. xhci: check port array allocation was successful before dereferencing it xhci: Do not use GFP_KERNEL in (potentially) atomic context xhci: fix potential array out of bounds with several interrupters xhci-pci: Allow host runtime PM as default for Intel Alder Lake xHCI xprtrdma: Avoid Receive Queue wrapping xprtrdma: Fix cwnd update ordering xprtrdma: rpcrdma_mr_pop() already does list_del_init() xsk: Fix for xp_aligned_validate_desc() when len == chunk_size xsk: Respect device's headroom and tailroom on generic xmit path Updated by kernel-updater-bot (https://abf.io/mikhailnov/kernel-updater-bot)
2021-05-22 11:42:27 +03:00
%define sublevel 38
2013-11-16 00:27:01 +04:00
# Release number. Increase this before a rebuild.
[bot] upd: 5.10.35 -> 5.10.38 Changelog: ACPI: CPPC: Replace cppc_attr with kobj_attribute ACPI: custom_method: fix a possible memory leak ACPI: custom_method: fix potential use-after-free issue ACPI: GTDT: Don't corrupt interrupt mappings on watchdow probe failure ACPI: PM: Add ACPI ID of Alder Lake Fan ACPI: scan: Fix a memory leak in an error handling path afs: Fix speculative status fetches afs: Fix updating of i_mode due to 3rd party change ALSA: bebob: enable to deliver MIDI messages for multiple ports ALSA: core: remove redundant spin_lock pair in snd_card_disconnect ALSA: emu8000: Fix a use after free in snd_emu8000_create_mixer ALSA: hda/conexant: Re-order CX5066 quirk table entries ALSA: hda/hdmi: fix race in handling acomp ELD notification at resume ALSA: hda/realtek: Add quirk for Intel Clevo PCx0Dx ALSA: hda/realtek: Add quirk for Lenovo Ideapad S740 ALSA: hda/realtek: ALC285 Thinkpad jack pin quirk is unreachable ALSA: hda/realtek: fix mic boost on Intel NUC 8 ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 445 G7 ALSA: hda/realtek: Fix speaker amp on HP Envy AiO 32 ALSA: hda/realtek: fix static noise on ALC285 Lenovo laptops ALSA: hda/realtek: GA503 use same quirks as GA401 ALSA: hda/realtek - Headset Mic issue on HP platform ALSA: hda/realtek: Remove redundant entry for ALC861 Haier/Uniwill devices ALSA: hda/realtek: Re-order ALC269 Acer quirk table entries ALSA: hda/realtek: Re-order ALC269 ASUS quirk table entries ALSA: hda/realtek: Re-order ALC269 Dell quirk table entries ALSA: hda/realtek: Re-order ALC269 HP quirk table entries ALSA: hda/realtek: Re-order ALC269 Lenovo quirk table entries ALSA: hda/realtek: Re-order ALC269 Sony quirk table entries ALSA: hda/realtek: Re-order ALC662 quirk table entries ALSA: hda/realtek: Re-order ALC882 Acer quirk table entries ALSA: hda/realtek: Re-order ALC882 Clevo quirk table entries ALSA: hda/realtek: Re-order ALC882 Sony quirk table entries ALSA: hda/realtek: Re-order remaining ALC269 quirk table entries ALSA: hdsp: don't disable if not enabled ALSA: hdspm: don't disable if not enabled ALSA: rme9652: don't disable if not enabled ALSA: sb: Fix two use after free in snd_sb_qsound_build ALSA: usb-audio: Add dB range mapping for Sennheiser Communications Headset PC 8 ALSA: usb-audio: Add error checks for usb_driver_claim_interface() calls ALSA: usb-audio: Explicitly set up the clock selector ALSA: usb: midi: don't return -ENOMEM when usb_urb_ep_type_check fails amdgpu: avoid incorrect %hu format string ARC: entry: fix off-by-one error in syscall number validation ARC: mm: PAE: use 40-bit physical page mask ARC: mm: Use max_high_pfn as a HIGHMEM zone border arm64: dts: imx8mq-librem5-r3: Mark buck3 as always on arm64: dts: marvell: armada-37xx: add syscon compatible to NB clk node arm64: dts: mediatek: fix reset GPIO level on pumpkin arm64: dts: mt8173: fix property typo of 'phys' in dsi node arm64: dts: qcom: db845c: fix correct powerdown pin for WSA881x arm64: dts: qcom: sdm845: fix number of pins in 'gpio-ranges' arm64: dts: qcom: sm8150: fix number of pins in 'gpio-ranges' arm64: dts: qcom: sm8250: Fix level triggered PMU interrupt polarity arm64: dts: qcom: sm8250: fix number of pins in 'gpio-ranges' arm64: dts: qcom: sm8250: Fix timer interrupt to specify EL2 physical timer arm64: dts: renesas: Add mmc aliases into board dts files arm64: dts: renesas: r8a77980: Fix vin4-7 endpoint binding arm64: dts: renesas: r8a779a0: Fix PMU interrupt arm64: dts: uniphier: Change phy-mode to RGMII-ID to enable delay pins for RTL8211E arm64: entry: always set GIC_PRIO_PSR_I_SET during entry arm64: entry: factor irq triage logic into macros arm64: Fix race condition on PG_dcache_clean in __sync_icache_dcache() arm64: mte: initialize RGSR_EL1.SEED in __cpu_setup arm64: Remove arm64_dma32_phys_limit and its uses arm64/vdso: Discard .note.gnu.property sections in vDSO ARM: 9011/1: centralize phys-to-virt conversion of DT/ATAGS address ARM: 9012/1: move device tree mapping out of linear region ARM: 9020/1: mm: use correct section size macro to describe the FDT virtual address ARM: 9027/1: head.S: explicitly map DT even if it lives in the first physical section ARM: 9056/1: decompressor: fix BSS size calculation for LLVM ld.lld ARM: 9064/1: hw_breakpoint: Do not directly check the event's overflow_handler hook ARM: dts: aspeed: Rainier: Fix humidity sensor bus address ARM: dts: at91: change the key code of the gpio key ARM: dts: BCM5301X: fix "reg" formatting in /memory node ARM: dts: exynos: correct fuel gauge interrupt trigger level on GT-I9100 ARM: dts: exynos: correct fuel gauge interrupt trigger level on Midas family ARM: dts: exynos: correct MUIC interrupt trigger level on Midas family ARM: dts: exynos: correct PMIC interrupt trigger level on Midas family ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid X/U3 family ARM: dts: exynos: correct PMIC interrupt trigger level on SMDK5250 ARM: dts: exynos: correct PMIC interrupt trigger level on Snow ARM: dts: renesas: Add mmc aliases into R-Car Gen2 board dts files ARM: dts: s5pv210: correct fuel gauge interrupt trigger level on Fascinate family ARM: dts: stm32: fix usart 2 & 3 pinconf to wake up with flow control ARM: dts: uniphier: Change phy-mode to RGMII-ID to enable delay pins for RTL8211E ARM: dts: ux500: Fix up TVK R3 sensors ARM: tegra: acer-a500: Rename avdd to vdda of touchscreen node ASoC: ak5558: correct reset polarity ASoC: Intel: boards: sof-wm8804: add check for PLL setting ASoC: Intel: bytcr_rt5640: Add quirk for the Chuwi Hi8 tablet ASoC: Intel: bytcr_rt5640: Enable jack-detect support on Asus T100TAF ASoC: Intel: kbl_da7219_max98927: Fix kabylake_ssp_fixup function ASoC: Intel: Skylake: Compile when any configuration is selected ASoC: Intel: sof_sdw: add quirk for new ADL-P Rvp ASoC: rsnd: call rsnd_ssi_master_clk_start() from rsnd_ssi_init() ASoC: rsnd: check all BUSIF status when error ASoC: rsnd: core: Check convert rate in rsnd_hw_params ASoC: rt286: Generalize support for ALC3263 codec ASoC: rt286: Make RT286_SET_GPIO_* readable and writable ASoC: rt5670: Add a quirk for the Dell Venue 10 Pro 5055 ASoC: samsung: tm2_wm5110: check of of_parse return value ASoC: simple-card: fix possible uninitialized single_cpu local variable ASoC: tlv320aic32x4: Increase maximum register in regmap ASoC: tlv320aic32x4: Register clocks before registering component ASoC: wm8960: Remove bitclk relax condition in wm8960_configure_sysclk async_xor: increase src_offs when dropping destination page ata: ahci: Disable SXS for Hisilicon Kunpeng920 ata: libahci_platform: fix IRQ check ath10k: Fix ath10k_wmi_tlv_op_pull_peer_stats_info() unlock without lock ath10k: Fix a use after free in ath10k_htc_send_bundle ath11k: fix thermal temperature read ath9k: Fix error check in ath9k_hw_read_revisions() for PCI devices atomisp: don't let it go past pipes array backlight: qcom-wled: Fix FSC update issue for WLED5 backlight: qcom-wled: Use sink_addr for sync toggle blk-iocost: fix weight updates of inner active iocgs blk-mq: plug request for shared sbitmap blk-mq: Swap two calls in blk_mq_exit_queue() block/rnbd-clt: Change queue_depth type in rnbd_clt_session to size_t block/rnbd-clt: Check the return value of the function rtrs_clt_query block/rnbd-clt: Fix missing a memory free when unloading the module Bluetooth: avoid deadlock between hci_dev->lock and socket lock Bluetooth: btusb: Enable quirk boolean flag for Mediatek Chip. Bluetooth: check for zapped sk before connecting bluetooth: eliminate the potential race condition when removing the HCI controller Bluetooth: Fix incorrect status handling in LE PHY UPDATE event Bluetooth: initialize skb_queue_head at l2cap_chan_create() Bluetooth: Set CONF_NOT_COMPLETE as l2cap_chan default Bluetooth: verify AMP hci_chan before amp_destroy bnxt_en: Add PCI IDs for Hyper-V VF devices. bnxt_en: Fix RX consumer index logic in the error path. bnxt_en: fix ternary sign extension bug in bnxt_show_temp() bpf: Fix alu32 const subreg bound tracking on bitwise operations bpf: Fix propagation of 32 bit unsigned bounds from 64 bit bounds bpf: Prevent writable memory-mapping of read-only ringbuf pages bpf, ringbuf: Deny reserve of buffers larger than ringbuf bpftool: Fix maybe-uninitialized warnings btrfs: convert logic BUG_ON()'s in replace_path to ASSERT()'s btrfs: do proper error handling in btrfs_update_reloc_root btrfs: do proper error handling in create_reloc_root btrfs: fix metadata extent leak after failure to create subvolume btrfs: fix race between transaction aborts and fsyncs leading to use-after-free btrfs: fix race leading to unpersisted data and metadata on fsync btrfs: fix race when picking most recent mod log operation for an old root btrfs: handle remount to no compress during compression bug: Remove redundant condition check in report_bug bus: mhi: core: Clear configuration from channel context during reset bus: mhi: core: Clear context for stopped channels from remove() bus: mhi: core: Destroy SBL devices when moving to mission mode bus: mhi: core: Fix check for syserr at power_up bus: mhi: core: Sanity check values from remote device before use bus: qcom: Put child node before return bus: ti-sysc: Probe for l4_wkup and l4_cfg interconnect devices first can: m_can: m_can_tx_work_queue(): fix tx_skb race condition can: mcp251xfd: mcp251xfd_probe(): add missing can_rx_offload_del() in error path can: mcp251x: fix resume from sleep before interface was brought up cdc-wdm: untangle a circular dependency between callback and softint ceph: fix inode leak on getattr error in __fh_to_dentry cfg80211: scan: drop entry from hidden_list on overflow cifs: detect dead connections only when echoes are enabled. cifs: fix out-of-bound memory access when calling smb3_notify() at mount point cifs: Return correct error code from smb2_get_enc_key clk: exynos7: Mark aclk_fsys1_200 as critical clk: imx: Fix reparenting of UARTs not associated with stdout clk: mvebu: armada-37xx-periph: Fix switching CPU freq from 250 Mhz to 1 GHz clk: mvebu: armada-37xx-periph: Fix workaround for switching from L1 to L0 clk: mvebu: armada-37xx-periph: remove .set_parent method for CPU PM clock clk: qcom: a53-pll: Add missing MODULE_DEVICE_TABLE clk: qcom: apss-ipq-pll: Add missing MODULE_DEVICE_TABLE clk: socfpga: arria10: Fix memory leak of socfpga_clk on error return clk: uniphier: Fix potential infinite loop clk: zynqmp: move zynqmp_pll_set_mode out of round_rate callback clk: zynqmp: pll: add set_pll_mode to check condition in zynqmp_pll_enable clocksource/drivers/ingenic_ost: Fix return value check in ingenic_ost_probe() clocksource/drivers/timer-ti-dm: Add missing set_state_oneshot_stopped clocksource/drivers/timer-ti-dm: Fix posted mode status check order clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940 clocksource/drivers/timer-ti-dm: Prepare to handle dra7 timer wrap issue coresight: Do not scan for graph if none is present cpufreq: armada-37xx: Fix determining base CPU frequency cpufreq: armada-37xx: Fix driver cleanup when registration failed cpufreq: armada-37xx: Fix setting TBG parent for load levels cpufreq: armada-37xx: Fix the AVS value for load L1 cpufreq: intel_pstate: Use HWP if enabled by platform firmware cpuidle: Fix ARM_QCOM_SPM_CPUIDLE configuration cpuidle: tegra: Fix C7 idling state on Tegra114 crypto: allwinner - add missing CRYPTO_ prefix crypto: api - check for ERR pointers in crypto_destroy_tfm() crypto: arm/curve25519 - Move '.fpu' after '.arch' crypto: ccp: Detect and reject "invalid" addresses destined for PSP crypto: ccp - fix command queuing to TEE ring buffer crypto: ccp: Free SEV device if SEV init fails crypto: chelsio - Read rxchannel-id from firmware crypto: hisilicon/sec - fixes a printing error crypto: omap-aes - Fix PM reference leak on omap-aes.c crypto: poly1305 - fix poly1305_core_setkey() declaration crypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init crypto: qat - don't release uninitialized resources crypto: qat - Fix a double free in adf_create_ring crypto: qat - fix error path in adf_isr_resource_alloc() crypto: qat - fix unmap invalid dma address crypto: rng - fix crypto_rng_reset() refcounting when !CRYPTO_STATS crypto: sa2ul - Fix memory leak of rxd crypto: sa2ul - Fix PM reference leak in sa_ul_probe() crypto: stm32/cryp - Fix PM reference leak on stm32-cryp.c crypto: stm32/hash - Fix PM reference leak on stm32-hash.c crypto: sun8i-ce - Fix PM reference leak in sun8i_ce_probe() crypto: sun8i-ss - Fix memory leak of object d when dma_iv fails to map crypto: sun8i-ss - Fix memory leak of pad crypto: sun8i-ss - Fix PM reference leak when pm_runtime_get_sync() fails crypto: sun8i-ss - fix result memory leak on error path cuse: prevent clone cxgb4: Fix unintentional sign extension issues dax: Add an enum for specifying dax wakup mode dax: Add a wakeup mode parameter to put_unlocked_entry() dax: Wake up all waiters after invalidating dax entry debugfs: Make debugfs_allow RO after init devtmpfs: fix placement of complete() call dmaengine: idxd: fix cdev setup and free device lifetime issues dmaengine: idxd: fix dma device lifetime dmaengine: idxd: Fix potential null dereference on pointer status dm integrity: fix missing goto in bitmap_flush_interval error handling dm persistent data: packed struct should have an aligned() attribute too dm raid: fix inconclusive reshape layout on fast raid4/5/6 table reload sequences dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails dm space map common: fix division bug in sm_ll_find_free_block() driver core: platform: Declare early_platform_cleanup() prototype drivers/block/null_blk/main: Fix a double free in null_init. Drivers: hv: vmbus: Increase wait time for VMbus unload Drivers: hv: vmbus: Use after free in __vmbus_open() drivers: nvmem: Fix voltage settings for QTI qfprom-efuse drm: Added orientation quirk for OneGX1 Pro drm/amd/display: add handling for hdcp2 rx id list validation drm/amd/display: changing sr exit latency drm/amd/display: Check for DSC support instead of ASIC revision drm/amd/display/dc/dce/dce_aux: Remove duplicate line causing 'field overwritten' issue drm/amd/display: DCHUB underflow counter increasing in some scenarios drm/amd/display: Don't optimize bandwidth before disabling planes drm/amd/display: Fix debugfs link_settings entry drm/amd/display: fix dml prefetch validation drm/amd/display: fixed divide by zero kernel crash during dsc enablement drm/amd/display: Fix off by one in hdmi_14_process_transaction() drm/amd/display: Fix UBSAN: shift-out-of-bounds warning drm/amd/display: Fix UBSAN warning for not a valid value for type '_Bool' drm/amd/display: Force vsync flip when reconfiguring MPCC drm/amd/display: Initialize attribute for hdcp_srm sysfs file drm/amd/display: Reject non-zero src_y and src_x for video planes drm/amd/display: Try YCbCr420 color when YCbCr444 fails drm/amd/display: use GFP_ATOMIC in dcn20_resource_construct drm/amdgpu: Add mem sync flag for IB allocated by SA drm/amdgpu/display: buffer INTERRUPT_LOW_IRQ_CONTEXT interrupt work drm/amdgpu : Fix asic reset regression issue introduce by 8f211fe8ac7c4f drm/amdgpu: fix concurrent VM flushes on Vega/Navi v2 drm/amdgpu: fix NULL pointer dereference drm/amdgpu: Fix some unload driver issues drm/amdgpu: mask the xgmi number of hops reported from psp to kfd drm/amdgpu/ttm: Fix memory leak userptr pages drm/amdkfd: fix build error with AMD_IOMMU_V2=m drm/amdkfd: Fix cat debugfs hang_hws file causes system crash bug drm/amdkfd: Fix UBSAN shift-out-of-bounds warning drm/amd/pm: fix error code in smu_set_power_limit() drm/amd/pm: fix workload mismatch on vega10 drm/ast: Fix invalid usage of AST_MAX_HWC_WIDTH in cursor atomic_check drm/ast: fix memory leak when unload the driver drm: bridge: fix LONTIUM use of mipi_dsi_() functions drm: bridge/panel: Cleanup connector on bridge detach drm/dp_mst: Revise broadcast msg lct & lcr drm/dp_mst: Set CLEAR_PAYLOAD_ID_TABLE as broadcast drm/i915: Avoid div-by-zero on gen2 drm/i915: Fix crash in auto_retire drm/i915/gt: Fix a double free in gen8_preallocate_top_level_pdp drm/i915/gvt: Fix error code in intel_gvt_init_device() drm/i915/gvt: Fix vfio_edid issue for BXT/APL drm/i915/gvt: Fix virtual display setup for BXT/APL drm/i915/overlay: Fix active retire callback alignment drm/i915: Read C0DRB3/C1DRB3 as 16 bits again drm/komeda: Fix bit check to import to value of proper type drm/mcde/panel: Inverse misunderstood flag drm/msm/dp: Fix incorrect NULL check kbot warnings in DP driver drm/msm/dp: initialize audio_comp when audio starts drm/msm/mdp5: Configure PP_SYNC_HEIGHT to double the vtotal drm/msm/mdp5: Do not multiply vclk line count by 100 drm/panfrost: Clear MMU irqs before handling the fault drm/panfrost: Don't try to map pages that are already mapped drm/probe-helper: Check epoch counter in output_poll_execute() drm/qxl: do not run release if qxl failed to init drm/qxl: release shadow on shutdown drm/qxl: use ttm bo priorities drm/radeon: Avoid power table parsing memory leaks drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected drm/radeon: Fix a missing check bug in radeon_dp_mst_detect() drm/radeon: fix copy of uninitialized variable back to userspace drm/radeon: Fix off-by-one power_state index heap overwrite drm/radeon/ttm: Fix memory leak userptr pages drm/stm: Fix bus_flags handling drm/tilcdc: send vblank event when disabling crtc drm/vkms: fix misuse of WARN_ON drm: xlnx: zynqmp: fix a memset in zynqmp_dp_train() dt-bindings: media: renesas,vin: Make resets optional on R-Car Gen1 dt-bindings: serial: 8250: Remove duplicated compatible strings dt-bindings: serial: stm32: Use 'type: object' instead of false for 'additionalProperties' dyndbg: fix parsing file query without a line-range suffix ecryptfs: fix kernel panic with null dev_name efi/libstub: Add $(CLANG_FLAGS) to x86 flags erofs: add unsupported inode i_format check ethernet:enic: Fix a use after free bug in enic_hard_start_xmit ethtool: fix missing NLM_F_MULTI flag when dumping ethtool: ioctl: Fix out-of-bounds warning in store_link_ksettings_for_user() exfat: fix erroneous discard when clear cluster bit ext4: allow the dax flag to be set and cleared on inline directories ext4: annotate data race in jbd2_journal_dirty_metadata() ext4: annotate data race in start_this_handle() ext4: do not set SB_ACTIVE in ext4_orphan_cleanup() ext4: fix check to prevent false positive report of incorrect used inodes ext4: fix debug format string warning ext4: fix error code in ext4_commit_super ext4: fix error return code in ext4_fc_perform_commit() ext4: fix ext4_error_err save negative errno into superblock ext4: Fix occasional generic/418 failure extcon: arizona: Fix some issues when HPDET IRQ fires after the jack has been unplugged extcon: arizona: Fix various races on driver unbind f2fs: avoid unneeded data copy in f2fs_ioc_move_range() f2fs: compress: fix race condition of overwrite vs truncate f2fs: compress: fix to assign cc.cluster_idx correctly f2fs: compress: fix to free compress page correctly f2fs: Fix a hungtask problem in atomic write f2fs: fix a redundant call to f2fs_balance_fs if an error occurs f2fs: fix compat F2FS_IOC_{MOVE,GARBAGE_COLLECT}_RANGE f2fs: fix error handling in f2fs_end_enable_verity() f2fs: fix panic during f2fs_resize_fs() f2fs: fix to align to section for fallocate() on pinned file f2fs: fix to allow migrating fully valid segment f2fs: fix to avoid accessing invalid fio in f2fs_allocate_data_block() f2fs: fix to avoid out-of-bounds memory access f2fs: fix to avoid touching checkpointed data in get_victim() f2fs: fix to cover __allocate_new_section() with curseg_lock f2fs: fix to update last i_size if fallocate partially succeeds f2fs: move ioctl interface definitions to separated file fbdev: zero-fill colormap in fbcmap.c FDDI: defxx: Bail out gracefully with unassigned PCI resource for CSR FDDI: defxx: Make MMIO the configuration default except for EISA firmware: qcom-scm: Fix QCOM_SCM configuration firmware: qcom_scm: Make __qcom_scm_is_call_available() return bool firmware: qcom_scm: Reduce locking section for __get_convention() firmware: qcom_scm: Workaround lack of "is available" call on SC7180 firmware: xilinx: Add a blank line after function declaration firmware: xilinx: Fix dereferencing freed memory firmware: xilinx: Remove zynqmp_pm_get_eemi_ops() in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE) Fix misc new gcc warnings flow_dissector: Fix out-of-bounds warning in __skb_flow_bpf_to_target() fotg210-udc: Complete OUT requests on short packets fotg210-udc: Don't DMA more than the buffer can take fotg210-udc: Fix DMA on EP0 for length > max packet size fotg210-udc: Fix EP0 IN requests bigger than two packets fotg210-udc: Mask GRP2 interrupts we don't handle fotg210-udc: Remove a dubious condition leading to fotg210_done fpga: dfl: pci: add DID for D5005 PAC cards fpga: fpga-mgr: xilinx-spi: fix error messages on -EPROBE_DEFER fs: dlm: add errno handling to check callback fs: dlm: check on minimum msglen size fs: dlm: fix debugfs dump fs: dlm: flush swork on shutdown fs/epoll: restore waking from ep_done_scan() fs: fix reporting supported extra file attributes for statx() fs/proc/generic.c: fix incorrect pde_is_permanent check ftrace: Handle commands when closing set_ftrace_filter file fuse: fix write deadlock fuse: invalidate attrs when page writeback completes futex: Do not apply time namespace adjustment on FUTEX_LOCK_PI genirq/matrix: Prevent allocation counter corruption gpio: guard gpiochip_irqchip_add_domain() with GPIOLIB_IRQCHIP gro: fix napi_gro_frags() Fast GRO breakage due to IP alignment check hfsplus: prevent corruption in shrinking truncate HID: lenovo: Check hid_get_drvdata() returns non NULL in lenovo_event() HID: lenovo: Fix lenovo_led_set_tp10ubkbd() error handling HID: lenovo: Map mic-mute button to KEY_F20 instead of KEY_MICMUTE HID: lenovo: Use brightness_set_blocking callback for setting LEDs brightness HID: plantronics: Workaround for double volume key presses HSI: core: fix resource leaks in hsi_add_client_from_dt() hwmon: (occ) Fix poll rate limiting hwmon: (pmbus/pxe1610) don't bail out when not all pages are active i2c: Add I2C_AQ_NO_REP_START adapter quirk i2c: bail out early when RDWR parameters are wrong i2c: cadence: add IRQ check i2c: cadence: fix reference leak when pm_runtime_get_sync fails i2c: emev2: add IRQ check i2c: img-scb: fix reference leak when pm_runtime_get_sync fails i2c: imx: fix reference leak when pm_runtime_get_sync fails i2c: imx-lpi2c: fix reference leak when pm_runtime_get_sync fails i2c: jz4780: add IRQ check i2c: mediatek: Fix send master code at more than 1MHz i2c: mediatek: Fix wrong dma sync flag i2c: mlxbf: add IRQ check i2c: omap: fix reference leak when pm_runtime_get_sync fails i2c: rcar: add IRQ check i2c: rcar: make sure irq is not threaded on Gen2 and earlier i2c: rcar: protect against supurious interrupts on V3U i2c: sh7760: add IRQ check i2c: sh7760: fix IRQ error path i2c: sprd: fix reference leak when pm_runtime_get_sync fails i2c: stm32f7: fix reference leak when pm_runtime_get_sync fails i2c: xiic: fix reference leak when pm_runtime_get_sync fails i40e: fix broken XDP support i40e: Fix PHY type identifiers for 2.5G and 5G adapters i40e: fix the restart auto-negotiation after FEC modified i40e: Fix use-after-free in i40e_client_subtask() ia64: fix EFI_DEBUG build ia64: module: fix symbolizer crash on fdescr iavf: remove duplicate free resources calls IB/hfi1: Correct oversized ring allocation IB/hfi1: Fix error return code in parse_platform_config() IB/hfi1: Use kzalloc() for mmu_rb_handler allocation IB/isert: Fix a use after free in isert_connect_request ice: handle increasing Tx or Rx ring sizes iio:accel:adis16201: Fix wrong axis assignment that prevents loading iio:adc:ad7476: Fix remove handling iio: adc: Kconfig: make AD9467 depend on ADI_AXI_ADC symbol iio: gyro: mpu3050: Fix reported temperature value iio: hid-sensors: select IIO_TRIGGERED_BUFFER under HID_SENSOR_IIO_TRIGGER iio: inv_mpu6050: Fully validate gyro and accel scale writes iio: light: gp2ap002: Fix rumtime PM imbalance on error iio: proximity: pulsedlight: Fix rumtime PM imbalance on error iio: tsl2583: Fix division by a zero lux_val ima: Fix the error code for restoring the PCR value inet: use bigger hash table for IP ID generation Input: ili210x - add missing negation for touch indication on ili210x intel_th: Consistency and off-by-one fix intel_th: pci: Add Alder Lake-M support intel_th: pci: Add Rocket Lake CPU support iommu/amd: Put newline after closing bracket in warning iommu/amd: Remove performance counter pre-initialization test iommu/arm-smmu-v3: add bit field SFM into GERROR_ERR_MASK iommu: Check dev->iommu in iommu_dev_xxx functions iommu: Fix a boundary issue to avoid performance drop iommu/vt-d: Don't set then clear private data in prq_event_thread() iommu/vt-d: Invalidate PASID cache when root/context entry changed iommu/vt-d: Preset Access/Dirty bits for IOVA over FL iommu/vt-d: Reject unsupported page request modes iommu/vt-d: Remove WO permissions on second-level paging entries iommu/vt-d: Report right snoop capability when using FL for IOVA iommu/vt-d: Report the right page fault address io_uring: fix overflows checks in provide buffers io_uring: truncate lengths larger than MAX_RW_COUNT on provide buffers ip6_vti: proper dev_{hold|put} in ndo_[un]init methods ipw2x00: potential buffer overflow in libipw_wx_set_encodeext() irqchip/gic-v3: Do not enable irqs when handling spurious interrups irqchip/gic-v3: Fix OF_BAD_ADDR error handling iwlwifi: pcie: make cfg vs. trans_cfg more robust jffs2: check the validity of dstlen in jffs2_zlib_compress() jffs2: Fix kasan slab-out-of-bounds problem jffs2: Hook up splice_write callback kasan: fix unit tests with CONFIG_UBSAN_LOCAL_BOUNDS enabled kbuild: generate Module.symvers only when vmlinux exists kbuild: update config_data.gz only when the content of .config is changed kconfig: nconf: stop endless search loops kcsan, debugfs: Move debugfs file creation out of early init kernel: kexec_file: fix error return code of kexec_calculate_store_digests() kernel/resource: make walk_mem_res() find all busy IORESOURCE_MEM resources kernel/resource: make walk_system_ram_res() find all busy IORESOURCE_SYSTEM_RAM resources KEYS: trusted: Fix memory leak on object td kfifo: fix ternary sign extension bugs khugepaged: fix wrong result value for trace_mm_collapse_huge_page_isolate() kobject_uevent: remove warning in init_uevent_argv() kselftest/arm64: mte: Fix compilation with native compiler kselftest/arm64: mte: Fix MTE feature detection ksm: fix potential missing rmap_item for stable_node kvfree_rcu: Use same set of GFP flags as does single-argument KVM: arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION read KVM: arm64: Fully zero the vcpu state on reset KVM: arm64: Initialize VCPU mdcr_el2 before loading it KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read kvm: Cap halt polling at kvm->max_halt_poll_ns KVM: Destroy I/O bus devices on unregister failure _after_ sync'ing SRCU kvm: exit halt polling on need_resched() as well KVM: LAPIC: Accurately guarantee busy wait for timer to expire when using hv_timer KVM: nSVM: Set the shadow root level to the TDP level for nested NPT KVM: nVMX: Always make an attempt to map eVMCS after migration KVM: nVMX: Defer the MMU reload to the normal path on an EPTP switch KVM: nVMX: Truncate base/index GPR value on address calc in !64-bit KVM: nVMX: Truncate bits 63:32 of VMCS field on nested check in !64-bit KVM: PPC: Book3S HV P9: Restore host CTRL SPR after guest exit KVM: s390: extend kvm_s390_shadow_fault to return entry pointer KVM: s390: fix guarded storage control register handling KVM: s390: split kvm_s390_logical_to_effective KVM: s390: split kvm_s390_real_to_abs KVM: s390: VSIE: correctly handle MVPG when in VSIE KVM: s390: VSIE: fix MVPG handling for prefixing and MSO KVM: Stop looking for coalesced MMIO zones if the bus is destroyed KVM: SVM: Do not allow SEV/SEV-ES initialization after vCPUs are created KVM: SVM: Don't strip the C-bit from CR2 on #PF interception KVM: SVM: Inject #GP on guest MSR_TSC_AUX accesses if RDTSCP unsupported KVM: VMX: Disable preemption when probing user return MSRs KVM: VMX: Do not advertise RDPID if ENABLE_RDTSCP control is unsupported KVM: VMX: Intercept FS/GS_BASE MSR accesses for 32-bit KVM KVM/VMX: Invoke NMI non-IST entry instead of IST entry KVM: x86: Cancel pvclock_gtod_work on module removal KVM: x86: Defer the MMU unload to the normal path on an global INVPCID KVM: x86: dump_vmcs should not assume GUEST_IA32_EFER is valid KVM: x86: Emulate RDPID only if RDTSCP is supported KVM: x86/mmu: Alloc page for PDPTEs when shadowing 32-bit NPT with 64-bit KVM: x86/mmu: Remove the defunct update_pte() paging hook KVM: x86/mmu: Retry page faults that hit an invalid memslot KVM: x86: Move RDPID emulation intercept to its own enum KVM: x86: Prevent deadlock against tk_core.seq KVM: x86: Remove emulator's broken checks on CR0/CR3/CR4 loads kyber: fix out of bounds access when preempted libbpf: Add explicit padding to bpf_xdp_set_link_opts libbpf: Add explicit padding to btf_dump_emit_type_decl_opts libbpf: Fix signed overflow in ringbuf_process_ring libbpf: Initialize the bpf_seq_printf parameters array field by field lib/vsprintf.c: remove leftover 'f' and 'F' cases from bstr_printf() liquidio: Fix unintented sign extension of a left shift of a u16 m68k: Add missing mmap_read_lock() to sys_cacheflush() m68k: mvme147,mvme16x: Don't wipe PCC timer config bits mac80211: bail out if cipher schemes are invalid mac80211: clear the beacon's CRC after channel switch mailbox: sprd: Introduce refcnt when clients requests/free channels Makefile: Move -Wno-unused-but-set-variable out of GCC only block md/bitmap: wait for external bitmap writes to complete during tear down md-cluster: fix use-after-free issue when removing rdev md: factor out a mddev_find_locked helper from mddev_find md: Fix missing unused status line of /proc/mdstat md: md_open returns -EBUSY when entering racing area md/raid1: properly indicate failure when ending a failed write request md: split mddev_find media: adv7604: fix possible use-after-free in adv76xx_remove() media: aspeed: fix clock handling logic media: atomisp: Fixed error handling path media: atomisp: Fix use after free in atomisp_alloc_css_stat_bufs() media: cedrus: Fix H265 status definitions media: docs: Fix data organization of MEDIA_BUS_FMT_RGB101010_1X30 media: drivers: media: pci: sta2x11: fix Kconfig dependency on GPIOLIB media: dvbdev: Fix memory leak in dvb_media_device_free() media: dvb-usb: Fix memory leak at error in dvb_usb_device_init() media: dvb-usb: fix memory leak in dvb_usb_adapter_init media: dvb-usb: Fix use-after-free access media: em28xx: fix memory leak media: gscpa/stv06xx: fix memory leak media: gspca/sq905.c: fix uninitialized variable media: i2c: adv7511-v4l2: fix possible use-after-free in adv7511_remove() media: i2c: adv7842: fix possible use-after-free in adv7842_remove() media: i2c: imx219: Balance runtime PM use-count media: i2c: imx219: Move out locking/unlocking of vflip and hflip controls from imx219_set_stream media: i2c: tda1997: Fix possible use-after-free in tda1997x_remove() media: imx: capture: Return -EPIPE from __capture_legacy_try_fmt() media: ite-cir: check for receive overflow media: m88ds3103: fix return value check in m88ds3103_probe() media: m88rs6000t: avoid potential out-of-bounds reads on arrays media: media/saa7164: fix saa7164_encoder_register() memory leak bugs media: [next] staging: media: atomisp: fix memory leak of object flash media: omap4iss: return error code when omap4iss_get() failed media: platform: sti: Fix runtime PM imbalance in regs_show media: platform: sunxi: sun6i-csi: fix error return code of sun6i_video_start_streaming() media: rkisp1: rsz: crash fix when setting src format media: rkvdec: Remove of_match_ptr() media: saa7134: use sg_dma_len when building pgtable media: saa7146: use sg_dma_len when building pgtable media: staging/intel-ipu3: Fix memory leak in imu_fmt media: staging/intel-ipu3: Fix race condition during set_fmt media: staging/intel-ipu3: Fix set_fmt error handling media: sun8i-di: Fix runtime PM imbalance in deinterlace_start_streaming media: tc358743: fix possible use-after-free in tc358743_remove() media: v4l2-ctrls.c: fix race condition in hdl->requests list media: v4l2-ctrls: fix reference to freed memory media: venus: core: Fix some resource leaks in the error path of 'venus_probe()' media: venus: hfi_parser: Don't initialize parser on v1 media: vivid: fix assignment of dev->fbuf_out_flags media: vivid: update EDID memory: gpmc: fix out of bounds read and dereference on gpmc_cs[] memory: pl353: fix mask of ECC page_size config register memory: renesas-rpc-if: fix possible NULL pointer dereference of resource memory: samsung: exynos5422-dmc: handle clk_set_parent() failure mfd: arizona: Fix rumtime PM imbalance on error mfd: da9063: Support SMBus and I2C mode mfd: intel-m10-bmc: Fix the register access range mfd: stm32-timers: Avoid clearing auto reload register MIPS: Avoid DIVU in `__div64_32' is result would be zero MIPS: Avoid handcoded DIVU in `__div64_32' altogether mips: bmips: fix syscon-reboot nodes MIPS/bpf: Enable bpf_probe_read{, str}() on MIPS again MIPS: fix local_irq_{disable,enable} in asmmacro.h MIPS: loongson64: fix bug when PAGE_SIZE > 16KB MIPS: Loongson64: Use _CACHE_UNCACHED instead of _CACHE_UNCACHED_ACCELERATED MIPS: pci-legacy: stop using of_pci_range_to_resource MIPS: pci-mt7620: fix PLL lock check MIPS: pci-rt2880: fix slot 0 configuration MIPS: Reinstate platform `__div64_32' handler misc: lis3lv02d: Fix false-positive WARN on various HP models misc: vmw_vmci: explicitly initialize vmci_datagram payload misc: vmw_vmci: explicitly initialize vmci_notify_bm_set_msg struct mlxsw: spectrum_mr: Update egress RIF list before route's action mmc: block: Issue a cache flush only when it's enabled mmc: block: Update ext_csd.cache_ctrl if it was written mmc: core: Do a power cycle when the CMD11 fails mmc: core: Fix hanging on I/O during system suspend for removable cards mmc: core: Set read only for SD cards with permanent write protect bit mmc: sdhci-brcmstb: Remove CQE quirk mmc: sdhci: Check for reset prior to DMA address unmap mmc: sdhci-esdhc-imx: validate pinctrl before use it mmc: sdhci-pci: Add PCI IDs for Intel LKF mmc: sdhci-pci: Fix initialization of some SD cards for Intel BYT-based controllers mmc: sdhci-tegra: Add required callbacks to set/clear CQE_EN bit mmc: uniphier-sd: Fix an error handling path in uniphier_sd_probe() mmc: uniphier-sd: Fix a resource leak in the remove function mm: fix struct page layout on 32-bit systems mm/gup: check every subpage of a compound page during isolation mm/gup: check for isolation errors mm/gup: return an error on migration failure mm/hugeltb: handle the error case in hugetlb_fix_reserve_counts() mm/hugetlb: fix F_SEAL_FUTURE_WRITE mm: memcontrol: slab: fix obtain a reference to a freeing memcg mm/memory-failure: unnecessary amount of unmapping mm/migrate.c: fix potential indeterminate pte entry in migrate_vma_insert_page() mm/sl?b.c: remove ctor argument from kmem_cache_flags mm/sparse: add the missing sparse_buffer_fini() in error branch mptcp: fix splat when closing unaccepted socket mt7601u: fix always true expression mt76: fix potential DMA mapping leak mt76: mt7615: fix entering driver-own state on mt7663 mt76: mt7615: fix memleak when mt7615_unregister_device() mt76: mt7615: fix mib stats counter reporting to mac80211 mt76: mt7615: fix tx skb dma unmap mt76: mt7615: support loading EEPROM for MT7613BE mt76: mt7615: use ieee80211_free_txskb() in mt7615_tx_token_put() mt76: mt7663s: fix the possible device hang in high traffic mt76: mt7663s: make all of packets 4-bytes aligned in sdio tx aggregation mt76: mt76x0: disable GTK offloading mt76: mt7915: fix aggr len debugfs node mt76: mt7915: fix mib stats counter reporting to mac80211 mt76: mt7915: fix txpower init for TSSI off chips mt76: mt7915: fix tx skb dma unmap mtd: don't lock when recursively deleting partitions mtd: Handle possible -EPROBE_DEFER from parse_mtd_partitions() mtd: maps: fix error return code of physmap_flash_remove() mtd: physmap: physmap-bt1-rom: Fix unintentional stack access mtd: rawnand: atmel: Update ecc_stats.corrected counter mtd: rawnand: brcmnand: fix OOB R/W with Hamming ECC mtd: rawnand: fsmc: Fix error code in fsmc_nand_probe() mtd: rawnand: gpmi: Fix a double free in gpmi_nand_init mtd: rawnand: qcom: Return actual error code instead of -ENODEV mtd: require write permissions for locking and badblock ioctls mtd: spinand: core: add missing MODULE_DEVICE_TABLE() mtd: spi-nor: core: Fix an issue of releasing resources during read/write mwl8k: Fix a double Free in mwl8k_probe_hw nbd: Fix NULL pointer in flush_workqueue net: bridge: mcast: fix broken length + header check for MRDv6 Adv. net: bridge: when suppression is enabled exclude RARP packets net: davinci_emac: Fix incorrect masking of tx and rx error channel net:emac/emac-mac: Fix a use after free in emac_mac_tx_buf_send net: enetc: fix link error again net: ethernet: ixp4xx: Set the DMA masks explicitly net: ethernet: mtk_eth_soc: fix RX VLAN offload netfilter: nfnetlink_osf: Fix a missing skb_header_pointer() NULL check netfilter: nftables: avoid overflows in nft_hash_buckets() netfilter: nftables: Fix a memleak from userdata error path in new objects netfilter: nftables_offload: special ethertype handling for VLAN netfilter: nftables_offload: VLAN id needs host byteorder in flow dissector netfilter: nft_payload: fix C-VLAN offload support netfilter: xt_SECMARK: add new revision to fix structure layout net: fix nla_strcmp to handle more then one trailing null character net: geneve: modify IP header check in geneve6_xmit_skb and geneve_xmit_skb net: hns3: add check for HNS3_NIC_STATE_INITED in hns3_reset_notify_up_enet() net: hns3: add handling for xmit skb with recursive fraglist net: hns3: disable phy loopback setting in hclge_mac_start_phy net: hns3: fix for vxlan gpe tx checksum bug net: hns3: fix incorrect configuration for igu_egu_hw_err net: hns3: initialize the message content in hclge_get_link_mode() net: hns3: Limiting the scope of vector_ring_chain variable net: hns3: remediate a potential overflow risk of bd_num_list net: hns3: use netif_tx_disable to stop the transmit queue net: lapbether: Prevent racing when checking whether the netif is running net: marvell: prestera: fix port event handling on init net/mlx5e: Use net_prefetchw instead of prefetchw in MPWQE TX datapath net/mlx5: Fix bit-wise and with zero net:nfc:digital: Fix a double free in digital_tg_recv_dep_req net/nfc: fix use-after-free llcp_sock_bind/connect net: Only allow init netns to set default tcp cong to a restricted algo net/packet: make packet_fanout.arr size configurable up to 64K net/packet: remove data races in fanout operations net: phy: intel-xway: enable integrated led functions net: phy: lan87xx: fix access to wrong register of LAN87xx net: phy: marvell: fix m88e1011_set_downshift net: phy: marvell: fix m88e1111_set_downshift net: renesas: ravb: Fix a stuck issue when a lot of frames are received net/sched: cls_flower: use ntohs for struct flow_dissector_key_ports net: sched: tapr: prevent cycle_time == 0 in parse_taprio_schedule net: stmmac: Clear receive all(RA) bit when promiscuous mode is off net: stmmac: fix TSO and TBS feature enabling during driver open net: stmmac: Set FIFO sizes for ipq806x net: thunderx: Fix unintentional sign extension issue net/tipc: fix missing destroy_workqueue() on error in tipc_crypto_start() nfc: pn533: prevent potential memory corruption nfp: devlink: initialize the devlink port attribute "lanes" NFS: Deal correctly with attribute generation counter overflow nfsd: ensure new clients break delegations NFSD: Fix sparse warning in nfs4proc.c NFS: Don't discard pNFS layout segments that are marked for return NFS: Fix attribute bitmask in _nfs42_proc_fallocate() NFS: fs_context: validate UDP retrans to prevent shift out-of-bounds NFS: nfs4_bitmask_adjust() must not change the server global bitmasks NFSv4.2: Always flush out writes in nfs42_proc_fallocate() NFSv4.2: fix copy stateid copying for the async copy NFSv4.2 fix handling of sr_eof in SEEK's reply NFSv4: Don't discard segments marked for return in _pnfs_return_layout() NFSv4.x: Don't return NFS4ERR_NOMATCHING_LAYOUT if we're unmounting nitro_enclaves: Fix stale file descriptors on failed usercopy node: fix device cleanups in error handling code nvme: do not try to reconfigure APST when the controller is not live nvme-pci: don't simple map sgl when sgls are disabled nvme: retrigger ANA log update if group descriptor isn't found nvmet: add lba to sect conversion helpers nvme-tcp: block BH in sk state_change sk callback nvmet: fix inline bio check for bdev-ns nvmet-rdma: Fix NULL deref when SEND is completed with error nvmet: return proper error code from discovery ctrl nvmet-tcp: fix a segmentation fault during io parsing error nvmet-tcp: fix incorrect locking in state_change sk callback of: overlay: fix for_each_child.cocci warnings openvswitch: fix stack OOB read while fragmenting IPv4 packets ovl: fix missing revert_creds() on error path ovl: invalidate readdir cache on changes to dir with origin pata_arasan_cf: fix IRQ check pata_ipx4xx_cf: fix IRQ check PCI: Allow VPD access for QLogic ISP2722 PCI: endpoint: Add helper API to get the 'next' unreserved BAR PCI: endpoint: Fix missing destroy_workqueue() PCI: endpoint: Fix NULL pointer dereference for ->get_features() PCI: endpoint: Make *_free_bar() to return error codes on failure PCI: endpoint: Make *_get_first_free_bar() take into account 64 bit BAR PCI: iproc: Fix return value of iproc_msi_irq_domain_alloc() PCI: keystone: Let AM65 use the pci_ops defined in pcie-designware-host.c PCI: PM: Do not read power state in pci_enable_device_flags() PCI: Release OF node in pci_scan_device()'s error path PCI: xgene: Fix cfg resource mapping perf/amd/uncore: Fix sysfs type mismatch perf/arm_pmu_platform: Fix error handling perf/arm_pmu_platform: Use dev_err_probe() for IRQ errors perf beauty: Fix fsconfig generator perf jit: Let convert_timestamp() to be backwards-compatible perf: Rework perf_event_exit_event() perf session: Add swap operation for event TIME_CONV perf symbols: Fix dso__fprintf_symbols_by_name() to return the number of printed chars perf tools: Change fields type in perf_record_time_conv perf tools: Fix dynamic libbpf link perf vendor events amd: Fix broken L2 Cache Hits from L2 HWPF metric phy: cadence: Sierra: Fix PHY power_on sequence phy: marvell: ARMADA375_USBCLUSTER_PHY should not default to y, unconditionally phy: phy-twl4030-usb: Fix possible use-after-free in twl4030_usb_remove() phy: ti: j721e-wiz: Delete "clk_div_sel" clk provider during cleanup phy: ti: j721e-wiz: Invoke wiz_init() before of_platform_device_create() pinctrl: pinctrl-single: fix pcs_pin_dbg_show() when bits_per_mux is not zero pinctrl: pinctrl-single: remove unused parameter pinctrl: samsung: use 'int' for register masks in Exynos platform/x86: intel_pmc_core: Don't use global pmcdev in quirks platform/x86: ISST: Account for increased timeout in some cases platform/x86: pmc_atom: Match all Beckhoff Automation baytrail boards with critclk_systems DMI table PM / devfreq: Unlock mutex and free devfreq struct in error path PM / devfreq: Use more accurate returned new_freq as resume_freq PM: hibernate: x86: Use crc32 instead of md5 for hibernation e820 integrity check PM: runtime: Fix unpaired parent child_count for force_resume PM: runtime: Replace inline function pm_runtime_callbacks_present() pNFS/flexfiles: fix incorrect size check in decode_nfs_fh() posix-timers: Preserve return value in clock_adjtime32() powerpc/32: Fix boot failure with CONFIG_STACKPROTECTOR powerpc/32: Statically initialise first emergency context powerpc/52xx: Fix an invalid ASM expression ('addi' used instead of 'add') powerpc/64: Fix the definition of the fixmap area powerpc/64s: Fix crashes when toggling entry flush barrier powerpc/64s: Fix crashes when toggling stf barrier powerpc/64s: Fix pte update for kernel memory on radix powerpc/eeh: Fix EEH handling for hugepages in ioremap space. powerpc/fadump: Mark fadump_calculate_reserve_size as __init powerpc: fix EDEADLOCK redefinition error in uapi/asm/errno.h powerpc: Fix HAVE_HARDLOCKUP_DETECTOR_ARCH build configuration powerpc/iommu: Annotate nested lock for lockdep powerpc: iommu: fix build when neither PCI or IBMVIO is set powerpc/kexec_file: Use current CPU info while setting up FDT powerpc/mm: Add cond_resched() while removing hpte mappings powerpc/perf: Fix PMU constraint check for EBB events powerpc/perf: Fix the threshold event selection for memory events in power10 powerpc/powernv: Enable HAIL (HV AIL) for ISA v3.1 processors powerpc/prom: Mark identical_pvr_fixup as __init powerpc/pseries: extract host bridge from pci_bus prior to bus removal powerpc/pseries: Only register vio drivers if vio bus exists powerpc/pseries: Stop calling printk in rtas_stop_self() powerpc/smp: Reintroduce cpu_core_mask powerpc/smp: Set numa node before updating mask powerpc/xive: Drop check on irq_data in xive_core_debug_show() powerpc/xive: Fix xmon command "dxi" power: supply: bq25980: Move props from battery node power: supply: bq27xxx: fix power_avg for newer ICs power: supply: cpcap-battery: fix invalid usage of list cursor power: supply: cpcap-charger: Add usleep to cpcap charger to avoid usb plug bounce power: supply: generic-adc-battery: fix possible use-after-free in gab_remove() power: supply: s3c_adc_battery: fix possible use-after-free in s3c_adc_bat_remove() power: supply: Use IRQF_ONESHOT pwm: atmel: Fix duty cycle calculation in .get_state() qtnfmac: Fix possible buffer overflow in qtnf_event_handle_external_auth random: initialize ChaCha20 constants with correct endianness rcu: Remove spurious instrumentation_end() in rcu_nmi_enter() RDMA/bnxt_re: Fix a double free in bnxt_qplib_alloc_res RDMA/bnxt_re: Fix error return code in bnxt_qplib_cq_process_terminal() RDMA/core: Add CM to restrack after successful attachment to a device RDMA/core: Fix corrupted SL on passive side RDMA/cxgb4: add missing qpid increment RDMA/i40iw: Fix error unwinding when i40iw_hmc_sd_one fails RDMA/mlx5: Fix drop packet rule in egress table RDMA/mlx5: Fix mlx5 rates to IB rates map RDMA/qedr: Fix error return code in qedr_iw_connect() RDMA/rtrs-clt: destroy sysfs after removing session from active list RDMA/rxe: Fix a bug in rxe_fill_ip_info() RDMA/siw: Fix a use after free in siw_alloc_mr RDMA/srpt: Fix error return code in srpt_cm_req_recv() regmap: set debugfs_name to NULL after it is freed regulator: bd9576: Fix return from bd957x_probe() remoteproc: qcom_q6v5_mss: Replace ioremap with memremap remoteproc: qcom_q6v5_mss: Validate p_filesz in ELF loader Revert 337f13046ff0 ("futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op") Revert "drivers/net/wan/hdlc_fr: Fix a double free in pvc_xmit" Revert "drm/qxl: do not run release if qxl failed to init" Revert "i3c master: fix missing destroy_workqueue() on error in i3c_master_register" Revert "iommu/amd: Fix performance counter initialization" Revert "iommu/vt-d: Preset Access/Dirty bits for IOVA over FL" Revert "iommu/vt-d: Remove WO permissions on second-level paging entries" Revert "mtd: spi-nor: macronix: Add support for mx25l51245g" Revert "net/sctp: fix race condition in sctp_destroy_sock" Revert "tools/power turbostat: adjust for temperature offset" Revert "USB: cdc-acm: fix rounding error in TIOCSSERIAL" RISC-V: Fix error code returned by riscv_hartid_to_cpuid() rpmsg: qcom_glink_native: fix error return code of qcom_glink_rx_data() rsi: Use resume_noirq for SDIO rtc: ds1307: Fix wday settings for rx8130 rtc: fsl-ftm-alarm: add MODULE_TABLE() rtlwifi: 8821ae: upgrade PHY and RF parameters rtw88: 8822c: add LC calibration for RTL8822C rtw88: Fix an error code in rtw_debugfs_set_rsvd_page() rtw88: Fix array overrun in rtw_get_tx_power_params() s390/archrandom: add parameter check for s390_arch_random_generate s390/disassembler: increase ebpf disasm buffer size s390: fix detection of vector enhancements facility 1 vs. vector packed decimal facility s390/zcrypt: fix zcard and zqueue hot-unplug memleak samples/bpf: Fix broken tracex1 due to kprobe argument change sata_mv: add IRQ checks sc16is7xx: Defer probe if device read fails sched/debug: Fix cgroup_path[] serialization sched,fair: Alternative sched_slice() sched/fair: Fix shift-out-of-bounds in load_balance() sched/fair: Fix unfairness caused by missing load decay sched/fair: Ignore percpu threads for imbalance pulls sched: Fix out-of-bound access in uclamp sched/pelt: Fix task util_est update filtering sched,psi: Handle potential task count underflow bugs more gracefully scsi: hisi_sas: Fix IRQ checks scsi: ibmvfc: Fix invalid state machine BUG_ON() scsi: jazz_esp: Add IRQ check scsi: libfc: Fix a format specifier scsi: lpfc: Fix crash when a REG_RPI mailbox fails triggering a LOGO response scsi: lpfc: Fix error handling for mailboxes completed in MBX_POLL mode scsi: lpfc: Fix incorrect dbde assignment when building target abts wqe scsi: lpfc: Fix pt2pt connection does not recover after LOGO scsi: lpfc: Remove unsupported mbox PORT_CAPABILITIES logic scsi: mpt3sas: Block PCI config access from userspace during reset scsi: pm80xx: Fix potential infinite loop scsi: pm80xx: Increase timeout for pm80xx mpi_uninit_check() scsi: qla2xxx: Always check the return value of qla24xx_get_isp_stats() scsi: qla2xxx: Fix crash in qla2xxx_mqueuecommand() scsi: qla2xxx: Fix use after free in bsg scsi: qla2xxx: Prevent PRLI in target mode scsi: scsi_dh_alua: Remove check for ASC 24h in alua_rtpg() scsi: smartpqi: Add new PCI IDs scsi: smartpqi: Correct request leakage during reset operations scsi: smartpqi: Use host-wide tag space scsi: sni_53c710: Add IRQ check scsi: sun3x_esp: Add IRQ check scsi: target: pscsi: Fix warning in pscsi_complete_cmd() scsi: ufs: core: Cancel rpm_dev_flush_recheck_work during system suspend scsi: ufs: core: Do not put UFS power into LPM if link is broken scsi: ufs: core: Narrow down fast path in system suspend path scsi: ufs: ufshcd-pltfrm: Fix deferred probing sctp: delay auto_asconf init until binding the first addr sctp: do asoc update earlier in sctp_sf_do_dupcook_a sctp: fix a SCTP_MIB_CURRESTAB leak in sctp_sf_do_dupcook_b sctp: Fix out-of-bounds warning in sctp_process_asconf_param() seccomp: Fix CONFIG tests for Seccomp_filters security: commoncap: fix -Wstringop-overread warning security: keys: trusted: fix TPM2 authorizations selftests/bpf: Fix BPF_CORE_READ_BITFIELD() macro selftests/bpf: Fix core_reloc test runner selftests/bpf: Fix field existence CO-RE reloc tests selftests/bpf: Re-generate vmlinux.h and BPF skeletons if bpftool changed selftests: fix prepending $(OUTPUT) to $(TEST_PROGS) selftests: mlxsw: Fix mausezahn invocation in ERSPAN scale test selftests: mlxsw: Increase the tolerance of backlog buildup selftests: mlxsw: Remove a redundant if statement in tc_flower_scale test selftests: net: mirror_gre_vlan_bridge_1q: Make an FDB entry static selftests/powerpc: Fix L1D flushing tests for Power10 selftests/resctrl: Clean up resctrl features check selftests/resctrl: Enable gcc checks to detect buffer overflows selftests/resctrl: Fix checking for < 0 for unsigned values selftests/resctrl: Fix compilation issues for global variables selftests/resctrl: Fix compilation issues for other global variables selftests/resctrl: Fix incorrect parsing of iMC counters selftests/resctrl: Fix missing options "-n" and "-p" selftests/resctrl: Use resctrl/info for feature detection selftests: Set CC to clang in lib.mk if LLVM is set selinux: add proper NULL termination to the secclass_map permissions serial: core: return early on unsupported ioctls serial: omap: don't disable rs485 if rts gpio is missing serial: omap: fix rs485 half-duplex filtering serial: stm32: add FIFO flush when port is closed serial: stm32: add "_usart" prefix in functions name serial: stm32: call stm32_transmit_chars locked serial: stm32: fix a deadlock condition with wakeup event serial: stm32: fix a deadlock in set_termios serial: stm32: fix code cleaning warnings and checks serial: stm32: fix FIFO flush in startup and set_termios serial: stm32: fix incorrect characters on console serial: stm32: fix probe and remove order for dma serial: stm32: fix startup by enabling usart for reception serial: stm32: fix TX and RX FIFO thresholds serial: stm32: fix tx dma completion, release channel serial: stm32: fix tx_empty condition serial: stm32: fix wake-up flag handling serial: stm32: Use of_device_get_match_data() sfc: ef10: fix TX queue lookup in TX event handling sfc: farch: fix TX queue lookup in TX event handling sfc: farch: fix TX queue lookup in TX flush done handling smb2: fix use-after-free in smb2_ioctl_query_info() smb3: do not attempt multichannel to server which does not support it smb3: when mounting with multichannel include it in requested capabilities smc: disallow TCP_ULP in smc_setsockopt() smp: Fix smp_call_function_single_async prototype soc: aspeed: fix a ternary sign expansion bug soc: qcom: mdt_loader: Detect truncated read of segments soc: qcom: mdt_loader: Validate that p_filesz < p_memsz soc: qcom: pdr: Fix error return code in pdr_register_listener soc/tegra: pmc: Fix completion of power-gate toggling soc/tegra: regulators: Fix locking up when voltage-spread is out of range soundwire: bus: Fix device found flag correctly soundwire: cadence: only prepare attached devices on clock stop soundwire: stream: fix memory leak in stream config error path spi: ath79: always call chipselect function spi: ath79: remove spi-master setup and cleanup assignment spi: dln2: Fix reference leak to master spi: Fix use-after-free with devm_spi_alloc_* spi: fsl: add missing iounmap() on error in of_fsl_spi_probe() spi: fsl-lpspi: Fix PM reference leak in lpspi_prepare_xfer_hardware() spi: omap-100k: Fix reference leak to master spi: qup: fix PM reference leak in spi_qup_remove() spi: rockchip: avoid objtool warning spi: spi-ti-qspi: Free DMA resources spi: spi-zynqmp-gqspi: add mutex locking for exec_op spi: spi-zynqmp-gqspi: fix clk_enable/disable imbalance issue spi: spi-zynqmp-gqspi: fix hang issue when suspend/resume spi: spi-zynqmp-gqspi: fix incorrect operating mode in zynqmp_qspi_read_op spi: spi-zynqmp-gqspi: Fix missing unlock on error in zynqmp_qspi_exec_op() spi: spi-zynqmp-gqspi: fix use-after-free in zynqmp_qspi_exec_op spi: spi-zynqmp-gqspi: return -ENOMEM if dma_map_single fails spi: spi-zynqmp-gqspi: transmit dummy circles by using the controller's internal functionality spi: spi-zynqmp-gqspi: use wait_for_completion_timeout to make zynqmp_qspi_exec_op not interruptible spi: stm32: drop devres version of spi_register_master spi: stm32: Fix use-after-free on unbind spi: stm32-qspi: fix pm_runtime usage_count counter spi: sync up initial chipselect state squashfs: fix divide error in calculate_skip() staging: comedi: tests: ni_routes_test: Fix compilation error staging: fwserial: fix TIOCGSERIAL implementation staging: fwserial: fix TIOCSSERIAL implementation staging: fwserial: fix TIOCSSERIAL jiffies conversions staging: fwserial: fix TIOCSSERIAL permission check staging: greybus: uart: fix TIOCSSERIAL jiffies conversions staging: greybus: uart: fix unprivileged TIOCCSERIAL staging: rtl8192u: Fix potential infinite loop staging: wimax/i2400m: fix byte-order issue sunrpc: Fix misplaced barrier in call_decode SUNRPC: fix ternary sign expansion bug in tracing SUNRPC: Handle major timeout in xprt_adjust_timeout() SUNRPC: Move fault injection call sites SUNRPC: Remove trace_xprt_transmit_queued swiotlb: Fix the type of index tee: optee: do not check memref size on return from Secure World thermal/core/fair share: Lock the thermal zone while looping over instances thermal/drivers/cpufreq_cooling: Fix slab OOB issue thermal/drivers/tsens: Fix missing put_device error thermal: thermal_of: Fix error return code of thermal_of_populate_bind_params() tipc: convert dest node's address to network order tools/power turbostat: Fix offset overflow issue in index converting tools/power/turbostat: Fix turbostat for AMD Zen CPUs tools/power/x86/intel-speed-select: Increase string size tpm: acpi: Check eventlog signature before using it tpm: efi: Use local variable for calculating final log size tpm: fix error return code in tpm2_get_cc_attrs_tbl() tpm, tpm_tis: Extend locality handling to TPM2 in tpm_tis_gen_interrupt() tpm, tpm_tis: Reserve locality in tpm_tis_resume() tpm: vtpm_proxy: Avoid reading host log when using a virtual device tracing: Map all PIDs to command lines tracing: Restructure trace_clock_global() to never block tty: actually undefine superseded ASYNC flags tty: amiserial: fix TIOCSSERIAL permission check tty: fix memory leak in vc_deallocate tty: fix return value for unsupported ioctls tty: fix return value for unsupported termiox ioctls tty: moxa: fix TIOCSSERIAL jiffies conversions tty: moxa: fix TIOCSSERIAL permission check tty: n_gsm: check error while registering tty devices ttyprintk: Add TTY hangup callback. tty: Remove dead termiox code ubifs: Only check replay with inode type to judge if inode linked udp: never accept GSO_FRAGLIST packets USB: cdc-acm: fix TIOCGSERIAL implementation USB: cdc-acm: fix unprivileged TIOCCSERIAL usb: core: hub: Fix PM reference leak in usb_port_resume() usb: core: hub: fix race condition about TRSMRCY of resume usb: dwc2: Fix gadget DMA unmap direction usb: dwc2: Fix hibernation between host and device modes. usb: dwc2: Fix host mode hibernation exit with remote wakeup flow. usb: dwc2: Fix session request interrupt handler usb: dwc3: core: Do core softreset when switch mode usb: dwc3: gadget: Check for disabled LPM quirk usb: dwc3: gadget: Enable suspend events usb: dwc3: gadget: Fix START_TRANSFER link state check usb: dwc3: gadget: Free gadget structure only after freeing endpoints usb: dwc3: gadget: Ignore EP queue requests during bus reset usb: dwc3: gadget: Remove FS bInterval_m1 limitation usb: dwc3: gadget: Return success always for kick transfer in ep queue usb: dwc3: omap: improve extcon initialization usb: dwc3: pci: Enable usb2-gadget-lpm-disable for Intel Merrifield usb: fotg210-hcd: Fix an error message usb: gadget: aspeed: fix dma map failure usb: gadget: dummy_hcd: fix gpf in gadget_setup usb: gadget: Fix double free of device descriptor pointers usb: gadget: f_uac1: validate input parameters usb: gadget: f_uac2: validate input parameters usb: gadget/function/f_fs string table fix for multiple languages usb: gadget: pch_udc: Check for DMA mapping error usb: gadget: pch_udc: Check if driver is present before calling ->setup() usb: gadget: pch_udc: Initialize device pointer before use usb: gadget: pch_udc: Provide a GPIO line used on Intel Minnowboard (v1) usb: gadget: pch_udc: Replace cpu_to_le32() by lower_32_bits() usb: gadget: pch_udc: Revert d3cb25a12138 completely usb: gadget: r8a66597: Add missing null check on return from platform_get_resource usb: gadget: s3c: Fix incorrect resources releasing usb: gadget: s3c: Fix the error handling path in 's3c2410_udc_probe()' usb: gadget: tegra-xudc: Fix possible use-after-free in tegra_xudc_remove() USB: gadget: udc: fix wrong pointer passed to IS_ERR() and PTR_ERR() usb: gadget: uvc: add bInterval checking for HS mode usbip: vudc: fix missing unlock on error in usbip_sockfd_store() usb: musb: Fix an error message usb: musb: fix PM reference leak in musb_irq_work() usb: roles: Call try_module_get() from usb_role_switch_find_by_fwnode() USB: serial: ti_usb_3410_5052: fix TIOCSSERIAL permission check USB: serial: usb_wwan: fix TIOCSSERIAL jiffies conversions usb: typec: stusb160x: fix return value check in stusb160x_probe() usb: typec: tcpci: Check ROLE_CONTROL while interpreting CC_STATUS usb: typec: tcpm: Address incorrect values of tcpm psy for fixed supply usb: typec: tcpm: Address incorrect values of tcpm psy for pps supply usb: typec: tcpm: Fix error while calculating PPS out values usb: typec: tcpm: update power supply once partner accepts usb: typec: tps6598x: Fix return value check in tps6598x_probe() usb: typec: ucsi: Put fwnode in any case during ->probe() usb: typec: ucsi: Retrieve all the PDOs instead of just the first 4 usb: webcam: Invalid size of Processing Unit Descriptor usb: xhci: Fix port minor revision usb: xhci: Increase timeout for HC halt usb: xhci-mtk: improve bandwidth scheduling with TT usb: xhci-mtk: remove or operator for setting schedule parameters usb: xhci-mtk: support quirk to disable usb2 lpm userfaultfd: release page in error path to avoid BUG_ON vfio/fsl-mc: Re-order vfio_fsl_mc_probe() vfio/mdev: Do not allow a mdev_type to have a NULL parent pointer vfio/pci: Move VGA and VF initialization to functions vfio/pci: Re-order vfio_pci_probe() vhost-vdpa: fix vm_flags for virtqueue doorbell mapping virtiofs: fix memory leak in virtio_fs_probe() virtiofs: fix userns vsock/virtio: free queued packets when closing socket vsock/vmci: log once the failed queue pair allocation watchdog: explicitly update timestamp when reporting softlockup watchdog: fix barriers when printing backtraces from all CPUs watchdog: rename __touch_watchdog() to a better descriptive name watchdog/softlockup: remove logic that tried to prevent repeated reports wilc1000: write value to WILC_INTR2_ENABLE register wl3501_cs: Fix out-of-bounds warnings in wl3501_mgmt_join wl3501_cs: Fix out-of-bounds warnings in wl3501_send_pkt wlcore: Fix buffer overrun by snprintf due to incorrect buffer size wlcore: fix overlapping snprintf arguments in debugfs x86/boot: Add $(CLANG_FLAGS) to compressed KBUILD_CFLAGS x86/build: Disable HIGHMEM64G selection for M486SX x86/build: Propagate $(CLANG_FLAGS) to $(REALMODE_FLAGS) x86/cpu: Initialize MSR_TSC_AUX if RDTSCP *or* RDPID is supported x86/events/amd/iommu: Fix sysfs type mismatch x86/kprobes: Fix to check non boostable prefixes correctly x86/microcode: Check for offline CPUs before requesting new microcode x86/platform/uv: Fix !KEXEC build failure x86/platform/uv: Set section block size for hubless architectures x86, sched: Treat Intel SNC topology as default, COD as exception x86/sev: Do not require Hypervisor CPUID bit for SEV guests xen-blkback: fix compatibility bug with single page rings xen/gntdev: fix gntdev_mmap() error exit path xen/unpopulated-alloc: consolidate pgmap manipulation xen/unpopulated-alloc: fix error return code in fill_list() xfs: fix return of uninitialized value in variable error xhci: Add reset resume quirk for AMD xhci controller. xhci: check control context is valid before dereferencing it. xhci: check port array allocation was successful before dereferencing it xhci: Do not use GFP_KERNEL in (potentially) atomic context xhci: fix potential array out of bounds with several interrupters xhci-pci: Allow host runtime PM as default for Intel Alder Lake xHCI xprtrdma: Avoid Receive Queue wrapping xprtrdma: Fix cwnd update ordering xprtrdma: rpcrdma_mr_pop() already does list_del_init() xsk: Fix for xp_aligned_validate_desc() when len == chunk_size xsk: Respect device's headroom and tailroom on generic xmit path Updated by kernel-updater-bot (https://abf.io/mikhailnov/kernel-updater-bot)
2021-05-22 11:42:27 +03:00
%define rpmrel 1
%define fullrpmrel %{rpmrel}
2013-11-16 00:27:01 +04:00
%define rpmtag %{disttag}
# version defines
%define kversion %{kernelversion}.%{patchlevel}.%{sublevel}
%define kverrel %{kversion}-%{fullrpmrel}
2013-11-16 00:27:01 +04:00
%define tar_ver %{kernelversion}.%{patchlevel}
%ifarch %{ix86}
%define arch_suffix i586
2020-11-26 21:09:27 +00:00
%endif
%ifarch %{x86_64}
2020-11-27 01:21:49 +03:00
%define arch_suffix x86_64
%endif
2020-11-26 21:09:27 +00:00
%ifarch aarch64
%define arch_suffix arm64
%endif
%define buildrpmrel %{fullrpmrel}%{rpmtag}-%{arch_suffix}
2013-11-16 00:27:01 +04:00
%define buildrel %{kversion}-%{buildrpmrel}
# 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
2020-03-13 20:35:12 +03:00
# User Mode Linux, https://habr.com/ru/company/itsumma/blog/459558/
# Not buildable on aarch64
%ifarch %{x86_64}
2020-03-13 20:35:12 +03:00
%bcond_without uml
2020-11-26 21:09:27 +00:00
%else
%bcond_with uml
%endif
# "Nickel" is a special brand for certified distros
%if %{mdvver} == 201900 || %{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
2020-07-29 10:59:41 +03:00
%if %{mdvver} >= 201905
# Build binary out-of-tree kernel modules (experimental)
2020-07-29 10:59:41 +03:00
%bcond_without binary_extra_modules
# Sign kernel modules with GOST key (experimental)
%bcond_without gost_sign
2020-07-29 10:59:41 +03:00
%else
%bcond_with binary_extra_modules
%bcond_with gost_sign
2020-07-29 10:59:41 +03:00
%endif
%bcond_with ccache
%bcond_without flow_abi
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.
%bcond_with binary_virtualbox_host
# shredder-kernel works only on x86_64, makes manipulations with syscalls tables,
# 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}
############################################################################
%define top_dir_name kernel-%{_arch}
2013-11-16 00:27:01 +04:00
%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}
# 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
2019-12-07 21:57:55 +03:00
%define certs_signing_key_priv_rnd %{certs_dir_rnd}/signing_key_priv.key
%define certs_signing_der %{certs_dir_rnd}/signing_key.x509
2019-11-11 17:47:53 +03:00
%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
# Build defines
%define build_doc 0
2020-11-26 22:03:53 +00:00
%define build_devel 1
%define build_debug 1
2013-11-16 00:27:01 +04:00
# Build kernel-headers package
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
# Headers from LTS kernel 5.4 are default in rosa2019.1/05 for now
# and headers from 4.15 are default in rosa2016.1
%define build_headers 0
2013-11-16 00:27:01 +04:00
# build perf and cpupower tools
%if %{mdvver} > 201610
2016-01-06 17:46:38 +03:00
%define build_perf 1
2013-11-16 00:27:01 +04:00
%define build_cpupower 1
%else
# This is not the main kernel in rosa2016.1
# This one will be in contrib, not main, in rosa2016.1
%define build_perf 0
%define build_cpupower 0
%endif
2013-11-16 00:27:01 +04:00
# End of user definitions
# buildtime flags
%{?_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}
%if %{with compress_modules}
%define kmod_suffix .zst
2020-07-29 10:59:41 +03:00
%else
%define kmod_suffix %{nil}
2020-07-29 10:59:41 +03:00
%endif
%if !%{build_debug}
# Disable debug rpms.
%define _enable_debug_packages %{nil}
%define debug_package %{nil}
%endif
# 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
2013-11-16 00:27:01 +04:00
# 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
%endif
%ifarch aarch64
%define arch_type arm64
%endif
2014-01-22 18:31:57 +04:00
2013-11-16 00:27:01 +04:00
# Parallelize xargs invocations on smp machines
%define kxargs xargs %([ -z "$RPM_BUILD_NCPUS" ] \\\
&& 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}
2013-11-16 00:27:01 +04:00
Version: %{kversion}
Release: %{fullrpmrel}
2013-11-16 00:27:01 +04:00
License: GPLv2
Group: System/Kernel and hardware
URL: http://www.kernel.org
####################################################################
#
# Sources
#
2018-01-10 22:20:13 +03:00
Source0: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/linux-%{tar_ver}.tar.xz
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.
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
Source2: 0001-disable-mrproper-prepare-scripts-configs-in-devel-rp.patch
2013-11-16 00:27:01 +04:00
2020-07-29 10:59:41 +03:00
# TODO: make a separate package "ksobirator" and BR it
# 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-i586.config
Source113: kernel-arm64.config
2013-11-16 00:27:01 +04:00
# Cpupower: the service, the config, etc.
2013-11-16 00:27:01 +04:00
Source50: cpupower.service
Source51: cpupower.config
Source52: cpupower-start.sh
Source53: cpupower.path
2013-11-16 00:27:01 +04:00
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
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.
2018-01-10 22:20:13 +03:00
Patch1: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/patch-%{kversion}.xz
# Patches from mainline
# none
2013-11-16 00:27:01 +04:00
# ROSA-specific patches
# 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.
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
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
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
Patch102: 0001-audit-make-it-less-verbose.patch
2020-08-18 08:02:38 +03:00
# AUFS 5 from http://aufs.sourceforge.net/
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
Patch109: 0001-Apply-AUFS-5.patch
# Unofficial AUFS for kernel 5.10
# https://sourceforge.net/projects/lxpup/files/Other/huge-kernels/kernel-5.10-aufs-changes/
Patch110: aufs-k510.diff
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
2020-08-18 08:02:38 +03:00
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
Patch201: 0001-AltHa-LSM-module.patch
Patch202: 0002-Documentation-for-AltHa-LSM.patch
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
Patch203: 0003-security-altha-altha_lsm.c-build-fixed-with-kernel-5.patch
Patch204: 0004-altha-use-path-strings-instead-of-path-structs.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
# Support loading GOST-signed modules
Patch305: 0001-crypto-support-loading-GOST-signed-kernel-modules.patch
# Allow to off modules signature check dynamically
Patch306: 0001-ROSA-ima-allow-to-off-modules-signature-check-dynami.patch
# Experimental patch to reduce freezes in low memory conditions
# Config values are the following:
# CONFIG_UNEVICTABLE_ACTIVEFILE=y
# CONFIG_UNEVICTABLE_ACTIVEFILE_KBYTES_LOW=102400 (100 MB)
# CONFIG_UNEVICTABLE_ACTIVEFILE_KBYTES_MIN=51200 (50 MB)
# + zswap is enabled by default
# 50 MB is default value of min_filelist_kbytes in Chromium OS
# https://chromium.googlesource.com/chromiumos/third_party/kernel-next/+/545e2917dbd863760a51379de8c26631e667c563%5E!/
# 256 and 512 MB values are too big as a distro default because many systems have 512MB-2GB RAM
# TODO: tune 50 and 100 MB to some not random and mathemetically explainable values
# https://www.linux.org.ru/news/kernel/16052362?cid=16075323
Patch307: le9pf.diff
Patch308: 0001-Revert-kallsyms-unexport-kallsyms_lookup_name-and-ka.patch
2013-11-16 00:27:01 +04:00
2020-03-09 10:50:38 +03:00
# Disable AutoReq
AutoReq: 0
# but keep autoprov for kmod(xxx)
AutoProv: 1
2013-11-16 00:27:01 +04:00
2020-03-09 10:46:18 +03:00
BuildRequires: bash
BuildRequires: bc
BuildRequires: binutils
BuildRequires: gcc
# ./scripts/mkcompile_h
2020-12-03 15:12:38 +03:00
# in net-tools in rosa2016.1, already installed
%if %{mdvver} > 201610
BuildRequires: hostname
2020-12-03 15:12:38 +03:00
%endif
# For power tools
BuildRequires: pkgconfig(ncurses)
2013-11-16 00:27:01 +04:00
BuildRequires: kmod-devel kmod-compat
BuildRequires: bison
BuildRequires: flex
BuildRequires: bzip2
2019-09-24 11:56:44 +03:00
BuildRequires: rsync
2020-11-26 21:21:05 +00:00
%ifarch x86_64 aarch64
BuildRequires: numa-devel
%endif
# for perf, cpufreq and all other tools
# for cpupower
%if %{build_cpupower}
BuildRequires: pciutils-devel
%endif
# for perf
%if %{build_perf}
BuildRequires: asciidoc
BuildRequires: audit-devel
2013-11-16 00:27:01 +04:00
BuildRequires: binutils-devel
BuildRequires: elfutils-devel
BuildRequires: libunwind-devel
2013-11-16 00:27:01 +04:00
BuildRequires: newt-devel
BuildRequires: perl-devel
BuildRequires: python3
BuildRequires: pkgconfig(python3)
2013-11-16 00:27:01 +04:00
BuildRequires: xmlto
BuildRequires: zlib-devel
BuildRequires: pkgconfig(libcrypto)
%endif
%if %{with uml}
BuildRequires: vde-devel
%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 libressl-devel
# To verify signatures (find, xargs, hexdump)
BuildRequires: findutils util-linux
2019-11-11 17:47:53 +03:00
2020-07-29 10:59:41 +03:00
%if %{with binary_extra_modules}
BuildRequires: kernel-source-rtl8821ce
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}
2020-07-29 10:59:41 +03:00
BuildRequires: kernel-source-virtualbox
2020-11-26 18:58:01 +00:00
%endif
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 #with binary_extra_modules
2020-07-29 10:59:41 +03:00
%if %{with ccache}
BuildRequires: ccache
%endif
%if %{with compress_modules}
BuildRequires: zstd
%endif
Provides: kernel = %{EVRD}
Provides: kernel-%{flavour} = %{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
# Usually necessary, but sometimes user may want to not install them
Recommends: linux-firmware
Recommends: wireless-regdb
Recommends: crda
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
%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
Obsoletes: kernel-%{flavour}-%{kernelversion}.%{patchlevel}-latest < 5.10.34-2
%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
# 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.
2013-11-16 00:27:01 +04:00
#
# depmod is also needed, because some DKMS-modules might have been installed
# when the devel package was installed but that was before the main modules
# were installed.
# This is also the reason the devel package is in Requires(post) for this
# package now: it must be installed completely before we call depmod here.
/sbin/depmod -a %{kver_full}
/sbin/dracut -f /boot/initrd-%{kver_full}.img %{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
%postun
# Do not remove just installed kernel if package is being reinstalled
if [ "$1" -gt 0 ]; then exit 0; fi
rm -f /boot/initrd-%{kver_full}.img
rm -f /boot/initrd-%{kver_full}_old.img
rm -f /boot/initrd-%{kver_full}kdump.img
rm -f /boot/initramfs-%{kver_full}kdump.img
# Third-party modules might have left something in /lib/modules/.../kernel/.
rm -rf /lib/modules/%{kver_full}/kernel/
rm -rf /lib/modules/%{kver_full}/modules*
# Remove /lib/modules/<...>/ if it is empty (-devel uses it too).
find /lib/modules/%{kver_full} -maxdepth 0 -empty -exec rm -rf {} \; || true
%files -f %{kernel_files}
%{_bootdir}/System.map-%{kver_full}
%{_bootdir}/symvers-%{kver_full}.zst
%{_bootdir}/config-%{kver_full}
%{_bootdir}/vmlinuz-%{kver_full}
%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}
# 8821ce.ko.debug will not be excluded and will be in the main debug subpackage
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8821ce.ko%{kmod_suffix}
%if %{with binary_shredder}
%exclude %{_modulesdir}/%{kver_full}/kernel/extra/shredder-kernel.ko%{kmod_suffix}
%endif
%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 #with binary_extra_modules
############################################################################
%if %build_devel
%package devel
Summary: Development files for %{name}
Group: Development/Kernel
Requires: glibc-devel
Requires: ncurses-devel
Requires: make
Requires: gcc
Requires: perl
Provides: kernel-devel = %{kverrel}
Provides: kernel-%{flavour}-devel = %{kverrel}
Provides: installonlypkg(kernel) = %{EVRD}.devel
Obsoletes: kernel-%{flavour}-%{kernelversion}.%{patchlevel}-devel-latest < 5.10.34-2
# Have dkms updated/installed before the kernel, scriptlet here checks if dkms exists
OrderWithRequires(post): dkms
%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
%postun devel
rm -rf /usr/src/linux-%{kver_full} >/dev/null
# depmod (called when removing DKMS modules) might have created files in
# /lib/modules/.../. Remove these first.
rm -rf /lib/modules/%{kver_full}/modules*
# Remove the dir if it is already empty.
find /lib/modules/%{kver_full} -maxdepth 0 -empty -exec rm -rf {} \; || true
%files devel
2020-11-26 21:33:48 +00:00
%{devel_root}/Documentation
%dir %{devel_root}
%dir %{devel_root}/arch
%dir %{devel_root}/include
%{devel_root}/arch/um
2020-11-26 21:33:48 +00:00
%{devel_root}/arch/x86
%{devel_root}/arch/arm
%{devel_root}/arch/arm64
%{devel_root}/block
%{devel_root}/certs
%{devel_root}/crypto
%{devel_root}/drivers
%{devel_root}/fs
2020-11-26 21:33:48 +00:00
%{devel_root}/include/soc
%{devel_root}/include/acpi
%{devel_root}/include/asm-generic
%{devel_root}/include/clocksource
%{devel_root}/include/config
%{devel_root}/include/crypto
%{devel_root}/include/drm
%{devel_root}/include/dt-bindings
%{devel_root}/include/generated
%{devel_root}/include/keys
%{devel_root}/include/kvm
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
%{devel_root}/include/kunit
%{devel_root}/include/linux
%{devel_root}/include/math-emu
%{devel_root}/include/media
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
%{devel_root}/include/memory
%{devel_root}/include/misc
%{devel_root}/include/net
%{devel_root}/include/pcmcia
%{devel_root}/include/ras
%{devel_root}/include/rdma
%{devel_root}/include/scsi
%{devel_root}/include/sound
%{devel_root}/include/target
%{devel_root}/include/trace
%{devel_root}/include/uapi
%{devel_root}/include/vdso
%{devel_root}/include/video
%{devel_root}/include/xen
%{devel_root}/init
%{devel_root}/ipc
%{devel_root}/kernel
%{devel_root}/lib
%{devel_root}/mm
%{devel_root}/net
%{devel_root}/samples
%{devel_root}/scripts
%{devel_root}/security
%{devel_root}/sound
%{devel_root}/tools
%{devel_root}/usr
%{devel_root}/virt
%{devel_root}/.config
%{devel_root}/Kbuild
%{devel_root}/Kconfig
%{devel_root}/Makefile
%{devel_root}/Module.symvers
%{devel_root}/arch/Kconfig
%{_modulesdir}/%{kver_full}/build
%{_modulesdir}/%{kver_full}/source
%endif # /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 # /build_debug
############################################################################
2013-11-16 00:27:01 +04:00
%if %build_doc
%package doc
Summary: Various documentation bits found in the kernel source
2013-11-16 00:27:01 +04:00
Group: Documentation
Buildarch: noarch
%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
%dir %{_prefix}/libexec/perf-core
%dir %{_libdir}/traceevent
%dir %{_libdir}/traceevent/plugins
%{_libdir}/traceevent/plugins/*
%{_prefix}/libexec/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
%{_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*
%config(noreplace) %{_sysconfdir}/sysconfig/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
Epoch: 1
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
%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
Obsoletes: kernel-uml-%{flavour}-%{kernelversion}.%{patchlevel}-latest < 5.10.34-2
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}
#------------------------------------------------
%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
Obsoletes: kernel-uml-modules-%{flavour}-%{kernelversion}.%{patchlevel}-latest < 5.10.34-2
2020-03-13 20:35:12 +03:00
%description uml-modules
2020-03-13 20:35:12 +03:00
User Mode Linux (UML) kernel modules
- not compressed
- not stripped
- signed
%files uml-modules
2020-03-13 20:35:12 +03:00
/lib/modules-uml/%{kver_full}
%endif #endif uml
2020-07-29 10:59:41 +03:00
#------------------------------------------------
%if %{with binary_extra_modules}
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
%ksob_mk_module_pkg -n 8821ce -s net/wireless -r rtl8821ce-blacklist
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
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
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
#------------------------------------------------
2020-07-29 10:59:41 +03:00
# 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}
2020-07-29 10:59:41 +03:00
Summary: Meta package to pull VirtualBox host kernel modules for kernel-%{flavour}-%{kernelversion}.%{patchlevel}
Group: System/Kernel and hardware
Requires: kernel-module-vboxnetflt-%{ksob_kernel}
Requires: kernel-module-vboxnetadp-%{ksob_kernel}
Requires: kernel-module-vboxdrv-%{ksob_kernel}
Requires: kernel-module-vboxpci-%{ksob_kernel}
Obsoletes: kernel-modules-virtualbox-host-%{flavour}-%{kernelversion}.%{patchlevel}-latest < 5.10.34-2
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
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
%endif #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
2020-07-29 10:59:41 +03:00
%endif #binary_extra_modules
############################
%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 #with 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
2013-11-16 00:27:01 +04:00
%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
2013-11-16 00:27:01 +04:00
cd %src_dir
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
2020-11-26 21:17:21 +00:00
# get rid of unwanted files
find . -name '*~' -o -name '*.orig' -o -name '*.append' -delete
# wipe all .gitignore/.get_maintainer.ignore files
find . -name "*.g*ignore" -delete
# Enable debug info if requested.
sed -i '/CONFIG_DEBUG_INFO/d' .config
2013-11-16 00:27:01 +04:00
%if %build_debug
echo 'CONFIG_DEBUG_INFO=y' >> %{build_dir}/.config.append
echo 'CONFIG_DEBUG_INFO_DWARF4=y' >> %{build_dir}/.config.append
echo 'CONFIG_GDB_SCRIPTS=y' >> %{build_dir}/.config.append
%else
echo 'CONFIG_DEBUG_INFO=n' >> %{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
# 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}
make ARCH=%{arch_type} oldconfig && \
mv .config ${cfg_file}
echo "Created ${cfg_file}."
2013-11-16 00:27:01 +04:00
# 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
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
############################################################################
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(){
2020-03-14 13:49:15 +03:00
# 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
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 \
%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 #endif 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
cp -r "$(rpm -q --qf '/usr/src/rtl8821ce-%%{VERSION}-%%{RELEASE}' kernel-source-rtl8821ce)" kernel-source-rtl8821ce
pushd kernel-source-rtl8821ce
%kmake KSRC=%{src_dir} M="$PWD"
mkdir -p %{temp_modules}/%{kver_full}/kernel/net/wireless/
cp 8821ce.ko %{temp_modules}/%{kver_full}/kernel/net/wireless/8821ce.ko
popd
rm -fr kernel-source-rtl8821ce
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
%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 #with nickel <- with binary_extra_modules
%endif #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}
%{zstd_cmd} Module.symvers
install -m 644 Module.symvers.zst %{temp_boot}/symvers-%{kver_full}.zst
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.gz %{temp_boot}/vmlinuz-%{kver_full}
%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/
2020-11-26 21:09:27 +00:00
# needed for arch/x86/purgatory
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
# aufs2 has a special file needed
cp -fR fs/aufs/magic.mk %{temp_devel_root}/fs/aufs
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}
# endif build_devel
2013-11-16 00:27:01 +04:00
%endif
# 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 # /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
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} \
%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.
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
# We want to be able to test several times the install part
rm -rf %{buildroot}
cp -a %{temp_root} %{buildroot}
# 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} \
%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}
2013-11-16 00:27:01 +04:00
# 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
find %{target_modules} -name "*.ko" | %kxargs %{zstd_cmd} --rm -T1 #-D dictionary
#rm -f dictionary
2013-11-16 00:27:01 +04:00
%endif
find %{buildroot}%{_modulesdir} -type f -name '*.ko%{kmod_suffix}' | sed -e 's,^%{buildroot},,' | sort -u >> %{kernel_files}
find %{buildroot}%{_modulesdir} -type d | sed -e 's,^%{buildroot},%dir ,' | sort -u >> %{kernel_files}
%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 # /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
2013-11-16 00:27:01 +04:00
# sniff, if we compressed all the modules, we change the stamp :(
# 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)
sed -i -e '1 s,^.*$,#!%{__python3},' %{buildroot}%{_prefix}/libexec/perf-core/scripts/python/exported-sql-viewer.py
2013-11-16 00:27:01 +04:00
# perf man pages (note: implicit rpm magic compresses them later)
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} 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}
%find_lang cpupower
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