2019-11-12 02:06:06 +03:00
|
|
|
# _get_email() in %%build contains bashisms for regexping
|
2022-03-09 19:02:02 +01:00
|
|
|
%define _buildshell /bin/bash
|
2019-11-12 02:06:06 +03:00
|
|
|
|
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
|
2022-03-09 19:02:02 +01:00
|
|
|
%define _python_bytecompile_build 0
|
2020-05-11 09:35:25 +03:00
|
|
|
|
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.
|
2022-03-09 19:02:02 +01:00
|
|
|
%global _find_debuginfo_dwz_opts %{nil}
|
2020-06-19 23:42:50 +03:00
|
|
|
|
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.
|
2022-03-09 19:02:02 +01:00
|
|
|
%global _debuginfo_subpackages %{nil}
|
|
|
|
%global _debuginfo_template %{nil}
|
|
|
|
%undefine _debugsource_packages
|
2021-05-03 15:56:13 +03:00
|
|
|
|
2023-02-08 15:54:13 +03:00
|
|
|
# Avoid rediffing patches like AUFS when possible
|
|
|
|
%define _default_patch_fuzz 10
|
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
# Hack: flavour and major version are variable, make %%_build_pkgcheck_* always detect and use this config
|
2022-03-09 19:02:02 +01:00
|
|
|
%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-05-03 15:56:13 +03:00
|
|
|
|
2022-11-07 03:13:34 +03:00
|
|
|
%define kernelversion 6
|
|
|
|
%define patchlevel 1
|
[bot] upd: 6.1.15 -> 6.1.19
Changelog:
9p/rdma: unmap receive dma buffer in rdma_request()/post_recv()
9p/xen: fix connection sequence
9p/xen: fix version parsing
ACPI: battery: Fix missing NUL-termination with large strings
ACPICA: Drop port I/O validation for some regions
ACPICA: nsrepair: handle cases without a return value correctly
ACPI: Don't build ACPICA with '-Os'
ACPI: resource: Add IRQ overrides for MAINGEAR Vector Pro 2 models
ACPI: resource: Do IRQ override on all TongFang GMxRGxx
ACPI: video: Fix Lenovo Ideapad Z570 DMI match
alpha/boot/tools/objstrip: fix the check for ELF header
alpha: fix FEN fault handling
ALSA: hda/ca0132: minor fix for allocation size
ALSA: hda: Fix the control element identification for multiple codecs
ALSA: hda/hdmi: Register with vga_switcheroo on Dual GPU Macbooks
ALSA: hda/realtek: Add quirk for HP EliteDesk 800 G6 Tower PC
ALSA: ice1712: Do not left ice->gpio_mutex locked in aureon_add_controls()
applicom: Fix PCI device refcount leak in applicom_init()
arm64/cpufeature: Fix field sign for DIT hwcap detection
arm64: dts: amlogic: meson-axg: fix SCPI clock dvfs node name
arm64: dts: amlogic: meson-axg-jethome-jethub-j1xx: fix invalid rtc node name
arm64: dts: amlogic: meson-axg-jethome-jethub-j1xx: fix supply name of USB controller node
arm64: dts: amlogic: meson-gx: add missing SCPI sensors compatible
arm64: dts: amlogic: meson-gx: add missing unit address to rng node name
arm64: dts: amlogic: meson-gxbb-kii-pro: fix led node name
arm64: dts: amlogic: meson-gx: fix SCPI clock dvfs node name
arm64: dts: amlogic: meson-gxl: add missing unit address to eth-phy-mux node name
arm64: dts: amlogic: meson-gx-libretech-pc: fix update button name
arm64: dts: amlogic: meson-gxl-s905d-phicomm-n1: fix led node name
arm64: dts: amlogic: meson-gxl-s905d-sml5442tw: drop invalid clock-names property
arm64: dts: amlogic: meson-gxl-s905w-jethome-jethub-j80: fix invalid rtc node name
arm64: dts: amlogic: meson-sm1-bananapi-m5: fix adc keys node names
arm64: dts: amlogic: meson-sm1-odroid-hc4: fix active fan thermal trip
arm64: dts: imx8m: Align SoC unique ID node unit address
arm64: dts: mediatek: mt7622: Add missing pwm-cells to pwm node
arm64: dts: mediatek: mt7986: Fix watchdog compatible
arm64: dts: mediatek: mt8183: Fix systimer 13 MHz clock description
arm64: dts: mediatek: mt8186: Fix systimer 13 MHz clock description
arm64: dts: mediatek: mt8186: Fix watchdog compatible
arm64: dts: mediatek: mt8192: Fix systimer 13 MHz clock description
arm64: dts: mediatek: mt8192: Mark scp_adsp clock as broken
arm64: dts: mediatek: mt8195: Add power domain to U3PHY1 T-PHY
arm64: dts: mediatek: mt8195: Fix systimer 13 MHz clock description
arm64: dts: mediatek: mt8195: Fix watchdog compatible
arm64: dts: meson-axg: jethub-j1xx: Fix MAC address node names
arm64: dts: meson: bananapi-m5: switch VDDIO_C pin to OPEN_DRAIN
arm64: dts: meson-g12a: Fix internal Ethernet PHY unit name
arm64: dts: meson-gx: Fix Ethernet MAC address unit name
arm64: dts: meson-gx: Fix the SCPI DVFS node name and unit address
arm64: dts: meson-gxl: jethub-j80: Fix Bluetooth MAC node name
arm64: dts: meson-gxl: jethub-j80: Fix WiFi MAC address node
arm64: dts: meson: radxa-zero: allow usb otg mode
arm64: dts: meson: remove CPU opps below 1GHz for G12A boards
arm64: dts: msm8992-bullhead: add memory hole region
arm64: dts: mt8186: Fix CPU map for single-cluster SoC
arm64: dts: mt8192: Fix CPU map for single-cluster SoC
arm64: dts: mt8195: Fix CPU map for single-cluster SoC
arm64: dts: qcom: ipq8074: correct Gen2 PCIe ranges
arm64: dts: qcom: ipq8074: correct PCIe QMP PHY output clock names
arm64: dts: qcom: ipq8074: correct USB3 QMP PHY-s clock output names
arm64: dts: qcom: ipq8074: fix Gen2 PCIe QMP PHY
arm64: dts: qcom: ipq8074: fix Gen3 PCIe node
arm64: dts: qcom: ipq8074: fix Gen3 PCIe QMP PHY
arm64: dts: qcom: msm8953: correct TLMM gpio-ranges
arm64: dts: qcom: msm8992-bullhead: Disable dfps_data_mem
arm64: dts: qcom: msm8992-bullhead: Fix cont_splash_mem size
arm64: dts: qcom: msm8992-*: Fix up comments
arm64: dts: qcom: msm8992-lg-bullhead: Correct memory overlaps with the SMEM and MPSS memory regions
arm64: dts: qcom: msm8992-lg-bullhead: Enable regulators
arm64: dts: qcom: msm8996: Add additional A2NoC clocks
arm64: dts: qcom: msm8996: support using GPLL0 as kryocc input
arm64: dts: qcom: msm8996 switch from RPM_SMD_BB_CLK1 to RPM_SMD_XO_CLK_SRC
arm64: dts: qcom: msm8996-tone: Fix USB taking 6 minutes to wake up
arm64: dts: qcom: pmk8350: Specify PBS register for PON
arm64: dts: qcom: pmk8350: Use the correct PON compatible
arm64: dts: qcom: qcs404: use symbol names for PCIe resets
arm64: dts: qcom: sc7180: correct SPMI bus address cells
arm64: dts: qcom: sc7280: correct SPMI bus address cells
arm64: dts: qcom: sc8280xp: correct SPMI bus address cells
arm64: dts: qcom: sc8280xp: Vote for CX in USB controllers
arm64: dts: qcom: sdm845-db845c: fix audio codec interrupt pin name
arm64: dts: qcom: sm6125: Reorder HSUSB PHY clocks to match bindings
arm64: dts: qcom: sm6125-seine: Clean up gpio-keys (volume down)
arm64: dts: qcom: sm6350: Fix up the ramoops node
arm64: dts: qcom: sm8150-kumano: Panel framebuffer is 2.5k instead of 4k
arm64: dts: qcom: sm8350: drop incorrect cells from serial
arm64: dts: qcom: sm8450: drop incorrect cells from serial
arm64: dts: renesas: beacon-renesom: Fix gpio expander reference
arm64: dts: ti: k3-am62: Enable SPI nodes at the board level
arm64: dts: ti: k3-am62-main: Fix clocks for McSPI
arm64: dts: ti: k3-j7200: Fix wakeup pinmux range
arm64: efi: Make efi_rt_lock a raw_spinlock
arm64: mm: hugetlb: Disable HUGETLB_PAGE_OPTIMIZE_VMEMMAP
arm64: mte: Fix/clarify the PG_mte_tagged semantics
arm64: Reset KASAN tag in copy_highpage with HW tags only
arm64: tegra: Fix duplicate regulator on Jetson TX1
arm64: zynqmp: Enable hs termination flag for USB dwc3 controller
ARM: bcm2835_defconfig: Enable the framebuffer
ARM: dts: exynos: correct HDMI phy compatible in Exynos4
ARM: dts: exynos: correct TMU phandle in Exynos4
ARM: dts: exynos: correct TMU phandle in Exynos4210
ARM: dts: exynos: correct TMU phandle in Exynos5250
ARM: dts: exynos: correct TMU phandle in Odroid HC1
ARM: dts: exynos: correct TMU phandle in Odroid XU
ARM: dts: exynos: correct TMU phandle in Odroid XU3 family
ARM: dts: exynos: correct wr-active property in Exynos3250 Rinato
ARM: dts: exynos: Use Exynos5420 compatible for the MIPI video phy
ARM: dts: imx7s: correct iomuxc gpr mux controller cells
ARM: dts: qcom: sdx55: Add Qcom SMMU-500 as the fallback for IOMMU node
ARM: dts: qcom: sdx65: Add Qcom SMMU-500 as the fallback for IOMMU node
ARM: dts: spear320-hmi: correct STMPE GPIO compatible
ARM: dts: stm32: Update part number NVMEM description on stm32mp131
ARM: dts: sun8i: nanopi-duo2: Fix regulator GPIO reference
ARM: imx: Call ida_simple_remove() for ida_simple_get
ARM: OMAP1: call platform_device_put() in error case in omap1_dm_timer_init()
ARM: OMAP2+: Fix memory leak in realtime_counter_init()
ARM: OMAP2+: omap4-common: Fix refcount leak bug
ARM: s3c: fix s3c64xx_set_timer_source prototype
ARM: zynq: Fix refcount leak in zynq_early_slcr_init
ASoC: adau7118: don't disable regulators on device unbind
ASoC: apple: mca: Fix final status read on SERDES reset
ASoC: apple: mca: Fix SERDES reset sequence
ASoC: apple: mca: Improve handling of unavailable DMA channels
ASoC: codecs: lpass: fix incorrect mclk rate
ASoC: codecs: lpass: register mclk after runtime pm
ASoC: dt-bindings: meson: fix gx-card codec node regex
ASoC: fsl_sai: initialize is_dsp_mode flag
ASoC: kirkwood: Iterate over array indexes instead of using pointer math
ASoC: mchp-spdifrx: disable all interrupts in mchp_spdifrx_dai_remove()
ASoC: mchp-spdifrx: fix controls that works with completion mechanism
ASoC: mchp-spdifrx: fix controls which rely on rsr register
ASoC: mchp-spdifrx: fix return value in case completion times out
ASoC: mchp-spdifrx: Fix uninitialized use of mr in mchp_spdifrx_hw_params()
ASoC: mediatek: mt8195: add missing initialization
ASoC: qcom: q6apm-dai: Add SNDRV_PCM_INFO_BATCH flag
ASoC: qcom: q6apm-dai: fix race condition while updating the position pointer
ASoC: qcom: q6apm-lpass-dai: unprepare stream if its already prepared
ASoC: rsnd: fixup #endif position
ASoC: soc-compress.c: fixup private_data on snd_soc_new_compress()
ASoC: soc-compress: Reposition and add pcm_mutex
ASoC: soc-dapm.h: fixup warning struct snd_pcm_substream not declared
ASoC: tlv320adcx140: fix 'ti,gpio-config' DT property init
ASoC: topology: Properly access value coming from topology file
ASoC: zl38060 add gpiolib dependency
ata: ahci: Revert "ata: ahci: Add Tiger Lake UP{3,4} AHCI controller"
auxdisplay: hd44780: Fix potential memory leak in hd44780_remove()
blk-cgroup: dropping parent refcount after pd_free_fn() is done
blk-cgroup: synchronize pd_free_fn() from blkg_free_workfn() and blkcg_deactivate_policy()
blk-iocost: fix divide by 0 error in calc_lcoefs()
blk-mq: avoid sleep in blk_mq_alloc_request_hctx
blk-mq: correct stale comment of .get_budget
blk-mq: Fix potential io hung for shared sbitmap per tagset
blk-mq: remove stale comment for blk_mq_sched_mark_restart_hctx
blk-mq: wait on correct sbitmap_queue in blk_mq_mark_tag_wait
block: be a bit more careful in checking for NULL bdev while polling
block: bio-integrity: Copy flags when bio_integrity_payload is cloned
block: clear bio->bi_bdev when putting a bio back in the cache
block: don't allow multiple bios for IOCB_NOWAIT issue
block: Fix io statistics for cgroup in throttle path
block: sync mixed merged request's failfast with 1st bio's
block: ublk: check IO buffer based on flag need_get_data
block: use proper return value from bio_failfast()
Bluetooth: btusb: Add new PID/VID 0489:e0f2 for MT7921
Bluetooth: btusb: Add VID:PID 13d3:3529 for Realtek RTL8821CE
Bluetooth: Fix issue with Actions Semi ATS2851 based devices
Bluetooth: hci_conn: Refactor hci_bind_bis() since it always succeeds
Bluetooth: hci_qca: get wakeup status from serdev device handle
Bluetooth: L2CAP: Fix potential user-after-free
bootconfig: Increase max nodes of bootconfig from 1024 to 8192 for DCC support
bpf, docs: Fix modulo zero, division by zero, overflow, and underflow
bpf: Fix global subprog context argument resolution logic
bpftool: Always disable stack protection for BPF objects
bpftool: profile online CPUs instead of possible
bpf: Zeroing allocated object from slab in bpf memory allocator
brd: check for REQ_NOWAIT and set correct page allocation mask
brd: mark as nowait compatible
brd: return 0/-error from brd_insert_page()
brd: use radix_tree_maybe_preload instead of radix_tree_preload
btrfs: hold block group refcount during async discard
btrfs: scrub: improve tree block error reporting
builddeb: clean generated package content
bus: mhi: ep: Fix the debug message for MHI_PKT_TYPE_RESET_CHAN_CMD cmd
bus: mhi: ep: Move chan->lock to the start of processing queued ch ring
bus: mhi: ep: Only send -ENOTCONN status if client driver is available
bus: mhi: ep: Save channel state locally during suspend and resume
cacheinfo: Fix shared_cpu_map to handle shared caches at different levels
can: esd_usb: Make use of can_change_state() and relocate checking skb for NULL
can: esd_usb: Move mislocated storage of SJA1000_ECC_SEG bits in case of a bus error
can: isotp: check CAN address family in isotp_bind()
can: rcar_canfd: Fix R-Car V3U GAFLCFG field accesses
ceph: update the time stamps and try to drop the suid/sgid
cifs: Check the lease context if we actually got a lease
cifs: don't try to use rdma offload on encrypted connections
cifs: Fix lost destroy smbd connection when MR allocate failed
cifs: fix mount on old smb servers
cifs: Fix uninitialized memory read in smb3_qfs_tcon()
cifs: Fix uninitialized memory reads for oparms.mode
cifs: Fix warning and UAF when destroy the MR list
cifs: introduce cifs_io_parms in smb2_async_writev()
cifs: prevent data race in smb2_reconnect()
cifs: return a single-use cfid if we did not get a lease
cifs: split out smb3_use_rdma_offload() helper
cifs: use tcon allocation functions even for dummy tcon
clocksource/drivers/riscv: Patch riscv_clock_next_event() jump before first use
clocksource: Suspend the watchdog temporarily when high read latency detected
coda: Avoid partial allocation of sig_inputArgs
context_tracking: Fix noinstr vs KASAN
coresight: cti: Add PM runtime call in enable_store
coresight: cti: Prevent negative values of enable count
coresight: etm4x: Fix accesses to TRCSEQRSTEVR and TRCSEQSTR
cpufreq: davinci: Fix clk use after free
cpuidle: add ARCH_SUSPEND_POSSIBLE dependencies
cpuidle: drivers: firmware: psci: Dont instrument suspend code
cpuidle, intel_idle: Fix CPUIDLE_FLAG_INIT_XSTATE
cpuidle, intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE *again*
cpuidle: lib/bug: Disable rcu_is_watching() during WARN/BUG
crypto: ccp - Avoid page allocation failure warning for SEV_GET_ID2
crypto: ccp - Failure on re-initialization due to duplicate sysfs filename
crypto: ccp - Flush the SEV-ES TMR memory before giving it to firmware
crypto: crypto4xx - Call dma_unmap_page when done
crypto: essiv - Handle EBUSY correctly
crypto: hisilicon: Wipe entire pool on error
crypto: octeontx2 - Fix objects shared between several modules
crypto: qat - fix out-of-bounds read
crypto: rsa-pkcs1pad - Use akcipher_request_complete
crypto: seqiv - Handle EBUSY correctly
crypto: x86/ghash - fix unaligned access in ghash_setkey()
crypto: xts - Handle EBUSY correctly
cxl/pmem: Fix nvdimm registration races
dax/kmem: Fix leak of memory-hotplug resources
devlink: Fix TP_STRUCT_entry in trace of devlink health report
dm: add cond_resched() to dm_wq_requeue_work()
dm: add cond_resched() to dm_wq_work()
dmaengine: dw-axi-dmac: Do not dereference NULL structure
dmaengine: dw-edma: Fix missing src/dst address of interleaved xfers
dmaengine: dw-edma: Fix readq_ch() return value truncation
dmaengine: HISI_DMA should depend on ARCH_HISI
dmaengine: idxd: Set traffic class values in GRPCFG on DSA 2.0
dmaengine: ptdma: check for null desc before calling pt_cmd_callback
dmaengine: sf-pdma: pdma_desc memory leak fix
dm cache: add cond_resched() to various workqueue loops
dm cache: free background tracker's queued work in btracker_destroy
dm flakey: don't corrupt the zero page
dm flakey: fix a bug with 32-bit highmem systems
dm flakey: fix logic when corrupting a bio
dm: improve shrinker debug names
dm: remove flush_scheduled_work() during local_exit()
dm: send just one event on resize, not two
dm thin: add cond_resched() to various workqueue loops
docs: gdbmacros: print newest record
docs/scripts/gdb: add necessary make scripts_gdb step
Documentation/hw-vuln: Document the interaction between IBRS and STIBP
driver core: fix potential null-ptr-deref in device_add()
driver core: fix resource leak in device_add()
driver core: fw_devlink: Add DL_FLAG_CYCLE support to device links
driver core: fw_devlink: Allow marking a fwnode link as being part of a cycle
driver core: fw_devlink: Avoid spurious error message
driver core: fw_devlink: Consolidate device link flag computation
driver core: fw_devlink: Don't purge child fwnode's consumer links
driver core: fw_devlink: Improve check for fwnode with no device/driver
driver core: fw_devlink: Make cycle detection more robust
driver core: location: Free struct acpi_pld_info *pld before return false
drivers: base: component: fix memory leak with using debugfs_lookup()
drivers: base: dd: fix memory leak with using debugfs_lookup()
drivers: base: transport_class: fix possible memory leak
drivers: base: transport_class: fix resource leak when transport_add_device() fails
driver: soc: xilinx: fix memory leak in xlnx_add_cb_for_notify_event()
drm/amd: Avoid ASSERT for some message failures
drm/amd: Avoid BUG() for case of SRIOV missing IP version
drm/amd/display: Defer DIG FIFO disable after VID stream enable
drm/amd/display: Disable HUBP/DPP PG on DCN314 for now
drm/amd/display: Do not commit pipe when updating DRR
drm/amd/display: don't call dc_interrupt_set() for disabled crtcs
drm/amd/display: Enable P-state validation checks for DCN314
drm/amd/display: fix FCLK pstate change underflow
drm/amd/display: fix mapping to non-allocated address
drm: amd: display: Fix memory leakage
drm/amd/display: Fix potential null-deref in dm_resume
drm/amd/display: Reduce expected sdp bandwidth for dcn321
drm/amd/display: Revert Reduce delay when sink device not able to ACK 00340h write
drm/amd/display: Set hvm_enabled flag for S/G mode
drm/amd: Fix initialization for nbio 7.5.1
drm/amdgpu: fix enum odm_combine_mode mismatch
drm/amdgpu: Use the sched from entity for amdgpu_cs trace
drm/amdkfd: Page aligned memory reserve size
drm/bridge: lt9611: fix clock calculation
drm/bridge: lt9611: fix HPD reenablement
drm/bridge: lt9611: fix polarity programming
drm/bridge: lt9611: fix programming of video modes
drm/bridge: lt9611: fix sleep mode setup
drm/bridge: lt9611: pass a pointer to the of node
drm/bridge: megachips: Fix error handling in i2c_register_driver()
drm/bridge: tc358767: Set default CLRSIPO count
drm/bridge: ti-sn65dsi83: Fix delay after reset deassert to match spec
drm/display/dp_mst: Add drm_atomic_get_old_mst_topology_state()
drm/display/dp_mst: Fix down message handling after a packet reception error
drm/display/dp_mst: Fix down/up message handling after sink disconnect
drm/display/dp_mst: Fix payload addition on a disconnected sink
drm/drm_print: correct format problem
drm/edid: fix AVI infoframe aspect ratio handling
drm/edid: fix parsing of 3D modes from HDMI VSDB
drm: exynos: dsi: Fix MIPI_DSI*_NO_* mode flags
drm: Fix potential null-ptr-deref due to drmm_mode_config_init()
drm/fourcc: Add missing big-endian XRGB1555 and RGB565 formats
drm/gud: Fix UBSAN warning
drm/i915: Don't use BAR mappings for ring buffers with LLC
drm/i915: Don't use stolen memory for ring buffers with LLC
drm/i915/dp_mst: Add the MST topology state for modesetted CRTCs
drm/i915: Fix system suspend without fbdev being initialized
drm/i915: move a Kconfig symbol to unbreak the menu presentation
drm/i915/quirks: Add inverted backlight quirk for HP 14-r206nv
drm/mediatek: Clean dangling pointer on bind error path
drm/mediatek: Drop unbalanced obj unref
drm/mediatek: dsi: Reduce the time of dsi from LP11 to sending cmd
drm/mediatek: mtk_drm_crtc: Add checks for devm_kcalloc
drm/mediatek: Use NULL instead of 0 for NULL pointer
drm/mipi-dsi: Fix byte order of 16-bit DCS set/get brightness
drm/msm/adreno: Fix null ptr access in adreno_gpu_cleanup()
drm/msm: clean event_thread->worker in case of an error
drm/msm/dpu: Add check for cstate
drm/msm/dpu: Add check for pstates
drm/msm/dpu: Add DSC hardware blocks to register snapshot
drm/msm/dpu: check for null return of devm_kzalloc() in dpu_writeback_init()
drm/msm/dpu: Disallow unallocated resources to be returned
drm/msm/dpu: sc7180: add missing WB2 clock control
drm/msm/dpu: set pdpu->is_rt_pipe early in dpu_plane_sspp_atomic_update()
drm/msm/dsi: Add missing check for alloc_ordered_workqueue
drm/msm/dsi: Allow 2 CTRLs on v2.5.0
drm/msm/gem: Add check for kmalloc
drm/msm/hdmi: Add missing check for alloc_ordered_workqueue
drm/msm/mdp5: Add check for kzalloc
drm/msm: use strscpy instead of strncpy
drm: mxsfb: DRM_IMX_LCDIF should depend on ARCH_MXC
drm: mxsfb: DRM_MXSFB should depend on ARCH_MXS || ARCH_MXC
drm/omap: dsi: Fix excessive stack usage
drm/panel-edp: fix name for IVO product id 854b
drm: panel-orientation-quirks: Add quirk for DynaBook K50
drm: panel-orientation-quirks: Add quirk for Lenovo IdeaPad Duet 3 10IGL5
drm: panel-orientation-quirks: Add quirk for Lenovo Yoga Tab 3 X90F
drm/radeon: Fix eDP for single-display iMac11,2
drm/radeon: free iio for atombios when driver shutdown
drm: rcar-du: Add quirk for H3 ES1.x pclk workaround
drm: rcar-du: Fix setting a reserved bit in DPLLCR
drm/shmem-helper: Fix locking for drm_gem_shmem_get_pages_sgt()
drm/shmem-helper: Revert accidental non-GPL export
drm/tegra: firewall: Check for is_addr_reg existence in IMM check
drm: tidss: Fix pixel format definition
drm/tiny: ili9486: Do not assume 8-bit only SPI controllers
drm/vc4: dpi: Fix format mapping for RGB565
drm/vc4: drop all currently held locks if deadlock happens
drm/vc4: hdmi: Correct interlaced timings again
drm/vc4: hvs: Correct interrupt masking bit assignment for HVS5
drm/vc4: hvs: Fix colour order for xRGB1555 on HVS5
drm/vc4: hvs: SCALER_DISPBKGND_AUTOHS is only valid on HVS4
drm/vc4: hvs: Set AXI panic modes
drm/vkms: Fix memory leak in vkms_init()
drm/vkms: Fix null-ptr-deref in vkms_release()
dt-bindings: display: mediatek: Fix the fallback for mediatek,mt8186-disp-ccorr
eeprom: idt_89hpesx: Fix error handling in idt_init()
erofs: relinquish volume with mutex held
exfat: fix inode->i_blocks for non-512 byte sector size device
exfat: fix reporting fs error when reading dir beyond EOF
exfat: fix unexpected EOF while reading dir
exfat: redefine DIR_DELETED as the bad cluster number
exit: Detect and fix irq disabled state in oops
ext4: don't show commit interval if it is zero
ext4: fix incorrect options show of original mount_opt and extend mount_opt2
ext4: optimize ea_inode block expansion
ext4: refuse to create ea block when umounted
ext4: use ext4_fc_tl_mem in fast-commit replay path
f2fs: allow set compression option of files without blocks
f2fs: clear atomic_write_task in f2fs_abort_atomic_write()
f2fs: correct i_size change for atomic writes
f2fs: don't rely on F2FS_MAP_* in f2fs_iomap_begin
f2fs: fix cgroup writeback accounting with fs-layer encryption
f2fs: fix information leak in f2fs_move_inline_dirents()
f2fs: fix kernel crash due to null io->bio
f2fs: fix to abort atomic write only during do_exist()
f2fs: fix to avoid potential deadlock
f2fs: fix to avoid potential memory corruption in __update_iostat_latency()
f2fs: introduce trace_f2fs_replace_atomic_write_block
f2fs: retry to update the inode page given data corruption
f2fs: synchronize atomic write aborts
firmware: coreboot: framebuffer: Ignore reserved pixel color bits
firmware: dmi-sysfs: Fix null-ptr-deref in dmi_sysfs_register_handle
firmware/efi sysfb_efi: Add quirk for Lenovo IdeaPad Duet 3
firmware: stratix10-svc: add missing gen_pool_destroy() in stratix10_svc_drv_probe()
firmware: stratix10-svc: fix error handle while alloc/add device failed
fotg210-udc: Add missing completion handler
fpga: microchip-spi: move SPI I/O buffers out of stack
fpga: microchip-spi: rewrite status polling in a time measurable way
fs/cramfs/inode.c: initialize file_ra_state
fs: dlm: don't set stop rx flag after node reset
fs: dlm: move sending fin message into state change handling
fs: dlm: send FIN ack back in right cases
fs: f2fs: initialize fsdata in pagecache_write()
fs: hfsplus: fix UAF issue in hfsplus_put_super
fs/jfs: fix shift exponent db_agl2size negative
fs: Use CHECK_DATA_CORRUPTION() when kernel bugs are detected
fuse: add inode/permission checks to fileattr_get/fileattr_set
gcc-plugins: drop -std=gnu++11 to fix GCC 13 build
genirq: Fix the return type of kstat_cpu_irqs_sum()
genirq/ipi: Fix NULL pointer deref in irq_data_get_affinity_mask()
gfs2: Improve gfs2_make_fs_rw error handling
gfs2: jdata writepage fix
gpio: vf610: connect GPIO label to dev name
gpu: host1x: Don't skip assigning syncpoints to channels
gpu: host1x: Fix mask for syncpoint increment register
gpu: ipu-v3: common: Add of_node_put() for reference returned by of_graph_get_port_by_id()
habanalabs: bugs fixes in timestamps buff alloc
habanalabs: extend fatal messages to contain PCI info
habanalabs: fix bug in timestamps registration code
hfs: fix missing hfs_bnode_get() in __hfs_bnode_create
HID: Add Mapping for System Microphone Mute
HID: asus: use spinlock to protect concurrent accesses
HID: asus: use spinlock to safely schedule workers
hid: bigben_probe(): validate report count
HID: bigben: use spinlock to protect concurrent accesses
HID: bigben: use spinlock to safely schedule workers
HID: bigben_worker() remove unneeded check on report_field
HID: logitech-hidpp: Don't restart communication if not necessary
HID: logitech-hidpp: Hard-code HID++ 1.0 fast scroll support
HID: multitouch: Add quirks for flipped axes
HID: retain initial quirks set up when creating HID devices
HID: uclogic: Add battery quirk
HID: uclogic: Add frame type quirk
HID: uclogic: Add support for XP-PEN Deco Pro MW
HID: uclogic: Add support for XP-PEN Deco Pro SW
hv_netvsc: Check status in SEND_RNDIS_PKT completion message
hwmon: (asus-ec-sensors) add missing mutex path
hwmon: (coretemp) Simplify platform device handling
hwmon: (ftsteutates) Fix scaling of measurements
hwmon: (ltc2945) Handle error case in ltc2945_value_store
hwmon: (mlxreg-fan) Return zero speed for broken fan
hwmon: (nct6775) B650/B660/X670 ASUS boards support
hwmon: (nct6775) Directly call ASUS ACPI WMI method
hwmon: (nct6775) Fix incorrect parenthesization in nct6775_write_fan_div()
hwmon: (peci/cputemp) Fix off-by-one in coretemp_label allocation
hwtracing: hisi_ptt: Only add the supported devices to the filters list
i2c: designware: fix i2c_dw_clk_rate() return size to be u32
IB/hfi1: Fix math bugs in hfi1_can_pin_pages()
IB/hfi1: Fix sdma.h tx->num_descs off-by-one errors
IB/hfi1: Update RMT size calculation
ice: add missing checks for PF vsi type
ice: restrict PTP HW clock freq adjustments to 100, 000, 000 PPB
iio: accel: mma9551_core: Prevent uninitialized variable in mma9551_read_config_word()
iio: accel: mma9551_core: Prevent uninitialized variable in mma9551_read_status_word()
iio: light: tsl2563: Do not hardcode interrupt trigger type
ima: Align ima_file_mmap() parameters with mmap_file LSM hook
ima: fix error handling logic when file measurement failed
inet: fix fast path in __inet_hash_connect()
iommu/amd: Add a length limitation for the ivrs_acpihid command-line parameter
iommu/amd: Do not identity map v2 capable device when snp is enabled
iommu/amd: Fix error handling for pdev_pri_ats_enable()
iommu/amd: Improve page fault error reporting
iommu: Attach device group to old domain in error path
iommu: dart: Add suspend/resume support
iommu/dart: Fix apple_dart_device_group for PCI groups
iommu: dart: Support >64 stream IDs
iommu: Fix error unwind in iommu_group_alloc()
iommu/vt-d: Allow to use flush-queue when first level is default
iommu/vt-d: Avoid superfluous IOTLB tracking in lazy mode
iommu/vt-d: Fix error handling in sva enable/disable paths
iommu/vt-d: Fix PASID directory pointer coherency
iommu/vt-d: Set No Execute Enable bit in PASID table entry
io_uring: add a conditional reschedule to the IOPOLL cancelation loop
io_uring: add reschedule point to handle_tw_list()
io_uring: fix fget leak when fs don't support nowait buffered read
io_uring: fix size calculation when registering buf ring
io_uring: fix two assignments in if conditions
io_uring: handle TIF_NOTIFY_RESUME when checking for task_work
io_uring: mark task TASK_RUNNING before handling resume/task work
io_uring/poll: allow some retries for poll triggering spuriously
io_uring: remove MSG_NOSIGNAL from recvmsg
io_uring: Replace 0-length array with flexible array
io_uring/rsrc: disallow multi-source reg buffers
io_uring: use user visible tail in io_uring_poll()
ipmi: ipmb: Fix the MODULE_PARM_DESC associated to 'retry_time_ms'
ipmi_ssif: Rename idle state and check
ipmi:ssif: resend_msg() cannot fail
ipv6: Add lwtunnel encap size of all siblings in nexthop calculation
irqchip/alpine-msi: Fix refcount leak in alpine_msix_init_domains
irqchip: Fix refcount leak in platform_irqchip_probe
irqchip/irq-bcm7120-l2: Set IRQ_LEVEL for level triggered interrupts
irqchip/irq-brcmstb-l2: Set IRQ_LEVEL for level triggered interrupts
irqchip/irq-mvebu-gicp: Fix refcount leak in mvebu_gicp_probe
irqchip/ti-sci: Fix refcount leak in ti_sci_intr_irq_domain_probe
irqdomain: Drop bogus fwspec-mapping error handling
irqdomain: Fix association race
irqdomain: Fix disassociation race
irqdomain: Fix domain registration race
irqdomain: Fix mapping-creation race
irqdomain: Look for existing mapping only once
irqdomain: Refactor __irq_domain_alloc_irqs()
iw_cxgb4: Fix potential NULL dereference in c4iw_fill_res_cm_id_entry()
jbd2: fix data missing when reusing bh which is ready to be checkpointed
kbuild: Port silent mode detection to future gnu make.
kernel/fail_function: fix memory leak with using debugfs_lookup()
kernel/printk/index.c: fix memory leak with using debugfs_lookup()
KEYS: asymmetric: Fix ECDSA use via keyctl uapi
kobject: Fix slab-out-of-bounds in fill_kobj_path()
kobject: modify kobject_get_path() to take a const *
kprobes: Fix to handle forcibly unoptimized kprobes on freeing_list
kselftest/arm64: Fix enumeration of systems without 128 bit SME
kselftest/arm64: Fix syscall-abi for systems without 128 bit SME
ksmbd: do not allow the actual frame length to be smaller than the rfc1002 length
ksmbd: fix possible memory leak in smb2_lock()
ksmbd: fix wrong data area length for smb2 lock request
ktest.pl: Add RUN_TIMEOUT option with default unlimited
ktest.pl: Fix missing "end_monitor" when machine check fails
ktest.pl: Give back console on Ctrt^C on monitor
KVM: Destroy target device if coalesced MMIO unregistration fails
KVM: Register /dev/kvm as the _very_ last thing during initialization
KVM: s390: disable migration mode when dirty tracking is disabled
KVM: SVM: Don't put/load AVIC when setting virtual APIC mode
KVM: SVM: Fix potential overflow in SEV's send|receive_update_data()
KVM: SVM: Flush the "current" TLB when activating AVIC
KVM: SVM: hyper-v: placate modpost section mismatch error
KVM: SVM: Process ICR on AVIC IPI delivery failure due to invalid target
KVM: VMX: Fix crash due to uninitialized current_vmcs
KVM: x86: Blindly get current x2APIC reg value on "nodecode write" traps
KVM: x86: Don't inhibit APICv/AVIC if xAPIC ID mismatch is due to 32-bit ID
KVM: x86: Don't inhibit APICv/AVIC on xAPIC ID "change" if APIC is disabled
KVM: x86: Inject #GP if WRMSR sets reserved bits in APIC Self-IPI
KVM: x86: Inject #GP on x2APIC WRMSR that sets reserved bits 63:32
KVM: x86: Purge "highest ISR" cache when updating APICv state
l2tp: Avoid possible recursive deadlock in l2tp_tunnel_register()
leds: is31fl319x: Wrap mutex_destroy() for devm_add_action_or_rest()
leds: led-class: Add missing put_device() to led_put()
leds: led-core: Fix refcount leak in of_led_get()
leds: simatic-ipc-leds-gpio: Make sure we have the GPIO providing driver
libbpf: Fix alen calculation in libbpf_nla_dump_errormsg()
libbpf: Fix btf__align_of() by taking into account field offsets
libbpf: Fix invalid return address register in s390
lib/mpi: Fix buffer overrun when SG is too long
locking/rwsem: Disable preemption in all down_read*() and up_read() code paths
locking/rwsem: Prevent non-first waiter from spinning in down_write() slowpath
LoongArch, bpf: Use 4 instructions for function address in JIT
loop: loop_set_status_from_info() check before assignment
m68k: Check syscall_trace_enter() return code
m68k: /proc/hardware should depend on PROC_FS
md: don't update recovery_cp when curr_resync is ACTIVE
media: amphion: correct the unspecified color space
media: atomisp: Only set default_run_mode on first open of a stream/asd
media: camss: csiphy-3ph: avoid undefined behavior
media: drivers/media/v4l2-core/v4l2-h264 : add detection of null pointers
media: hantro: Fix JPEG encoder ENUM_FRMSIZE on RK3399
media: i2c: imx219: Fix binning for RAW8 capture
media: i2c: imx219: Split common registers from mode tables
media: i2c: ov7670: 0 instead of -EINVAL was returned
media: i2c: ov772x: Fix memleak in ov772x_probe()
media: imx: imx7-media-csi: fix missing clk_disable_unprepare() in imx7_csi_init()
media: imx-jpeg: Apply clk_bulk api instead of operating specific clk
media: ipu3-cio2: Fix PM runtime usage_count in driver unbind
media: max9286: Fix memleak in max9286_v4l2_register()
media: mc: Get media_device directly from pad
media: ov2740: Fix memleak in ov2740_init_controls()
media: ov5640: Fix soft reset sequence and timings
media: ov5640: Handle delays when no reset_gpio set
media: ov5675: Fix memleak in ov5675_init_controls()
media: platform: mtk-mdp3: fix Kconfig dependencies
media: platform: mtk-mdp3: Fix return value check in mdp_probe()
media: platform: mtk-mdp3: remove unused VIDEO_MEDIATEK_VPU config
media: platform: ti: Add missing check for devm_regulator_get
media: rc: Fix use-after-free bugs caused by ene_tx_irqsim()
media: saa7134: Use video_unregister_device for radio_dev
media: ti: cal: fix possible memory leak in cal_ctx_create()
media: usb: siano: Fix use after free bugs caused by do_submit_urb
media: uvcvideo: Add GUID for BGRA/X 8:8:8:8
media: uvcvideo: Check for INACTIVE in uvc_ctrl_is_accessible()
media: uvcvideo: Fix race condition with usb_kill_urb
media: uvcvideo: Handle cameras with invalid descriptors
media: uvcvideo: Handle errors from calls to usb_string
media: uvcvideo: Implement mask for V4L2_CTRL_TYPE_MENU
media: uvcvideo: Quirk for autosuspend in Logitech B910 and C910
media: uvcvideo: Refactor power_line_frequency_controls_limited
media: uvcvideo: Refactor uvc_ctrl_mappings_uvcXX
media: uvcvideo: Remove format descriptions
media: uvcvideo: Silence memcpy() run-time false positive warnings
media: v4l2-jpeg: correct the skip count in jpeg_parse_app14_data
media: v4l2-jpeg: ignore the unknown APP14 marker
mei: bus-fixup:upon error print return values of send and receive
mei: pxp: Use correct macros to initialize uuid_le
memory: renesas-rpc-if: Move resource acquisition to .probe()
memory: renesas-rpc-if: Split-off private data from struct rpcif
memory tier: release the new_memtier in find_create_memory_tier()
mfd: arizona: Use pm_runtime_resume_and_get() to prevent refcnt leak
mfd: cs5535: Don't build on UML
mfd: pcf50633-adc: Fix potential memleak in pcf50633_adc_async_read()
MIPS: DTS: CI20: fix otg power gpio
mips: fix syscall_get_nr
misc: fastrpc: Fix an error handling path in fastrpc_rpmsg_probe()
misc/mei/hdcp: Use correct macros to initialize uuid_le
misc: vmw_balloon: fix memory leak with using debugfs_lookup()
mlx5: fix possible ptp queue fifo use-after-free
mlx5: fix skb leak while fifo resync and push
mm/damon/paddr: fix missing folio_put()
mm/hwpoison: convert TTU_IGNORE_HWPOISON to TTU_HWPOISON
mm: memcontrol: deprecate charge moving
mm/thp: check and bail out if page in deferred queue already
mtd: mtdpart: Don't create platform device that'll never probe
mtd: spi-nor: Fix shift-out-of-bounds in spi_nor_set_erase_type
mtd: spi-nor: sfdp: Fix index value for SCCR dwords
mtd: spi-nor: spansion: Consider reserved bits in CFR5 register
net: add sock_init_data_uid()
net: avoid double iput when sock_alloc_file fails
net: bcmgenet: Add a check for oversized packets
net: bcmgenet: fix MoCA LED control
net: dsa: felix: fix internal MDIO controller resource length
net: dsa: seville: ignore mscc-miim read errors from Lynx PCS
netfilter: conntrack: fix rmmod double-free race
netfilter: ctnetlink: fix possible refcount leak in ctnetlink_create_conntrack()
netfilter: ctnetlink: make event listener tracking global
netfilter: ebtables: fix table blob use-after-free
netfilter: ip6t_rpfilter: Fix regression with VRF interfaces
netfilter: nf_tables: allow to fetch set elements when table has an owner
netfilter: nf_tables: NULL pointer dereference in nf_tables_updobj()
netfilter: x_tables: fix percpu counter block leak on error path when creating new netns
netfilter: xt_length: use skb len to match in length_mt6
net: fix __dev_kfree_skb_any() vs drop monitor
net: ipa: generic command param fix
net: lan966x: Fix possible deadlock inside PTP
net/mlx4_en: Introduce flexible array to silence overflow warning
net/mlx5: ECPF, wait for VF pages only after disabling host PFs
net/mlx5: Enhance debug print in page allocation failure
net/mlx5e: Verify flow_source cap before using it
net/mlx5: fw_tracer: Fix debug print
net/mlx5: Geneve, Fix handling of Geneve object id as error code
net/sched: act_mpls: fix action bind logic
net/sched: act_pedit: fix action bind logic
net/sched: act_sample: fix action bind logic
net/sched: Retire tcindex classifier
net/sched: transition act_pedit to rcu and percpu stats
net/smc: fix application data exception
net/smc: fix potential panic dues to unprotected smc_llc_srv_add_link()
net: sunhme: Fix region request
net: tls: avoid hanging tasks on the tx_lock
nfc: fix memory leak of se_io context in nfc_genl_se_io
nfs4trace: fix state manager flag printing
nfsd: clean up potential nfsd_file refcount leaks in COPY codepath
NFSD: copy the whole verifier in nfsd_copy_write_verifier
nfsd: don't fsync nfsd_files on last close
nfsd: don't hand out delegation on setuid files being opened for write
NFSD: enhance inter-server copy cleanup
nfsd: fix courtesy client with deny mode handling in nfs4_upgrade_open
NFSD: fix leaked reference count of nfsd4_ssc_umount_item
NFSD: fix problems with cleanup on errors in nfsd4_copy
nfsd: fix race to check ls_layouts
nfsd: zero out pointers after putting nfsd_files on COPY setup error
NFS: fix disabling of swap
nvme: bring back auto-removal of deleted namespaces during sequential scan
nvme-fabrics: show well known discovery name
nvme-tcp: don't access released socket during error recovery
objtool: add UACCESS exceptions for __tsan_volatile_read/write
objtool: Fix memory leak in create_static_call_sections()
ocfs2: fix defrag path triggering jbd2 ASSERT
ocfs2: fix non-auto defrag path not working issue
octeontx2-pf: Recalculate UDP checksum for ptp 1-step sync packet
octeontx2-pf: Use correct struct reference in test condition
OPP: fix error checking in opp_migrate_dentry()
panic: fix the panic_print NMI backtrace setting
PCI/ACPI: Account for _S0W of the target bridge in acpi_pci_bridge_d3()
PCI: Add ACS quirk for Wangxun NICs
PCI: Align extra resources for hotplug bridges properly
PCI: Avoid FLR for AMD FCH AHCI adapters
PCI: Distribute available resources for root buses, too
PCI/DPC: Await readiness of secondary bus after reset
PCI: endpoint: pci-epf-vntb: Add epf_ntb_mw_bar_clear() num_mws kernel-doc
PCI: endpoint: pci-epf-vntb: Clean up kernel_doc warning
PCI: Fix dropping valid root bus resources with .end = zero
PCI: hotplug: Allow marking devices as disconnected during bind/unbind
PCI/IOV: Enlarge virtfn sysfs name buffer
PCI: loongson: Add more devices that need MRRS quirk
PCI: loongson: Prevent LS7A MRRS increases
PCI: mt7621: Delay phy ports initialization
PCI: pciehp: Add Qualcomm quirk for Command Completed erratum
PCI/PM: Observe reset delay irrespective of bridge_d3
PCI: qcom: Fix host-init error handling
PCI: switchtec: Return -EFAULT for copy_to_user() errors
PCI: Take other bus devices into account when distributing resources
PCI: Unify delay handling for reset and resume
perf inject: Use perf_data__read() for auxtrace
perf intel-pt: Do not try to queue auxtrace data on pipe
perf llvm: Fix inadvertent file creation
perf record: Fix segfault with --overwrite and --max-size
perf test bpf: Skip test if kernel-debuginfo is not present
perf tests stat_all_metrics: Change true workload to sleep workload for system wide check
perf tools: Fix auto-complete on aarch64
perf/x86/intel/ds: Fix the conversion from TSC to perf time
perf/x86/intel/uncore: Add Meteor Lake support
phy: mediatek: remove temporary variable @mask_
phy: rockchip-typec: fix tcphy_get_mode error case
phy: rockchip-typec: Fix unsigned comparison with less than zero
pinctrl: at91: use devm_kasprintf() to avoid potential leaks
pinctrl: bcm2835: Remove of_node_put() in bcm2835_of_gpio_ranges_fallback()
pinctrl: mediatek: Initialize variable *buf to zero
pinctrl: mediatek: Initialize variable pullen and pullup to zero
pinctrl: qcom: pinctrl-msm8976: Correct function names for wcss pins
pinctrl: renesas: rzg2l: Fix configuring the GPIO pins as interrupts
pinctrl: rockchip: Fix refcount leak in rockchip_pinctrl_parse_groups
pinctrl: stm32: Fix refcount leak in stm32_pctrl_get_irq_domain
platform/chrome: cros_ec_typec: Update port DP VDO
PM: domains: fix memory leak with using debugfs_lookup()
PM: EM: fix memory leak with using debugfs_lookup()
powercap: fix possible name leak in powercap_register_zone()
powerpc/mm: Rearrange if-else block to avoid clang warning
powerpc: Remove linker flag from KBUILD_AFLAGS
power: supply: remove faulty cooling logic
printf: fix errname.c list
ptp: vclock: use mutex to fix "sleep on atomic" bug
pwm: sifive: Always let the first pwm_apply_state succeed
pwm: stm32-lp: fix the check on arr and cmp registers update
qede: avoid uninitialized entries in coal_entry array
qede: fix interrupt coalescing configuration
rbd: avoid use-after-free in do_rbd_add() when rbd_dev_create() fails
rcu: Make RCU_LOCKDEP_WARN() avoid early lockdep checks
rcu: Suppress smp_processor_id() complaint in synchronize_rcu_expedited_wait()
rcu-tasks: Fix synchronize_rcu_tasks() VS zap_pid_ns_processes()
rcu-tasks: Handle queue-shrink/callback-enqueue race condition
rcu-tasks: Improve comments explaining tasks_rcu_exit_srcu purpose
rcu-tasks: Make rude RCU-Tasks work well with CPU hotplug
rcu-tasks: Remove preemption disablement around srcu_read_[un]lock() calls
RDMA/cma: Distinguish between sockaddr_in and sockaddr_in6 by size
RDMA/cxgb4: add null-ptr-check after ip_dev_find()
RDMA/cxgb4: Fix potential null-ptr-deref in pass_establish()
RDMA/erdma: Fix refcount leak in erdma_mmap
RDMA/hns: Fix refcount leak in hns_roce_mmap
RDMA/irdma: Cap MSIX used to online CPUs + 1
RDMA/rxe: cleanup some error handling in rxe_verbs.c
RDMA/rxe: Fix missing memory barriers in rxe_queue.h
RDMA/siw: Fix user page pinning accounting
rds: rds_rm_zerocopy_callback() correct order for list_add_tail()
regmap: apply reg_base and reg_downshift for single register ops
regulator: core: Use ktime_get_boottime() to determine how long a regulator was off
regulator: max77802: Bounds check regulator id against opmode
regulator: s5m8767: Bounds check id indexing into arrays
regulator: tps65219: use generic set_bypass()
regulator: tps65219: use IS_ERR() to detect an error pointer
remoteproc/mtk_scp: Move clk ops outside send_lock
remoteproc: qcom_q6v5_mss: Use a carveout to authenticate modem headers
Revert "blk-cgroup: dropping parent refcount after pd_free_fn() is done"
Revert "blk-cgroup: synchronize pd_free_fn() from blkg_free_workfn() and blkcg_deactivate_policy()"
Revert "char: pcmcia: cm4000_cs: Replace mdelay with usleep_range in set_protocol"
Revert "drm/amdgpu: TA unload messages are not actually sent to psp when amdgpu is uninstalled"
Revert "fbcon: don't lose the console font across generic->chip driver switch"
Revert "remoteproc: qcom_q6v5_mss: map/unmap metadata region before/after use"
ring-buffer: Handle race between rb_move_tail and rb_check_pages
RISC-V: add a spin_shadow_stack declaration
riscv: Avoid enabling interrupts in die()
riscv: ftrace: Reduce the detour code size to half
riscv: ftrace: Remove wasted nops for !RISCV_ISA_C
riscv: jump_label: Fixup unaligned arch_static_branch function
riscv: mm: fix regression due to update_mmu_cache change
riscv, mm: Perform BPF exhandler fixup on page fault
RISC-V: time: initialize hrtimer based broadcast clock event device
rpmsg: glink: Avoid infinite loop on intent for missing channel
rpmsg: glink: Release driver_override
rtc: allow rtc_read_alarm without read_alarm callback
rtc: pm8xxx: fix set-alarm race
rtc: sun6i: Always export the internal oscillator
s390/ap: fix status returned by ap_aqic()
s390/ap: fix status returned by ap_qact()
s390/boot: cleanup decompressor header files
s390/boot: fix mem_detect extended area allocation
s390/bpf: Add expoline to tail calls
s390/dasd: Fix potential memleak in dasd_eckd_init()
s390: discard .interp section
s390/early: fix sclp_early_sccb variable lifetime
s390/extmem: return correct segment type in __segment_load()
s390/idle: mark arch_cpu_idle() noinstr
s390/kfence: fix page fault reporting
s390/kprobes: fix current_kprobe never cleared after kprobes reenter
s390/kprobes: fix irq mask clobbering on kprobe reenter from post_handler
s390/mem_detect: fix detect_memory() error handling
s390/mem_detect: rely on diag260() if sclp_early_get_memsize() fails
s390/mm,ptdump: avoid Kasan vs Memcpy Real markers swapping
s390/vdso: Drop '-shared' from KBUILD_CFLAGS_64
s390/vfio-ap: fix an error handling path in vfio_ap_mdev_probe_queue()
s390: vfio-ap: tighten the NIB validity check
s390/vmem: fix empty page tables cleanup under KASAN
sbitmap: Advance the queue index before waking up a queue
sbitmap: correct wake_batch recalculation to avoid potential IO hung
sbitmap: remove redundant check in __sbitmap_queue_get_batch
sbitmap: Try each queue to wake up at least one waiter
sbitmap: Use single per-bitmap counting to wake up queued tags
sched/rt: pick_next_rt_entity(): check list_entry
scm: add user copy checks to put_cmsg()
scsi: aacraid: Allocate cmd_priv with scsicmd
scsi: aic94xx: Add missing check for dma_map_single()
scsi: ipr: Work around fortify-string warning
scsi: lpfc: Fix use-after-free KFENCE violation during sysfs firmware write
scsi: mpi3mr: Fix an issue found by KASAN
scsi: mpi3mr: Fix issues in mpi3mr_get_all_tgt_info()
scsi: mpi3mr: Fix missing mrioc->evtack_cmds initialization
scsi: mpi3mr: Remove unnecessary memcpy() to alltgt_info->dmi
scsi: mpi3mr: Use number of bits to manage bitmap sizes
scsi: mpt3sas: Fix a memory leak
scsi: mpt3sas: Remove usage of dma_get_required_mask() API
scsi: qla2xxx: Check if port is online before sending ELS
scsi: qla2xxx: edif: Fix clang warning
scsi: qla2xxx: Fix DMA-API call trace on NVMe LS requests
scsi: qla2xxx: Fix erroneous link down
scsi: qla2xxx: Fix exchange oversubscription
scsi: qla2xxx: Fix exchange oversubscription for management commands
scsi: qla2xxx: Fix link failure in NPIV environment
scsi: qla2xxx: Remove increment of interface err cnt
scsi: qla2xxx: Remove unintended flag clearing
scsi: ses: Don't attach if enclosure has no components
scsi: ses: Fix possible addl_desc_ptr out-of-bounds accesses
scsi: ses: Fix possible desc_ptr out-of-bounds accesses
scsi: ses: Fix slab-out-of-bounds in ses_enclosure_data_process()
scsi: ses: Fix slab-out-of-bounds in ses_intf_remove()
scsi: snic: Fix memory leak with using debugfs_lookup()
scsi: ufs: core: Fix device management cmd timeout flow
scsi: ufs: exynos: Fix DMA alignment for PAGE_SIZE != 4096
sctp: add a refcnt in sctp_stream_priorities to avoid a nested loop
sefltests: netdevsim: wait for devlink instance after netns removal
selftest: fib_tests: Always cleanup before exit
selftests: arm64: Fix incorrect kernel headers search path
selftests/bpf: Fix build errors if CONFIG_NF_CONNTRACK=m
selftests/bpf: Fix map_kptr test.
selftests/bpf: Fix out-of-srctree build
selftests/bpf: Fix vmtest static compilation error
selftests/bpf: Fix xdp_do_redirect on s390x
selftests/bpf: Initialize tc in xdp_synproxy
selftests/bpf: Use consistent build-id type for liburandom_read.so
selftests: clone3: Fix incorrect kernel headers search path
selftests: core: Fix incorrect kernel headers search path
selftests: dmabuf-heaps: Fix incorrect kernel headers search path
selftests: drivers: Fix incorrect kernel headers search path
selftests: filesystems: Fix incorrect kernel headers search path
selftests: find echo binary to use -ne options
selftests/ftrace: Fix bash specific "==" operator
selftests/ftrace: Fix eprobe syntax test case to check filter support
selftests: futex: Fix incorrect kernel headers search path
selftests: gpio: Fix incorrect kernel headers search path
selftests: ipc: Fix incorrect kernel headers search path
selftests: kcmp: Fix incorrect kernel headers search path
selftests/landlock: Skip overlayfs tests when not supported
selftests/landlock: Test ptrace as much as possible with Yama
selftests: media_tests: Fix incorrect kernel headers search path
selftests: membarrier: Fix incorrect kernel headers search path
selftests: mount_setattr: Fix incorrect kernel headers search path
selftests: move_mount_set_group: Fix incorrect kernel headers search path
selftests/net: Interpret UDP_GRO cmsg data as an int value
selftests: perf_events: Fix incorrect kernel headers search path
selftests: pidfd: Fix incorrect kernel headers search path
selftests: pid_namespace: Fix incorrect kernel headers search path
selftests/powerpc: Fix incorrect kernel headers search path
selftests: ptp: Fix incorrect kernel headers search path
selftests: rseq: Fix incorrect kernel headers search path
selftests: sched: Fix incorrect kernel headers search path
selftests: seccomp: Fix incorrect kernel headers search path
selftests: sync: Fix incorrect kernel headers search path
selftests: use printf instead of echo -ne
selftests: user_events: Fix incorrect kernel headers search path
selftests: vm: Fix incorrect kernel headers search path
selftests: x86: Fix incorrect kernel headers search path
selftests/xsk: print correct error codes when exiting
selftests/xsk: print correct payload for packet dump
serial: fsl_lpuart: fix RS485 RTS polariy inverse issue
serial: sc16is7xx: setup GPIO controller later in probe
serial: tegra: Add missing clk_disable_unprepare() in tegra_uart_hw_init()
soc: mediatek: mtk-pm-domains: Allow mt8186 ADSP default power on
soc: mediatek: mtk-svs: Enable the IRQ later
soc: mediatek: mtk-svs: reset svs when svs_resume() fail
soc: mediatek: mtk-svs: restore default voltages when svs_init02() fail
soc: mediatek: mtk-svs: Use pm_runtime_resume_and_get() in svs_init01()
soc: qcom: stats: Populate all subsystem debugfs files
soundwire: bus_type: Avoid lockdep assert in sdw_drv_probe()
soundwire: cadence: Don't overflow the command FIFOs
soundwire: cadence: Drain the RX FIFO after an IO timeout
soundwire: cadence: Remove wasted space in response_buf
sparc: allow PM configs for sparc32 COMPILE_TEST
spi: bcm63xx-hsspi: Fix multi-bit mode setting
spi: dw_bt1: fix MUX_MMIO dependencies
spi: synquacer: Fix timeout handling in synquacer_spi_transfer_one()
spi: tegra210-quad: Fix iterator outside loop
spi: tegra210-quad: Fix validate combined sequence
srcu: Delegate work to the boot cpu if using SRCU_SIZE_SMALL
staging: emxx_udc: Add checks for dma_alloc_coherent()
staging: pi433: fix memory leak with using debugfs_lookup()
staging: rtl8192e: Remove call_usermodehelper starting RadioPower.sh
staging: rtl8192e: Remove function ..dm_check_ac_dc_power calling a script
tap: tap_open(): correctly initialize socket uid
tcp: tcp_check_req() can be called from process context
thermal/drivers/hisi: Drop second sensor hi3660
thermal/drivers/imx_sc_thermal: Drop empty platform remove function
thermal/drivers/imx_sc_thermal: Fix the loop condition
thermal/drivers/tsens: Drop msm8976-specific defines
thermal/drivers/tsens: fix slope values for msm8939
thermal/drivers/tsens: limit num_sensors to 9 for msm8939
thermal/drivers/tsens: Sort out msm8976 vs msm8956 data
thermal: intel: BXT_PMIC: select REGMAP instead of depending on it
thermal: intel: Fix unsigned comparison with less than zero
thermal: intel: intel_pch: Add support for Wellsburg PCH
thermal: intel: powerclamp: Fix cur_state for multi package system
thermal: intel: quark_dts: fix error pointer dereference
time/debug: Fix memory leak with using debugfs_lookup()
timers: Prevent union confusion from unexpected restart_syscall()
tools/bootconfig: fix single & used for logical condition
tools/iio/iio_utils:fix memory leak
tools/lib/thermal: Fix thermal_sampling_exit()
tools/power/x86/intel-speed-select: Add Emerald Rapid quirk
tools/tracing/rtla: osnoise_hist: use total duration for average calculation
torture: Fix hang during kthread shutdown phase
tpm: disable hwrng for fTPM on some AMD designs
trace/blktrace: fix memory leak with using debugfs_lookup()
tracing: Add NULL checks for buffer in ring_buffer_free_read_page()
tracing/eprobe: Fix to add filter on eprobe description in README file
tty: fix out-of-bounds access in tty_driver_lookup_tty()
tty: pcn_uart: fix memory leak with using debugfs_lookup()
tty: serial: fsl_lpuart: clear LPUART Status Register in lpuart32_shutdown()
tty: serial: fsl_lpuart: disable Rx/Tx DMA in lpuart32_shutdown()
tty: serial: fsl_lpuart: disable the CTS when send break signal
tty: serial: fsl_lpuart: Fix the wrong RXWATER setting for rx dma case
tty: serial: imx: disable Ageing Timer interrupt request irq
tty: serial: imx: Handle RS485 DE signal active high
tun: tun_chr_open(): correctly initialize socket uid
uaccess: Add minimum bounds check on kernel buffer size
ubi: ensure that VID header offset + VID header size <= alloc, size
ubi: fastmap: Fix missed fm_anchor PEB in wear-leveling after disabling fastmap
ubi: Fix possible null-ptr-deref in ubi_free_volume()
ubi: Fix UAF wear-leveling entry in eraseblk_count_seq_show()
ubi: Fix unreferenced object reported by kmemleak in ubi_resize_volume()
ubi: Fix use-after-free when volume resizing failed
ubifs: dirty_cow_znode: Fix memleak in error handling path
ubifs: do_rename: Fix wrong space budget when target inode's nlink > 1
ubifs: Fix build errors as symbol undefined
ubifs: Fix memory leak in alloc_wbufs()
ubifs: Fix memory leak in ubifs_sysfs_init()
ubifs: Fix wrong dirty space budget for dirty inode
ubifs: Rectify space budget for ubifs_symlink() if symlink is encrypted
ubifs: Rectify space budget for ubifs_xrename()
ubifs: Reserve one leb for each journal head while doing budget
ubifs: Re-statistic cleaned znode count if commit failed
ubifs: ubifs_releasepage: Remove ubifs_assert(0) to valid this process
ubifs: ubifs_writepage: Mark page dirty after writing inode failed
ubi: ubi_wl_put_peb: Fix infinite loop when wear-leveling work failed
ublk_drv: don't probe partitions if the ubq daemon isn't trusted
ublk_drv: remove nr_aborted_queues from ublk_device
udf: Define EFSCORRUPTED error code
udf: Detect system inodes linked into directory hierarchy
udf: Do not bother merging very long extents
udf: Do not update file length for failed writes to inline files
udf: Fix file corruption when appending just after end of preallocated extent
udf: Preserve link count of system files
udf: Truncate added extents on failed expansion
um: vector: Fix memory leak in vector_config
um: virtio_uml: free command if adding to virtqueue failed
um: virtio_uml: mark device as unregistered when breaking it
um: virtio_uml: move device breaking into workqueue
um: virt-pci: properly remove PCI device from bus
USB: chipidea: fix memory leak with using debugfs_lookup()
USB: dwc3: fix memory leak with using debugfs_lookup()
usb: early: xhci-dbc: Fix a potential out-of-bound memory access
USB: ene_usb6250: Allocate enough memory for full object
USB: fix memory leak with using debugfs_lookup()
USB: fotg210: fix memory leak with using debugfs_lookup()
USB: gadget: bcm63xx_udc: fix memory leak with using debugfs_lookup()
usb: gadget: configfs: Restrict symlink creation is UDC already binded
usb: gadget: fusb300_udc: free irq on the error path in fusb300_probe()
USB: gadget: gr_udc: fix memory leak with using debugfs_lookup()
USB: gadget: lpc32xx_udc: fix memory leak with using debugfs_lookup()
USB: gadget: pxa25x_udc: fix memory leak with using debugfs_lookup()
USB: gadget: pxa27x_udc: fix memory leak with using debugfs_lookup()
usb: gadget: uvc: fix missing mutex_unlock() if kstrtou8() fails
usb: gadget: uvc: Make bSourceID read/write
usb: host: fsl-mph-dr-of: reuse device_set_of_node_from_dev
usb: host: xhci: mvebu: Iterate over array indexes instead of using pointer math
USB: isp116x: fix memory leak with using debugfs_lookup()
USB: isp1362: fix memory leak with using debugfs_lookup()
usb: max-3421: Fix setting of I/O pins
usb: musb: mediatek: don't unregister something that wasn't registered
USB: sl811: fix memory leak with using debugfs_lookup()
usb: typec: intel_pmc_mux: Don't leak the ACPI device reference count
USB: uhci: fix memory leak with using debugfs_lookup()
USB: ULPI: fix memory leak with using debugfs_lookup()
usb: uvc: Enumerate valid values for color matching
vc_screen: modify vcs_size() handling in vcs_read()
vDPA/ifcvf: allocate the adapter in dev_add()
vDPA/ifcvf: alloc the mgmt_dev before the adapter
vDPA/ifcvf: decouple config/dev IRQ requester and vectors allocator from the adapter
vDPA/ifcvf: decouple config IRQ releaser from the adapter
vDPA/ifcvf: decouple config space ops from the adapter
vDPA/ifcvf: decouple hw features manipulators from the adapter
vDPA/ifcvf: decouple vq IRQ releasers from the adapter
vDPA/ifcvf: decouple vq irq requester from the adapter
vDPA/ifcvf: ifcvf_request_irq works on ifcvf_hw
vDPA/ifcvf: manage ifcvf_hw in the mgmt_dev
vfio/type1: exclude mdevs from VFIO_UPDATE_VADDR
vfio/type1: prevent underflow of locked_vm via exec()
vfio/type1: restore locked_vm
vfio/type1: track locked_vm per dma
virt/sev-guest: Return -EIO if certificate buffer is not large enough
VMCI: check context->notify_page after call to get_user_pages_fast() to avoid GPF
wait: Return number of exclusive waiters awaken
watchdog: at91sam9_wdt: use devm_request_irq to avoid missing free_irq() in error path
watchdog: Fix kmemleak in watchdog_cdev_register
watchdog: pcwd_usb: Fix attempting to access uninitialized memory
watchdog: rzg2l_wdt: Handle TYPE-B reset for RZ/V2M
watchdog: rzg2l_wdt: Issue a reset before we put the PM clocks
watchdog: sbsa_wdog: Make sure the timeout programming is within the limits
wifi: ath11k: allow system suspend to survive ath11k
wifi: ath11k: debugfs: fix to work with multiple PCI devices
wifi: ath11k: Fix memory leak in ath11k_peer_rx_frag_setup
wifi: ath11k: fix monitor mode bringup crash
wifi: ath9k: Fix potential stack-out-of-bounds write in ath9k_wmi_rsp_callback()
wifi: ath9k: Fix use-after-free in ath9k_hif_usb_disconnect()
wifi: ath9k: hif_usb: clean up skbs if ath9k_hif_usb_rx_stream() fails
wifi: ath9k: htc_hst: free skb in ath9k_htc_rx_msg() if there is no callback function
wifi: brcmfmac: ensure CLM version is null-terminated to prevent stack-out-of-bounds
wifi: brcmfmac: fix potential memory leak in brcmf_netdev_start_xmit()
wifi: brcmfmac: Fix potential stack-out-of-bounds in brcmf_c_preinit_dcmds()
wifi: brcmfmac: unmap dma buffer in brcmf_msgbuf_alloc_pktid()
wifi: cfg80211: Fix extended KCK key length check in nl80211_set_rekey_data()
wifi: cfg80211: Fix use after free for wext
wifi: cfg80211: Partial revert "wifi: cfg80211: Fix use after free for wext"
wifi: cfg80211: Set SSID if it is not already set
wifi: ipw2200: fix memory leak in ipw_wdev_init()
wifi: ipw2x00: don't call dev_kfree_skb() under spin_lock_irqsave()
wifi: iwl3945: Add missing check for create_singlethread_workqueue
wifi: iwl4965: Add missing check for create_singlethread_workqueue()
wifi: iwlegacy: common: don't call dev_kfree_skb() under spin_lock_irqsave()
wifi: iwlwifi: mei: fix compilation errors in rfkill()
wifi: libertas: cmdresp: don't call kfree_skb() under spin_lock_irqsave()
wifi: libertas: fix memory leak in lbs_init_adapter()
wifi: libertas: if_usb: don't call kfree_skb() under spin_lock_irqsave()
wifi: libertas: main: don't call kfree_skb() under spin_lock_irqsave()
wifi: libertas_tf: don't call kfree_skb() under spin_lock_irqsave()
wifi: mac80211: avoid u32_encode_bits() warning
wifi: mac80211: Don't translate MLD addresses for multicast
wifi: mac80211: fix non-MLO station association
wifi: mac80211: fix off-by-one link setting
wifi: mac80211: make rate u32 in sta_set_rate_info_rx()
wifi: mac80211: move color collision detection report in a delayed work
wifi: mac80211: pass 'sta' to ieee80211_rx_data_set_sta()
wifi: mt7601u: fix an integer underflow
wifi: mt76: add memory barrier to SDIO queue kick
wifi: mt76: dma: free rx_head in mt76_dma_rx_cleanup
wifi: mt76: fix coverity uninit_use_in_call in mt76_connac2_reverse_frag0_hdr_trans()
wifi: mt76: mt7915: add missing of_node_put()
wifi: mt76: mt7915: call mt7915_mcu_set_thermal_throttling() only after init_work
wifi: mt76: mt7915: check return value before accessing free_block_num
wifi: mt76: mt7915: drop always true condition of __mt7915_reg_addr()
wifi: mt76: mt7915: fix memory leak in mt7915_mcu_exit
wifi: mt76: mt7915: fix unintended sign extension of mt7915_hw_queue_read()
wifi: mt76: mt7915: fix WED TxS reporting
wifi: mt76: mt7921: fix error code of return in mt7921_acpi_read
wifi: mt76: mt7921s: fix slab-out-of-bounds access in sdio host
wifi: mwifiex: fix loop iterator in mwifiex_update_ampdu_txwinsize()
wifi: orinoco: check return value of hermes_write_wordrec()
wifi: rsi: Fix memory leak in rsi_coex_attach()
wifi: rtl8xxxu: don't call dev_kfree_skb() under spin_lock_irqsave()
wifi: rtl8xxxu: fixing transmisison failure for rtl8192eu
wifi: rtl8xxxu: Fix memory leaks with RTL8723BU, RTL8192EU
wifi: rtl8xxxu: Use a longer retry limit of 48
wifi: rtlwifi: Fix global-out-of-bounds bug in _rtl8812ae_phy_set_txpower_limit()
wifi: rtlwifi: rtl8188ee: don't call kfree_skb() under spin_lock_irqsave()
wifi: rtlwifi: rtl8723be: don't call kfree_skb() under spin_lock_irqsave()
wifi: rtlwifi: rtl8821ae: don't call kfree_skb() under spin_lock_irqsave()
wifi: rtw88: use RTW_FLAG_POWERON flag to prevent to power on/off twice
wifi: rtw89: 8852c: rfk: correct DACK setting
wifi: rtw89: 8852c: rfk: correct DPK settings
wifi: rtw89: Add missing check for alloc_workqueue
wifi: rtw89: debug: avoid invalid access on RTW89_DBG_SEL_MAC_30
wifi: rtw89: fix potential leak in rtw89_append_probe_req_ie()
wifi: wilc1000: add missing unregister_netdev() in wilc_netdev_ifc_init()
wifi: wilc1000: fix potential memory leak in wilc_mac_xmit()
wifi: wl3501_cs: don't call kfree_skb() under spin_lock_irqsave()
workqueue: Protects wq_unbound_cpumask with wq_pool_attach_mutex
x86/acpi/boot: Do not register processors that cannot be onlined for x2APIC
x86/bugs: Reset speculation control settings on init
x86/crash: Disable virt in core NMI crash handler to avoid double shootdown
x86/fpu: Don't set TIF_NEED_FPU_LOAD for PF_IO_WORKER threads
x86/kprobes: Fix arch_check_optimized_kprobe check within optimized_kprobe range
x86/kprobes: Fix __recover_optprobed_insn check optimizing logic
x86/microcode: Add a parameter to microcode_check() to store CPU capabilities
x86/microcode: Adjust late loading result reporting message
x86/microcode/AMD: Add a @cpu parameter to the reloading functions
x86/microcode/AMD: Fix mixed steppings support
x86/microcode/amd: Remove load_microcode_amd()'s bsp parameter
x86/microcode: Check CPU capabilities after late microcode update correctly
x86/perf/zhaoxin: Add stepping check for ZXC
x86/reboot: Disable SVM, not just VMX, when stopping CPUs
x86/reboot: Disable virtualization in an emergency if SVM is supported
x86/resctl: fix scheduler confusion with 'current'
x86/signal: Fix the value returned by strict_sas_size()
x86/speculation: Allow enabling STIBP with legacy IBRS
x86: um: vdso: Add '%rcx' and '%r11' to the syscall clobber list
x86/virt: Force GIF=1 prior to disabling SVM (for reboot flows)
xen/grant-dma-iommu: Implement a dummy probe_device() callback
xsk: check IFF_UP earlier in Tx path
Updated by kernel-updater-bot (https://abf.io/mikhailnov/kernel-updater-bot)
2023-03-13 16:47:43 +03:00
|
|
|
%define sublevel 19
|
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: 6.1.10 -> 6.1.12
Changelog:
ALSA: emux: Avoid potential array out-of-bound in snd_emux_xg_control()
ALSA: firewire-motu: fix unreleased lock warning in hwdep device
ALSA: hda/realtek: Add Acer Predator PH315-54
ALSA: hda/realtek: Add Positivo N14KP6-TG
ALSA: hda/realtek: Add quirk for ASUS UM3402 using CS35L41
ALSA: hda/realtek: Enable mute/micmute LEDs on HP Elitebook, 645 G9
ALSA: hda/realtek: fix mute/micmute LEDs don't work for a HP platform.
ALSA: hda/realtek: fix mute/micmute LEDs, speaker don't work for a HP platform
ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book2 Pro 360
ALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path()
ALSA: memalloc: Workaround for Xen PV
ALSA: pci: lx6464es: fix a debug loop
arm64: dts: freescale: imx8dxl: fix sc_pwrkey's property name linux,keycode
arm64: dts: imx8mm: Fix pad control for UART1_DTE_RX
arm64: dts: imx8mm-verdin: Do not power down eth-phy
arm64: dts: imx8m-venice: Remove incorrect 'uart-has-rtscts'
arm64: dts: mediatek: mt8195: Fix vdosys* compatible strings
arm64: dts: meson-axg: Make mmc host controller interrupts level-sensitive
arm64: dts: meson-g12-common: Make mmc host controller interrupts level-sensitive
arm64: dts: meson-gx: Make mmc host controller interrupts level-sensitive
arm64: dts: rockchip: fix input enable pinconf on rk3399
arm64: dts: rockchip: set sdmmc0 speed to sd-uhs-sdr50 on rock-3a
arm64: efi: Force the use of SetVirtualAddressMap() on eMAG and Altra Max machines
ARM: dts: imx7d-smegw01: Fix USB host over-current polarity
ASoC: amd: acp-es8336: Drop reference count of ACPI device after use
ASoC: codecs: wsa883x: correct playback min/max rates
ASoC: fsl_sai: fix getting version from VERID
ASoC: Intel: avs: Implement PCI shutdown
ASoC: Intel: bytcht_es8316: Drop reference count of ACPI device after use
ASoC: Intel: bytcr_rt5640: Drop reference count of ACPI device after use
ASoC: Intel: bytcr_rt5651: Drop reference count of ACPI device after use
ASoC: Intel: bytcr_wm5102: Drop reference count of ACPI device after use
ASoC: Intel: sof_es8336: Drop reference count of ACPI device after use
ASoC: SOF: ipc4-mtrace: prevent underflow in sof_ipc4_priority_mask_dfs_write()
ASoC: SOF: keep prepare/unprepare widgets in sink path
ASoC: SOF: sof-audio: prepare_widgets: Check swidget for NULL on sink failure
ASoC: SOF: sof-audio: skip prepare/unprepare if swidget is NULL
ASoC: SOF: sof-audio: unprepare when swidget->use_count > 0
ASoC: tas5805m: add missing page switch.
ASoC: tas5805m: rework to avoid scheduling while atomic.
ASoC: topology: Return -ENOMEM on memory allocation failure
ata: libata: Fix sata_down_spd_limit() when no link speed is reported
bcache: Silence memcpy() run-time false positive warnings
block, bfq: fix uaf for bfqq in bic_set_bfqq()
block, bfq: replace 0/1 with false/true in bic apis
block: ublk: extending queue_size to fix overflow
bonding: fix error checking in bond_debug_reregister()
bpf: Add missing btf_put to register_btf_id_dtor_kfuncs
bpf: Fix a possible task gone issue with bpf_send_signal[_thread]() helpers
bpf: Fix off-by-one error in bpf_mem_cache_idx()
bpf: Fix the kernel crash caused by bpf_setsockopt().
bpf: Fix to preserve reg parent/live fields when copying range info
bpf: Skip invalid kfunc call in backtrack_insn
bpf, sockmap: Check for any of tcp_bpf_prots when cloning a listener
btrfs: free device in btrfs_close_devices for a single device filesystem
btrfs: limit device extents to the device size
btrfs: simplify update of last_dir_index_offset when logging a directory
btrfs: zlib: zero-initialize zlib workspace
bus: sunxi-rsb: Fix error handling in sunxi_rsb_init()
can: isotp: handle wait_event_interruptible() return values
can: isotp: split tx timer into transmission and timeout
can: j1939: do not wait 250 ms if the same addr was already claimed
can: j1939: fix errant WARN_ON_ONCE in j1939_session_deactivate
can: mcp251xfd: mcp251xfd_ring_set_ringparam(): assign missing tx_obj_num_coalesce_irq
can: raw: fix CAN FD frame transmissions over CAN XL devices
ceph: flush cap releases when the session is flushed
certs: Fix build error when PKCS#11 URI contains semicolon
cgroup/cpuset: Fix wrong check in update_parent_subparts_cpumask()
cifs: Fix use-after-free in rdata->read_into_pages()
clk: ingenic: jz4760: Update M/N/OD calculation algorithm
clk: microchip: mpfs-ccc: Use devm_kasprintf() for allocating formatted strings
copy_oldmem_kernel() - WRITE is "data source", not destination
cpufreq: qcom-hw: Fix cpufreq_driver->get() for non-LMH systems
cpuset: Call set_cpus_allowed_ptr() with appropriate mask for task
cxl/region: Fix null pointer dereference for resetting decoder
cxl/region: Fix passthrough-decoder detection
dma-buf: actually set signaling bit for private stub fences
Documentation/hw-vuln: Add documentation for Cross-Thread Return Predictions
dpaa2-eth: execute xdp_do_flush() before napi_complete_done()
dpaa_eth: execute xdp_do_flush() before napi_complete_done()
drm/amd/display: fix cursor offset on rotation 180
drm/amd/display: Fix timing not changning when freesync video is enabled
drm/amd/display: properly handling AGP aperture in vm setup
drm/amd: Fix initialization for nbio 4.3.0
drm/amdgpu: Add unique_id support for GC 11.0.1/2
drm/amdgpu/fence: Fix oops due to non-matching drm_sched init/fini
drm/amdgpu/smu: skip pptable init under sriov
drm/amdgpu: update wave data type to 3 for gfx11
drm/amdgpu: Use the TGID for trace_amdgpu_vm_update_ptes
drm/amd/pm: add SMU 13.0.7 missing GetPptLimit message mapping
drm/amd/pm: bump SMU 13.0.0 driver_if header version
drm/amd/pm: bump SMU 13.0.7 driver_if header version
drm/amd/pm: drop unneeded dpm features disablement for SMU 13.0.4/11
drm/i915/adlp: Fix typo for reference clock
drm/i915: Avoid potential vm use-after-free
drm/i915: Don't do the WM0->WM1 copy w/a if WM1 is already enabled
drm/i915: Fix potential bit_17 double-free
drm/i915: Fix request ref counting during error capture & debugfs dump
drm/i915: Fix up locking around dumping requests lists
drm/i915: Fix VBT DSI DVO port handling
drm/i915/guc: Fix locking when searching for a hung request
drm/i915: Initialize the obj flags for shmem objects
drm/i915: Move fd_install after last use of fence
drm/panel: boe-tv101wum-nl6: Ensure DSI writes succeed during disable
drm/ssd130x: Init display before the SSD130X_DISPLAY_ON command
drm/vc4: hdmi: make CEC adapter name unique
drm/virtio: exbuf->fence_fd unmodified on interrupted wait
efi: Accept version 2 of memory attributes table
efi: fix potential NULL deref in efi_mem_reserve_persistent
f2fs: fix to do sanity check on i_extra_isize in is_alive()
f2fs: initialize locks earlier in f2fs_fill_super()
fbcon: Check font dimension limits
fbdev: smscufx: fix error handling code in ufx_usb_probe
firewire: fix memory leak for payload of request subaction to IEC 61883-1 FCP region
fix 'direction' argument of iov_iter_{init,bvec}()
fix "direction" argument of iov_iter_kvec()
fix iov_iter_bvec() "direction" argument
Fix page corruption caused by racy check in __free_pages
fpga: m10bmc-sec: Fix probe rollback
fpga: stratix10-soc: Fix return value check in s10_ops_write_init()
fscache: Use wait_on_bit() to wait for the freeing of relinquished volume
fs/ntfs3: Validate attribute data and valid sizes
gfs2: Always check inode size of inline inodes
gfs2: Cosmetic gfs2_dinode_{in,out} cleanup
HID: amd_sfh: if no sensors are enabled, clean up
HID: logitech: Disable hi-res scrolling on USB
highmem: round down the address passed to kunmap_flush_on_unmap()
HV: hv_balloon: fix memory leak with using debugfs_lookup()
hv_netvsc: Allocate memory in netvsc_dma_map() with GFP_ATOMIC
hv_netvsc: Fix missed pagebuf entries in netvsc_dma_map/unmap()
i2c: designware-pci: Add new PCI IDs for AMD NAVI GPU
i2c: mxs: suppress probe-deferral error message
i2c: rk3x: fix a bunch of kernel-doc warnings
ia64: fix build error due to switch case label appearing next to declaration
IB/hfi1: Restore allocated resources on failed copyout
IB/IPoIB: Fix legacy IPoIB due to wrong number of queues
ice: Do not use WQ_MEM_RECLAIM flag for workqueue
ice: Fix disabling Rx VLAN filtering with port VLAN enabled
ice: Prevent set_channel from changing queues while RDMA active
ice: switch: fix potential memleak in ice_add_adv_recipe()
igc: Add ndo_tx_timeout support
igc: return an error if the mac type is unknown in igc_ptp_systim_to_hwtstamp()
iio: adc: berlin2-adc: Add missing of_node_put() in error path
iio: adc: stm32-dfsdm: fill module aliases
iio:adc:twl6030: Enable measurement of VAC
iio:adc:twl6030: Enable measurements of VUSB, VBAT and others
iio: adc: xilinx-ams: fix devm_krealloc() return value check
iio: hid: fix the retval in accel_3d_capture_sample
iio: hid: fix the retval in gyro_3d_capture_sample
iio: imu: fxos8700: fix ACCEL measurement range selection
iio: imu: fxos8700: fix failed initialization ODR mode assignment
iio: imu: fxos8700: fix IMU data bits returned to user space
iio: imu: fxos8700: fix incomplete ACCEL and MAGN channels readback
iio: imu: fxos8700: fix incorrect ODR mode readback
iio: imu: fxos8700: fix MAGN sensor scale and unit
iio: imu: fxos8700: fix map label of channel type to MAGN sensor
iio: imu: fxos8700: fix swapped ACCEL and MAGN channels readback
iio: imu: fxos8700: remove definition FXOS8700_CTRL_ODR_MIN
iio: imx8qxp-adc: fix irq flood when call imx8qxp_adc_read_raw()
iio: light: cm32181: Fix PM support on system with 2 I2C resources
ionic: clean interrupt before enabling queue to avoid credit race
ionic: missed doorbell workaround
ionic: refactor use of ionic_rx_fill()
ip/ip6_gre: Fix changing addr gen mode not generating IPv6 link local address
ip/ip6_gre: Fix non-point-to-point tunnel not generating IPv6 link local address
kbuild: modinst: Fix build error when CONFIG_MODULE_SIG_KEY is a PKCS#11 URI
kernel/irq/irqdomain.c: fix memory leak with using debugfs_lookup()
kunit: fix kunit_test_init_section_suites(...)
KVM: x86: Mitigate the cross-thread return address predictions bug
maple_tree: fix mas_empty_area_rev() lower bound validation
maple_tree: should get pivots boundary by type
media: v4l2-ctrls-api.c: move ctrl->is_new = 1 to the correct line
memcpy_real(): WRITE is "data source", not destination...
migrate: hugetlb: check for hugetlb shared PMD in node migration
mm: hugetlb: proc: check for hugetlb shared PMD in /proc/PID/smaps
mm/khugepaged: fix ->anon_vma race
mm/MADV_COLLAPSE: catch !none !huge !bad pmd lookups
mm: memcg: fix NULL pointer in mem_cgroup_track_foreign_dirty_slowpath()
mm, mremap: fix mremap() expanding for vma's with vm_ops->close()
mm: multi-gen LRU: fix crash during cgroup migration
mm/swapfile: add cond_resched() in get_swap_pages()
mm/uffd: fix pte marker when fork() without fork event
mptcp: be careful on subflow status propagation on errors
mptcp: do not wait for bare sockets' timeout
net: dsa: mt7530: don't change PVC_EG_TAG when CPU port becomes VLAN-aware
net: ethernet: mtk_eth_soc: fix wrong parameters order in __xdp_rxq_info_reg()
netfilter: br_netfilter: disable sabotage_in hook after first suppression
net: macb: Perform zynqmp dynamic configuration only for SGMII interface
net: microchip: sparx5: fix PTP init/deinit not checking all ports
net/mlx5: Bridge, fix ageing of peer FDB entries
net/mlx5e: Fix crash unsetting rx-vlan-filter in switchdev mode
net/mlx5e: IPoIB, Show unknown speed instead of error
net/mlx5e: Update rx ring hw mtu upon each rx-fcs flag change
net/mlx5: Expose SF firmware pages counter
net/mlx5: fw_tracer, Clear load bit when freeing string DBs buffers
net/mlx5: fw_tracer, Zero consumer index when reloading the tracer
net/mlx5: Serialize module cleanup with reload and remove
net/mlx5: Store page counters in a single array
net: mscc: ocelot: fix all IPv6 getting trapped to CPU when PTP timestamping is used
net: mscc: ocelot: fix VCAP filters not matching on MAC with "protocol 802.1Q"
net: openvswitch: fix flow memory leak in ovs_flow_cmd_new
net: phy: dp83822: Fix null pointer access on DP83825/DP83826 devices
net: phylink: move phy_device_free() to correctly release phy device
net: phy: meson-gxl: Add generic dummy stubs for MMD register access
net: phy: meson-gxl: use MMD access dummy stubs for GXL, internal PHY
net: qrtr: free memory on error path in radix_tree_insert()
netrom: Fix use-after-free caused by accept on already connected socket
net/tls: tls_is_tx_ready() checked list_entry
net: USB: Fix wrong-direction WARNING in plusb.c
net: wwan: t7xx: Fix Runtime PM initialization
net/x25: Fix to not accept on connected socket
nvdimm: Support sizeof(struct page) > MAX_STRUCT_PAGE_SIZE
nvidiafb: detect the hardware support before removing console.
nvmem: brcm_nvram: Add check for kzalloc
nvmem: core: fix cell removal on error
nvmem: core: fix cleanup after dev_set_name()
nvmem: core: fix device node refcounting
nvmem: core: fix registration vs use race
nvmem: core: fix return value
nvmem: core: initialise nvmem->id early
nvmem: core: remove nvmem_config wp_gpio
nvmem: qcom-spmi-sdam: fix module autoloading
nvmem: sunxi_sid: Always use 32-bit MMIO reads
octeontx2-af: Fix devlink unregister
of/address: Return an error when no valid dma-ranges are found
of: Make OF framebuffer device names unique
ovl: Use "buf" flexible array for memcpy() destination
parisc: Fix return code of pdc_iodc_print()
parisc: Replace hardcoded value with PRIV_USER constant in ptrace.c
parisc: Wire up PTRACE_GETREGS/PTRACE_SETREGS for compat case
perf/x86/intel: Add Emerald Rapids
perf/x86/intel/cstate: Add Emerald Rapids
phy: qcom-qmp-combo: fix runtime suspend
pinctrl: aspeed: Fix confusing types in return value
pinctrl: aspeed: Revert "Force to disable the function's signal"
pinctrl: intel: Restore the pins that used to be in Direct IRQ mode
pinctrl: mediatek: Fix the drive register definition of some Pins
pinctrl: qcom: sm8450-lpass-lpi: correct swr_rx_data group
pinctrl: single: fix potential NULL dereference
platform/x86/amd: pmc: add CONFIG_SERIO dependency
platform/x86/amd: pmc: Disable IRQ1 wakeup for RN/CZN
platform/x86/amd/pmf: Add helper routine to check pprof is balanced
platform/x86/amd/pmf: Add helper routine to update SPS thermals
platform/x86/amd/pmf: Ensure mutexes are initialized before use
platform/x86/amd/pmf: Fix to update SPS default pprof thermals
platform/x86/amd/pmf: Fix to update SPS thermals when power supply change
platform/x86/amd/pmf: update to auto-mode limits only after AMT event
platform/x86: dell-wmi: Add a keymap for KEY_MUTE in type 0x0010 table
platform/x86: gigabyte-wmi: add support for B450M DS3H WIFI-CF
platform/x86: hp-wmi: Handle Omen Key event
platform/x86: thinkpad_acpi: Fix thinklight LED brightness returning 255
powerpc/64s: Fix local irq disable when PMIs are disabled
powerpc/64s/interrupt: Fix interrupt exit race with security mitigation switch
powerpc/64s/radix: Fix crash with unaligned relocated kernel
powerpc/imc-pmu: Revert nest_init_lock to being a mutex
qede: execute xdp_do_flush() before napi_complete_done()
RDMA/irdma: Fix potential NULL-ptr-dereference
RDMA/usnic: use iommu_map_atomic() under spin_lock()
rds: rds_rm_zerocopy_callback() use list_first_entry()
READ is "data destination", not source...
Revert "gfs2: stop using generic_writepages in gfs2_ail1_start_one"
Revert "mm: kmemleak: alloc gray object for reserved region with direct map"
Revert "PCI/ASPM: Refactor L1 PM Substates Control Register programming"
Revert "PCI/ASPM: Save L1 PM Substates Capability for suspend/resume"
riscv: disable generation of unwind tables
riscv: Fixup race condition on PG_dcache_clean in flush_icache_pte
riscv: kprobe: Fixup kernel panic when probing an illegal position
riscv: kprobe: Fixup misaligned load text
riscv: stacktrace: Fix missing the first frame
rtc: efi: Enable SET/GET WAKEUP services as optional
rtc: sunplus: fix format string for printing resource
rtmutex: Ensure that the top waiter is always woken up
scsi: iscsi_tcp: Fix UAF during login when accessing the shost ipaddress
scsi: iscsi_tcp: Fix UAF during logout when accessing the shost ipaddress
scsi: Revert "scsi: core: map PQ=1, PDT=other values to SCSI_SCAN_TARGET_PRESENT"
scsi: target: core: Fix warning on RT kernels
sctp: do not check hb_timer.expires when resetting hb_timer
selftests/filesystems: grant executable permission to run_fat_tests.sh
selftests: Fix failing VXLAN VNI filtering test
selftests: forwarding: lib: quote the sysctl values
selftests: mptcp: allow more slack for slow test-case
selftests: mptcp: stop tests earlier
selftests: net: udpgso_bench: Fix racing bug between the rx/tx programs
selftests: net: udpgso_bench_rx: Fix 'used uninitialized' compiler warning
selftests: net: udpgso_bench_rx/tx: Stop when wrong CLI args are provided
selftests: net: udpgso_bench_tx: Cater for pending datagrams zerocopy benchmarking
serial: 8250_dma: Fix DMA Rx completion race
serial: 8250_dma: Fix DMA Rx rearm race
serial: stm32: Merge hard IRQ and threaded IRQ handling into single IRQ handler
sfc: correctly advertise tunneled IPv6 segmentation
skb: Do mix page pool and page referenced frags in GRO
spi: dw: Fix wrong FIFO level setting for long xfers
Squashfs: fix handling and sanity checking of xattr_ids count
squashfs: harden sanity check in squashfs_read_xattr_id_table
tracing: Fix poll() and select() do not work on per_cpu trace_pipe and trace_pipe_raw
tracing: Fix TASK_COMM_LEN in trace event format file
txhash: fix sk->sk_txrehash default
uapi: add missing ip/ipv6 header dependencies for linux/stddef.h
usb: core: add quirk for Alcor Link AK9563 smartcard reader
usb: dwc3: qcom: enable vbus override when in OTG dr-mode
usb: gadget: f_fs: Fix unbalanced spinlock in __ffs_ep0_queue_wait
usb: gadget: f_uac2: Fix incorrect increment of bNumEndpoints
usb: gadget: udc: do not clear gadget driver.bus
usb: typec: altmodes/displayport: Fix probe pin assign check
usb: typec: ucsi: Don't attempt to resume the ports before they exist
use less confusing names for iov_iter direction initializers
vc_screen: move load of struct vc_data pointer in vcs_read() to avoid UAF
vhost/net: Clear the pending messages when the backend is removed
vhost-scsi: unbreak any layout for response
virtio-net: execute xdp_do_flush() before napi_complete_done()
virtio-net: Keep stop() to follow mirror sequence of open()
watchdog: diag288_wdt: do not use stack buffers for hardware data
watchdog: diag288_wdt: fix __diag288() inline assembly
wifi: brcmfmac: Check the count value of channel spec to prevent out-of-bounds reads
WRITE is "data source", not destination...
x86/aperfmperf: Erase stale arch_freq_scale values when disabling frequency invariance readings
x86/build: Move '-mindirect-branch-cs-prefix' out of GCC-only block
x86/debug: Fix stack recursion caused by wrongly ordered DR7 accesses
x86/speculation: Identify processors vulnerable to SMT RSB predictions
xfrm: annotate data-race around use_time
xfrm: compat: change expression for switch in xfrm_xlate64
xfrm/compat: prevent potential spectre v1 gadget in xfrm_xlate32_attr()
xfrm: fix bug with DSCP copy to v6 from v4 tunnel
zcore: WRITE is "data source", not destination...
Updated by kernel-updater-bot (https://abf.io/mikhailnov/kernel-updater-bot)
2023-02-20 12:49:14 +03:00
|
|
|
%define rpmrel 1
|
2022-08-21 16:12:54 +03:00
|
|
|
%define fullrpmrel %{rpmrel}
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2022-08-21 16:12:54 +03:00
|
|
|
%define rpmtag %{disttag}
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Version defines
|
2022-08-21 16:12:54 +03:00
|
|
|
%define kversion %{kernelversion}.%{patchlevel}.%{sublevel}
|
|
|
|
%define kverrel %{kversion}-%{fullrpmrel}
|
2022-12-14 02:55:50 +00:00
|
|
|
%define tar_ver %{kernelversion}.%{patchlevel}
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2015-03-16 18:42:29 +03:00
|
|
|
%ifarch %{ix86}
|
2022-03-30 09:04:46 +03:00
|
|
|
%define arch_suffix i686
|
2020-11-26 21:09:27 +00:00
|
|
|
%endif
|
|
|
|
|
|
|
|
%ifarch %{x86_64}
|
2022-03-09 19:02:02 +01: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
|
2022-03-09 19:02:02 +01:00
|
|
|
%define arch_suffix arm64
|
2020-11-26 21:09:27 +00:00
|
|
|
%endif
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
%define buildrpmrel %{fullrpmrel}%{rpmtag}-%{arch_suffix}
|
|
|
|
%define buildrel %{kversion}-%{buildrpmrel}
|
2013-11-16 00:27:01 +04:00
|
|
|
|
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
|
2022-03-09 19:02:02 +01:00
|
|
|
%bcond_without additional_keys
|
2020-12-30 19:47:16 +03:00
|
|
|
|
2021-05-22 12:08:22 +03:00
|
|
|
# Fail the build after "make oldconfig" to edit kernel configs
|
2022-03-09 19:02:02 +01:00
|
|
|
%bcond_with fail
|
2021-05-22 12:08:22 +03:00
|
|
|
|
2020-03-13 20:35:12 +03:00
|
|
|
# User Mode Linux, https://habr.com/ru/company/itsumma/blog/459558/
|
2022-07-11 15:56:35 +03:00
|
|
|
# Not buildable on aarch64, rarely needed in general
|
2022-03-09 19:02:02 +01:00
|
|
|
%bcond_with uml
|
2019-11-17 16:56:39 +03:00
|
|
|
|
2020-03-18 22:20:03 +03:00
|
|
|
# "Nickel" is a special brand for certified distros
|
2022-03-17 10:23:10 +03:00
|
|
|
%if %{mdvver} == 201905
|
2022-03-09 19:02:02 +01:00
|
|
|
%bcond_without nickel
|
2020-11-27 01:34:07 +03:00
|
|
|
# Require kernel modules to be signed
|
2022-03-09 19:02:02 +01: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-11-27 01:34:07 +03:00
|
|
|
# Build binary out-of-tree kernel modules (experimental)
|
2023-03-13 19:15:19 +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
|
|
|
|
2020-07-27 16:53:12 +03:00
|
|
|
%bcond_with ccache
|
2022-03-15 17:03:05 +03:00
|
|
|
%bcond_without flow_abi
|
2023-03-13 22:55:31 +03:00
|
|
|
%bcond_without aufs
|
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
|
2022-03-15 17:03:05 +03:00
|
|
|
# will be updated ahead of these binary modules. So just off building them.
|
Update from 5.4 to 5.10.1
- rediffed most of patches, renamed files to easify further rediffs by git format-patch
- thanks to abf.io/kernels_stable for some patches for kernel 5.9
- using unofficial patch for AUFS for kernel 5.10, there may be issues with stability, try to avoid using AUFS (I would have dropped it, but MagOS wants it very much)
- pulled updates of AltHa from http://git.altlinux.org/gears/k/kernel-image-un-def.git?p=kernel-image-un-def.git;a=history;f=security/altha;hb=HEAD
- dropped patch adding sysctl to disable disk-based swap because it has not found any usage
- bpf is now in the list of LSM modules (ability to write LSM modules as BPF programs), enable it, it is potentially useful and does not seem to be harmful
- keeping kernel libc headers in older kernels for now
- dropped building external virtualbox guest modules because they are now included into the mainline kernel
- offed building VirtualBox host modules, I do not know how to keep these binary modules in sync with userspace part of VirtualBox, users can continue using dkms
- offed building kernel-shredder because it is not buildable on kernel 5.10
- updated rtl8821ce and added a dependency from its "blacklist" subpackage here (see https://github.com/tomaspinho/rtl8821ce/commit/14b536f0)
It is not clear if kernel 5.10 will receive an LTS support longer than 5.4 or not. Support until Dec, 2022 is declared right now at https://www.kernel.org/category/releases.html for 5.10 and until Dec, 2025 - for 5.4.
TODO: update kernel configs
TODO: solve problems with version of virtualbox host modules not matching version of the virtualbox package after virtualbox is updated but kernel is not rebuilt
2020-12-20 18:49:24 +03:00
|
|
|
%bcond_with binary_virtualbox_host
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Shredder-kernel works only on x86_64, makes manipulations with syscalls tables,
|
Update from 5.4 to 5.10.1
- rediffed most of patches, renamed files to easify further rediffs by git format-patch
- thanks to abf.io/kernels_stable for some patches for kernel 5.9
- using unofficial patch for AUFS for kernel 5.10, there may be issues with stability, try to avoid using AUFS (I would have dropped it, but MagOS wants it very much)
- pulled updates of AltHa from http://git.altlinux.org/gears/k/kernel-image-un-def.git?p=kernel-image-un-def.git;a=history;f=security/altha;hb=HEAD
- dropped patch adding sysctl to disable disk-based swap because it has not found any usage
- bpf is now in the list of LSM modules (ability to write LSM modules as BPF programs), enable it, it is potentially useful and does not seem to be harmful
- keeping kernel libc headers in older kernels for now
- dropped building external virtualbox guest modules because they are now included into the mainline kernel
- offed building VirtualBox host modules, I do not know how to keep these binary modules in sync with userspace part of VirtualBox, users can continue using dkms
- offed building kernel-shredder because it is not buildable on kernel 5.10
- updated rtl8821ce and added a dependency from its "blacklist" subpackage here (see https://github.com/tomaspinho/rtl8821ce/commit/14b536f0)
It is not clear if kernel 5.10 will receive an LTS support longer than 5.4 or not. Support until Dec, 2022 is declared right now at https://www.kernel.org/category/releases.html for 5.10 and until Dec, 2025 - for 5.4.
TODO: update kernel configs
TODO: solve problems with version of virtualbox host modules not matching version of the virtualbox package after virtualbox is updated but kernel is not rebuilt
2020-12-20 18:49:24 +03:00
|
|
|
# loading/unloading of the module failed sometimes on kernel 5.4
|
|
|
|
# and it has not been adapted for kernel 5.10 (is not buildable)
|
|
|
|
%bcond_with binary_shredder
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Compress modules with zstd (zstd is good compression and fast decompression)
|
2022-03-15 17:03:05 +03:00
|
|
|
%bcond_without compress_modules
|
2021-05-03 18:21:14 +03:00
|
|
|
# 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).
|
2022-03-15 17:03:05 +03:00
|
|
|
%define zstd_cmd zstd -q --format=zstd --ultra -22
|
2021-05-03 18:21:14 +03:00
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
# Kernel flavour
|
2020-03-18 22:20:03 +03:00
|
|
|
%if %{with nickel}
|
2022-03-09 19:02:02 +01:00
|
|
|
%define flavour nickel
|
2019-11-11 21:28:45 +03:00
|
|
|
%else
|
2022-03-09 19:02:02 +01: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
|
2022-03-09 19:02:02 +01:00
|
|
|
%define kver_full %{kversion}-%{flavour}-%{buildrpmrel}
|
2021-10-10 16:12:22 +03:00
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
############################################################################
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
%define top_dir_name kernel-%{_arch}
|
|
|
|
%define build_dir ${RPM_BUILD_DIR}/%{top_dir_name}
|
|
|
|
%define src_dir %{build_dir}/linux-%{tar_ver}
|
2019-07-16 18:30:53 +03:00
|
|
|
|
|
|
|
# Common target directories
|
2022-03-09 19:02:02 +01:00
|
|
|
%define _bootdir /boot
|
|
|
|
%define _modulesdir /lib/modules
|
|
|
|
%define devel_root /usr/src/linux-%{kver_full}
|
|
|
|
%define initrd_path %{_bootdir}/initrd-%{kver_full}.img
|
Delete old initrds by RPM
After moving to dnf (installonlypkg(kernel)) schema of packaging the kernel,
the %%postun scriptlet stopped working properly because $1 is the number
of packages left after the transaction, and there are multiple
kernels - packages with the same name but of different version/release - left.
Let's just make initrd be %%ghost as Fedora (but increase its size from Fedora's 20 MiB to 65 MiB),
and drop deleting empty directories etc. Recent commit fixed ownership of directories,
now /lib/modules/kernel_version is owned by RPM (it was not), dkms will remove modules
that it built, and, if anything else was left, then let's just not touch it, why must we delete
what we know nothing about?
Also delete scriptlet in the devel subpackage, that scriptlet would probably cause problems
with reinstalling the devel package.
2021-05-24 21:10:00 +03:00
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
# Directories needed for building
|
2022-03-09 19:02:02 +01:00
|
|
|
%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}
|
2019-07-16 18:30:53 +03:00
|
|
|
|
|
|
|
# Directories definition needed for installing
|
2022-03-09 19:02:02 +01:00
|
|
|
%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.
|
2022-03-09 19:02:02 +01:00
|
|
|
%define certs_dir_rnd certs
|
|
|
|
%define certs_signing_key_priv_rnd %{certs_dir_rnd}/signing_key_priv.key
|
|
|
|
%define certs_signing_der %{certs_dir_rnd}/signing_key.x509
|
|
|
|
%define certs_key_config_rnd %{certs_dir_rnd}/x509.genkey
|
|
|
|
%define certs_public_keys %{certs_dir_rnd}/public.pem
|
|
|
|
%define certs_verify_tmp %{certs_dir_rnd}/verify.tmp
|
2021-05-03 15:56:13 +03:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
%define kernel_files %{_builddir}/kernel_files.list
|
|
|
|
%define debuginfo_files %{_builddir}/debuginfo_files.list
|
2021-05-03 15:56:13 +03:00
|
|
|
|
|
|
|
# Append list of files generate by find-debuginfo.sh to our custom list
|
2022-03-09 19:02:02 +01:00
|
|
|
%global __debug_install_post \
|
2021-05-03 15:56:13 +03:00
|
|
|
%{__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
|
|
|
|
2022-09-20 14:48:35 +03:00
|
|
|
%if %{with binary_extra_modules}
|
|
|
|
# global instead of define to speed up things
|
2022-10-16 00:19:07 +03:00
|
|
|
%global nvidia_340_j %{kroko_j -p kernel-source-nvidia340 -r 340}
|
|
|
|
%global nvidia_340_n %{kroko_n -p kernel-source-nvidia340 -r 340}
|
2022-09-20 14:48:35 +03:00
|
|
|
%global nvidia_390_j %{kroko_j -p kernel-source-nvidia390 -r 390}
|
|
|
|
%global nvidia_390_n %{kroko_n -p kernel-source-nvidia390 -r 390}
|
|
|
|
%global nvidia_470_j %{kroko_j -p kernel-source-nvidia470 -r 470}
|
|
|
|
%global nvidia_470_n %{kroko_n -p kernel-source-nvidia470 -r 470}
|
|
|
|
%global nvidia_510_j %{kroko_j -p kernel-source-nvidia510 -r 510}
|
|
|
|
%global nvidia_510_n %{kroko_n -p kernel-source-nvidia510 -r 510}
|
|
|
|
%global nvidia_515_j %{kroko_j -p kernel-source-nvidia515 -r 515}
|
|
|
|
%global nvidia_515_n %{kroko_n -p kernel-source-nvidia515 -r 515}
|
2022-10-14 18:16:15 +03:00
|
|
|
%global nvidia_520_j %{kroko_j -p kernel-source-nvidia520 -r 520}
|
|
|
|
%global nvidia_520_n %{kroko_n -p kernel-source-nvidia520 -r 520}
|
2023-03-13 23:05:12 +03:00
|
|
|
%global nvidia_525_j %{kroko_j -p kernel-source-nvidia525 -r 525}
|
|
|
|
%global nvidia_525_n %{kroko_n -p kernel-source-nvidia525 -r 525}
|
2021-10-10 16:12:22 +03:00
|
|
|
|
|
|
|
# For SRPM stage when auto-krokodil-rpm-macros is not installed
|
2022-09-20 14:48:35 +03:00
|
|
|
%{?!kroko_mk_release:%global kroko_mk_release(n:) %{nil}}
|
|
|
|
%{?!kroko_req_modules_in_kernel:%global kroko_req_modules_in_kernel(j:n:p:) %{nil}}
|
|
|
|
|
|
|
|
# global, not define, must be expanded only once
|
2022-10-05 05:15:50 +03:00
|
|
|
%global kroko_release %kroko_mk_release -n kernel-%{kernelversion}.%{patchlevel}-%{flavour}
|
2022-09-20 14:48:35 +03:00
|
|
|
|
|
|
|
%endif #/binary_extra_modules
|
2021-10-10 16:12:22 +03:00
|
|
|
|
|
|
|
############################################################################
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Buildtime flags
|
2013-11-16 00:27:01 +04:00
|
|
|
%{?_without_doc: %global build_doc 0}
|
|
|
|
%{?_without_devel: %global build_devel 0}
|
|
|
|
%{?_without_debug: %global build_debug 0}
|
|
|
|
%{?_without_perf: %global build_perf 0}
|
|
|
|
%{?_without_cpupower: %global build_cpupower 0}
|
|
|
|
|
|
|
|
%{?_with_doc: %global build_doc 1}
|
|
|
|
%{?_with_devel: %global build_devel 1}
|
|
|
|
%{?_with_debug: %global build_debug 1}
|
|
|
|
%{?_with_perf: %global build_perf 1}
|
|
|
|
%{?_with_cpupower: %global build_cpupower 1}
|
2022-03-15 17:03:05 +03:00
|
|
|
%{?_with_modxz: %global build_modxz 0}
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Build defines
|
2022-03-15 17:03:05 +03:00
|
|
|
%define build_doc 1
|
2022-03-09 19:02:02 +01:00
|
|
|
%define build_devel 1
|
|
|
|
%define build_debug 1
|
|
|
|
|
|
|
|
# Build kernel-headers package
|
2022-11-07 03:13:34 +03:00
|
|
|
%define build_headers 0
|
2022-03-09 19:02:02 +01:00
|
|
|
|
|
|
|
# Build perf and cpupower tools
|
2022-11-07 03:13:34 +03:00
|
|
|
%define build_perf 0
|
|
|
|
%define build_cpupower 0
|
2020-07-29 10:59:41 +03:00
|
|
|
|
2022-03-15 17:03:05 +03:00
|
|
|
%if %{with compress_modules}
|
|
|
|
%if %{with modxz}
|
2022-03-09 19:02:02 +01:00
|
|
|
%define kmod_suffix .xz
|
2022-03-15 17:03:05 +03:00
|
|
|
%else
|
|
|
|
%define kmod_suffix .zst
|
|
|
|
%endif
|
|
|
|
%else
|
|
|
|
%define kmod_suffix %{nil}
|
|
|
|
%endif
|
2022-03-09 19:02:02 +01:00
|
|
|
|
2016-07-21 15:59:26 +03:00
|
|
|
%if !%{build_debug}
|
|
|
|
# Disable debug rpms.
|
2022-03-15 17:03:05 +03:00
|
|
|
%define _enable_debug_packages %{nil}
|
2022-03-09 19:02:02 +01:00
|
|
|
%define debug_package %{nil}
|
2016-07-21 15:59:26 +03:00
|
|
|
%endif
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# End of user definitions
|
|
|
|
|
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}
|
2022-03-09 19:02:02 +01:00
|
|
|
%define kmake KBUILD_BUILD_TIMESTAMP='' %make CC='ccache gcc' ARCH="%{arch_type}"
|
2013-11-16 00:27:01 +04:00
|
|
|
%else
|
2022-03-09 19:02:02 +01: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
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# There are places where parallel make don't work
|
|
|
|
%define smake make
|
2020-11-26 18:48:55 +00:00
|
|
|
%ifarch %{ix86} %{x86_64}
|
2022-03-09 19:02:02 +01:00
|
|
|
%define arch_type x86
|
2020-11-26 18:48:55 +00:00
|
|
|
%endif
|
2022-03-09 19:02:02 +01:00
|
|
|
%ifarch aarch64
|
|
|
|
%define arch_type arm64
|
2020-11-26 18:48:55 +00:00
|
|
|
%endif
|
|
|
|
|
2013-11-16 00:27:01 +04:00
|
|
|
# Parallelize xargs invocations on smp machines
|
2022-03-09 19:02:02 +01:00
|
|
|
%define kxargs xargs %([ -z "$RPM_BUILD_NCPUS" ] \\\
|
2013-11-16 00:27:01 +04:00
|
|
|
&& RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\
|
|
|
|
[ "$RPM_BUILD_NCPUS" -gt 1 ] && echo "-P $RPM_BUILD_NCPUS")
|
|
|
|
|
|
|
|
#
|
|
|
|
# SRC RPM description
|
|
|
|
#
|
2022-03-09 19:02:02 +01:00
|
|
|
Summary: The Linux kernel
|
2021-05-03 15:56:13 +03:00
|
|
|
Name: kernel-%{kernelversion}.%{patchlevel}-%{flavour}
|
2022-03-09 19:02:02 +01:00
|
|
|
Version: %{kversion}
|
|
|
|
Release: %{fullrpmrel}
|
|
|
|
License: GPLv2
|
2022-03-15 17:03:05 +03:00
|
|
|
Group: System/Kernel and hardware
|
|
|
|
Url: https://www.kernel.org
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2022-11-07 21:01:49 +03:00
|
|
|
ExclusiveArch: %{x86_64} %{ix86} aarch64
|
2022-11-07 03:13:34 +03:00
|
|
|
|
2013-11-16 00:27:01 +04:00
|
|
|
####################################################################
|
|
|
|
#
|
|
|
|
# Sources
|
|
|
|
#
|
2022-11-07 03:13:34 +03:00
|
|
|
#Source0: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/linux-%{tar_ver}.tar.xz
|
2022-12-14 18:46:00 +03:00
|
|
|
Source0: https://github.com/torvalds/linux/archive/refs/tags/v6.1.tar.gz?/linux-6.1.tar.gz
|
Revisited the set of kernel flavours and the generation of config files
Until now, the build system for the kernel supported a number of
flavours: nrj and non-nrj ones, desktop-, laptop-, server- and
netbook-oriented, etc.
It turned out over the years, however, that our users mostly need the
following:
* a kernel to use on the desktops (home and office use) with reasonable
default settings for performance and responsiveness;
* a kernel for laptops, with a bit more emphasis on power consumption.
Other variants were rarely used. We also did not have enough time to
properly support all these.
Besides, the kernels for ARM and other architectures need a somewhat
different build process than for x86. So, they are better off to be in
separate ABF projects, even if they are needed. No signs of ROSA on ARM
yet, btw.
So, I kept only nrj-desktop and nrj-laptop flavours and only x86.
Non-PAE systems also seem to be rare now, so I enabled PAE by default
for the 32-bit kernels. Non-PAE kernels are no longer built. If they are
needed, we may use a separate git branch or an ABF project for that.
To simplify debugging, maintenance and experimentation with the kernel
builds further, I revisited the process of preparing the kernel
configuration files. The goal is to get rid of a separate git repo with
the default configs (kernel-patches-and-configs) and keep everything in
this project.
The default config files are now kept here. For x86_64:
* kernel-x86_64.config contains the options for both nrj-desktop and
nrn-laptop flavours;
* kernel-{nrj_desktop|nrj_laptop}-x86_64.config files contain the
flavour-specific options.
This way, it is easier to track which config options changed when,
easier to experiment with the custom configs and so on.
The kernel will be built with debug info if rpmbuild is called with
"--with debug".
2016-07-21 13:56:25 +03:00
|
|
|
|
2013-11-16 00:27:01 +04:00
|
|
|
# This is for disabling *config, mrproper, prepare, scripts on -devel rpms
|
2019-07-16 18:30:53 +03:00
|
|
|
# Needed, because otherwise the -devel won't build correctly.
|
2022-11-07 03:13:34 +03:00
|
|
|
#Source2: 0001-disable-mrproper-prepare-scripts-configs-in-devel-rp.patch
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# TODO: Make a separate package "ksobirator" and BR it
|
2020-07-29 10:59:41 +03:00
|
|
|
# after testing these macros properly
|
|
|
|
Source3: macros.ksobirator
|
|
|
|
%{load:%{SOURCE3}}
|
|
|
|
|
Revisited the set of kernel flavours and the generation of config files
Until now, the build system for the kernel supported a number of
flavours: nrj and non-nrj ones, desktop-, laptop-, server- and
netbook-oriented, etc.
It turned out over the years, however, that our users mostly need the
following:
* a kernel to use on the desktops (home and office use) with reasonable
default settings for performance and responsiveness;
* a kernel for laptops, with a bit more emphasis on power consumption.
Other variants were rarely used. We also did not have enough time to
properly support all these.
Besides, the kernels for ARM and other architectures need a somewhat
different build process than for x86. So, they are better off to be in
separate ABF projects, even if they are needed. No signs of ROSA on ARM
yet, btw.
So, I kept only nrj-desktop and nrj-laptop flavours and only x86.
Non-PAE systems also seem to be rare now, so I enabled PAE by default
for the 32-bit kernels. Non-PAE kernels are no longer built. If they are
needed, we may use a separate git branch or an ABF project for that.
To simplify debugging, maintenance and experimentation with the kernel
builds further, I revisited the process of preparing the kernel
configuration files. The goal is to get rid of a separate git repo with
the default configs (kernel-patches-and-configs) and keep everything in
this project.
The default config files are now kept here. For x86_64:
* kernel-x86_64.config contains the options for both nrj-desktop and
nrn-laptop flavours;
* kernel-{nrj_desktop|nrj_laptop}-x86_64.config files contain the
flavour-specific options.
This way, it is easier to track which config options changed when,
easier to experiment with the custom configs and so on.
The kernel will be built with debug info if rpmbuild is called with
"--with debug".
2016-07-21 13:56:25 +03:00
|
|
|
# Kernel configuration files.
|
2020-12-30 19:47:16 +03:00
|
|
|
Source111: kernel-x86_64.config
|
2022-03-30 09:04:46 +03:00
|
|
|
Source112: kernel-i686.config
|
2020-12-30 19:47:16 +03:00
|
|
|
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.
|
2022-03-15 17:03:05 +03:00
|
|
|
Source50: cpupower.service
|
|
|
|
Source51: cpupower.config
|
|
|
|
Source52: cpupower-start.sh
|
|
|
|
Source53: cpupower.path
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2022-03-15 17:03:05 +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.
|
2023-01-04 17:13:03 +00:00
|
|
|
Patch1: https://cdn.kernel.org/pub/linux/kernel/v%{kernelversion}.x/patch-%{kversion}.xz
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2016-07-26 11:24:24 +03:00
|
|
|
# ROSA-specific patches
|
2022-11-07 03:13:34 +03:00
|
|
|
Patch2: kernel-5.10.93-fix-perf-build.patch
|
2023-03-13 21:59:13 +03:00
|
|
|
# Keep in sync with patch in r8168
|
|
|
|
Patch3: 0001-r8169-remove-devices-supported-by-r8168.patch
|
2016-07-26 11:24:24 +03:00
|
|
|
# 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.
|
2022-03-15 17:03:05 +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
|
2022-03-15 17:03:05 +03:00
|
|
|
Patch102: 0001-audit-make-it-less-verbose.patch
|
2016-07-26 11:24:24 +03:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
%if %{with aufs}
|
2023-03-13 22:55:31 +03:00
|
|
|
# https://github.com/sfjro/aufs-linux/compare/830b3c68c1fb1e9176028d02ef86f3cf76aa2476..834d19786ccd95485e397fc0f36ef7d6c3b04c95.diff
|
|
|
|
Patch103: aufs-6.1.diff
|
2022-03-09 19:02:02 +01:00
|
|
|
%endif
|
2019-12-07 21:57:55 +03:00
|
|
|
|
2020-06-18 18:38:30 +03:00
|
|
|
# For kmod() generator of RPM Provides
|
|
|
|
# Changes version of aacraid.ko
|
2022-03-15 17:03:05 +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
|
2022-03-17 10:23:10 +03:00
|
|
|
Patch201: 0001-altha.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/
|
2022-03-15 17:03:05 +03:00
|
|
|
Patch302: 0001-sign-file-full-functionality-with-modern-LibreSSL.patch
|
2020-08-10 10:44:43 +03:00
|
|
|
# Allow to off modules signature check dynamically
|
2022-03-15 17:03:05 +03:00
|
|
|
Patch306: 0001-ROSA-ima-allow-to-off-modules-signature-check-dynami.patch
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2022-09-07 12:55:51 +03:00
|
|
|
# Support sound on notebook Aquarius NS685U R11 (https://linux-hardware.org/?probe=339dc3db60)
|
2022-09-07 14:24:27 +03:00
|
|
|
Patch0401: 0401-ASoC-es8316-Use-increased-GPIO-debounce-time.patch
|
2022-11-07 03:13:34 +03:00
|
|
|
Patch0402: 0402-ASoC-Intel-sof_es8336-Add-more-quirks-for-Russian-ha.patch
|
|
|
|
Patch0403: 0403-ASoC-Intel-sof_es8336-Add-a-quirk-for-Aquarius-NS685.patch
|
Add support of Baikal-M SoCs
Information about config values was taken from:
From 804820df7bcb3d53a33ecd074b1eac277e938f24 Mon Sep 17 00:00:00 2001
From: Alexey Sheplyakov <asheplyakov@altlinux.org>
Date: Thu, 4 Feb 2021 19:35:14 +0400
Subject: [PATCH] config-aarch64: adjusted for Baikal-M (MBM1.0 board)
* DW_APB_TIMER=y, DW_APB_TIMER_OF=y: SoC clocks
* SERIAL_8250_DW=y: serial console
* I2C_DESIGNWARE_CORE=y, I2C_DESIGNWARE_PLATFORM=y: BMC (board
management controller) and RTC (Real Time Clock) are connected
via I2C.
* GPIO_DWAPB=y: device (PCIe, PHY, etc) reset/configuration
* RTC_DRV_PCF2127=y: RTC compiled in so the kernel automatically
sets the system time from the hardware clock
* TP_BMC=y: amongst other things handles the power button
* DRM_BAIKAL_VDU=m, DRM_BAIKAL_HDMI=m: video unit and HDMI transmitter
* CMA_SIZE_MBYTES=256: video display unit and GPU use system RAM, hence
CMA should reserve enough (contiguous) memory.
Note: CMA reserves memory during very early init, hence the size
has to be hard-coded into CONFIG
* MALI_MIDGARD=m: GPU driver, kernel side of proprietary mali blob.
Note: kernel mode code is GPLv2, so it's fine to distribute it.
* SENSORS_BT1_PVT=m: hardware temperature/voltage sensors
* PCI_BAIKAL=m: PCIe root complex. Compiled as a module since takes
ages (60 seconds or so) to probe the hardware. If compiled in
substantially increases the boot time, and machine is completely
unresponsive during probing PCIe. When built as a module probing
executes concurrently with other boot activities (unless booting
from a PCIe device)
* STMMAC_ETH=m, STMMAC_PLATFORM=m, DWMAC_BAIKAL=m: Ethernet driver
2021-06-22 16:12:03 +03:00
|
|
|
|
2020-03-09 10:50:38 +03:00
|
|
|
# Disable AutoReq
|
2022-03-09 19:02:02 +01:00
|
|
|
AutoReq: 0
|
2020-03-09 10:50:38 +03:00
|
|
|
# but keep autoprov for kmod(xxx)
|
2022-03-09 19:02:02 +01:00
|
|
|
AutoProv: 1
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: bash
|
|
|
|
BuildRequires: bc
|
|
|
|
BuildRequires: binutils
|
|
|
|
BuildRequires: bison
|
|
|
|
BuildRequires: bzip2
|
|
|
|
%if %{with ccache}
|
|
|
|
BuildRequires: ccache
|
|
|
|
%endif
|
|
|
|
BuildRequires: flex
|
|
|
|
BuildRequires: gcc
|
2020-11-27 15:52:01 +03:00
|
|
|
# ./scripts/mkcompile_h
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: hostname
|
|
|
|
BuildRequires: kmod-compat
|
2019-09-24 11:56:44 +03:00
|
|
|
BuildRequires: rsync
|
2022-03-15 17:03:05 +03:00
|
|
|
%if %{with compress_modules}
|
|
|
|
%if %{with modxz}
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: xz
|
2022-03-15 17:03:05 +03:00
|
|
|
%else
|
|
|
|
BuildRequires: zstd
|
|
|
|
%endif
|
|
|
|
%endif
|
2022-03-17 10:23:10 +03:00
|
|
|
%ifarch aarch64
|
|
|
|
BuildRequires: uboot-tools
|
|
|
|
%endif
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: kmod-devel
|
2022-11-07 17:52:17 +03:00
|
|
|
BuildRequires: pkgconfig(libelf)
|
2020-11-26 21:21:05 +00:00
|
|
|
%ifarch x86_64 aarch64
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: numa-devel
|
|
|
|
%endif
|
|
|
|
%if %{with uml}
|
|
|
|
BuildRequires: vde-devel
|
2014-05-19 18:34:31 +04:00
|
|
|
%endif
|
2022-03-09 19:02:02 +01:00
|
|
|
# For power tools
|
|
|
|
BuildRequires: pkgconfig(ncurses)
|
2014-05-19 18:34:31 +04:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# For perf, cpufreq and all other tools
|
|
|
|
# For cpupower
|
2014-07-11 16:00:31 +04:00
|
|
|
%if %{build_cpupower}
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: pciutils-devel
|
2014-07-11 16:00:31 +04:00
|
|
|
%endif
|
2022-03-09 19:02:02 +01:00
|
|
|
# For perf
|
2014-07-11 16:00:31 +04:00
|
|
|
%if %{build_perf}
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: asciidoc
|
|
|
|
BuildRequires: perl-ExtUtils-Embed
|
|
|
|
BuildRequires: python3
|
|
|
|
BuildRequires: xmlto
|
|
|
|
BuildRequires: audit-devel
|
|
|
|
BuildRequires: binutils-devel
|
|
|
|
BuildRequires: elfutils-devel
|
|
|
|
BuildRequires: java-1.8.0-openjdk-devel
|
|
|
|
BuildRequires: libunwind-devel
|
|
|
|
BuildRequires: newt-devel
|
|
|
|
BuildRequires: perl-devel
|
|
|
|
BuildRequires: pkgconfig(babeltrace)
|
2022-10-07 00:26:16 +03:00
|
|
|
BuildRequires: pkgconfig(libcap)
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: pkgconfig(libcrypto)
|
|
|
|
BuildRequires: pkgconfig(python3)
|
|
|
|
BuildRequires: pkgconfig(slang)
|
|
|
|
BuildRequires: pkgconfig(zlib)
|
2020-12-30 21:25:08 +03:00
|
|
|
%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
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: libressl
|
|
|
|
BuildRequires: libressl-devel
|
2019-11-11 21:16:01 +03:00
|
|
|
# To verify signatures (find, xargs, hexdump)
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: findutils
|
|
|
|
BuildRequires: util-linux
|
2019-11-11 17:47:53 +03:00
|
|
|
|
2020-07-29 10:59:41 +03:00
|
|
|
%if %{with binary_extra_modules}
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: auto-krokodil-rpm-macros
|
|
|
|
BuildRequires: kernel-source-rtl8821cu
|
2022-10-15 14:00:47 +03:00
|
|
|
BuildRequires: kernel-source-rtl88x2bu
|
2022-10-15 15:03:47 +03:00
|
|
|
BuildRequires: kernel-source-rtl8812au
|
2022-10-15 15:39:08 +03:00
|
|
|
BuildRequires: kernel-source-rtl8821au
|
2022-10-15 15:52:51 +03:00
|
|
|
BuildRequires: kernel-source-rtl8814au
|
2022-10-15 18:02:04 +03:00
|
|
|
BuildRequires: kernel-source-rtk_btusb
|
2022-10-18 18:44:54 +03:00
|
|
|
BuildRequires: kernel-source-rtl8188gu
|
|
|
|
BuildRequires: kernel-source-rtl8723du
|
|
|
|
BuildRequires: kernel-source-rtl8852au
|
|
|
|
BuildRequires: kernel-source-rtl8192du
|
2023-03-13 21:59:13 +03:00
|
|
|
BuildRequires: kernel-source-r8168
|
2022-10-16 00:19:07 +03:00
|
|
|
# Broadcom-wl and nvidia contain a proprietary blob which is only for x86
|
2021-10-07 00:45:03 +03:00
|
|
|
%ifarch %{ix86} %{x86_64}
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: kernel-source-broadcom-wl
|
2022-10-16 00:19:07 +03:00
|
|
|
BuildRequires: kernel-source-nvidia340
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: kernel-source-nvidia390
|
2021-10-07 00:45:03 +03:00
|
|
|
%endif
|
2022-03-09 19:02:02 +01:00
|
|
|
# Nvidia470+ are x86_64 only (maybe aarch64 will be also packaged later)
|
2021-10-19 21:43:37 +03:00
|
|
|
%ifarch %{x86_64}
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: kernel-source-nvidia470
|
2022-05-04 10:07:56 +03:00
|
|
|
BuildRequires: kernel-source-nvidia510
|
2022-05-28 12:25:23 +03:00
|
|
|
BuildRequires: kernel-source-nvidia515
|
2022-10-14 18:16:15 +03:00
|
|
|
BuildRequires: kernel-source-nvidia520
|
2023-03-13 23:05:12 +03:00
|
|
|
BuildRequires: kernel-source-nvidia525
|
2021-10-19 21:43:37 +03:00
|
|
|
%endif
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: kernel-source-tripso
|
|
|
|
BuildRequires: kernel-source-ipt-so
|
Update from 5.4 to 5.10.1
- rediffed most of patches, renamed files to easify further rediffs by git format-patch
- thanks to abf.io/kernels_stable for some patches for kernel 5.9
- using unofficial patch for AUFS for kernel 5.10, there may be issues with stability, try to avoid using AUFS (I would have dropped it, but MagOS wants it very much)
- pulled updates of AltHa from http://git.altlinux.org/gears/k/kernel-image-un-def.git?p=kernel-image-un-def.git;a=history;f=security/altha;hb=HEAD
- dropped patch adding sysctl to disable disk-based swap because it has not found any usage
- bpf is now in the list of LSM modules (ability to write LSM modules as BPF programs), enable it, it is potentially useful and does not seem to be harmful
- keeping kernel libc headers in older kernels for now
- dropped building external virtualbox guest modules because they are now included into the mainline kernel
- offed building VirtualBox host modules, I do not know how to keep these binary modules in sync with userspace part of VirtualBox, users can continue using dkms
- offed building kernel-shredder because it is not buildable on kernel 5.10
- updated rtl8821ce and added a dependency from its "blacklist" subpackage here (see https://github.com/tomaspinho/rtl8821ce/commit/14b536f0)
It is not clear if kernel 5.10 will receive an LTS support longer than 5.4 or not. Support until Dec, 2022 is declared right now at https://www.kernel.org/category/releases.html for 5.10 and until Dec, 2025 - for 5.4.
TODO: update kernel configs
TODO: solve problems with version of virtualbox host modules not matching version of the virtualbox package after virtualbox is updated but kernel is not rebuilt
2020-12-20 18:49:24 +03:00
|
|
|
%if %{with binary_virtualbox_host}
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: kernel-source-virtualbox
|
2020-11-26 18:58:01 +00:00
|
|
|
%endif
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: kernel-source-v4l2loopback
|
Update from 5.4 to 5.10.1
- rediffed most of patches, renamed files to easify further rediffs by git format-patch
- thanks to abf.io/kernels_stable for some patches for kernel 5.9
- using unofficial patch for AUFS for kernel 5.10, there may be issues with stability, try to avoid using AUFS (I would have dropped it, but MagOS wants it very much)
- pulled updates of AltHa from http://git.altlinux.org/gears/k/kernel-image-un-def.git?p=kernel-image-un-def.git;a=history;f=security/altha;hb=HEAD
- dropped patch adding sysctl to disable disk-based swap because it has not found any usage
- bpf is now in the list of LSM modules (ability to write LSM modules as BPF programs), enable it, it is potentially useful and does not seem to be harmful
- keeping kernel libc headers in older kernels for now
- dropped building external virtualbox guest modules because they are now included into the mainline kernel
- offed building VirtualBox host modules, I do not know how to keep these binary modules in sync with userspace part of VirtualBox, users can continue using dkms
- offed building kernel-shredder because it is not buildable on kernel 5.10
- updated rtl8821ce and added a dependency from its "blacklist" subpackage here (see https://github.com/tomaspinho/rtl8821ce/commit/14b536f0)
It is not clear if kernel 5.10 will receive an LTS support longer than 5.4 or not. Support until Dec, 2022 is declared right now at https://www.kernel.org/category/releases.html for 5.10 and until Dec, 2025 - for 5.4.
TODO: update kernel configs
TODO: solve problems with version of virtualbox host modules not matching version of the virtualbox package after virtualbox is updated but kernel is not rebuilt
2020-12-20 18:49:24 +03:00
|
|
|
%if %{with binary_shredder}
|
2020-11-27 23:00:06 +03:00
|
|
|
BuildRequires: kernel-source-shredder-kernel
|
|
|
|
%endif
|
2022-03-09 19:02:02 +01:00
|
|
|
# Rosa-test-suite is maintained in certified branches only nlkm, memfreetest, pcietest
|
2020-08-06 17:26:48 +03:00
|
|
|
%if %{with nickel}
|
2022-03-09 19:02:02 +01:00
|
|
|
BuildRequires: kernel-source-rosa-test-suite
|
2020-07-29 10:59:41 +03:00
|
|
|
%endif
|
2021-05-03 18:21:14 +03:00
|
|
|
%endif
|
2022-03-09 19:02:02 +01:00
|
|
|
# End of with binary_extra_modules
|
2021-05-03 18:21:14 +03:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
Provides: kernel = %{EVRD}
|
|
|
|
Provides: kernel-%{flavour} = %{EVRD}
|
2021-10-10 16:12:22 +03:00
|
|
|
Provides: kernel-abi(%{kver_full}) = %{EVRD}
|
2022-03-09 19:02:02 +01:00
|
|
|
# Dnf config-manager --dump | grep installonly
|
2021-05-03 15:56:13 +03:00
|
|
|
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
|
2022-03-15 17:03:05 +03:00
|
|
|
Requires(posttrans): dracut >= 053-0.git5eb736.5
|
|
|
|
Requires(posttrans): kmod >= 28-3
|
2021-05-03 15:56:13 +03:00
|
|
|
|
2022-03-23 12:18:52 +03:00
|
|
|
# Need for rebuild dkms drivers
|
2022-10-27 12:22:05 +03:00
|
|
|
Requires: (%{name}-devel%{_isa} = %{EVRD} if dkms)
|
2023-03-13 21:59:13 +03:00
|
|
|
# not blob, support of devices supported by r8168 is removed from r8169
|
|
|
|
Recommends: %{ksob_module_pkg_name r8168} = %{EVRD}
|
2022-03-23 12:18:52 +03:00
|
|
|
|
2020-12-27 23:46:32 +03:00
|
|
|
# Usually necessary, but sometimes user may want to not install them
|
|
|
|
Recommends: crda
|
2022-03-09 19:02:02 +01:00
|
|
|
Recommends: linux-firmware
|
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
|
2022-03-09 19:02:02 +01:00
|
|
|
Recommends: wireless-regdb
|
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-09-19 00:46:54 +03:00
|
|
|
# XXX temporary hack to upgrade from kernel-headers 1:5.4
|
|
|
|
%if %{build_headers}
|
|
|
|
Recommends: kernel-headers = %{EVRD}
|
|
|
|
%endif
|
|
|
|
|
2021-10-10 16:12:22 +03:00
|
|
|
%if %{with binary_extra_modules}
|
|
|
|
%ifarch %{ix86} %{x86_64}
|
2022-10-16 00:19:07 +03:00
|
|
|
%kroko_req_modules_in_kernel -j %{nvidia_340_j} -n %{nvidia_340_n} -p %{kver_full}
|
2022-09-20 14:48:35 +03:00
|
|
|
%kroko_req_modules_in_kernel -j %{nvidia_390_j} -n %{nvidia_390_n} -p %{kver_full}
|
2021-10-10 16:12:22 +03:00
|
|
|
%endif
|
2021-10-19 21:43:37 +03:00
|
|
|
%ifarch %{x86_64}
|
2022-09-20 14:48:35 +03:00
|
|
|
%kroko_req_modules_in_kernel -j %{nvidia_470_j} -n %{nvidia_470_n} -p %{kver_full}
|
|
|
|
%kroko_req_modules_in_kernel -j %{nvidia_510_j} -n %{nvidia_510_n} -p %{kver_full}
|
|
|
|
%kroko_req_modules_in_kernel -j %{nvidia_515_j} -n %{nvidia_515_n} -p %{kver_full}
|
2022-10-14 18:16:15 +03:00
|
|
|
%kroko_req_modules_in_kernel -j %{nvidia_520_j} -n %{nvidia_520_n} -p %{kver_full}
|
2023-03-13 23:05:12 +03:00
|
|
|
%kroko_req_modules_in_kernel -j %{nvidia_525_j} -n %{nvidia_525_n} -p %{kver_full}
|
2021-10-19 21:43:37 +03:00
|
|
|
%endif
|
2021-10-10 16:12:22 +03:00
|
|
|
%endif
|
|
|
|
|
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
|
2022-10-18 23:20:11 +03:00
|
|
|
# update information about modules, useful if kernel-module* packages were
|
|
|
|
# installed in one transaction with this kernel (%%transfiletrigger* will run later)
|
|
|
|
depmod -a %{kver_full}
|
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.
|
2021-10-17 00:46:32 +03:00
|
|
|
dracut -f %{initrd_path} %{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
|
|
|
|
2022-10-10 06:54:03 +03:00
|
|
|
%transfiletriggerin -- %{_modulesdir}/%{kver_full}
|
2021-10-17 00:46:32 +03:00
|
|
|
# Detect all modules, including ones inside kernel-module* packages
|
|
|
|
if grep -qE '/.*\.ko(|\..*)' ; then
|
|
|
|
depmod -a %{kver_full}
|
|
|
|
fi
|
|
|
|
|
2022-10-10 06:54:03 +03:00
|
|
|
%transfiletriggerpostun -- %{_modulesdir}/%{kver_full}
|
2021-10-17 00:46:32 +03:00
|
|
|
# Handle e.g. removal of kernel-module* packages
|
2022-10-10 06:54:03 +03:00
|
|
|
# List of files is not available here (?)
|
|
|
|
depmod -a %{kver_full}
|
2021-10-17 00:46:32 +03:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%files -f %{kernel_files}
|
|
|
|
%{_bootdir}/System.map-%{kver_full}
|
2022-03-15 17:03:05 +03:00
|
|
|
%{_bootdir}/symvers-%{kver_full}.*
|
2021-05-03 15:56:13 +03:00
|
|
|
%{_bootdir}/config-%{kver_full}
|
|
|
|
%{_bootdir}/vmlinuz-%{kver_full}
|
Delete old initrds by RPM
After moving to dnf (installonlypkg(kernel)) schema of packaging the kernel,
the %%postun scriptlet stopped working properly because $1 is the number
of packages left after the transaction, and there are multiple
kernels - packages with the same name but of different version/release - left.
Let's just make initrd be %%ghost as Fedora (but increase its size from Fedora's 20 MiB to 65 MiB),
and drop deleting empty directories etc. Recent commit fixed ownership of directories,
now /lib/modules/kernel_version is owned by RPM (it was not), dkms will remove modules
that it built, and, if anything else was left, then let's just not touch it, why must we delete
what we know nothing about?
Also delete scriptlet in the devel subpackage, that scriptlet would probably cause problems
with reinstalling the devel package.
2021-05-24 21:10:00 +03:00
|
|
|
%ghost %{initrd_path}
|
2021-05-03 15:56:13 +03:00
|
|
|
%ifarch %{armx}
|
|
|
|
%{_bootdir}/dtb-%{kver_full}
|
|
|
|
%endif
|
|
|
|
%{_modulesdir}/%{kver_full}/modules.*
|
|
|
|
%if %{with flow_abi}
|
|
|
|
%{_modulesdir}/%{kver_full}/kernel/zzz-%{kernelversion}.%{patchlevel}-rosa-flow-abi
|
|
|
|
%endif
|
|
|
|
%if %{with binary_extra_modules}
|
2021-10-03 16:35:09 +03:00
|
|
|
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8821cu.ko%{kmod_suffix}
|
2022-10-15 14:00:47 +03:00
|
|
|
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/88x2bu.ko%{kmod_suffix}
|
2022-10-15 15:03:47 +03:00
|
|
|
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8812au.ko%{kmod_suffix}
|
2022-10-15 15:39:08 +03:00
|
|
|
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8821au.ko%{kmod_suffix}
|
2022-10-15 15:52:51 +03:00
|
|
|
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8814au.ko%{kmod_suffix}
|
2022-10-15 18:02:04 +03:00
|
|
|
%exclude %{_modulesdir}/%{kver_full}/kernel/drivers/bluetooth/rtk_btusb.ko%{kmod_suffix}
|
2022-10-18 18:44:54 +03:00
|
|
|
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8188gu.ko%{kmod_suffix}
|
|
|
|
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8723du.ko%{kmod_suffix}
|
|
|
|
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8852au.ko%{kmod_suffix}
|
|
|
|
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/8192du.ko%{kmod_suffix}
|
2023-03-13 21:59:13 +03:00
|
|
|
%exclude %{_modulesdir}/%{kver_full}/kernel/drivers/net/ethernet/realtek/r8168.ko%{kmod_suffix}
|
2021-10-07 00:45:03 +03:00
|
|
|
%ifarch %{ix86} %{x86_64}
|
|
|
|
%exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/wl.ko%{kmod_suffix}
|
2021-10-19 21:43:37 +03:00
|
|
|
%endif
|
2021-05-03 15:56:13 +03:00
|
|
|
%if %{with binary_shredder}
|
|
|
|
%exclude %{_modulesdir}/%{kver_full}/kernel/extra/shredder-kernel.ko%{kmod_suffix}
|
|
|
|
%endif
|
2021-10-16 20:11:50 +03:00
|
|
|
%exclude %{_modulesdir}/%{kver_full}/kernel/drivers/media/v4l2loopback.ko%{kmod_suffix}
|
2021-05-03 15:56:13 +03:00
|
|
|
%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
|
2022-03-09 19:02:02 +01:00
|
|
|
%endif
|
|
|
|
# End of with binary_extra_modules
|
2019-07-16 18:30:53 +03:00
|
|
|
|
|
|
|
############################################################################
|
|
|
|
|
2022-03-09 19:02:02 +01: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: gcc
|
2022-03-09 19:02:02 +01:00
|
|
|
Requires: make
|
2019-07-16 18:30:53 +03:00
|
|
|
Requires: perl
|
2022-06-09 17:28:02 +03:00
|
|
|
Requires: %{name} = %{EVRD}
|
2019-07-16 18:30:53 +03:00
|
|
|
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
|
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
|
2022-03-09 19:02:02 +01:00
|
|
|
OrderWithRequires(post): dkms
|
Delete old initrds by RPM
After moving to dnf (installonlypkg(kernel)) schema of packaging the kernel,
the %%postun scriptlet stopped working properly because $1 is the number
of packages left after the transaction, and there are multiple
kernels - packages with the same name but of different version/release - left.
Let's just make initrd be %%ghost as Fedora (but increase its size from Fedora's 20 MiB to 65 MiB),
and drop deleting empty directories etc. Recent commit fixed ownership of directories,
now /lib/modules/kernel_version is owned by RPM (it was not), dkms will remove modules
that it built, and, if anything else was left, then let's just not touch it, why must we delete
what we know nothing about?
Also delete scriptlet in the devel subpackage, that scriptlet would probably cause problems
with reinstalling the devel package.
2021-05-24 21:10:00 +03:00
|
|
|
# Try to remove the main kernel package after removing this devel package
|
|
|
|
# because there may be dkms-built kernel modules inside directories owned
|
|
|
|
# by the main package, try to get rid of such files before RPM starts to
|
|
|
|
# deal with directories owned in the main package
|
|
|
|
# (note that the devel package does not explicitly require the main package,
|
|
|
|
# there is no need to do so, a kernel module may be built using just the devel part).
|
|
|
|
OrderWithRequires(postun): %{name} = %{EVRD}
|
2021-04-22 16:04:36 +03:00
|
|
|
|
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
|
2022-03-09 19:02:02 +01:00
|
|
|
This package contains the kernel files (headers and build tools) that should
|
|
|
|
be enough to build additional drivers for 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
|
|
|
|
2019-11-12 16:16:27 +03:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
%preun devel
|
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
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%files devel
|
2022-11-07 18:19:22 +03:00
|
|
|
%{devel_root}
|
2019-07-16 18:30:53 +03:00
|
|
|
%{_modulesdir}/%{kver_full}/build
|
|
|
|
%{_modulesdir}/%{kver_full}/source
|
2022-03-09 19:02:02 +01:00
|
|
|
%endif
|
|
|
|
# End of build_devel
|
2019-07-16 18:30:53 +03:00
|
|
|
|
|
|
|
############################################################################
|
|
|
|
|
2022-03-09 19:02:02 +01: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}
|
2022-03-09 19:02:02 +01: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}
|
2022-03-09 19:02:02 +01:00
|
|
|
%endif
|
|
|
|
# End of build_debug
|
2019-07-16 18:30:53 +03:00
|
|
|
|
|
|
|
############################################################################
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
%if %{build_doc}
|
2021-05-03 15:56:13 +03:00
|
|
|
%package doc
|
2022-03-09 19:02:02 +01:00
|
|
|
Summary: Various documentation bits found in the kernel source
|
|
|
|
Group: Documentation
|
2022-03-15 17:03:05 +03:00
|
|
|
BuildArch: noarch
|
2013-11-16 00:27:01 +04:00
|
|
|
|
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/*
|
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
|
2022-03-23 12:00:37 +03:00
|
|
|
%{_includedir}/perf/perf_dlfilter.h
|
2019-07-16 18:30:53 +03:00
|
|
|
%dir %{_prefix}/libexec/perf-core
|
|
|
|
%dir %{_libdir}/traceevent
|
|
|
|
%dir %{_libdir}/traceevent/plugins
|
2022-03-13 17:36:13 +03:00
|
|
|
%{_libdir}/libperf-jvmti.so
|
2019-07-16 18:30:53 +03:00
|
|
|
%{_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-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
|
2022-03-09 19:02:02 +01: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
|
2022-03-09 19:02:02 +01:00
|
|
|
%config(noreplace) %{_sysconfdir}/sysconfig/cpupower
|
2019-07-16 18:30:53 +03:00
|
|
|
%{_bindir}/cpupower
|
|
|
|
%{_bindir}/cpupower-start.sh
|
|
|
|
%{_libdir}/libcpupower.so.0
|
|
|
|
%{_libdir}/libcpupower.so.0.0.1
|
|
|
|
%{_unitdir}/cpupower.service
|
|
|
|
%{_unitdir}/cpupower.path
|
|
|
|
%{_datadir}/bash-completion/completions/cpupower
|
|
|
|
%{_mandir}/man[1-8]/cpupower*
|
|
|
|
|
|
|
|
############################################################################
|
|
|
|
|
2013-11-16 00:27:01 +04:00
|
|
|
%package -n cpupower-devel
|
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
|
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
|
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
|
2022-03-23 12:00:37 +03:00
|
|
|
%if %{build_perf}
|
|
|
|
%exclude %{_includedir}/perf/perf_dlfilter.h
|
|
|
|
%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}
|
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
|
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}
|
2022-03-09 19:02:02 +01:00
|
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
2020-03-13 20:35:12 +03:00
|
|
|
|
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
|
2020-03-13 20:35:12 +03:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%description uml-modules
|
2022-03-09 19:02:02 +01:00
|
|
|
User Mode Linux (UML) kernel modules:
|
|
|
|
- not compressed;
|
|
|
|
- not stripped;
|
|
|
|
- signed.
|
2020-03-13 20:35:12 +03:00
|
|
|
|
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
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
%endif
|
|
|
|
# End of uml
|
2020-03-18 22:20:03 +03:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
#-----------------------------------------------------------------------------
|
2020-07-29 10:59:41 +03:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
###############################
|
|
|
|
# Extra modules package definitions
|
2020-07-29 10:59:41 +03:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
%if %{with binary_extra_modules}
|
2021-10-03 16:35:09 +03:00
|
|
|
%ksob_mk_module_pkg -n 8821cu -s net/wireless
|
2022-10-15 15:58:03 +03:00
|
|
|
# add "-r rtl88x2bu-blacklist" in 5.18+!!!
|
|
|
|
%ksob_mk_module_pkg -n 88x2bu -s net/wireless
|
|
|
|
# "-r xxx-blacklist" was not added for modules bellow because
|
|
|
|
# blacklisted modules have not appeared in upstream yet
|
|
|
|
%ksob_mk_module_pkg -n 8812au -s net/wireless
|
2022-10-15 15:39:08 +03:00
|
|
|
# for RTL8811AU and RTL8821AU
|
2022-10-15 15:58:03 +03:00
|
|
|
%ksob_mk_module_pkg -n 8821au -s net/wireless
|
|
|
|
%ksob_mk_module_pkg -n 8814au -s net/wireless
|
2022-10-15 18:02:04 +03:00
|
|
|
%ksob_mk_module_pkg -n rtk_btusb -s drivers/bluetooth -r rtk_btusb-firmware
|
2022-10-18 18:44:54 +03:00
|
|
|
%ksob_mk_module_pkg -n 8188gu -s net/wireless
|
|
|
|
%ksob_mk_module_pkg -n 8723du -s net/wireless
|
|
|
|
%ksob_mk_module_pkg -n 8852au -s net/wireless
|
|
|
|
%ksob_mk_module_pkg -n 8192du -s net/wireless
|
2023-03-13 21:59:13 +03:00
|
|
|
%ksob_mk_module_pkg -n r8168 -s drivers/net/ethernet/realtek
|
2022-10-18 18:44:54 +03:00
|
|
|
|
2021-10-07 00:45:03 +03:00
|
|
|
%ifarch %{ix86} %{x86_64}
|
|
|
|
%ksob_mk_module_pkg -n wl -s net/wireless -r broadcom-wl-aliases
|
2022-10-16 00:19:07 +03:00
|
|
|
%kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_340_j} -n %{nvidia_340_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix}
|
2022-09-26 15:32:27 +03:00
|
|
|
%kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_390_j} -n %{nvidia_390_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix}
|
2021-10-07 00:45:03 +03:00
|
|
|
%endif
|
2021-10-19 21:43:37 +03:00
|
|
|
%ifarch %{x86_64}
|
2022-09-26 15:32:27 +03:00
|
|
|
%kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_470_j} -n %{nvidia_470_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix}
|
|
|
|
%kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_510_j} -n %{nvidia_510_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix}
|
|
|
|
%kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_515_j} -n %{nvidia_515_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix}
|
2022-10-14 18:16:15 +03:00
|
|
|
%kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_520_j} -n %{nvidia_520_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix}
|
2023-03-13 23:05:12 +03:00
|
|
|
%kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_525_j} -n %{nvidia_525_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix}
|
2021-10-19 21:43:37 +03:00
|
|
|
%endif
|
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
|
2021-10-16 20:11:50 +03:00
|
|
|
%ksob_mk_module_pkg -n v4l2loopback -s drivers/media -r v4l2loopback
|
2020-07-29 10:59:41 +03:00
|
|
|
|
Update from 5.4 to 5.10.1
- rediffed most of patches, renamed files to easify further rediffs by git format-patch
- thanks to abf.io/kernels_stable for some patches for kernel 5.9
- using unofficial patch for AUFS for kernel 5.10, there may be issues with stability, try to avoid using AUFS (I would have dropped it, but MagOS wants it very much)
- pulled updates of AltHa from http://git.altlinux.org/gears/k/kernel-image-un-def.git?p=kernel-image-un-def.git;a=history;f=security/altha;hb=HEAD
- dropped patch adding sysctl to disable disk-based swap because it has not found any usage
- bpf is now in the list of LSM modules (ability to write LSM modules as BPF programs), enable it, it is potentially useful and does not seem to be harmful
- keeping kernel libc headers in older kernels for now
- dropped building external virtualbox guest modules because they are now included into the mainline kernel
- offed building VirtualBox host modules, I do not know how to keep these binary modules in sync with userspace part of VirtualBox, users can continue using dkms
- offed building kernel-shredder because it is not buildable on kernel 5.10
- updated rtl8821ce and added a dependency from its "blacklist" subpackage here (see https://github.com/tomaspinho/rtl8821ce/commit/14b536f0)
It is not clear if kernel 5.10 will receive an LTS support longer than 5.4 or not. Support until Dec, 2022 is declared right now at https://www.kernel.org/category/releases.html for 5.10 and until Dec, 2025 - for 5.4.
TODO: update kernel configs
TODO: solve problems with version of virtualbox host modules not matching version of the virtualbox package after virtualbox is updated but kernel is not rebuilt
2020-12-20 18:49:24 +03:00
|
|
|
%if %{with binary_shredder}
|
2020-11-27 23:00:06 +03:00
|
|
|
%ksob_mk_module_pkg -n shredder-kernel -s extra -r rosa-shredder-user
|
|
|
|
%endif
|
|
|
|
|
2022-03-09 19:02:02 +01: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
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# A package which will pull all those modules
|
2021-05-03 15:56:13 +03:00
|
|
|
%package -n kernel-modules-virtualbox-host-%{ksob_kernel}
|
2022-03-09 19:02:02 +01:00
|
|
|
Summary: Meta package to pull VirtualBox host kernel modules for kernel-%{flavour}-%{kernelversion}.%{patchlevel}
|
2022-03-15 17:03:05 +03:00
|
|
|
Group: System/Kernel and hardware
|
2023-03-13 21:59:13 +03:00
|
|
|
Requires: %ksob_module_pkg_name vboxnetflt
|
|
|
|
Requires: %ksob_module_pkg_name vboxnetadp
|
|
|
|
Requires: %ksob_module_pkg_name vboxdrv
|
|
|
|
Requires: %ksob_module_pkg_name vboxpci
|
2020-07-29 10:59:41 +03:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
%description -n kernel-modules-virtualbox-host-%{ksob_kernel}
|
2022-03-09 19:02:02 +01:00
|
|
|
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
|
2022-03-09 19:02:02 +01:00
|
|
|
%endif
|
|
|
|
#End of 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
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
%endif
|
|
|
|
# End of binary_extra_modules
|
2020-07-29 10:59:41 +03:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
#################################################################
|
2020-08-19 20:02:58 +03:00
|
|
|
|
|
|
|
%if %{with flow_abi}
|
|
|
|
%package -n kernel-%{kernelversion}.%{patchlevel}-rosa-flow-abi
|
2022-03-09 19:02:02 +01:00
|
|
|
Summary: Directory to install third-party binary kernel modules for kernels %{kernelversion}.%{patchlevel}.x
|
2022-03-15 17:03:05 +03:00
|
|
|
Group: System/Kernel and hardware
|
2020-08-19 20:02:58 +03:00
|
|
|
|
|
|
|
%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.
|
2022-03-09 19:02:02 +01:00
|
|
|
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.
|
2020-08-19 20:02:58 +03:00
|
|
|
|
|
|
|
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
|
2022-03-09 19:02:02 +01:00
|
|
|
%endif
|
|
|
|
# End of flow_abi
|
2020-08-19 20:02:58 +03:00
|
|
|
|
|
|
|
################################################
|
2020-03-13 20:35:12 +03:00
|
|
|
|
2013-11-16 00:27:01 +04:00
|
|
|
%prep
|
2022-03-09 19:02:02 +01:00
|
|
|
# Avoid accidental merge
|
2021-05-03 15:56:13 +03:00
|
|
|
%if 0%{?rpm5}
|
|
|
|
%{error:Package structure is for dnf, not for urpmi!}
|
|
|
|
%endif
|
|
|
|
|
2022-03-09 19:02:02 +01: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
|
2022-03-09 19:02:02 +01:00
|
|
|
cd %{src_dir}
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2020-11-26 18:48:55 +00:00
|
|
|
%autopatch -p1
|
2013-11-16 00:27:01 +04:00
|
|
|
|
|
|
|
#
|
|
|
|
# Setup Begin
|
|
|
|
#
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
##################################
|
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
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Get rid of unwanted files
|
2020-11-26 21:17:21 +00:00
|
|
|
find . -name '*~' -o -name '*.orig' -o -name '*.append' -delete
|
2022-03-09 19:02:02 +01:00
|
|
|
# Wipe all .gitignore/.get_maintainer.ignore files
|
2020-11-26 21:17:21 +00:00
|
|
|
find . -name "*.g*ignore" -delete
|
|
|
|
|
2022-07-11 16:39:46 +03:00
|
|
|
# Disable debug info if requested (enabled by default)
|
|
|
|
%if ! %build_debug
|
|
|
|
sed -i -e '/CONFIG_DEBUG_INFO/d' -e '/CONFIG_GDB_SCRIPTS/d' .config
|
|
|
|
echo '# CONFIG_DEBUG_INFO is not set' >> %{build_dir}/.config.append
|
|
|
|
echo '# CONFIG_GDB_SCRIPTS is not set' >> %{build_dir}/.config.append
|
2013-11-16 00:27:01 +04:00
|
|
|
%endif
|
|
|
|
|
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
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
##################
|
|
|
|
# End of kernel 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}
|
2021-05-22 12:08:22 +03:00
|
|
|
|
|
|
|
make ARCH=%{arch_type} oldconfig
|
|
|
|
# When it is needed to edit kernel configs, run:
|
2021-06-01 07:01:02 +03:00
|
|
|
# abf fetch
|
|
|
|
# rpmbuild --define "_sourcedir $PWD" --with=fail -bb kernel.spec
|
2021-05-22 12:08:22 +03:00
|
|
|
# and then work with the config in the buildroot with applied patches etc.
|
|
|
|
%{?_with_fail:exit 1}
|
2019-07-16 18:30:53 +03:00
|
|
|
mv .config ${cfg_file}
|
|
|
|
echo "Created ${cfg_file}."
|
2016-07-22 16:37:05 +03:00
|
|
|
|
2022-03-09 19:02:02 +01: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
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Get rid of unwanted files
|
2013-11-16 00:27:01 +04:00
|
|
|
find . -name '*~' -o -name '*.orig' -o -name '*.append' | %kxargs rm -f
|
2015-10-13 10:17:01 +03:00
|
|
|
find . -name '.get_maintainer.ignore' | %kxargs rm -f
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Versionize python shebang (#!/usr/bin/env python -> #!/usr/bin/python3) in scripts
|
2022-11-07 03:13:34 +03:00
|
|
|
grep -Irl '^#!/usr/bin/env python' | xargs sed -i '1 s,^#!/usr/bin/env python$,#!%{__python3},'
|
2022-03-09 19:02:02 +01:00
|
|
|
|
|
|
|
# Drop env from bash scripts
|
2022-03-17 10:23:10 +03:00
|
|
|
sed -i '1 s,^#!.*env .*,#!%{_bindir}/bash,' scripts/config
|
2022-03-09 19:02:02 +01:00
|
|
|
|
|
|
|
# Drop env from perl scripts
|
2022-11-07 03:13:34 +03:00
|
|
|
grep -IrlE '^#!.*env perl' | xargs sed -i -e '1 s,^#!/usr/bin/env perl$,#!{_bindir}/perl,'
|
2022-03-09 19:02:02 +01: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(){
|
2022-03-09 19:02:02 +01: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
|
|
|
|
2022-03-09 19:02:02 +01: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
|
2022-03-09 19:02:02 +01: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"
|
2022-03-09 19:02:02 +01:00
|
|
|
# Avoid using the template
|
2020-03-18 23:36:11 +03:00
|
|
|
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
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Link sign-file and extract-cert with LibreSSL instead of OpenSSL
|
2019-12-07 21:57:55 +03:00
|
|
|
if [ $? != 0 ] ; then exit $? ; fi
|
|
|
|
sed -i %{src_dir}/scripts/Makefile \
|
2020-03-13 20:35:12 +03:00
|
|
|
%if %{with uml}
|
2022-03-15 17:03:05 +03:00
|
|
|
%{src_dir}.uml/scripts/Makefile \
|
2020-03-13 20:35:12 +03:00
|
|
|
%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}"
|
2022-03-09 19:02:02 +01:00
|
|
|
%endif
|
|
|
|
# End of 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
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Make sure EXTRAVERSION says what we want it to say
|
2019-07-16 18:30:53 +03:00
|
|
|
LC_ALL=C sed -ri "s/^EXTRAVERSION.*/EXTRAVERSION = -%{flavour}-%{buildrpmrel}/" Makefile
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Build the kernel
|
2019-07-16 18:30:53 +03:00
|
|
|
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
|
|
|
|
|
2022-10-18 18:44:54 +03:00
|
|
|
# $1: name of kernel module
|
|
|
|
# $2: directory (e.g.: kernel/net/wireless)
|
|
|
|
_build_rtl(){
|
|
|
|
cp -r "$(rpm -q --qf "/usr/src/rtl${1}-%%{VERSION}-%%{RELEASE}" kernel-source-rtl${1})" kernel-source-rtl${1}
|
|
|
|
pushd kernel-source-rtl${1}
|
|
|
|
%kmake KSRC=%{src_dir} M="$PWD"
|
|
|
|
mkdir -p %{temp_modules}/%{kver_full}/${2}
|
|
|
|
cp ${1}.ko %{temp_modules}/%{kver_full}/${2}
|
|
|
|
popd
|
|
|
|
rm -fr kernel-source-rtl${1}
|
|
|
|
}
|
2022-10-15 15:39:08 +03:00
|
|
|
|
2022-10-18 18:44:54 +03:00
|
|
|
_build_rtl 8821cu kernel/net/wireless
|
|
|
|
_build_rtl 88x2bu kernel/net/wireless
|
|
|
|
_build_rtl 8812au kernel/net/wireless
|
|
|
|
_build_rtl 8821au kernel/net/wireless
|
|
|
|
_build_rtl 8821au kernel/net/wireless
|
|
|
|
_build_rtl 8814au kernel/net/wireless
|
|
|
|
_build_rtl 8188gu kernel/net/wireless
|
|
|
|
_build_rtl 8723du kernel/net/wireless
|
|
|
|
_build_rtl 8852au kernel/net/wireless
|
|
|
|
_build_rtl 8192du kernel/net/wireless
|
2022-10-15 15:52:51 +03:00
|
|
|
|
2023-03-13 21:59:13 +03:00
|
|
|
cp -r "$(rpm -q --qf "/usr/src/r8168-%%{VERSION}-%%{RELEASE}" kernel-source-r8168)" kernel-source-r8168
|
|
|
|
pushd kernel-source-r8168
|
|
|
|
%kmake -C %{src_dir} KERNELRELEASE=%{kver_full} KERNELDIR=%{src_dir} M="$PWD" modules
|
|
|
|
mkdir -p %{temp_modules}/%{kver_full}/kernel/drivers/net/ethernet/realtek
|
|
|
|
cp r8168.ko %{temp_modules}/%{kver_full}/kernel/drivers/net/ethernet/realtek
|
|
|
|
popd
|
|
|
|
rm -fr kernel-source-r8168
|
|
|
|
|
2022-10-15 18:02:04 +03:00
|
|
|
cp -r "$(rpm -q --qf '/usr/src/rtk_btusb-%%{VERSION}-%%{RELEASE}' kernel-source-rtk_btusb)" kernel-source-rtk_btusb
|
|
|
|
pushd kernel-source-rtk_btusb
|
|
|
|
%kmake KDIR=%{src_dir}
|
|
|
|
mkdir -p %{temp_modules}/%{kver_full}/kernel/drivers/bluetooth/
|
|
|
|
cp rtk_btusb.ko %{temp_modules}/%{kver_full}/kernel/drivers/bluetooth/rtk_btusb.ko
|
|
|
|
popd
|
|
|
|
rm -fr kernel-source-rtk_btusb
|
|
|
|
|
2021-10-19 21:43:37 +03:00
|
|
|
_build_nvidia(){
|
|
|
|
cp -r "$(rpm -q --qf "/usr/src/nvidia${1}-%%{VERSION}-%%{RELEASE}" kernel-source-nvidia${1})" kernel-source-nvidia${1}
|
|
|
|
pushd kernel-source-nvidia${1}
|
|
|
|
%make SYSSRC=%{src_dir}
|
2022-09-26 15:32:27 +03:00
|
|
|
mkdir -p %{temp_modules}/%{kver_full}/kernel/drivers/video/nvidia${1}.%{kroko_release}
|
|
|
|
for i in *.ko
|
|
|
|
do
|
|
|
|
# put them here to extract debug and compress, will be moved later
|
|
|
|
install -m0644 "$i" %{temp_modules}/%{kver_full}/kernel/drivers/video/nvidia${1}.%{kroko_release}/"$i"
|
|
|
|
done
|
2021-10-19 21:43:37 +03:00
|
|
|
popd
|
|
|
|
rm -fr kernel-source-nvidia${1}
|
2022-09-26 15:32:27 +03:00
|
|
|
# for rosa-kernel-tools
|
|
|
|
mkdir -p %{temp_root}/var/spool/initramfs-regen
|
|
|
|
touch %{temp_root}/var/spool/initramfs-regen/nvidia${1}.%{kroko_release}
|
2021-10-19 21:43:37 +03:00
|
|
|
}
|
|
|
|
|
2021-10-07 00:45:03 +03:00
|
|
|
%ifarch %{ix86} %{x86_64}
|
|
|
|
cp -r "$(rpm -q --qf '/usr/src/broadcom-wl-%%{VERSION}-%%{RELEASE}' kernel-source-broadcom-wl)" kernel-source-broadcom-wl
|
|
|
|
pushd kernel-source-broadcom-wl
|
|
|
|
%kmake -C %{src_dir} M="$PWD"
|
|
|
|
mkdir -p %{temp_modules}/%{kver_full}/kernel/net/wireless/
|
|
|
|
cp wl.ko %{temp_modules}/%{kver_full}/kernel/net/wireless/wl.ko
|
|
|
|
popd
|
|
|
|
rm -fr kernel-source-broadcom-wl
|
2021-10-10 16:12:22 +03:00
|
|
|
|
2022-10-16 00:19:07 +03:00
|
|
|
_build_nvidia 340
|
2021-10-19 21:43:37 +03:00
|
|
|
_build_nvidia 390
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%ifarch %{x86_64}
|
|
|
|
_build_nvidia 470
|
2022-05-04 10:07:56 +03:00
|
|
|
_build_nvidia 510
|
2022-05-28 12:25:23 +03:00
|
|
|
_build_nvidia 515
|
2022-10-14 18:16:15 +03:00
|
|
|
_build_nvidia 520
|
2023-03-13 23:05:12 +03:00
|
|
|
_build_nvidia 525
|
2021-10-07 00:45:03 +03:00
|
|
|
%endif
|
|
|
|
|
2020-07-29 10:59:41 +03:00
|
|
|
cp -r "$(rpm -q --qf '/usr/src/tripso-%%{VERSION}-%%{RELEASE}' kernel-source-tripso)" kernel-source-tripso
|
|
|
|
pushd kernel-source-tripso
|
|
|
|
%kmake KDIR=%{src_dir}
|
|
|
|
mkdir -p %{temp_modules}/%{kver_full}/kernel/net
|
|
|
|
cp xt_TRIPSO.ko %{temp_modules}/%{kver_full}/kernel/net/
|
|
|
|
popd
|
|
|
|
rm -fr kernel-source-tripso
|
|
|
|
|
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
|
|
|
|
2021-10-16 20:11:50 +03:00
|
|
|
cp -r "$(rpm -q --qf '/usr/src/v4l2loopback-%%{VERSION}-%%{RELEASE}' kernel-source-v4l2loopback)" kernel-source-v4l2loopback
|
|
|
|
pushd kernel-source-v4l2loopback
|
|
|
|
cat Kbuild > Makefile
|
|
|
|
mkdir -p %{temp_modules}/%{kver_full}/kernel/drivers/media
|
|
|
|
make -C %{src_dir} M="$PWD" modules
|
|
|
|
cp v4l2loopback.ko %{temp_modules}/%{kver_full}/kernel/drivers/media
|
|
|
|
pushd
|
|
|
|
rm -fr kernel-source-v4l2loopback
|
|
|
|
|
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
|
2022-03-09 19:02:02 +01:00
|
|
|
%endif
|
|
|
|
# End with nickel <- with binary_extra_modules
|
2020-08-06 17:26:48 +03:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
%endif
|
|
|
|
# End with binary_extra_modules
|
2020-07-29 10:59:41 +03:00
|
|
|
|
2020-03-13 20:35:12 +03:00
|
|
|
%if %{with uml}
|
|
|
|
cp -rv %{certs_dir_rnd} %{src_dir}.uml/
|
|
|
|
pushd %{src_dir}.uml
|
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}
|
2022-03-15 17:03:05 +03:00
|
|
|
%if %{with modxz}
|
2022-03-09 19:02:02 +01:00
|
|
|
xz -c Module.symvers > %{temp_boot}/symvers-%{kver_full}.xz
|
2022-03-15 17:03:05 +03:00
|
|
|
%else
|
|
|
|
%{zstd_cmd} Module.symvers
|
|
|
|
install -m 644 Module.symvers.zst %{temp_boot}/symvers-%{kver_full}.zst
|
|
|
|
%endif
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2021-04-06 19:36:12 +00:00
|
|
|
%ifarch %{armx}
|
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
|
2022-11-07 21:16:34 +03:00
|
|
|
cp -f arch/arm64/boot/Image* %{temp_boot}/vmlinuz-%{kver_full}
|
2020-11-26 21:09:27 +00:00
|
|
|
%else
|
|
|
|
cp -f arch/%{arch_type}/boot/bzImage %{temp_boot}/vmlinuz-%{kver_full}
|
|
|
|
%endif
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Headers
|
2019-07-16 18:30:53 +03:00
|
|
|
%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
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Remove /lib/firmware, we use a separate linux-firmware package
|
2019-07-16 18:30:53 +03:00
|
|
|
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
|
2022-03-09 19:02:02 +01:00
|
|
|
%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/
|
2022-03-09 19:02:02 +01:00
|
|
|
# Needed for arch/x86/purgatory
|
2020-11-26 21:09:27 +00:00
|
|
|
cp -fR lib/*.h lib/*.c %{temp_devel_root}/lib/
|
2020-11-26 18:48:55 +00:00
|
|
|
cp -fR arch/%{arch_type}/entry/syscalls/syscall* %{temp_devel_root}/arch/%{arch_type}/entry/syscalls/
|
|
|
|
cp -fR arch/%{arch_type}/tools %{temp_devel_root}/arch/%{arch_type}/
|
2020-11-26 21:09:27 +00:00
|
|
|
# needed for kexec
|
|
|
|
cp -fR arch/%{arch_type}/boot/*.h %{temp_devel_root}/arch/%{arch_type}/boot/
|
|
|
|
cp -fR arch/%{arch_type}/boot/*.c %{temp_devel_root}/arch/%{arch_type}/boot/
|
|
|
|
%endif
|
|
|
|
cp -fR arch/%{arch_type}/include %{temp_devel_root}/arch/%{arch_type}/
|
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
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Add acpica header files, needed for fglrx build
|
2019-07-16 18:30:53 +03:00
|
|
|
cp -fR drivers/acpi/acpica/*.h %{temp_devel_root}/drivers/acpi/acpica/
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
%if %{with aufs}
|
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
|
2022-03-09 19:02:02 +01:00
|
|
|
%endif
|
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
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Fix permissions
|
2019-07-16 18:30:53 +03:00
|
|
|
chmod -R a+rX %{temp_devel_root}
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Disable mrproper in -devel rpms
|
2022-11-07 03:13:34 +03:00
|
|
|
#patch -p1 --fuzz=0 -d %{temp_devel_root} -i %{SOURCE2}
|
2013-11-16 00:27:01 +04:00
|
|
|
%endif
|
2022-03-09 19:02:02 +01:00
|
|
|
# End of build_devel
|
|
|
|
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2021-05-03 15:56:13 +03:00
|
|
|
# TODO: maybe move to /usr/lib/debug?
|
2022-03-09 19:02:02 +01:00
|
|
|
%if %{build_debug}
|
2019-07-16 18:30:53 +03:00
|
|
|
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 {}`'
|
2022-03-09 19:02:02 +01:00
|
|
|
%endif
|
|
|
|
# End of 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
|
2022-03-15 17:03:05 +03:00
|
|
|
echo "No file $1"
|
|
|
|
return 0
|
2019-12-07 21:57:55 +03:00
|
|
|
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}
|
2022-03-15 17:03:05 +03:00
|
|
|
%{temp_root}/lib/modules-uml/%{kver_full} \
|
2020-03-13 20:35:12 +03:00
|
|
|
%endif
|
|
|
|
-name '*.ko' -print0 | sort -u | \
|
2019-12-07 21:57:55 +03:00
|
|
|
xargs --null -P "$(nproc)" -I {} "$SHELL" -e -x -c 'if ! _libressl_sign "{}"; \
|
|
|
|
then echo Failed _libressl_sign on "{}" && exit 1; fi'
|
2019-11-13 17:35:59 +03:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Set extraversion to match srpm to get nice version reported by the tools
|
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}
|
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}
|
2022-03-09 19:02:02 +01:00
|
|
|
# Make sure version-gen.sh is executable.
|
2013-11-16 00:27:01 +04:00
|
|
|
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
|
2022-03-09 19:02:02 +01:00
|
|
|
|
2019-07-16 18:30:53 +03:00
|
|
|
############################################################################
|
2013-11-16 00:27:01 +04:00
|
|
|
|
|
|
|
%install
|
2022-03-09 19:02:02 +01:00
|
|
|
cd %{src_dir}
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2022-09-26 15:32:27 +03:00
|
|
|
# TODO: get rid of temporary directory, install to buildroot directly?
|
2013-11-16 00:27:01 +04:00
|
|
|
# We want to be able to test several times the install part
|
|
|
|
rm -rf %{buildroot}
|
|
|
|
cp -a %{temp_root} %{buildroot}
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
#if %%{with oblig_signed_modules}
|
|
|
|
# Multithreaded verification that every kernel module has a signature attached to it
|
2019-11-11 21:16:01 +03:00
|
|
|
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
|
2022-03-15 17:03:05 +03:00
|
|
|
if hexdump -C "$1" | rev | cut -f 2 -d '|' | rev | tr -d '\n' | grep -q '~Module signature appended~'; then
|
|
|
|
if [ -f %{certs_verify_tmp} ]; then
|
|
|
|
rm -f %{certs_verify_tmp}
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
echo "ERROR: Module $1 has no signature attached to it!"
|
|
|
|
exit 1
|
2019-11-11 21:16:01 +03:00
|
|
|
fi
|
|
|
|
}
|
|
|
|
export -f _verify_signature
|
2020-03-13 20:35:12 +03:00
|
|
|
find %{target_modules} \
|
|
|
|
%if %{with uml}
|
2022-03-15 17:03:05 +03:00
|
|
|
%{buildroot}/lib/modules-uml/%{kver_full} \
|
2020-03-13 20:35:12 +03:00
|
|
|
%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}
|
2022-03-09 19:02:02 +01:00
|
|
|
#endif
|
2019-11-11 21:16:01 +03:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Compressing modules
|
2022-03-15 17:03:05 +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 ;}
|
2022-03-09 19:02:02 +01:00
|
|
|
# took 43-47s, with disk cache (2+ runs) ~42s, +21%%
|
2021-05-04 15:17:47 +03:00
|
|
|
# zstd-compressed initramfs image initrd-5.10.34-generic-1rosa2019.1-x86_64.img with *.ko.xz is 56,3 MiB
|
2022-03-09 19:02:02 +01:00
|
|
|
# zstd-compressed initramfs image initrd-5.10.34-generic-2rosa2019.1-x86_64.img with *.ko.zst is 58,4 MiB (+3.6%%)
|
2021-05-04 15:17:47 +03:00
|
|
|
# /lib/modules/5.10.34-generic-1rosa2019.1-x86_64 (*.ko.xz) is 78,1 MiB
|
2022-03-09 19:02:02 +01:00
|
|
|
# /lib/modules/5.10.34-generic-2rosa2019.1-x86_64 (*.ko.zst) is 83,9 MiB (+7%%)
|
2021-05-04 15:17:47 +03:00
|
|
|
# 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.
|
2022-03-15 17:03:05 +03:00
|
|
|
#{zstd_cmd} -T0 --train $(find . -type f -name '*.ko')
|
2021-05-04 15:17:47 +03:00
|
|
|
#[ -f dictionary ]
|
2021-05-03 18:21:14 +03:00
|
|
|
# -T1 (one thread) because we run multiple zstd processes by xargs
|
2022-03-15 17:03:05 +03:00
|
|
|
%if %{with modxz}
|
2022-03-09 19:02:02 +01:00
|
|
|
find %{target_modules} -name "*.ko" | %kxargs xz -6e
|
2022-03-15 17:03:05 +03:00
|
|
|
%else
|
|
|
|
find %{target_modules} -name "*.ko" | %kxargs %{zstd_cmd} --rm -T1 #-D dictionary
|
|
|
|
rm -f dictionary
|
|
|
|
%endif
|
|
|
|
%endif
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2022-09-26 15:32:27 +03:00
|
|
|
%if %{with binary_extra_modules}
|
|
|
|
# Move nvidia modules to manage them via alternatives(8), leave *.debug
|
|
|
|
# TODO: better handle debug here and in the package in general
|
|
|
|
find %{target_modules}/%{kver_full}/kernel/drivers/video -name 'nvidia???.*' -type d -maxdepth 1 |
|
|
|
|
while read -r line
|
|
|
|
do
|
|
|
|
nv="$(basename "$line")"
|
|
|
|
mkdir -p %{buildroot}%{kroko_kmods_dir}/"$nv"-%{kver_full}
|
|
|
|
mv -v "$line"/*.ko%{kmod_suffix} %{buildroot}%{kroko_kmods_dir}/"$nv"-%{kver_full}
|
2022-10-07 00:01:12 +03:00
|
|
|
dir_no_buildroot="$(echo "$line" | sed -e 's,^%{buildroot},,')"
|
|
|
|
echo "%exclude $dir_no_buildroot" >> %{kernel_files}
|
|
|
|
%if %{build_debug}
|
|
|
|
echo "%dir $dir_no_buildroot" >> %{debuginfo_files}
|
|
|
|
%endif
|
2022-09-26 15:32:27 +03:00
|
|
|
done
|
|
|
|
%endif #/with binary_extra_modules
|
|
|
|
|
2021-05-23 14:11:15 +03:00
|
|
|
find %{buildroot}%{_modulesdir}/%{kver_full} -type f -name '*.ko%{kmod_suffix}' | sed -e 's,^%{buildroot},,' | sort -u >> %{kernel_files}
|
|
|
|
find %{buildroot}%{_modulesdir}/%{kver_full} -type d | sed -e 's,^%{buildroot},%dir ,' | sort -u >> %{kernel_files}
|
2021-05-03 15:56:13 +03:00
|
|
|
|
Delete old initrds by RPM
After moving to dnf (installonlypkg(kernel)) schema of packaging the kernel,
the %%postun scriptlet stopped working properly because $1 is the number
of packages left after the transaction, and there are multiple
kernels - packages with the same name but of different version/release - left.
Let's just make initrd be %%ghost as Fedora (but increase its size from Fedora's 20 MiB to 65 MiB),
and drop deleting empty directories etc. Recent commit fixed ownership of directories,
now /lib/modules/kernel_version is owned by RPM (it was not), dkms will remove modules
that it built, and, if anything else was left, then let's just not touch it, why must we delete
what we know nothing about?
Also delete scriptlet in the devel subpackage, that scriptlet would probably cause problems
with reinstalling the devel package.
2021-05-24 21:10:00 +03:00
|
|
|
# We estimate the size of the initramfs because rpm needs to take this size
|
|
|
|
# into consideration when performing disk space calculations (See rhbz#530778)
|
|
|
|
# 65 MiB is a bit more than needed, but let's be more sure that there is enought space.
|
|
|
|
# On my PC, zstd-compressed initrds take 58,5 MiB.
|
|
|
|
# Real size of the RPM package should not increase because RPM compresses the payload.
|
|
|
|
# This file is %%ghost, so the real initrd will be deleted when uninstalling this package.
|
|
|
|
dd if=/dev/zero of=%{buildroot}%{initrd_path} bs=1M count=65
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
%if %{build_debug}
|
2021-05-03 15:56:13 +03:00
|
|
|
install -m 644 vmlinux %{buildroot}%{_bootdir}/vmlinux-%{kver_full}
|
|
|
|
find %{buildroot}%{_modulesdir} -type f -name '*.debug' | sed -e 's,^%{buildroot},,' | sort -u >> %{debuginfo_files}
|
2022-03-09 19:02:02 +01:00
|
|
|
%endif
|
|
|
|
# End of build_debug
|
2021-05-03 15:56:13 +03:00
|
|
|
|
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
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Sniff, if we compressed all the modules, we change the stamp :(
|
2013-11-16 00:27:01 +04:00
|
|
|
# we really need the depmod -ae here
|
|
|
|
for i in *; do
|
|
|
|
/sbin/depmod -ae -b %{buildroot} -F %{target_boot}/System.map-$i $i
|
|
|
|
echo $?
|
|
|
|
done
|
|
|
|
|
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
|
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# 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
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
%if %{build_perf}
|
|
|
|
# Perf tool binary and supporting scripts/binaries
|
2020-12-11 19:39:08 +00:00
|
|
|
make -C tools/perf -s V=1 DESTDIR=%{buildroot} WERROR=0 HAVE_CPLUS_DEMANGLE=1 prefix=%{_prefix} lib=%{_lib} install
|
2013-11-16 00:27:01 +04:00
|
|
|
|
2020-05-11 09:33:18 +03:00
|
|
|
# Versionize shebang (#!/usr/bin/env python -> #!/usr/bin/python3)
|
2022-03-17 10:23:10 +03:00
|
|
|
sed -i '1 s,^#!/usr/bin/env python$,#!%{__python3},' \
|
|
|
|
%{buildroot}%{_prefix}/libexec/perf-core/scripts/python/exported-sql-viewer.py \
|
|
|
|
%{buildroot}%{_prefix}/libexec/perf-core/scripts/python/libxed.py
|
2020-05-11 09:33:18 +03:00
|
|
|
|
2022-03-09 19:02:02 +01:00
|
|
|
# Perf man pages (note: implicit rpm magic compresses them later)
|
2022-03-15 17:03:05 +03: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}
|
2022-03-09 19:02:02 +01:00
|
|
|
|
2013-11-16 00:27:01 +04:00
|
|
|
%find_lang cpupower
|
2022-03-09 19:02:02 +01:00
|
|
|
|
2013-11-16 00:27:01 +04:00
|
|
|
mv cpupower.lang ../
|
|
|
|
chmod 0755 %{buildroot}%{_libdir}/libcpupower.so*
|
|
|
|
mkdir -p %{buildroot}%{_unitdir} %{buildroot}%{_sysconfdir}/sysconfig
|
|
|
|
install -m644 %{SOURCE50} %{buildroot}%{_unitdir}/cpupower.service
|
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
|
|
|
|
2022-03-09 19:02:02 +01: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
|
2022-03-09 19:02:02 +01:00
|
|
|
|
|
|
|
# Drop hidden files
|
|
|
|
rm -f %{buildroot}%{_docdir}/kernel-5.10-generic-doc/devicetree/bindings/.yamllint
|
|
|
|
|
|
|
|
# Fix perms
|
2022-10-11 09:24:23 +03:00
|
|
|
%if %{build_perf}
|
2022-03-09 19:02:02 +01:00
|
|
|
chmod -x %{buildroot}%{_sysconfdir}/bash_completion.d/perf
|
|
|
|
chmod -x %{buildroot}%{_prefix}/lib/perf/examples/bpf/*.c
|
|
|
|
chmod -x %{buildroot}%{_prefix}/lib/perf/include/bpf/*.h
|
|
|
|
chmod -x %{buildroot}%{_prefix}/lib/perf/include/bpf/linux/*.h
|
|
|
|
chmod -x %{buildroot}%{_datadir}/doc/perf-tip/*.txt
|
2022-10-11 09:24:23 +03:00
|
|
|
%endif
|