1
0
forked from rpms/kernel
kernel/filter-modules.sh.rhel
Herton R. Krzesinski 8c65d50894 kernel-5.14.0-146.el9
* Tue Aug 16 2022 Herton R. Krzesinski <herton@redhat.com> [5.14.0-146.el9]
- cpufreq: fix memory leak in sun50i_cpufreq_nvmem_probe (Mark Langsdorf) [2072976]
- cpufreq: powernow-k8: Re-order the init checks (Mark Langsdorf) [2072976]
- cpufreq: amd-pstate: Add more tracepoint for AMD P-State module (Mark Langsdorf) [2072976]
- cpufreq: CPPC: Fix performance/frequency conversion (Mark Langsdorf) [2072976]
- cpufreq: unify show() and store() naming and use __ATTR_XX (Mark Langsdorf) [2072976]
- cpufreq: longhaul: Replace acpi_bus_get_device() (Mark Langsdorf) [2072976]
- cpufreq: Move to_gov_attr_set() to cpufreq.h (Mark Langsdorf) [2072976]
- cpufreq: use default_groups in kobj_type (Mark Langsdorf) [2072976]
- cpufreq: Fix initialization of min and max frequency QoS requests (Mark Langsdorf) [2072976]
- cpufreq: Fix a comment in cpufreq_policy_free (Mark Langsdorf) [2072976]
- cpufreq: Fix get_cpu_device() failure in add_cpu_dev_symlink() (Mark Langsdorf) [2072976]
- cpufreq: Use CPUFREQ_RELATION_E in DVFS governors (Mark Langsdorf) [2072976]
- cpufreq: Introducing CPUFREQ_RELATION_E (Mark Langsdorf) [2072976]
- cpufreq: Add an interface to mark inefficient frequencies (Mark Langsdorf) [2072976]
- cpufreq: Make policy min/max hard requirements (Mark Langsdorf) [2072976]
- PM: EM: Allow skipping inefficient states (Mark Langsdorf) [2072976]
- PM: EM: Extend em_perf_domain with a flag field (Mark Langsdorf) [2072976]
- PM: EM: Mark inefficient states (Mark Langsdorf) [2072976]
- PM: EM: Fix inefficient states detection (Mark Langsdorf) [2072976]
- PM: EM: Increase energy calculation precision (Mark Langsdorf) [2072976]
- cpufreq: tegra186/tegra194: Handle errors in BPMP response (Mark Langsdorf) [2072976]
- cpufreq: remove useless INIT_LIST_HEAD() (Mark Langsdorf) [2072976]
- cpufreq: s3c244x: add fallthrough comments for switch (Mark Langsdorf) [2072976]
- cpufreq: vexpress: Drop unused variable (Mark Langsdorf) [2072976]
- qede: Reduce verbosity of ptp tx timestamp (Manish Chopra) [2080656]
- redhat/configs: Enable Marvell OcteonTX2 crypto device (Vladis Dronov) [2042239]
- hwrng: cn10k - Enable compile testing (Vladis Dronov) [2042239]
- hwrng: cn10k - Make check_rng_health() return an error code (Vladis Dronov) [2042239]
- hwrng: cn10k - Optimize cn10k_rng_read() (Vladis Dronov) [2042239]
- hwrng: cn10k - Add random number generator support (Vladis Dronov) [2042239]
- hwrng: cavium - fix NULL but dereferenced coccicheck error (Vladis Dronov) [2042261]
- hwrng: cavium - HW_RANDOM_CAVIUM should depend on ARCH_THUNDER (Vladis Dronov) [2042261]
- hwrng: cavium - Check health status while reading random data (Vladis Dronov) [2042261]
- crypto: octeontx2 - fix potential null pointer access (Vladis Dronov) [2041740]
- crypto: octeontx2 - add firmware version in devlink info (Vladis Dronov) [2041740]
- crypto: octeontx2 - simplify the return expression of otx2_cpt_aead_cbc_aes_sha_setkey() (Vladis Dronov) [2041740]
- crypto: octeontx2 - fix missing unlock (Vladis Dronov) [2041740]
- crypto: octeontx2 - add synchronization between mailbox accesses (Vladis Dronov) [2041740]
- crypto: octeontx2 - remove CONFIG_DM_CRYPT check (Vladis Dronov) [2041740]
- crypto: octeontx2 - increase CPT HW instruction queue length (Vladis Dronov) [2041740]
- crypto: octeontx2 - disable DMA black hole on an DMA fault (Vladis Dronov) [2041740]
- crypto: octeontx2 - CN10K CPT to RNM workaround (Vladis Dronov) [2041740]
- crypto: octeontx2 - Avoid stack variable overflow (Vladis Dronov) [2041740]
- crypto: octeontx2 - prevent underflow in get_cores_bmap() (Vladis Dronov) [2041740]
- crypto: octeontx2 - out of bounds access in otx2_cpt_dl_custom_egrp_delete() (Vladis Dronov) [2041740]
- crypto: octeontx2 - Use swap() instead of swap_engines() (Vladis Dronov) [2041740]
- crypto: octeontx2 - parameters for custom engine groups (Vladis Dronov) [2041740]
- crypto: octeontx2 - add apis for custom engine groups (Vladis Dronov) [2041740]
- crypto: octeontx2 - uninitialized variable in kvf_limits_store() (Vladis Dronov) [2041740]
- crypto: octeontx2 - use swap() to make code cleaner (Vladis Dronov) [2041740]
- crypto: octeontx2 - set assoclen in aead_do_fallback() (Vladis Dronov) [2041740]
Resolves: rhbz#2072976, rhbz#2080656, rhbz#2042239, rhbz#2042261, rhbz#2041740

Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
2022-08-16 17:29:33 +00:00

178 lines
4.6 KiB
Bash
Executable File

#! /bin/bash
#
# Called as filter-modules.sh list-of-modules Arch
# This script filters the modules into the kernel-core and kernel-modules
# subpackages. We list out subsystems/subdirs to prune from the installed
# module directory. What is left is put into the kernel-core package. What is
# pruned is contained in the kernel-modules package.
#
# This file contains the default subsys/subdirs to prune from all architectures.
# If an architecture needs to differ, we source a per-arch filter-<arch>.sh file
# that contains the set of override lists to be used instead. If a module or
# subsys should be in kernel-modules on all arches, please change the defaults
# listed here.
# Overrides is individual modules which need to remain in kernel-core due to deps.
overrides="cec"
# Set the default dirs/modules to filter out
driverdirs="atm auxdisplay bcma bluetooth firewire fmc iio infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
chardrvs="mwave pcmcia"
netdrvs="appletalk can dsa hamradio ieee802154 irda ppp slip usb wireless"
ethdrvs="3com adaptec alteon amd aquantia atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti wiznet xircom"
cryptdrvs="bcm caam cavium chelsio hisilicon marvell qat"
inputdrvs="gameport tablet touchscreen"
scsidrvs="aacraid aic7xxx aic94xx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2r fcoe fnic hisi_sas isci libsas lpfc megaraid mpt2sas mpt3sas mvsas pm8001 qla2xxx qla4xxx sym53c8xx_2 ufs qedf"
usbdrvs="atm image misc serial wusbcore"
fsdrvs="affs befs cifs coda cramfs ecryptfs hfs hfsplus jfs minix ncpfs nilfs2 ocfs2 reiserfs romfs squashfs sysv ubifs ufs"
netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dccp dsa ieee802154 irda l2tp mac80211 mac802154 mpls netrom nfc rds rfkill rose sctp smc wireless"
drmdrvs="amd ast gma500 i2c i915 mgag200 nouveau radeon via "
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial ism regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus"
# Grab the arch-specific filter list overrides
source ./filter-$2.sh
filter_dir() {
filelist=$1
dir=$2
grep -v -e "${dir}/" ${filelist} > ${filelist}.tmp
if [ $? -ne 0 ]
then
echo "Couldn't remove ${dir}. Skipping."
else
grep -e "${dir}/" ${filelist} >> k-d.list
mv ${filelist}.tmp $filelist
fi
return 0
}
filter_ko() {
filelist=$1
mod=$2
grep -v -e "${mod}.ko" ${filelist} > ${filelist}.tmp
if [ $? -ne 0 ]
then
echo "Couldn't remove ${mod}.ko Skipping."
else
grep -e "${mod}.ko" ${filelist} >> k-d.list
mv ${filelist}.tmp $filelist
fi
return 0
}
# Filter the drivers/ subsystems
for subsys in ${driverdirs}
do
filter_dir $1 drivers/${subsys}
done
# Filter the networking drivers
for netdrv in ${netdrvs}
do
filter_dir $1 drivers/net/${netdrv}
done
# Filter the char drivers
for char in ${chardrvs}
do
filter_dir $1 drivers/char/${char}
done
# Filter the ethernet drivers
for eth in ${ethdrvs}
do
filter_dir $1 drivers/net/ethernet/${eth}
done
# Filter the crypto drivers
for crypt in ${cryptdrvs}
do
filter_dir $1 drivers/crypto/${crypt}
done
# SCSI
for scsi in ${scsidrvs}
do
filter_dir $1 drivers/scsi/${scsi}
done
# Input
for input in ${inputdrvs}
do
filter_dir $1 drivers/input/${input}
done
# USB
for usb in ${usbdrvs}
do
filter_dir $1 drivers/usb/${usb}
done
# Filesystems
for fs in ${fsdrvs}
do
filter_dir $1 fs/${fs}
done
# Network protocols
for prot in ${netprots}
do
filter_dir $1 kernel/net/${prot}
done
# DRM
for drm in ${drmdrvs}
do
filter_dir $1 drivers/gpu/drm/${drm}
done
# Just kill sound.
filter_dir $1 kernel/sound
filter_dir $1 kernel/drivers/soundwire
# Now go through and filter any single .ko files that might have deps on the
# things we filtered above
for mod in ${singlemods}
do
filter_ko $1 ${mod}
done
# Now process the override list to bring those modules back into core
for mod in ${overrides}
do
grep -v -e "/${mod}.ko" k-d.list > k-d.list.tmp
if [ $? -ne 0 ]
then
echo "Couldn't save ${mod}.ko Skipping."
else
grep -e "/${mod}.ko" k-d.list >> $filelist
mv k-d.list.tmp k-d.list
fi
done
# Go through our generated drivers list and remove the .ko files. We'll
# restore them later.
for mod in `cat k-d.list`
do
rm -rf $mod
done