Compare commits

...

No commits in common. "imports/c8-beta/kernel-rt-4.18.0-107.rt20.48.el8" and "c8" have entirely different histories.

28 changed files with 126536 additions and 19304 deletions

11
.gitignore vendored
View File

@ -1 +1,10 @@
SOURCES/linux-4.18.0-107.rt20.48.el8.tar.xz
SOURCES/centossecureboot201.cer
SOURCES/centossecurebootca2.cer
SOURCES/linux-4.18.0-513.rt7.302.el8.tar.xz
SOURCES/redhatsecureboot302.cer
SOURCES/redhatsecureboot303.cer
SOURCES/redhatsecureboot501.cer
SOURCES/redhatsecurebootca3.cer
SOURCES/redhatsecurebootca7.cer
SOURCES/rheldup3.x509
SOURCES/rhelkpatch1.x509

View File

@ -1 +1,10 @@
74f28ac3e75f0880da9852793b80bb408e65fc53 SOURCES/linux-4.18.0-107.rt20.48.el8.tar.xz
2ba40bf9138b48311e5aa1b737b7f0a8ad66066f SOURCES/centossecureboot201.cer
bfdb3d7cffc43f579655af5155d50c08671d95e5 SOURCES/centossecurebootca2.cer
457f7afd6ebbd34ca637a0e7e006fe817f3602bf SOURCES/linux-4.18.0-513.rt7.302.el8.tar.xz
13e5cd3f856b472fde80a4deb75f4c18dfb5b255 SOURCES/redhatsecureboot302.cer
e89890ca0ded2f9058651cc5fa838b78db2e6cc2 SOURCES/redhatsecureboot303.cer
ba0b760e594ff668ee72ae348adf3e49b97f75fb SOURCES/redhatsecureboot501.cer
cf9230e69000076727e5b784ec871d22716dc5da SOURCES/redhatsecurebootca3.cer
905d91a282727c7f5ad433a49ac42a0772311c6a SOURCES/redhatsecurebootca7.cer
95b9b811c7b0a6c98b2eafc4e7d6d24f2cb63289 SOURCES/rheldup3.x509
d90885108d225a234a5a9d054fc80893a5bd54d0 SOURCES/rhelkpatch1.x509

View File

@ -14,7 +14,7 @@
# listed here.
# 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"
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 virt"
chardrvs="mwave pcmcia"
@ -28,13 +28,13 @@ scsidrvs="aacraid aic7xxx aic94xx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2
usbdrvs="atm image misc serial wusbcore"
fsdrvs="affs befs coda cramfs ecryptfs hfs hfsplus jfs minix ncpfs nilfs2 ocfs2 reiserfs romfs squashfs sysv ubifs ufs"
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 parport_serial ism"
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 parport_serial ism xt_u32 act_ct"
# Grab the arch-specific filter list overrides
source ./filter-$2.sh
@ -135,6 +135,9 @@ done
# Just kill sound.
filter_dir $1 kernel/sound
filter_ko $1 drivers/base/regmap/regmap-sdw
filter_ko $1 drivers/base/regmap/regmap-sdw-mbq
filter_dir $1 drivers/soundwire
# Now go through and filter any single .ko files that might have deps on the
# things we filtered above

6
SOURCES/gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-8
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: cki.tier1-x86_64.functional}

View File

@ -1,7 +1,6 @@
#!/bin/sh
PACKAGE_NAME=$1
for i in ${PACKAGE_NAME}-*.config; do
NEW=${PACKAGE_NAME}-$VERSION-$(echo $i | sed -e "s/${PACKAGE_NAME}//" | cut -d - -f2-)
mv $i $NEW
for i in ${NAME}-*.config; do
NEW=${NAME}-${VERSION}-$(echo $i | sed -e "s/${NAME}//" | cut -d - -f2-)
mv ${i} ${NEW}
done

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,11 @@
/var/log/kvm_stat.csv {
size 10M
missingok
compress
maxage 30
rotate 5
nodateext
postrotate
/usr/bin/systemctl try-restart kvm_stat.service
endscript
}

View File

152
SOURCES/mod-blacklist.sh Executable file
View File

@ -0,0 +1,152 @@
#! /bin/bash
RpmDir=$1
ModDir=$2
Dir="$1/$2"
# Note the list filename must have the format mod-[PACKAGE].list, for example,
# mod-internal.list or mod-extra.list. The PACKAGE is used to create a
# override directory for the modules.
List=$3
Dest="$4"
blacklist()
{
cat > "$RpmDir/etc/modprobe.d/$1-blacklist.conf" <<-__EOF__
# This kernel module can be automatically loaded by non-root users. To
# enhance system security, the module is blacklisted by default to ensure
# system administrators make the module available for use as needed.
# See https://access.redhat.com/articles/3760101 for more details.
#
# Remove the blacklist by adding a comment # at the start of the line.
blacklist $1
__EOF__
}
check_blacklist()
{
mod=$(find $RpmDir/$ModDir -name "$1")
[ ! "$mod" ] && return 0
if modinfo $mod | grep -q '^alias:\s\+net-'; then
mod="${1##*/}"
mod="${mod%.ko*}"
echo "$mod has an alias that allows auto-loading. Blacklisting."
blacklist "$mod"
fi
}
find_depends()
{
dep=$1
depends=`modinfo $dep | sed -n -e "/^depends/ s/^depends:[ \t]*//p"`
[ -z "$depends" ] && exit
for mod in ${depends//,/ }
do
match=$(grep "^$mod.ko" "$ListName")
[ -z "$match" ] && continue
# check if the module we are looking at is in mod-* too.
# if so we do not need to mark the dep as required.
mod2=${dep##*/} # same as `basename $dep`, but faster
match2=$(grep "^$mod2" "$ListName")
if [ -n "$match2" ]
then
#echo $mod2 >> notreq.list
continue
fi
echo $mod.ko >> req.list
done
}
foreachp()
{
P=$(nproc)
bgcount=0
while read mod; do
$1 "$mod" &
bgcount=$((bgcount + 1))
if [ $bgcount -eq $P ]; then
wait -n
bgcount=$((bgcount - 1))
fi
done
wait
}
# Destination was specified on the command line
test -n "$4" && echo "$0: Override Destination $Dest has been specified."
pushd $Dir
OverrideDir=$(basename $List)
OverrideDir=${OverrideDir%.*}
OverrideDir=${OverrideDir#*-}
mkdir -p $OverrideDir
rm -rf modnames
find . -name "*.ko" -type f > modnames
# Look through all of the modules, and throw any that have a dependency in
# our list into the list as well.
rm -rf dep.list dep2.list
rm -rf req.list req2.list
touch dep.list req.list
cp "$List" .
# This variable needs to be exported because it is used in sub-script
# executed by xargs
export ListName=$(basename "$List")
foreachp find_depends < modnames
sort -u req.list > req2.list
sort -u "$ListName" > modules2.list
join -v 1 modules2.list req2.list > modules3.list
for mod in $(cat modules3.list)
do
# get the path for the module
modpath=`grep /$mod modnames`
[ -z "$modpath" ] && continue
echo $modpath >> dep.list
done
sort -u dep.list > dep2.list
if [ -n "$Dest" ]; then
# now move the modules into the $Dest directory
for mod in `cat dep2.list`
do
newpath=`dirname $mod | sed -e "s/kernel\\//$Dest\//"`
mkdir -p $newpath
mv $mod $newpath
echo $mod | sed -e "s/kernel\\//$Dest\//" | sed -e "s|^.|${ModDir}|g" >> $RpmDir/$ListName
done
fi
popd
# If we're signing modules, we can't leave the .mod files for the .ko files
# we've moved in .tmp_versions/. Remove them so the Kbuild 'modules_sign'
# target doesn't try to sign a non-existent file. This is kinda ugly, but
# so are the modules-* packages.
for mod in `cat ${Dir}/dep2.list`
do
modfile=`basename $mod | sed -e 's/.ko/.mod/'`
rm .tmp_versions/$modfile
done
if [ ! -n "$Dest" ]; then
sed -e "s|^.|${ModDir}|g" ${Dir}/dep2.list > $RpmDir/$ListName
echo "./$RpmDir/$ListName created."
[ -d "$RpmDir/etc/modprobe.d/" ] || mkdir -p "$RpmDir/etc/modprobe.d/"
foreachp check_blacklist < $List
fi
# avoid an empty kernel-extra package
echo "$ModDir/$OverrideDir" >> $RpmDir/$ListName
pushd $Dir
rm modnames dep.list dep2.list req.list req2.list
rm "$ListName" modules2.list modules3.list
popd

View File

@ -2,6 +2,8 @@
a3d.ko
act200l-sir.ko
actisys-sir.ko
act_mpls.ko
act_ct.ko
adi.ko
aer_inject.ko
af_802154.ko
@ -15,6 +17,7 @@ avm_cs.ko
avmfritz.ko
ax25.ko
b1.ko
bareudp.ko
bas_gigaset.ko
batman-adv.ko
baycom_par.ko
@ -69,6 +72,7 @@ iforce.ko
interact.ko
ipddp.ko
ipx.ko
ip_vs_mh.ko
isdn.ko
joydump.ko
kingsun-sir.ko
@ -120,9 +124,11 @@ rds_tcp.ko
rose.ko
sch_atm.ko
sch_cbq.ko
sch_cbs.ko
sch_choke.ko
sch_drr.ko
sch_dsmark.ko
sch_ets.ko
sch_gred.ko
sch_mqprio.ko
sch_multiq.ko
@ -187,5 +193,6 @@ warrior.ko
whci.ko
wire.ko
xpad.ko
xt_u32.ko
yam.ko
zhenhua.ko

View File

@ -1,86 +0,0 @@
#! /bin/bash
Dir=$1
List=$2
Dest="extra"
# Destination was specified on the command line
test -n "$3" && Dest="$3"
pushd $Dir
rm -rf modnames
find . -name "*.ko" -type f > modnames
# Look through all of the modules, and throw any that have a dependency in
# our list into the list as well.
rm -rf dep.list dep2.list
rm -rf req.list req2.list
touch dep.list req.list
cp "$List" .
# This variable needs to be exported because it is used in sub-script
# executed by xargs
export ListName=$(basename "$List")
# NB: this loop runs 2000+ iterations. Try to be fast.
NPROC=`nproc`
[ -z "$NPROC" ] && NPROC=1
cat modnames | xargs -r -n1 -P $NPROC sh -c '
dep=$1
depends=`modinfo $dep | sed -n -e "/^depends/ s/^depends:[ \t]*//p"`
[ -z "$depends" ] && exit
for mod in ${depends//,/ }
do
match=$(grep "^$mod.ko" "$ListName")
[ -z "$match" ] && continue
# check if the module we are looking at is in mod-extra too.
# if so we do not need to mark the dep as required.
mod2=${dep##*/} # same as `basename $dep`, but faster
match2=$(grep "^$mod2" "$ListName")
if [ -n "$match2" ]
then
#echo $mod2 >> notreq.list
continue
fi
echo $mod.ko >> req.list
done
' DUMMYARG0 # xargs appends MODNAME, which becomes $dep in the script above
sort -u req.list > req2.list
sort -u "$ListName" > modules2.list
join -v 1 modules2.list req2.list > modules3.list
for mod in $(cat modules3.list)
do
# get the path for the module
modpath=`grep /$mod modnames`
[ -z "$modpath" ] && continue
echo $modpath >> dep.list
done
sort -u dep.list > dep2.list
# now move the modules into the extra/ directory
for mod in `cat dep2.list`
do
newpath=`dirname $mod | sed -e "s/kernel\\//$Dest\//"`
mkdir -p $newpath
mv $mod $newpath
done
popd
# If we're signing modules, we can't leave the .mod files for the .ko files
# we've moved in .tmp_versions/. Remove them so the Kbuild 'modules_sign'
# target doesn't try to sign a non-existent file. This is kinda ugly, but
# so is modules-extra.
for mod in `cat ${Dir}/dep2.list`
do
modfile=`basename $mod | sed -e 's/.ko/.mod/'`
rm .tmp_versions/$modfile
done
pushd $Dir
rm modnames dep.list dep2.list req.list req2.list
rm "$ListName" modules2.list modules3.list
popd

65
SOURCES/mod-internal.list Normal file
View File

@ -0,0 +1,65 @@
dmatest
kunit
kunit-test
ext4-inode-test
list-test
sysctl-test
mptcp_crypto_test
mptcp_token_test
bitfield_kunit
cmdline_kunit
property-entry-test
qos-test
resource_kunit
soc-topology-test
soc-utils-test
string-stream-test
test_linear_ranges
test_bits
test_kasan
fat_test
test_list_sort
slub_kunit
memcpy_kunit
time_test
drm_format_helper_test
drm_damage_helper_test
drm_cmdline_parser_test
drm_kunit_helpers
drm_rect_test
drm_format_test
drm_plane_helper_test
drm_dp_mst_helper_test
drm_framebuffer_test
drm_buddy_test
drm_mm_test
drm_connector_test
drm_managed_test
drm_modes_test
drm_probe_helper_test
lib_test
dev_addr_lists_test
rational-test
test_hash
locktorture
mac80211_hwsim
netdevsim
pktgen
rcutorture
rocker
scftorture
torture
test_bpf
test_klp_atomic_replace
test_klp_callbacks_demo
test_klp_callbacks_demo2
test_klp_callbacks_busy
test_klp_callbacks_mod
test_klp_livepatch
test_klp_shadow_vars
test_klp_state
test_klp_state2
test_klp_state3
test_hmm
test_vmalloc
mtty

5
SOURCES/mod-kvm.list Normal file
View File

@ -0,0 +1,5 @@
kvm-amd
kvm-intel
kvm
kvmgt
ptp_kvm

26
SOURCES/parallel_xz.sh Executable file
View File

@ -0,0 +1,26 @@
#!/bin/sh
# Reads filenames on stdin, xz-compresses each in place.
# Not optimal for "compress relatively few, large files" scenario!
# How many xz's to run in parallel:
procgroup=""
while test "$#" != 0; do
# Get it from -jNUM
N="${1#-j}"
if test "$N" = "$1"; then
# Not -j<something> - warn and ignore
echo "parallel_xz: warning: unrecognized argument: '$1'"
else
procgroup="$N"
fi
shift
done
# If told to use only one cpu:
test "$procgroup" || exec xargs -r xz
test "$procgroup" = 1 && exec xargs -r xz
# xz has some startup cost. If files are really small,
# this cost might be significant. To combat this,
# process several files (in sequence) by each xz process via -n 16:
exec xargs -r -n 16 -P $procgroup xz

View File

@ -6,7 +6,7 @@
usage()
{
echo "process_configs.sh [ -n|-c|-t ] package_name kernel_version"
echo "process_configs.sh [ -n|-c|-t ] package_name kernel_version [cross_opts]"
echo " -n: error on unset config options"
echo " -c: error on mismatched config options"
echo " -t: test run, do not overwrite original config"
@ -77,7 +77,7 @@ function process_configs()
# assume we are in $source_tree/configs, need to get to top level
pushd $(switch_to_toplevel) &>/dev/null
for cfg in $SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}*.config
for cfg in $SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}*.config
do
arch=$(head -1 $cfg | cut -b 3-)
cfgtmp="${cfg}.tmp"
@ -86,7 +86,7 @@ function process_configs()
echo -n "Processing $cfg ... "
make ARCH=$arch KCONFIG_CONFIG=$cfgorig listnewconfig >& .listnewconfig
make ARCH=$arch ${CROSSOPTS} KCONFIG_CONFIG=$cfgorig listnewconfig >& .listnewconfig
grep -E 'CONFIG_' .listnewconfig > .newoptions
if test -n "$NEWOPTIONS" && test -s .newoptions
then
@ -109,7 +109,7 @@ function process_configs()
rm .listnewconfig
make ARCH=$arch KCONFIG_CONFIG=$cfgorig oldnoconfig > /dev/null || exit 1
make ARCH=$arch ${CROSSOPTS} KCONFIG_CONFIG=$cfgorig oldnoconfig > /dev/null || exit 1
echo "# $arch" > ${cfgtmp}
cat "${cfgorig}" >> ${cfgtmp}
if test -n "$CHECKOPTIONS"
@ -164,7 +164,7 @@ done
PACKAGE_NAME="${1:-kernel}" # defines the package name used
KVERREL="$(test -n "$2" && echo "-$2" || echo "")"
SUBARCH="$(test -n "$3" && echo "-$3" || echo "")"
CROSSOPTS="$3"
SCRIPT="$(readlink -f $0)"
OUTPUT_DIR="$PWD"
SCRIPT_DIR="$(dirname $SCRIPT)"

Binary file not shown.

Binary file not shown.

40
SOURCES/rpminspect.yaml Normal file
View File

@ -0,0 +1,40 @@
# additional rpminspect configuration for this branch
---
inspections:
abidiff: off
addedfiles: off
badfuncs: off
changedfiles: off
kmidiff: off
kmod: off
manpage: off
movedfiles: off
permissions: off
removedfiles: off
rpmdeps: off
upstream: off
elf:
ignore:
- /usr/libexec/ksamples/*
- /usr/libexec/kselftests/*
emptyrpm:
expected_empty:
- kernel
- kernel-debug
- kernel-zfcpdump
- kernel-zfcpdump-modules
specname:
match: prefix
primary: filename
patches:
ignore_list:
- linux-kernel-test.patch
types:
ignore:
- /usr/src/kernel/*

File diff suppressed because it is too large Load Diff

123099
SPECS/kernel.spec Normal file

File diff suppressed because it is too large Load Diff