2019-11-12 02:06:06 +03:00
|
|
|
# _get_email() in %%build contains bashisms for regexping
|
|
|
|
%define _buildshell /bin/bash
|
|
|
|
|
2020-05-11 09:35:25 +03:00
|
|
|
# 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}
|
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
# Put everything into one non-standard debuginfo subpackage
|
|
|
|
# TODO: make multiple debuginfo packages coinstallable as installonlypkg,
|
|
|
|
# to achive this, there must be no conflicting files.
|
|
|
|
# Probably signing and compressing of kernel modules
|
|
|
|
# has to be moved to %%_spec_install_post.
|
|
|
|
%global _debuginfo_subpackages %{nil}
|
|
|
|
%global _debuginfo_template %{nil}
|
|
|
|
%undefine _debugsource_packages
|
|
|
|
|
|
|
|
# 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,')
|
|
|
|
|
2021-03-24 20:59:25 +03:00
|
|
|
%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
|
|
|
|
2016-07-22 22:05:03 +03: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
|
2019-07-16 18:30:53 +03:00
|
|
|
%define fullrpmrel %{rpmrel}
|
2013-11-16 00:27:01 +04:00
|
|
|
|
|
|
|
%define rpmtag %{disttag}
|
|
|
|
|
|
|
|
# version defines
|
|
|
|
%define kversion %{kernelversion}.%{patchlevel}.%{sublevel}
|
2019-07-16 18:30:53 +03:00
|
|
|
%define kverrel %{kversion}-%{fullrpmrel}
|
2013-11-16 00:27:01 +04:00
|
|
|
%define tar_ver %{kernelversion}.%{patchlevel}
|
|
|
|
|
2015-03-16 18:42:29 +03:00
|
|
|
%ifarch %{ix86}
|
2020-11-27 14:07:58 +03:00
|
|
|
%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
|
2015-03-16 18:42:29 +03:00
|
|
|
%endif
|
|
|
|
|
2020-11-26 21:09:27 +00:00
|
|
|
%ifarch aarch64
|
|
|
|
%define arch_suffix arm64
|
|
|
|
%endif
|
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
%define buildrpmrel %{fullrpmrel}%{rpmtag}-%{arch_suffix}
|
2013-11-16 00:27:01 +04:00
|
|
|
%define buildrel %{kversion}-%{buildrpmrel}
|
|
|
|
|
2020-12-30 19:47:16 +03:00
|
|
|
# Add not only the build time generated key to the trusted keyring,
|
|
|
|
# but also add public keys of private ROSA's keys
|
2019-11-17 16:56:39 +03:00
|
|
|
%bcond_without additional_keys
|
2020-12-30 19:47:16 +03:00
|
|
|
|
2020-03-13 20:35:12 +03:00
|
|
|
# User Mode Linux, https://habr.com/ru/company/itsumma/blog/459558/
|
2020-12-30 22:31:45 +03:00
|
|
|
# Not buildable on aarch64
|
2021-01-01 19:11:15 +03:00
|
|
|
%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
|
2019-11-17 16:56:39 +03:00
|
|
|
|
2020-03-18 22:20:03 +03:00
|
|
|
# "Nickel" is a special brand for certified distros
|
|
|
|
%if %{mdvver} == 201900 || %{mdvver} == 201905
|
|
|
|
%bcond_without nickel
|
2020-11-27 01:34:07 +03:00
|
|
|
# Require kernel modules to be signed
|
2020-08-06 14:44:29 +03:00
|
|
|
%bcond_without oblig_signed_modules
|
2020-03-18 22:20:03 +03:00
|
|
|
%else
|
|
|
|
%bcond_with nickel
|
2020-08-06 14:44:29 +03:00
|
|
|
%bcond_with oblig_signed_modules
|
2020-03-18 22:20:03 +03:00
|
|
|
%endif
|
|
|
|
|
2020-07-29 10:59:41 +03:00
|
|
|
%if %{mdvver} >= 201905
|
2020-11-27 01:34:07 +03:00
|
|
|
# Build binary out-of-tree kernel modules (experimental)
|
2020-07-29 10:59:41 +03:00
|
|
|
%bcond_without binary_extra_modules
|
2020-11-27 01:34:07 +03:00
|
|
|
# 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
|
2020-11-27 01:34:07 +03:00
|
|
|
%bcond_with gost_sign
|
2020-07-29 10:59:41 +03:00
|
|
|
%endif
|
|
|
|
|
2020-07-27 16:53:12 +03:00
|
|
|
%bcond_with ccache
|
2020-08-19 20:02:58 +03:00
|
|
|
%bcond_without flow_abi
|
2020-07-27 16:53:12 +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
|
|
|
# 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
|
|
|
|
|
2021-05-03 18:21:14 +03:00
|
|
|
# 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;
|
2021-05-04 15:17:47 +03:00
|
|
|
# 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).
|
2021-05-03 18:21:14 +03:00
|
|
|
%define zstd_cmd zstd -q --format=zstd --ultra -22
|
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
# Kernel flavour
|
2020-03-18 22:20:03 +03:00
|
|
|
%if %{with nickel}
|
2019-11-11 21:28:45 +03:00
|
|
|
%define flavour nickel
|
|
|
|
%else
|
2020-03-18 22:20:03 +03:00
|
|
|
%define flavour generic
|
2019-11-11 21:28:45 +03:00
|
|
|
%endif
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2019-07-16 18:30:53 +03: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}
|
2019-07-21 21:43:25 +03:00
|
|
|
%define src_dir %{build_dir}/linux-%{tar_ver}
|
2019-07-16 18:30:53 +03:00
|
|
|
|
|
|
|
# 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.
|
2019-11-19 16:37:20 +03:00
|
|
|
%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
|
2019-11-18 18:48:33 +03:00
|
|
|
%define certs_public_keys %{certs_dir_rnd}/public.pem
|
2019-11-11 21:16:01 +03:00
|
|
|
%define certs_verify_tmp %{certs_dir_rnd}/verify.tmp
|
2021-05-03 15:56:13 +03:00
|
|
|
|
|
|
|
%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}
|
|
|
|
|
2016-07-29 13:39:16 +03:00
|
|
|
############################################################################
|
2013-11-16 00:27:01 +04:00
|
|
|
|
|
|
|
# Build defines
|
2019-07-16 17:21:32 +03:00
|
|
|
%define build_doc 0
|
2020-11-26 22:03:53 +00:00
|
|
|
%define build_devel 1
|
2020-12-12 17:35:27 +03:00
|
|
|
%define build_debug 1
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2018-09-04 11:17:26 +03: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
|
2020-03-21 03:02:08 +03:00
|
|
|
%define build_headers 0
|
2018-09-04 11:17:26 +03:00
|
|
|
|
2013-11-16 00:27:01 +04:00
|
|
|
# build perf and cpupower tools
|
2020-12-27 23:55:17 +03:00
|
|
|
%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
|
2020-12-27 23:55:17 +03:00
|
|
|
%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
|
2020-11-26 21:44:31 +00:00
|
|
|
|
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}
|
|
|
|
|
2021-05-03 18:21:14 +03:00
|
|
|
%if %{with compress_modules}
|
|
|
|
%define kmod_suffix .zst
|
2020-07-29 10:59:41 +03:00
|
|
|
%else
|
2021-05-03 18:21:14 +03:00
|
|
|
%define kmod_suffix %{nil}
|
2020-07-29 10:59:41 +03:00
|
|
|
%endif
|
|
|
|
|
2016-07-21 15:59:26 +03:00
|
|
|
%if !%{build_debug}
|
|
|
|
# Disable debug rpms.
|
|
|
|
%define _enable_debug_packages %{nil}
|
|
|
|
%define debug_package %{nil}
|
|
|
|
%endif
|
|
|
|
|
2020-07-27 16:53:12 +03:00
|
|
|
# http://nickdesaulniers.github.io/blog/2018/06/02/speeding-up-linux-kernel-builds-with-ccache/
|
|
|
|
%if %{with ccache}
|
2020-11-27 15:39:54 +03:00
|
|
|
%define kmake KBUILD_BUILD_TIMESTAMP='' %make CC='ccache gcc' ARCH="%{arch_type}"
|
2013-11-16 00:27:01 +04:00
|
|
|
%else
|
2020-11-27 15:39:54 +03:00
|
|
|
%define kmake %make CC='gcc' ARCH="%{arch_type}"
|
2013-11-16 00:27:01 +04:00
|
|
|
%endif
|
2020-07-27 16:53:12 +03:00
|
|
|
|
2013-11-16 00:27:01 +04:00
|
|
|
# there are places where parallel make don't work
|
2014-01-23 11:57:37 +04:00
|
|
|
%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
|
|
|
|
#
|
2016-07-26 11:41:00 +03:00
|
|
|
Summary: The Linux kernel
|
2021-05-03 15:56:13 +03:00
|
|
|
Name: kernel-%{kernelversion}.%{patchlevel}-%{flavour}
|
2013-11-16 00:27:01 +04:00
|
|
|
Version: %{kversion}
|
2019-07-16 18:30:53 +03:00
|
|
|
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
|
2019-07-16 18:30:53 +03:00
|
|
|
# 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.
|
2020-12-30 19:47:16 +03:00
|
|
|
Source111: kernel-x86_64.config
|
|
|
|
Source112: kernel-i586.config
|
|
|
|
Source113: kernel-arm64.config
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2015-03-17 20:53:12 +03:00
|
|
|
# Cpupower: the service, the config, etc.
|
2013-11-16 00:27:01 +04:00
|
|
|
Source50: cpupower.service
|
|
|
|
Source51: cpupower.config
|
2015-03-13 17:29:40 +03:00
|
|
|
Source52: cpupower-start.sh
|
2015-03-17 20:53:12 +03:00
|
|
|
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
|
2019-11-17 16:56:39 +03:00
|
|
|
|
|
|
|
# Additional keys that can be used to sign kernel modules
|
2020-03-20 21:20:38 +03:00
|
|
|
# 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)}
|
2019-11-17 16:56:39 +03:00
|
|
|
|
2016-07-26 11:24:24 +03: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
|
|
|
|
2013-11-16 00:27:01 +04:00
|
|
|
# Patches
|
|
|
|
|
2016-07-22 22:05:03 +03:00
|
|
|
# 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
|
2019-07-16 18:30:53 +03:00
|
|
|
|
|
|
|
# Patches from mainline
|
|
|
|
# none
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2016-07-26 11:24:24 +03: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
|
2016-07-26 11:24:24 +03:00
|
|
|
|
|
|
|
# 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
|
2016-07-26 11:24:24 +03:00
|
|
|
|
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
|
|
|
|
2020-03-16 23:19:46 +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-16 23:19:46 +03:00
|
|
|
|
2020-03-20 11:27:35 +03:00
|
|
|
# sent to upstream, https://patchwork.kernel.org/patch/11446123/
|
2020-03-19 00:41:40 +03:00
|
|
|
Patch302: 0001-sign-file-full-functionality-with-modern-LibreSSL.patch
|
2020-08-06 14:30:23 +03:00
|
|
|
# Support loading GOST-signed modules
|
|
|
|
Patch305: 0001-crypto-support-loading-GOST-signed-kernel-modules.patch
|
2020-08-10 10:44:43 +03:00
|
|
|
# Allow to off modules signature check dynamically
|
|
|
|
Patch306: 0001-ROSA-ima-allow-to-off-modules-signature-check-dynami.patch
|
2020-12-27 15:49:15 +03:00
|
|
|
# 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
|
2020-12-26 19:53:02 +03:00
|
|
|
# https://www.linux.org.ru/news/kernel/16052362?cid=16075323
|
2020-12-25 15:23:51 +03:00
|
|
|
Patch307: le9pf.diff
|
2021-01-01 19:13:15 +03:00
|
|
|
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
|
2014-07-11 16:00:31 +04:00
|
|
|
BuildRequires: bc
|
|
|
|
BuildRequires: binutils
|
|
|
|
BuildRequires: gcc
|
2020-11-27 15:52:01 +03:00
|
|
|
# ./scripts/mkcompile_h
|
2020-12-03 15:12:38 +03:00
|
|
|
# in net-tools in rosa2016.1, already installed
|
|
|
|
%if %{mdvver} > 201610
|
2020-11-27 15:52:01 +03:00
|
|
|
BuildRequires: hostname
|
2020-12-03 15:12:38 +03:00
|
|
|
%endif
|
2014-07-11 16:00:31 +04:00
|
|
|
# For power tools
|
|
|
|
BuildRequires: pkgconfig(ncurses)
|
2013-11-16 00:27:01 +04:00
|
|
|
BuildRequires: kmod-devel kmod-compat
|
2018-02-10 19:33:13 +03:00
|
|
|
BuildRequires: bison
|
|
|
|
BuildRequires: flex
|
2019-07-16 18:30:53 +03:00
|
|
|
BuildRequires: bzip2
|
2019-09-24 11:56:44 +03:00
|
|
|
BuildRequires: rsync
|
|
|
|
|
2020-11-26 21:21:05 +00:00
|
|
|
%ifarch x86_64 aarch64
|
2014-05-19 18:34:31 +04:00
|
|
|
BuildRequires: numa-devel
|
|
|
|
%endif
|
|
|
|
|
2014-07-11 16:00:31 +04:00
|
|
|
# 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
|
2014-07-11 16:00:31 +04:00
|
|
|
BuildRequires: elfutils-devel
|
|
|
|
BuildRequires: libunwind-devel
|
2013-11-16 00:27:01 +04:00
|
|
|
BuildRequires: newt-devel
|
2014-07-11 16:00:31 +04:00
|
|
|
BuildRequires: perl-devel
|
2020-12-27 23:26:55 +03:00
|
|
|
BuildRequires: python3
|
|
|
|
BuildRequires: pkgconfig(python3)
|
2013-11-16 00:27:01 +04:00
|
|
|
BuildRequires: xmlto
|
2014-07-11 16:00:31 +04:00
|
|
|
BuildRequires: zlib-devel
|
2016-07-26 18:18:51 +03:00
|
|
|
BuildRequires: pkgconfig(libcrypto)
|
2014-07-11 16:00:31 +04:00
|
|
|
%endif
|
2020-12-30 21:25:08 +03:00
|
|
|
|
|
|
|
%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
|
2019-11-11 21:16:01 +03:00
|
|
|
# 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
|
2021-04-01 14:30:32 +03:00
|
|
|
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}
|
2020-11-27 23:00:06 +03:00
|
|
|
BuildRequires: kernel-source-shredder-kernel
|
|
|
|
%endif
|
2020-08-06 17:26:48 +03:00
|
|
|
# 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
|
2020-08-06 17:26:48 +03:00
|
|
|
%endif #with binary_extra_modules
|
2020-07-29 10:59:41 +03:00
|
|
|
|
2020-07-27 16:53:12 +03:00
|
|
|
%if %{with ccache}
|
|
|
|
BuildRequires: ccache
|
|
|
|
%endif
|
|
|
|
|
2021-05-03 18:21:14 +03:00
|
|
|
%if %{with compress_modules}
|
|
|
|
BuildRequires: zstd
|
|
|
|
%endif
|
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
Provides: kernel = %{EVRD}
|
|
|
|
Provides: kernel-%{flavour} = %{EVRD}
|
|
|
|
# dnf config-manager --dump | grep installonly
|
|
|
|
Provides: installonlypkg(kernel) = %{EVRD}.image
|
|
|
|
Provides: installonlypkg(kernel) = %{EVRD}.modules
|
2019-07-16 18:30:53 +03:00
|
|
|
|
2021-05-04 14:39:10 +03:00
|
|
|
# >= because of added support of zstd-compressed modules
|
|
|
|
Requires(posttrans): dracut >= 053-0.git5eb736.5
|
|
|
|
Requires(posttrans): kmod >= 28-3
|
2021-05-03 15:56:13 +03:00
|
|
|
|
2020-12-27 23:46:32 +03:00
|
|
|
# Usually necessary, but sometimes user may want to not install them
|
|
|
|
Recommends: linux-firmware
|
|
|
|
Recommends: wireless-regdb
|
|
|
|
Recommends: crda
|
2021-05-03 15:56:13 +03:00
|
|
|
Recommends: microcode
|
2020-12-27 16:13:54 +03:00
|
|
|
# Set BFQ as default scheduler for HDDs
|
|
|
|
# https://www.phoronix.com/scan.php?page=article&item=linux-50hdd-io
|
|
|
|
Recommends: udev-rules-ioschedulers
|
2019-07-16 18:30:53 +03:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%if %{with flow_abi}
|
|
|
|
Requires: kernel-%{kernelversion}.%{patchlevel}-rosa-flow-abi
|
2013-11-16 00:27:01 +04:00
|
|
|
%endif
|
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
%ifarch %{ix86}
|
|
|
|
Conflicts: arch(x86_64)
|
2013-11-16 00:27:01 +04:00
|
|
|
%endif
|
2016-07-21 15:58:13 +03:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
Obsoletes: kernel-%{flavour}-%{kernelversion}.%{patchlevel}-latest < 5.10.34-2
|
2019-07-16 18:30:53 +03:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%description
|
2019-07-16 18:30:53 +03:00
|
|
|
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.
|
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%posttrans
|
2019-07-16 18:30:53 +03:00
|
|
|
# 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
|
|
|
#
|
2019-07-16 18:30:53 +03: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
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
# File triggers from grub packages will handle this.
|
|
|
|
#/usr/sbin/update-grub2
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%postun
|
2021-04-25 15:38:29 +03:00
|
|
|
|
|
|
|
# Do not remove just installed kernel if package is being reinstalled
|
|
|
|
if [ "$1" -gt 0 ]; then exit 0; fi
|
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
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
|
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%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
|
2019-07-16 18:30:53 +03:00
|
|
|
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
%if %build_devel
|
2021-05-03 15:56:13 +03:00
|
|
|
%package devel
|
|
|
|
Summary: Development files for %{name}
|
2019-07-16 18:30:53 +03:00
|
|
|
Group: Development/Kernel
|
|
|
|
Requires: glibc-devel
|
|
|
|
Requires: ncurses-devel
|
|
|
|
Requires: make
|
|
|
|
Requires: gcc
|
|
|
|
Requires: perl
|
|
|
|
Provides: kernel-devel = %{kverrel}
|
2019-11-17 15:12:03 +03:00
|
|
|
Provides: kernel-%{flavour}-devel = %{kverrel}
|
2021-05-03 15:56:13 +03:00
|
|
|
Provides: installonlypkg(kernel) = %{EVRD}.devel
|
|
|
|
Obsoletes: kernel-%{flavour}-%{kernelversion}.%{patchlevel}-devel-latest < 5.10.34-2
|
2019-07-16 18:30:53 +03:00
|
|
|
|
2021-04-22 16:04:36 +03:00
|
|
|
# Have dkms updated/installed before the kernel, scriptlet here checks if dkms exists
|
|
|
|
OrderWithRequires(post): dkms
|
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
%ifarch %{ix86}
|
|
|
|
Conflicts: arch(x86_64)
|
2013-11-16 00:27:01 +04:00
|
|
|
%endif
|
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%description devel
|
2019-07-16 18:30:53 +03:00
|
|
|
This package contains the kernel files (headers and build tools)
|
|
|
|
that should be enough to build additional drivers for
|
2021-05-03 15:56:13 +03:00
|
|
|
use with %{name}.
|
2019-07-16 18:30:53 +03:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%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
|
2019-07-16 18:30:53 +03:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%preun devel
|
2019-11-12 16:16:27 +03:00
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
# 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
|
|
|
|
|
2020-03-18 22:20:03 +03:00
|
|
|
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
|
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%postun devel
|
2019-07-16 18:30:53 +03:00
|
|
|
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
|
|
|
|
|
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%files devel
|
2020-11-26 21:33:48 +00:00
|
|
|
%{devel_root}/Documentation
|
2019-07-16 18:30:53 +03:00
|
|
|
%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
|
2019-07-16 18:30:53 +03:00
|
|
|
%{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
|
2019-07-16 18:30:53 +03:00
|
|
|
%{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
|
2019-07-16 18:30:53 +03:00
|
|
|
%{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
|
2019-07-16 18:30:53 +03:00
|
|
|
%{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
|
2019-09-24 18:37:26 +03:00
|
|
|
%{devel_root}/include/vdso
|
2019-07-16 18:30:53 +03:00
|
|
|
%{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
|
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%endif # /build_devel
|
2019-07-16 18:30:53 +03:00
|
|
|
|
|
|
|
############################################################################
|
|
|
|
|
|
|
|
%if %build_debug
|
2021-05-03 15:56:13 +03:00
|
|
|
%package debuginfo
|
|
|
|
Summary: Debuginfo for %{name}
|
2019-07-16 18:30:53 +03:00
|
|
|
Group: Development/Debug
|
|
|
|
Provides: kernel-debug = %{kverrel}
|
2021-05-03 15:56:13 +03:00
|
|
|
AutoReq: 0
|
|
|
|
AutoProv: 0
|
2019-07-16 18:30:53 +03:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%description debuginfo
|
|
|
|
This package contains the files with debuginfo for %{name}.
|
2019-07-16 18:30:53 +03:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%files debuginfo -f %{debuginfo_files}
|
|
|
|
%{_bootdir}/vmlinux-%{kver_full}
|
2019-07-16 18:30:53 +03:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%endif # /build_debug
|
2019-07-16 18:30:53 +03:00
|
|
|
|
|
|
|
############################################################################
|
|
|
|
|
2013-11-16 00:27:01 +04:00
|
|
|
%if %build_doc
|
2021-05-03 15:56:13 +03:00
|
|
|
%package doc
|
2019-07-16 18:30:53 +03:00
|
|
|
Summary: Various documentation bits found in the kernel source
|
2013-11-16 00:27:01 +04:00
|
|
|
Group: Documentation
|
|
|
|
Buildarch: noarch
|
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%description doc
|
2019-07-16 18:30:53 +03:00
|
|
|
This package contains documentation files from the kernel source.
|
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%files doc
|
2019-07-21 21:43:25 +03:00
|
|
|
%doc linux-%{tar_ver}/Documentation/*
|
2019-07-16 18:30:53 +03:00
|
|
|
|
2013-11-16 00:27:01 +04:00
|
|
|
%endif
|
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
############################################################################
|
|
|
|
|
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
|
2019-07-16 18:30:53 +03:00
|
|
|
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
|
2019-07-16 18:30:53 +03:00
|
|
|
%{_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
|
2021-05-03 15:56:13 +03:00
|
|
|
|
2014-10-14 13:22:01 +04:00
|
|
|
Summary: The cpupower tools
|
2013-11-16 00:27:01 +04:00
|
|
|
Group: System/Kernel and hardware
|
|
|
|
|
|
|
|
%description -n cpupower
|
2014-10-14 13:22:01 +04:00
|
|
|
The cpupower tools.
|
2013-11-16 00:27:01 +04:00
|
|
|
|
|
|
|
%post -n cpupower
|
2014-10-14 13:22:01 +04:00
|
|
|
|
2014-04-18 15:05:40 +04:00
|
|
|
if [ $1 -ge 0 ]; then
|
2015-03-17 20:53:12 +03:00
|
|
|
# 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
|
2015-03-17 20:53:12 +03:00
|
|
|
/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
|
|
|
|
2019-07-16 18:30:53 +03: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
|
2014-10-14 13:22:01 +04:00
|
|
|
Summary: Development files for cpupower
|
2013-11-16 00:27:01 +04:00
|
|
|
Group: Development/Kernel
|
2021-05-03 15:56:13 +03:00
|
|
|
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.
|
2019-07-16 18:30:53 +03:00
|
|
|
|
|
|
|
%files -n cpupower-devel
|
|
|
|
%{_libdir}/libcpupower.so
|
|
|
|
%{_includedir}/cpufreq.h
|
2020-03-21 12:28:56 +03:00
|
|
|
%{_includedir}/cpuidle.h
|
2019-07-16 18:30:53 +03:00
|
|
|
|
2013-11-16 00:27:01 +04:00
|
|
|
%endif
|
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
############################################################################
|
|
|
|
|
2018-09-04 11:17:26 +03:00
|
|
|
%if %{build_headers}
|
2021-05-03 15:56:13 +03:00
|
|
|
%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
|
2020-04-14 22:03:16 +03:00
|
|
|
Provides: linux-userspace-headers = %{EVRD}
|
|
|
|
Provides: kernel-release-headers = %{EVRD}
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2021-05-03 15:56:13 +03: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.
|
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%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
|
2018-09-04 11:17:26 +03:00
|
|
|
%endif
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
############################################################################
|
|
|
|
|
2020-03-13 20:35:12 +03:00
|
|
|
%if %{with uml}
|
2020-03-18 22:20:03 +03:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%package uml
|
2020-03-13 20:35:12 +03:00
|
|
|
Summary: User Mode Linux binary
|
|
|
|
Group: System/Kernel and hardware
|
2021-05-03 15:56:13 +03:00
|
|
|
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
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%description uml
|
2020-03-18 22:20:03 +03:00
|
|
|
User Mode Linux binary.
|
2021-05-03 15:56:13 +03:00
|
|
|
Stripped, debug is in %{name}-debuginfo.
|
2020-03-13 20:35:12 +03:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%files uml
|
2020-03-13 20:35:12 +03:00
|
|
|
%{_bindir}/linux-uml-%{kver_full}
|
|
|
|
#------------------------------------------------
|
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%package uml-modules
|
2020-03-13 20:35:12 +03:00
|
|
|
Summary: User Mode Linux (UML) kernel modules
|
|
|
|
Group: System/Kernel and hardware
|
2021-05-03 15:56:13 +03:00
|
|
|
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
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%description uml-modules
|
2020-03-13 20:35:12 +03:00
|
|
|
User Mode Linux (UML) kernel modules
|
|
|
|
- not compressed
|
|
|
|
- not stripped
|
|
|
|
- signed
|
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%files uml-modules
|
2020-03-13 20:35:12 +03:00
|
|
|
/lib/modules-uml/%{kver_full}
|
2020-03-18 22:20:03 +03:00
|
|
|
|
|
|
|
%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
|
2021-04-01 14:30:32 +03:00
|
|
|
%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}
|
2020-11-27 23:00:06 +03:00
|
|
|
%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
|
2021-05-03 15:56:13 +03:00
|
|
|
%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
|
2021-05-03 15:56:13 +03:00
|
|
|
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
|
|
|
|
2021-05-03 15:56:13 +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
|
|
|
|
2021-05-03 15:56:13 +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
|
|
|
#------------------------------------------------
|
|
|
|
|
2020-08-06 17:26:48 +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
|
|
|
|
|
2020-08-19 20:02:58 +03:00
|
|
|
############################
|
|
|
|
|
|
|
|
%if %{with flow_abi}
|
|
|
|
%package -n kernel-%{kernelversion}.%{patchlevel}-rosa-flow-abi
|
|
|
|
Summary: Directory to install third-party binary kernel modules for kernels %{kernelversion}.%{patchlevel}.x
|
|
|
|
Group: System/Kernel and hardware
|
|
|
|
|
|
|
|
%description -n kernel-%{kernelversion}.%{patchlevel}-rosa-flow-abi
|
|
|
|
This package contains a directory to install third-party binary kernel modules for kernels %{kernelversion}.%{patchlevel}.x.
|
|
|
|
Some vendors provide binary-only kernel modules. They can put them into /lib/modules/%{kernelversion}.%{patchlevel}-rosa-flow-abi.
|
|
|
|
kmod tools will find them for kernels 5.4.x of "generic" and "nickel" flavours,
|
|
|
|
but there is no guarantee that these modules will load and work correctly on newer
|
|
|
|
or older kernels then the ones they were build against.
|
|
|
|
|
|
|
|
We call this "flow ABI" because most ABIs are not changed between %{kernelversion}.%{patchlevel}.x releases,
|
|
|
|
but there are no specific guarantees. ABI may evolve and change.
|
|
|
|
We highly recommend to use DKMS and build third-party kernel modules from source for every kernel!
|
|
|
|
|
|
|
|
This package does nothing, just owns a directory for third-party binary kernel modules.
|
|
|
|
|
|
|
|
%files -n kernel-%{kernelversion}.%{patchlevel}-rosa-flow-abi
|
|
|
|
/lib/modules/%{kernelversion}.%{patchlevel}-rosa-flow-abi
|
|
|
|
%endif #with flow_abi
|
|
|
|
|
|
|
|
################################################
|
2020-03-13 20:35:12 +03:00
|
|
|
|
2013-11-16 00:27:01 +04:00
|
|
|
%prep
|
2021-05-03 15:56:13 +03:00
|
|
|
|
|
|
|
# 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
|
|
|
|
#
|
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
# 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
|
2020-12-30 19:47:16 +03:00
|
|
|
cp %{SOURCE111} .
|
|
|
|
cp %{SOURCE112} .
|
|
|
|
cp %{SOURCE113} .
|
|
|
|
cp kernel-%{arch_suffix}.config .config
|
2019-07-16 18:30:53 +03:00
|
|
|
|
2020-03-13 20:51:12 +03:00
|
|
|
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
|
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
# Enable debug info if requested.
|
2020-03-13 20:51:12 +03:00
|
|
|
sed -i '/CONFIG_DEBUG_INFO/d' .config
|
2013-11-16 00:27:01 +04:00
|
|
|
%if %build_debug
|
2020-03-13 20:51:12 +03:00
|
|
|
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
|
|
|
|
|
2020-12-30 19:47:16 +03:00
|
|
|
sed -i '/CONFIG_MODULE_SIG_FORCE/d' .config
|
2019-11-21 21:17:42 +03:00
|
|
|
%if %{with oblig_signed_modules}
|
2019-11-11 17:47:53 +03:00
|
|
|
# Disallow loading not signed modules
|
2020-12-30 19:47:16 +03:00
|
|
|
# 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
|
2019-11-21 21:17:42 +03:00
|
|
|
%else
|
2020-03-13 20:35:12 +03:00
|
|
|
echo CONFIG_MODULE_SIG_FORCE=n >> %{build_dir}/.config.append
|
2019-11-21 21:17:42 +03:00
|
|
|
%endif
|
2020-12-30 19:47:16 +03:00
|
|
|
|
|
|
|
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
|
2020-12-30 19:47:16 +03:00
|
|
|
|
2019-11-18 18:48:33 +03:00
|
|
|
# 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
|
2020-12-30 19:47:16 +03:00
|
|
|
|
2019-11-14 01:08:33 +03:00
|
|
|
|
|
|
|
# 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
|
2020-03-18 22:20:03 +03:00
|
|
|
sed -i '/CONFIG_INIT_ON_ALLOC_DEFAULT_ON/d' .config
|
|
|
|
echo CONFIG_INIT_ON_ALLOC_DEFAULT_ON=n >> %{build_dir}/.config.append
|
2019-11-14 01:08:33 +03:00
|
|
|
# "Fill freed pages and heap objects with zeroes"
|
|
|
|
# To disable, add to cmdline: init_on_free=0
|
2020-03-18 22:20:03 +03:00
|
|
|
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
|
2020-03-18 22:20:03 +03:00
|
|
|
%else
|
|
|
|
echo CONFIG_INIT_ON_FREE_DEFAULT_ON=n >> %{build_dir}/.config.append
|
|
|
|
%endif
|
2019-11-14 01:08:33 +03:00
|
|
|
# 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
|
|
|
|
2020-03-20 21:28:35 +03:00
|
|
|
# To load kernel keyring in UML
|
|
|
|
for i in STREEBOG SHA1 SHA256 SHA512 ECRDSA RSA ; do
|
2020-12-30 19:47:16 +03:00
|
|
|
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
|
2020-03-20 21:28:35 +03:00
|
|
|
done
|
2020-03-16 23:19:46 +03:00
|
|
|
|
2020-03-13 20:35:12 +03:00
|
|
|
cat %{build_dir}/.config.append >> .config
|
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
# 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}
|
2020-11-27 15:39:54 +03:00
|
|
|
make ARCH=%{arch_type} oldconfig && \
|
2019-07-16 18:30:53 +03:00
|
|
|
mv .config ${cfg_file}
|
|
|
|
echo "Created ${cfg_file}."
|
2016-07-22 16:37:05 +03:00
|
|
|
|
2013-11-16 00:27:01 +04:00
|
|
|
# make sure the kernel has the sublevel we know it has...
|
2019-07-16 18:30:53 +03:00
|
|
|
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
|
2015-10-13 10:17:01 +03:00
|
|
|
find . -name '.get_maintainer.ignore' | %kxargs rm -f
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2019-07-16 18:30:53 +03: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
|
2020-03-14 22:02:48 +03:00
|
|
|
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}
|
2020-03-14 22:02:48 +03:00
|
|
|
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
|
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
rm -rf %{temp_root}
|
|
|
|
install -d %{temp_root}
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2019-07-16 18:30:53 +03: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
|
2019-11-17 16:09:47 +03:00
|
|
|
# See also certs/Makefile in kernel source
|
2019-11-11 17:47:53 +03:00
|
|
|
mkdir -p "%{certs_dir_rnd}"
|
2019-11-12 02:06:06 +03:00
|
|
|
|
|
|
|
# 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
|
2019-11-17 16:09:47 +03:00
|
|
|
string_mask = utf8only
|
2020-03-18 23:36:11 +03:00
|
|
|
#default_keyfile = %{certs_signing_key_priv_rnd}
|
2019-11-11 17:47:53 +03:00
|
|
|
distinguished_name = req_distinguished_name
|
2019-11-17 16:09:47 +03:00
|
|
|
x509_extensions = myexts
|
2019-11-11 17:47:53 +03:00
|
|
|
[ req_distinguished_name ]
|
|
|
|
organizationName = %{vendor} rpmbuild
|
2020-03-18 23:36:11 +03:00
|
|
|
commonName = Build time autogenerated @ALGO@ kernel key
|
2019-11-12 02:06:06 +03:00
|
|
|
emailAddress = ${email}
|
2019-11-17 16:09:47 +03:00
|
|
|
[ 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}"
|
2020-03-18 23:36:11 +03:00
|
|
|
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
|
|
|
|
2020-03-18 23:36:11 +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}"
|
2019-11-17 16:56:39 +03:00
|
|
|
|
2020-03-18 23:36:11 +03:00
|
|
|
# Strip public parts from the generated PEMs
|
2019-11-18 18:48:33 +03:00
|
|
|
sed -n \
|
2020-03-18 23:36:11 +03:00
|
|
|
'/^-----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
|
2021-02-22 13:17:43 +03:00
|
|
|
-e "s, libcrypto , libressl-libcrypto ,g"
|
2019-11-18 18:48:33 +03:00
|
|
|
|
2020-03-18 23:36:11 +03:00
|
|
|
%if %{with additional_keys}
|
2020-03-15 20:26:01 +03:00
|
|
|
# Add additional public RSA keys to the list of trusted keys for kernel modules
|
2019-11-17 16:56:39 +03:00
|
|
|
# Build kernel --without additional_keys if you do not want to trust them
|
2020-03-15 20:26:01 +03:00
|
|
|
cat %{expand:%(for i in `seq 1 12`; do echo "%%SOURCE$((200+${i}))" | tr "\n" " "; done)} \
|
|
|
|
>> "%{certs_public_keys}"
|
2019-11-17 16:56:39 +03:00
|
|
|
%endif #endif additional_keys
|
2019-11-19 00:24:49 +03:00
|
|
|
cat %{certs_public_keys}
|
2019-11-11 17:47:53 +03:00
|
|
|
|
2019-07-16 18:30: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
|
|
|
|
2019-07-16 18:30:53 +03: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
|
|
|
|
2019-07-16 18:30:53 +03: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
|
2021-05-22 11:56:21 +03:00
|
|
|
%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
|
|
|
|
|
2021-04-01 14:30:32 +03:00
|
|
|
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
|
2020-11-27 23:00:06 +03:00
|
|
|
%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
|
|
|
|
2020-08-06 17:26:48 +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
|
2020-12-31 14:30:14 +03:00
|
|
|
%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
|
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
install -d %{temp_boot}
|
|
|
|
install -m 644 System.map %{temp_boot}/System.map-%{kver_full}
|
|
|
|
install -m 644 .config %{temp_boot}/config-%{kver_full}
|
2021-05-03 18:21:14 +03:00
|
|
|
%{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}
|
2021-05-22 11:56:21 +03:00
|
|
|
%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
|
|
|
|
2019-07-16 18:30:53 +03: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
|
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
# remove /lib/firmware, we use a separate linux-firmware package
|
|
|
|
rm -rf %{temp_root}/lib/firmware
|
2014-12-11 19:36:25 +03:00
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
# Prepare the files for kernel*-devel
|
|
|
|
%if %build_devel
|
2014-12-11 19:36:25 +03:00
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
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
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
cp -fR include %{temp_devel_root}
|
2014-12-11 19:36:25 +03:00
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
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}/
|
2019-07-16 18:30:53 +03:00
|
|
|
cp -fR .config Module.symvers %{temp_devel_root}
|
2014-12-11 19:36:25 +03:00
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
# Needed for truecrypt build (Danny)
|
|
|
|
cp -fR drivers/md/dm.h %{temp_devel_root}/drivers/md/
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2019-07-16 18:30:53 +03: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/
|
2017-03-13 18:10:33 +03:00
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
# 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
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
# aufs2 has a special file needed
|
2019-12-16 16:12:07 +03:00
|
|
|
cp -fR fs/aufs/magic.mk %{temp_devel_root}/fs/aufs
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
# SELinux needs security/selinux/include
|
|
|
|
cp -fR security/selinux/include %{temp_devel_root}/security/selinux
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2019-07-16 18:30:53 +03: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
|
|
|
|
2019-07-16 18:30:53 +03: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
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
rm -f %{temp_devel_root}/.config.old
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
# fix permissions
|
|
|
|
chmod -R a+rX %{temp_devel_root}
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2019-07-16 18:30:53 +03: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
|
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
# TODO: maybe move to /usr/lib/debug?
|
2019-07-16 18:30:53 +03:00
|
|
|
%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 {}`'
|
2021-05-03 15:56:13 +03:00
|
|
|
%endif # /build_debug
|
2019-07-16 18:30:53 +03:00
|
|
|
|
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"
|
2020-03-18 23:36:11 +03:00
|
|
|
%if %{with gost_sign}
|
2020-03-29 01:07:43 +03:00
|
|
|
%{src_dir}/scripts/sign-file streebog512 \
|
|
|
|
"%{certs_signing_key_priv_rnd}.GOST" "%{certs_signing_key_priv_rnd}.GOST" "$f"
|
2020-03-15 20:26:01 +03:00
|
|
|
%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"
|
2020-03-15 20:26:01 +03:00
|
|
|
%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
|
|
|
|
2019-07-16 18:30:53 +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}
|
2020-12-27 23:26:55 +03:00
|
|
|
%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
|
2014-01-23 11:57:37 +04:00
|
|
|
%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
|
2019-07-16 18:30:53 +03:00
|
|
|
############################################################################
|
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}
|
|
|
|
|
2019-11-11 21:16:01 +03:00
|
|
|
# Multithreaded verification that every kernel module
|
|
|
|
# has a signature attached to it
|
|
|
|
mkdir -p "%{certs_dir_rnd}"
|
2019-11-14 01:26:18 +03:00
|
|
|
touch %{certs_verify_tmp}
|
2019-11-11 21:16:01 +03:00
|
|
|
_verify_signature(){
|
|
|
|
if [ -z "$1" ] || [ ! -f "$1" ]; then return; fi
|
2019-11-12 01:32:36 +03:00
|
|
|
if hexdump -C "$1" | rev | cut -f 2 -d '|' | rev | tr -d '\n' | \
|
2019-11-11 21:16:01 +03:00
|
|
|
grep -q '~Module signature appended~'
|
|
|
|
then
|
2019-11-14 01:26:18 +03:00
|
|
|
if [ -f %{certs_verify_tmp} ]; then
|
|
|
|
rm -f %{certs_verify_tmp}
|
|
|
|
fi
|
2019-11-11 21:16:01 +03:00
|
|
|
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 | \
|
2019-11-11 23:48:27 +03:00
|
|
|
xargs --null -P "$(nproc)" -I {} "$SHELL" -c '_verify_signature "{}"'
|
2019-11-14 01:26:18 +03:00
|
|
|
if [ -f %{certs_verify_tmp} ]; then
|
2019-11-11 21:16:01 +03:00
|
|
|
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
|
2021-05-03 18:21:14 +03:00
|
|
|
%if %{with compress_modules}
|
2021-05-04 15:17:47 +03:00
|
|
|
# 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 ]
|
2021-05-03 18:21:14 +03:00
|
|
|
# -T1 (one thread) because we run multiple zstd processes by xargs
|
2021-05-04 15:17:47 +03:00
|
|
|
find %{target_modules} -name "*.ko" | %kxargs %{zstd_cmd} --rm -T1 #-D dictionary
|
|
|
|
#rm -f dictionary
|
2013-11-16 00:27:01 +04:00
|
|
|
%endif
|
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
find %{buildroot}%{_modulesdir} -type f -name '*.ko%{kmod_suffix}' | sed -e 's,^%{buildroot},,' | sort -u >> %{kernel_files}
|
2021-05-22 11:46:21 +03:00
|
|
|
find %{buildroot}%{_modulesdir} -type d | sed -e 's,^%{buildroot},%dir ,' | sort -u >> %{kernel_files}
|
2021-05-03 15:56:13 +03:00
|
|
|
|
|
|
|
%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
|
|
|
|
|
2015-04-21 19:03:58 +03:00
|
|
|
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
|
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
# 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
|
2019-07-16 18:30:53 +03:00
|
|
|
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
|
2019-07-16 18:30:53 +03:00
|
|
|
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}
|
2014-01-23 11:57:37 +04:00
|
|
|
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
|
2015-03-17 20:53:12 +03:00
|
|
|
install -m644 %{SOURCE53} %{buildroot}%{_unitdir}/cpupower.path
|
2013-11-16 00:27:01 +04:00
|
|
|
install -m644 %{SOURCE51} %{buildroot}%{_sysconfdir}/sysconfig/cpupower
|
2015-03-13 17:29:40 +03:00
|
|
|
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
|
2020-08-06 17:26:48 +03:00
|
|
|
rm -fr %{buildroot}%{_usr}/src/*/kernel-source-*
|
2020-08-19 20:02:58 +03:00
|
|
|
|
|
|
|
%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
|