Compare commits

...

No commits in common. "c8" and "c9-beta" have entirely different histories.
c8 ... c9-beta

60 changed files with 279563 additions and 160105 deletions

20
.gitignore vendored
View File

@ -1,12 +1,12 @@
SOURCES/centossecureboot201.cer
SOURCES/centossecurebootca2.cer
SOURCES/kernel-abi-stablelists-4.18.0-553.tar.bz2
SOURCES/kernel-kabi-dw-4.18.0-553.tar.bz2
SOURCES/linux-4.18.0-553.117.1.el8_10.tar.xz
SOURCES/redhatsecureboot302.cer
SOURCES/redhatsecureboot303.cer
SOURCES/redhatsecureboot501.cer
SOURCES/redhatsecurebootca3.cer
SOURCES/redhatsecurebootca7.cer
SOURCES/kernel-abi-stablelists-5.14.0-687.5.1.el9_8.tar.bz2
SOURCES/kernel-kabi-dw-5.14.0-687.5.1.el9_8.tar.bz2
SOURCES/linux-5.14.0-687.5.1.el9_8.tar.xz
SOURCES/nvidiabfdpu.x509
SOURCES/nvidiagpuoot001.x509
SOURCES/nvidiajetsonsoc.x509
SOURCES/redhatsecureboot504.cer
SOURCES/rheldup3.x509
SOURCES/rhelima.x509
SOURCES/rhelima_centos.x509
SOURCES/rhelimaca1.x509
SOURCES/rhelkpatch1.x509

View File

@ -1,12 +1,12 @@
2ba40bf9138b48311e5aa1b737b7f0a8ad66066f SOURCES/centossecureboot201.cer
bfdb3d7cffc43f579655af5155d50c08671d95e5 SOURCES/centossecurebootca2.cer
e5fac5a58d81817f9abf876b5737ea2099069875 SOURCES/kernel-abi-stablelists-4.18.0-553.tar.bz2
518a38408b3bcf6d6d49e6e962832c665d6e5a85 SOURCES/kernel-kabi-dw-4.18.0-553.tar.bz2
a1744b2de48d20fa04193c188bf1fcf81de1c5eb SOURCES/linux-4.18.0-553.117.1.el8_10.tar.xz
13e5cd3f856b472fde80a4deb75f4c18dfb5b255 SOURCES/redhatsecureboot302.cer
e89890ca0ded2f9058651cc5fa838b78db2e6cc2 SOURCES/redhatsecureboot303.cer
ba0b760e594ff668ee72ae348adf3e49b97f75fb SOURCES/redhatsecureboot501.cer
cf9230e69000076727e5b784ec871d22716dc5da SOURCES/redhatsecurebootca3.cer
905d91a282727c7f5ad433a49ac42a0772311c6a SOURCES/redhatsecurebootca7.cer
f21a5c6a56106e2790e9fff02046059845b21c27 SOURCES/kernel-abi-stablelists-5.14.0-687.5.1.el9_8.tar.bz2
5840fe94117e01fee7ab3d75d86f0f6c7182c85f SOURCES/kernel-kabi-dw-5.14.0-687.5.1.el9_8.tar.bz2
0abcd2db91df05c71e974123c6dfd915b422fdca SOURCES/linux-5.14.0-687.5.1.el9_8.tar.xz
3dc4997e0273ca116d52a52238a57403aba5dafb SOURCES/nvidiabfdpu.x509
4fff8080e88afffc06d8ef5004db8d53bb21237f SOURCES/nvidiagpuoot001.x509
18378ab150ef13ef65609224e10a2e8501d82915 SOURCES/nvidiajetsonsoc.x509
1d51d3a037ad287095b0a13c4deeb1252d8ff0cc SOURCES/redhatsecureboot504.cer
95b9b811c7b0a6c98b2eafc4e7d6d24f2cb63289 SOURCES/rheldup3.x509
99e571f9de4188f3b5fdf1f84ff73f6cc4bb6a0e SOURCES/rhelima.x509
61d5a223ff0c79189505abae77e0087c4b2d2b47 SOURCES/rhelima_centos.x509
f882610d2554fef65703e5d3c342f005af0390ad SOURCES/rhelimaca1.x509
d90885108d225a234a5a9d054fc80893a5bd54d0 SOURCES/rhelkpatch1.x509

37
SOURCES/Makefile.rhelver Normal file
View File

@ -0,0 +1,37 @@
RHEL_MAJOR = 9
RHEL_MINOR = 8
#
# RHEL_RELEASE
# -------------
#
# Represents build number in 'release' part of RPM's name-version-release.
# name is <package_name>, e.g. kernel
# version is upstream kernel version this kernel is based on, e.g. 4.18.0
# release is <RHEL_RELEASE>.<dist_tag>[<buildid>], e.g. 100.el8
#
# Use this spot to avoid future merge conflicts.
# Do not trim this comment.
RHEL_RELEASE = 687.5.1
#
# ZSTREAM
# -------
#
# This variable controls whether we use zstream numbering or not for the
# package release. The zstream release keeps the build number of the last
# build done for ystream for the Beta milestone, and increments a second
# number for each build. The third number is used for branched builds
# (eg.: for builds with security fixes or hot fixes done outside of the
# batch release process).
#
# For example, with ZSTREAM unset or set to "no", all builds will contain
# a release with only the build number, eg.: kernel-<kernel version>-X.el*,
# where X is the build number. With ZSTREAM set to "yes", we will have
# builds with kernel-<kernel version>-X.Y.Z.el*, where X is the last
# RHEL_RELEASE number before ZSTREAM flag was set to yes, Y will now be the
# build number and Z will always be 1 except if you're doing a branched build
# (when you give RHDISTGIT_BRANCH on the command line, in which case the Z
# number will be incremented instead of the Y).
#
ZSTREAM ?= yes

File diff suppressed because it is too large Load Diff

View File

@ -1,761 +0,0 @@
0x1984165d ___pskb_trim vmlinux EXPORT_SYMBOL
0xbd2fb756 __alloc_disk_node vmlinux EXPORT_SYMBOL
0xe9a9f9e8 __alloc_pages_nodemask vmlinux EXPORT_SYMBOL
0x74c48aa6 __alloc_skb vmlinux EXPORT_SYMBOL
0x43a53735 __alloc_workqueue_key vmlinux EXPORT_SYMBOL_GPL
0x39b52d19 __bitmap_and vmlinux EXPORT_SYMBOL
0xadfdfcef __bitmap_andnot vmlinux EXPORT_SYMBOL
0xf3e6402e __bitmap_equal vmlinux EXPORT_SYMBOL
0xbb35675b __bitmap_intersects vmlinux EXPORT_SYMBOL
0xa084749a __bitmap_or vmlinux EXPORT_SYMBOL
0x4df119fa __bitmap_parse vmlinux EXPORT_SYMBOL
0x63c4d61f __bitmap_weight vmlinux EXPORT_SYMBOL
0xf6fc8791 __bitmap_xor vmlinux EXPORT_SYMBOL
0x88db9f48 __check_object_size vmlinux EXPORT_SYMBOL
0xfd07d522 __class_register vmlinux EXPORT_SYMBOL_GPL
0xf9f94ae4 __cpu_online_mask vmlinux EXPORT_SYMBOL
0xd1370be3 __cpu_possible_mask vmlinux EXPORT_SYMBOL
0xfa39b300 __cpu_present_mask vmlinux EXPORT_SYMBOL
0x0e4ba049 __cpuhp_remove_state vmlinux EXPORT_SYMBOL
0xf66a486e __cpuhp_setup_state vmlinux EXPORT_SYMBOL
0x466c14a7 __delay vmlinux EXPORT_SYMBOL
0x326735ea __dev_kfree_skb_any vmlinux EXPORT_SYMBOL
0x2a30f7ab __dynamic_dev_dbg vmlinux EXPORT_SYMBOL
0x9b7fe4d4 __dynamic_pr_debug vmlinux EXPORT_SYMBOL
0xd7468b16 __free_pages vmlinux EXPORT_SYMBOL
0x93fca811 __get_free_pages vmlinux EXPORT_SYMBOL
0xf389fe60 __hw_addr_init vmlinux EXPORT_SYMBOL
0x85ffcda1 __init_rwsem vmlinux EXPORT_SYMBOL
0xe3f29f70 __init_waitqueue_head vmlinux EXPORT_SYMBOL
0x8b8de8ae __ioremap vmlinux EXPORT_SYMBOL
0x45a55ec8 __iounmap vmlinux EXPORT_SYMBOL
0x5b960eb1 __ip_queue_xmit vmlinux EXPORT_SYMBOL
0x0d542439 __ipv6_addr_type vmlinux EXPORT_SYMBOL
0xd2b09ce5 __kmalloc vmlinux EXPORT_SYMBOL
0x68f31cbd __list_add_valid vmlinux EXPORT_SYMBOL
0xe1537255 __list_del_entry_valid vmlinux EXPORT_SYMBOL
0x3c3fce39 __local_bh_enable_ip vmlinux EXPORT_SYMBOL
0x8218e49b __lock_page vmlinux EXPORT_SYMBOL
0x0eab5cd4 __mmu_notifier_register vmlinux EXPORT_SYMBOL_GPL
0xebbb3390 __module_get vmlinux EXPORT_SYMBOL
0x7f02188f __msecs_to_jiffies vmlinux EXPORT_SYMBOL
0x93178084 __mutex_init vmlinux EXPORT_SYMBOL
0x3022d5be __napi_schedule vmlinux EXPORT_SYMBOL
0xb3d364d8 __netdev_alloc_skb vmlinux EXPORT_SYMBOL
0x465585ad __netif_napi_del vmlinux EXPORT_SYMBOL
0x46c47fb6 __node_distance vmlinux EXPORT_SYMBOL
0x9ac40166 __page_file_index vmlinux EXPORT_SYMBOL_GPL
0xb6d1e6c9 __page_mapcount vmlinux EXPORT_SYMBOL_GPL
0x56f09de5 __pagevec_release vmlinux EXPORT_SYMBOL
0x499bfc6d __per_cpu_offset vmlinux EXPORT_SYMBOL
0x6128b5fc __printk_ratelimit vmlinux EXPORT_SYMBOL
0x1c7f2961 __pskb_pull_tail vmlinux EXPORT_SYMBOL
0xeb94d60b __put_cred vmlinux EXPORT_SYMBOL
0xccbfcd34 __put_page vmlinux EXPORT_SYMBOL
0x6301916d __put_task_struct vmlinux EXPORT_SYMBOL_GPL
0xdee37668 __register_chrdev vmlinux EXPORT_SYMBOL
0xe45c1b14 __release_region vmlinux EXPORT_SYMBOL
0x5eba9410 __request_region vmlinux EXPORT_SYMBOL
0xa2beceb1 __scsi_execute vmlinux EXPORT_SYMBOL
0x5490149f __scsi_iterate_devices vmlinux EXPORT_SYMBOL
0xb5892fee __skb_gso_segment vmlinux EXPORT_SYMBOL
0x33bac18a __skb_pad vmlinux EXPORT_SYMBOL
0xdb7305a1 __stack_chk_fail vmlinux EXPORT_SYMBOL
0x56c083d3 __task_pid_nr_ns vmlinux EXPORT_SYMBOL
0x0faef0ed __tasklet_schedule vmlinux EXPORT_SYMBOL
0x6bc3fbc0 __unregister_chrdev vmlinux EXPORT_SYMBOL
0xf1969a8e __usecs_to_jiffies vmlinux EXPORT_SYMBOL
0x8e879bb7 __vmalloc vmlinux EXPORT_SYMBOL
0xfdd6bbad __wake_up vmlinux EXPORT_SYMBOL
0xad27f361 __warn_printk vmlinux EXPORT_SYMBOL
0x81a07f4e _atomic_dec_and_lock vmlinux EXPORT_SYMBOL
0xa1c76e0a _cond_resched vmlinux EXPORT_SYMBOL
0x362ef408 _copy_from_user vmlinux EXPORT_SYMBOL
0xb44ad4b3 _copy_to_user vmlinux EXPORT_SYMBOL
0x11089ac7 _ctype vmlinux EXPORT_SYMBOL
0x89797060 _raw_read_lock vmlinux EXPORT_SYMBOL
0x4c11435a _raw_read_lock_bh vmlinux EXPORT_SYMBOL
0x7c003aef _raw_read_lock_irq vmlinux EXPORT_SYMBOL
0xbfb8b0b7 _raw_read_lock_irqsave vmlinux EXPORT_SYMBOL
0xfdb6cedc _raw_read_unlock_bh vmlinux EXPORT_SYMBOL
0xcc17504d _raw_read_unlock_irqrestore vmlinux EXPORT_SYMBOL
0xde48e9ca _raw_spin_lock vmlinux EXPORT_SYMBOL
0xaf063510 _raw_spin_lock_bh vmlinux EXPORT_SYMBOL
0xcd0529c7 _raw_spin_lock_irq vmlinux EXPORT_SYMBOL
0xf5222143 _raw_spin_lock_irqsave vmlinux EXPORT_SYMBOL
0x9d7ce8dd _raw_spin_trylock vmlinux EXPORT_SYMBOL
0xe4fe8ca1 _raw_spin_unlock_bh vmlinux EXPORT_SYMBOL
0x5c37f319 _raw_spin_unlock_irqrestore vmlinux EXPORT_SYMBOL
0xac26b820 _raw_write_lock vmlinux EXPORT_SYMBOL
0xc47cdf9c _raw_write_lock_bh vmlinux EXPORT_SYMBOL
0x0e8f30f6 _raw_write_lock_irq vmlinux EXPORT_SYMBOL
0xaa6e4df5 _raw_write_lock_irqsave vmlinux EXPORT_SYMBOL
0x99afe916 _raw_write_unlock_bh vmlinux EXPORT_SYMBOL
0xae545f06 _raw_write_unlock_irqrestore vmlinux EXPORT_SYMBOL
0x318f7969 add_timer vmlinux EXPORT_SYMBOL
0x1e875885 add_wait_queue vmlinux EXPORT_SYMBOL
0xcdc0349c add_wait_queue_exclusive vmlinux EXPORT_SYMBOL
0xe3ec2f2b alloc_chrdev_region vmlinux EXPORT_SYMBOL
0x4f2300da alloc_etherdev_mqs vmlinux EXPORT_SYMBOL
0x4f50e6bf alloc_netdev_mqs vmlinux EXPORT_SYMBOL
0x706edf8d alloc_pages_current vmlinux EXPORT_SYMBOL
0x25301bc6 arch_wb_cache_pmem vmlinux EXPORT_SYMBOL
0x836d61d0 atomic_notifier_chain_register vmlinux EXPORT_SYMBOL_GPL
0xb5aa10af atomic_notifier_chain_unregister vmlinux EXPORT_SYMBOL_GPL
0xad73041f autoremove_wake_function vmlinux EXPORT_SYMBOL
0xc95bd655 bdev_read_only vmlinux EXPORT_SYMBOL
0x26a28c24 bdevname vmlinux EXPORT_SYMBOL
0x04d005e9 bdget vmlinux EXPORT_SYMBOL
0x49f98962 bdget_disk vmlinux EXPORT_SYMBOL
0xdafcc31e bdput vmlinux EXPORT_SYMBOL
0xc93d6ffd bio_add_page vmlinux EXPORT_SYMBOL
0x2fa51f6a bio_alloc_bioset vmlinux EXPORT_SYMBOL
0x5e4d1389 bio_associate_blkg vmlinux EXPORT_SYMBOL_GPL
0x9383d8ae bio_clone_fast vmlinux EXPORT_SYMBOL
0xdb5cfff3 bio_endio vmlinux EXPORT_SYMBOL
0xe4a1a0e7 bio_free_pages vmlinux EXPORT_SYMBOL
0x79274a8e bio_init vmlinux EXPORT_SYMBOL
0x3be99598 bio_put vmlinux EXPORT_SYMBOL
0xb6e127fe bioset_exit vmlinux EXPORT_SYMBOL
0xc202aa37 bioset_init vmlinux EXPORT_SYMBOL
0x16e297c3 bit_wait vmlinux EXPORT_SYMBOL
0x63a7c28c bitmap_find_free_region vmlinux EXPORT_SYMBOL
0x1b015d25 bitmap_parselist vmlinux EXPORT_SYMBOL
0xf474c21c bitmap_print_to_pagebuf vmlinux EXPORT_SYMBOL
0x574c2e74 bitmap_release_region vmlinux EXPORT_SYMBOL
0x3bd45587 blk_alloc_queue vmlinux EXPORT_SYMBOL
0xd27b25dd blk_check_plugged vmlinux EXPORT_SYMBOL
0xfbc0b865 blk_cleanup_queue vmlinux EXPORT_SYMBOL
0x17e2528e blk_execute_rq vmlinux EXPORT_SYMBOL
0x06143169 blk_execute_rq_nowait vmlinux EXPORT_SYMBOL_GPL
0xf2215f74 blk_finish_plug vmlinux EXPORT_SYMBOL
0xb041390d blk_get_request vmlinux EXPORT_SYMBOL
0xf2c723f9 blk_mq_end_request vmlinux EXPORT_SYMBOL
0xef8da47b blk_mq_run_hw_queues vmlinux EXPORT_SYMBOL
0xb80386aa blk_mq_tag_to_rq vmlinux EXPORT_SYMBOL
0xc8c293b0 blk_mq_unique_tag vmlinux EXPORT_SYMBOL
0x7da4e490 blk_put_request vmlinux EXPORT_SYMBOL
0xec62788a blk_queue_bounce_limit vmlinux EXPORT_SYMBOL
0x167fb27c blk_queue_dma_alignment vmlinux EXPORT_SYMBOL
0xb60944e8 blk_queue_flag_clear vmlinux EXPORT_SYMBOL
0xf401fc91 blk_queue_flag_set vmlinux EXPORT_SYMBOL
0x3301ae3b blk_queue_io_min vmlinux EXPORT_SYMBOL
0xb044ed63 blk_queue_io_opt vmlinux EXPORT_SYMBOL
0x0d0bd454 blk_queue_logical_block_size vmlinux EXPORT_SYMBOL
0x51456866 blk_queue_make_request vmlinux EXPORT_SYMBOL
0xc96a3797 blk_queue_max_discard_sectors vmlinux EXPORT_SYMBOL
0xd296be7e blk_queue_max_hw_sectors vmlinux EXPORT_SYMBOL
0x6597e1f5 blk_queue_max_segment_size vmlinux EXPORT_SYMBOL
0xf22eba89 blk_queue_max_segments vmlinux EXPORT_SYMBOL
0x0f0d3fed blk_queue_max_write_same_sectors vmlinux EXPORT_SYMBOL
0xbde4727f blk_queue_physical_block_size vmlinux EXPORT_SYMBOL
0x3cdfcc78 blk_queue_rq_timeout vmlinux EXPORT_SYMBOL_GPL
0x42a7b063 blk_queue_segment_boundary vmlinux EXPORT_SYMBOL
0x7e1da995 blk_queue_split vmlinux EXPORT_SYMBOL
0xd8e1c056 blk_queue_stack_limits vmlinux EXPORT_SYMBOL
0xbfbeed39 blk_queue_update_dma_alignment vmlinux EXPORT_SYMBOL
0x642e93ed blk_queue_virt_boundary vmlinux EXPORT_SYMBOL
0xb2b56a22 blk_queue_write_cache vmlinux EXPORT_SYMBOL_GPL
0x1acb3f36 blk_rq_append_bio vmlinux EXPORT_SYMBOL
0x45eafe77 blk_rq_map_kern vmlinux EXPORT_SYMBOL
0xf1b1a8ba blk_rq_map_user_iov vmlinux EXPORT_SYMBOL
0x9faea3c8 blk_rq_unmap_user vmlinux EXPORT_SYMBOL
0x506fbfbe blk_set_stacking_limits vmlinux EXPORT_SYMBOL
0x7a9b37e8 blk_start_plug vmlinux EXPORT_SYMBOL
0x84502a47 blk_status_to_errno vmlinux EXPORT_SYMBOL_GPL
0x22339412 blk_verify_command vmlinux EXPORT_SYMBOL
0xcf04e564 blkdev_fsync vmlinux EXPORT_SYMBOL
0x63a46f8f blkdev_get vmlinux EXPORT_SYMBOL
0xd441ce00 blkdev_get_by_dev vmlinux EXPORT_SYMBOL
0x729bbb38 blkdev_get_by_path vmlinux EXPORT_SYMBOL
0xe832978f blkdev_issue_discard vmlinux EXPORT_SYMBOL
0x2aa3d6aa blkdev_issue_write_same vmlinux EXPORT_SYMBOL
0x8e881f70 blkdev_issue_zeroout vmlinux EXPORT_SYMBOL
0x6ac252dc blkdev_put vmlinux EXPORT_SYMBOL
0x76bf7be8 blocking_notifier_call_chain vmlinux EXPORT_SYMBOL_GPL
0x9cc76645 blocking_notifier_chain_register vmlinux EXPORT_SYMBOL_GPL
0x1482a5ff blocking_notifier_chain_unregister vmlinux EXPORT_SYMBOL_GPL
0x2e1c1d6d bsg_job_done vmlinux EXPORT_SYMBOL_GPL
0x28aa6a67 call_rcu vmlinux EXPORT_SYMBOL_GPL
0xa7eedcc4 call_usermodehelper vmlinux EXPORT_SYMBOL
0xb5a8d234 cancel_delayed_work vmlinux EXPORT_SYMBOL
0x68f927fb cancel_delayed_work_sync vmlinux EXPORT_SYMBOL
0x81b1b255 cancel_work_sync vmlinux EXPORT_SYMBOL_GPL
0xc6cbbc89 capable vmlinux EXPORT_SYMBOL
0x0f71855d cdev_add vmlinux EXPORT_SYMBOL
0x25f1ca58 cdev_alloc vmlinux EXPORT_SYMBOL
0x8c8a9e76 cdev_del vmlinux EXPORT_SYMBOL
0xb272d980 cdev_init vmlinux EXPORT_SYMBOL
0xcedfad7e class_destroy vmlinux EXPORT_SYMBOL_GPL
0x11c02784 class_unregister vmlinux EXPORT_SYMBOL_GPL
0xf883a655 clear_inode vmlinux EXPORT_SYMBOL
0x2b5f7505 clear_nlink vmlinux EXPORT_SYMBOL
0xf0d61d9c commit_creds vmlinux EXPORT_SYMBOL
0x86b18094 complete vmlinux EXPORT_SYMBOL
0xce54c938 complete_all vmlinux EXPORT_SYMBOL
0x17ca4a75 complete_and_exit vmlinux EXPORT_SYMBOL
0xbaa03c4f consume_skb vmlinux EXPORT_SYMBOL
0x1389da84 cpu_bit_bitmap vmlinux EXPORT_SYMBOL_GPL
0xe314e8fb cpu_core_map vmlinux EXPORT_SYMBOL
0x76b59b33 cpu_sibling_map vmlinux EXPORT_SYMBOL
0x7c46233a cpufreq_quick_get vmlinux EXPORT_SYMBOL
0xbe10340d cpumask_next vmlinux EXPORT_SYMBOL
0x82d6b0d0 cpumask_next_and vmlinux EXPORT_SYMBOL
0xa04f945a cpus_read_lock vmlinux EXPORT_SYMBOL_GPL
0x18fb2caf cpus_read_unlock vmlinux EXPORT_SYMBOL_GPL
0xfb5a22d2 create_empty_buffers vmlinux EXPORT_SYMBOL
0xd6b78945 crypto_ahash_digest vmlinux EXPORT_SYMBOL_GPL
0xed9ce398 crypto_ahash_final vmlinux EXPORT_SYMBOL_GPL
0x680d34f7 crypto_ahash_setkey vmlinux EXPORT_SYMBOL_GPL
0x15e10691 crypto_alloc_ahash vmlinux EXPORT_SYMBOL_GPL
0xab8484f3 crypto_destroy_tfm vmlinux EXPORT_SYMBOL_GPL
0x85d4826a crypto_register_shash vmlinux EXPORT_SYMBOL_GPL
0xb9b1170a crypto_unregister_shash vmlinux EXPORT_SYMBOL_GPL
0x4d65cbd5 csum_ipv6_magic vmlinux EXPORT_SYMBOL
0x9b8c2b15 current_time vmlinux EXPORT_SYMBOL
0xe76c170a d_add vmlinux EXPORT_SYMBOL
0x215d090a d_drop vmlinux EXPORT_SYMBOL
0x43b0d275 d_instantiate vmlinux EXPORT_SYMBOL
0x72abfd0d d_make_root vmlinux EXPORT_SYMBOL
0xaab920de d_obtain_alias vmlinux EXPORT_SYMBOL
0x8609823d d_prune_aliases vmlinux EXPORT_SYMBOL
0x6d32959a deactivate_super vmlinux EXPORT_SYMBOL
0x83290c21 default_llseek vmlinux EXPORT_SYMBOL
0xaad8c7d6 default_wake_function vmlinux EXPORT_SYMBOL
0xd63ecb11 del_gendisk vmlinux EXPORT_SYMBOL
0xfa5223cc del_timer vmlinux EXPORT_SYMBOL
0xec02a35f del_timer_sync vmlinux EXPORT_SYMBOL
0x0c1c794e delayed_work_timer_fn vmlinux EXPORT_SYMBOL
0x770d8b9a dentry_open vmlinux EXPORT_SYMBOL
0x8c03d20c destroy_workqueue vmlinux EXPORT_SYMBOL_GPL
0x3b2649d5 dev_add_pack vmlinux EXPORT_SYMBOL
0x17648396 dev_base_lock vmlinux EXPORT_SYMBOL
0x128b438e dev_close vmlinux EXPORT_SYMBOL
0xc4c53c5a dev_get_by_index vmlinux EXPORT_SYMBOL
0x9b061ec6 dev_get_by_name vmlinux EXPORT_SYMBOL
0x4dcc9784 dev_mc_add vmlinux EXPORT_SYMBOL
0x18293499 dev_mc_add_excl vmlinux EXPORT_SYMBOL
0xdaab3cc9 dev_mc_add_global vmlinux EXPORT_SYMBOL
0xdc65877f dev_mc_del vmlinux EXPORT_SYMBOL
0xc7cf2b57 dev_mc_del_global vmlinux EXPORT_SYMBOL
0x2646aca5 dev_queue_xmit vmlinux EXPORT_SYMBOL
0x0f345759 dev_remove_pack vmlinux EXPORT_SYMBOL
0x81bb630c dev_set_mac_address vmlinux EXPORT_SYMBOL
0xed26c2e8 dev_set_mtu vmlinux EXPORT_SYMBOL
0x5a7963bd dev_set_promiscuity vmlinux EXPORT_SYMBOL
0x70df7a6c dev_uc_add_excl vmlinux EXPORT_SYMBOL
0x697cc68b device_add_disk vmlinux EXPORT_SYMBOL
0x97c5ca02 device_create vmlinux EXPORT_SYMBOL_GPL
0xaef0f53d device_destroy vmlinux EXPORT_SYMBOL_GPL
0x0c5cab1d dget_parent vmlinux EXPORT_SYMBOL
0x3ce4ca6f disable_irq vmlinux EXPORT_SYMBOL
0x495cd368 dma_get_required_mask vmlinux EXPORT_SYMBOL_GPL
0x72a05d02 dma_set_coherent_mask vmlinux EXPORT_SYMBOL
0x89d4d619 dma_set_mask vmlinux EXPORT_SYMBOL
0x4f68e5c9 do_gettimeofday vmlinux EXPORT_SYMBOL
0xdc9498dd down vmlinux EXPORT_SYMBOL
0x4289f7df down_interruptible vmlinux EXPORT_SYMBOL
0xe2f335e6 down_read vmlinux EXPORT_SYMBOL
0x66c2d037 down_read_trylock vmlinux EXPORT_SYMBOL
0x7bcc3ec6 down_trylock vmlinux EXPORT_SYMBOL
0x53279303 down_write vmlinux EXPORT_SYMBOL
0x2c51690c down_write_trylock vmlinux EXPORT_SYMBOL
0x29397620 downgrade_write vmlinux EXPORT_SYMBOL
0xa39e1127 dput vmlinux EXPORT_SYMBOL
0xad580bc5 dst_release vmlinux EXPORT_SYMBOL
0x6b2dc060 dump_stack vmlinux EXPORT_SYMBOL
0xd0c05159 emergency_restart vmlinux EXPORT_SYMBOL_GPL
0xfcec0987 enable_irq vmlinux EXPORT_SYMBOL
0x612bfd89 errno_to_blk_status vmlinux EXPORT_SYMBOL_GPL
0x7c57e64e eth_get_headlen vmlinux EXPORT_SYMBOL
0x3a968436 eth_type_trans vmlinux EXPORT_SYMBOL
0x11bf1116 eth_validate_addr vmlinux EXPORT_SYMBOL
0x3c8d07f4 ether_setup vmlinux EXPORT_SYMBOL
0x8f996a30 ethtool_convert_legacy_u32_to_link_mode vmlinux EXPORT_SYMBOL
0x55e31703 ethtool_convert_link_mode_to_legacy_u32 vmlinux EXPORT_SYMBOL
0xf0819cd7 ethtool_op_get_link vmlinux EXPORT_SYMBOL
0x72ecfb60 fc_remove_host drivers/scsi/scsi_transport_fc EXPORT_SYMBOL
0x6f604080 fget vmlinux EXPORT_SYMBOL
0x1fce28b4 filemap_fault vmlinux EXPORT_SYMBOL
0x73ea0039 filp_close vmlinux EXPORT_SYMBOL
0xfa48c755 filp_open vmlinux EXPORT_SYMBOL
0xc0a3d105 find_next_bit vmlinux EXPORT_SYMBOL
0x479c3c86 find_next_zero_bit vmlinux EXPORT_SYMBOL
0x925ecc1c find_pid_ns vmlinux EXPORT_SYMBOL_GPL
0xc8acd63b find_vma vmlinux EXPORT_SYMBOL
0xcb2ea0b5 finish_wait vmlinux EXPORT_SYMBOL
0x9e320ced flush_signals vmlinux EXPORT_SYMBOL
0x42160169 flush_workqueue vmlinux EXPORT_SYMBOL
0x0318bd7c force_sig vmlinux EXPORT_SYMBOL
0xcbd4898c fortify_panic vmlinux EXPORT_SYMBOL
0x88e09c58 fput vmlinux EXPORT_SYMBOL
0xc1514a3b free_irq vmlinux EXPORT_SYMBOL
0x61ae3cb3 free_netdev vmlinux EXPORT_SYMBOL
0x4302d0eb free_pages vmlinux EXPORT_SYMBOL
0xeca6a1c9 freeze_bdev vmlinux EXPORT_SYMBOL
0x0d668bdf from_kgid vmlinux EXPORT_SYMBOL
0x412ea5ab from_kuid vmlinux EXPORT_SYMBOL
0xd8a1f9d7 fs_bio_set vmlinux EXPORT_SYMBOL
0x84e40240 fsync_bdev vmlinux EXPORT_SYMBOL
0xd781320c generic_end_io_acct vmlinux EXPORT_SYMBOL
0x95100200 generic_file_llseek vmlinux EXPORT_SYMBOL
0xe6c12425 generic_file_open vmlinux EXPORT_SYMBOL
0x9c6a77c2 generic_fillattr vmlinux EXPORT_SYMBOL
0x88da4ba6 generic_make_request vmlinux EXPORT_SYMBOL
0xe7e933d5 generic_permission vmlinux EXPORT_SYMBOL
0x12e610b2 generic_read_dir vmlinux EXPORT_SYMBOL
0xff731d53 generic_shutdown_super vmlinux EXPORT_SYMBOL
0xd14dd387 generic_start_io_acct vmlinux EXPORT_SYMBOL
0x13835e2c genl_register_family vmlinux EXPORT_SYMBOL
0xde4bc7e8 genl_unregister_family vmlinux EXPORT_SYMBOL
0x53716976 genlmsg_put vmlinux EXPORT_SYMBOL
0x7db57ca1 get_fs_type vmlinux EXPORT_SYMBOL
0x70a08a1a get_gendisk vmlinux EXPORT_SYMBOL
0x79aa04a2 get_random_bytes vmlinux EXPORT_SYMBOL
0x405c1144 get_seconds vmlinux EXPORT_SYMBOL
0xca422a53 get_task_mm vmlinux EXPORT_SYMBOL_GPL
0xfbc324e2 get_user_pages vmlinux EXPORT_SYMBOL
0xe2770924 get_user_pages_remote vmlinux EXPORT_SYMBOL
0x9b388444 get_zeroed_page vmlinux EXPORT_SYMBOL
0x3e2b0ba6 groups_alloc vmlinux EXPORT_SYMBOL
0x643d9ba1 groups_free vmlinux EXPORT_SYMBOL
0x004fb4d3 hrtimer_cancel vmlinux EXPORT_SYMBOL_GPL
0x11d2e344 hrtimer_forward vmlinux EXPORT_SYMBOL_GPL
0xc7a8cdd3 hrtimer_init vmlinux EXPORT_SYMBOL_GPL
0x45c6f660 hrtimer_start_range_ns vmlinux EXPORT_SYMBOL_GPL
0xa76b636c hrtimer_try_to_cancel vmlinux EXPORT_SYMBOL_GPL
0x793cd7ca igrab vmlinux EXPORT_SYMBOL
0x39461d6a in_egroup_p vmlinux EXPORT_SYMBOL
0x8b8059bd in_group_p vmlinux EXPORT_SYMBOL
0x0ebca6a6 inet_add_protocol vmlinux EXPORT_SYMBOL
0x72a52e4e inet_del_protocol vmlinux EXPORT_SYMBOL
0x6b8bd985 init_net vmlinux EXPORT_SYMBOL
0x379a6fa3 init_task vmlinux EXPORT_SYMBOL
0x4cc8f9c8 init_timer_key vmlinux EXPORT_SYMBOL
0xcd104c41 init_uts_ns vmlinux EXPORT_SYMBOL_GPL
0xfe487975 init_wait_entry vmlinux EXPORT_SYMBOL
0x0e0c42d5 inode_init_always vmlinux EXPORT_SYMBOL
0xc1062e70 inode_permission vmlinux EXPORT_SYMBOL
0x5ed90adc int_to_scsilun vmlinux EXPORT_SYMBOL
0x2a909b64 invalidate_partition vmlinux EXPORT_SYMBOL
0x93a6e0b2 io_schedule vmlinux EXPORT_SYMBOL
0xfbc4f89e io_schedule_timeout vmlinux EXPORT_SYMBOL
0x8e82828e iomem_resource vmlinux EXPORT_SYMBOL
0xedc03953 iounmap vmlinux EXPORT_SYMBOL
0xc4d9f382 ipmi_create_user drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
0xf388b18b ipmi_destroy_user drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
0xd1f579d0 ipmi_free_recv_msg drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
0xf5531bea ipmi_poll_interface drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
0xbefa94a8 ipmi_register_smi drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
0x4c2054d7 ipmi_request_settime drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
0x50f65edf ipmi_set_gets_events drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
0xfaaa4831 ipmi_set_my_address drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
0xa19985b7 ipmi_smi_msg_received drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
0xe4330a39 ipmi_unregister_smi drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
0xe4f4665b ipmi_validate_addr drivers/char/ipmi/ipmi_msghandler EXPORT_SYMBOL
0xdde2e42b iput vmlinux EXPORT_SYMBOL
0x3fb2bd8a irq_set_affinity_hint vmlinux EXPORT_SYMBOL_GPL
0x6df086a9 iterate_dir vmlinux EXPORT_SYMBOL
0x02df50b0 jiffies vmlinux EXPORT_SYMBOL
0x23619cff jiffies_64 vmlinux EXPORT_SYMBOL
0x37befc70 jiffies_to_msecs vmlinux EXPORT_SYMBOL
0x188ea314 jiffies_to_timespec64 vmlinux EXPORT_SYMBOL
0x7f24de73 jiffies_to_usecs vmlinux EXPORT_SYMBOL
0x44b5ee9a kasprintf vmlinux EXPORT_SYMBOL
0xc1695596 kern_path vmlinux EXPORT_SYMBOL
0xcbc738dc kernel_recvmsg vmlinux EXPORT_SYMBOL
0x3c89b8de kernel_sendmsg vmlinux EXPORT_SYMBOL
0xcac4c99d kernel_setsockopt vmlinux EXPORT_SYMBOL
0x265bbef9 kexec_crash_loaded vmlinux EXPORT_SYMBOL_GPL
0x037a0cba kfree vmlinux EXPORT_SYMBOL
0x19f462ab kfree_call_rcu vmlinux EXPORT_SYMBOL_GPL
0xc4455496 kfree_skb vmlinux EXPORT_SYMBOL
0xc745adda kfree_skb_reason vmlinux EXPORT_SYMBOL
0xb1b2910d kill_anon_super vmlinux EXPORT_SYMBOL
0x722787fb kill_block_super vmlinux EXPORT_SYMBOL
0x9fea59e6 kmalloc_caches vmlinux EXPORT_SYMBOL
0xa202a8e5 kmalloc_order_trace vmlinux EXPORT_SYMBOL
0x95d11f02 kmem_cache_alloc vmlinux EXPORT_SYMBOL
0x5c2ec2e9 kmem_cache_alloc_node vmlinux EXPORT_SYMBOL
0x520182d8 kmem_cache_alloc_node_trace vmlinux EXPORT_SYMBOL
0x02ef7df2 kmem_cache_alloc_trace vmlinux EXPORT_SYMBOL
0xeba4e118 kmem_cache_create vmlinux EXPORT_SYMBOL
0xc5ff13f3 kmem_cache_create_usercopy vmlinux EXPORT_SYMBOL
0x72c085cb kmem_cache_destroy vmlinux EXPORT_SYMBOL
0x2256aa0e kmem_cache_free vmlinux EXPORT_SYMBOL
0x0b0c4ae0 kmem_cache_shrink vmlinux EXPORT_SYMBOL
0x40e308cc kobject_add vmlinux EXPORT_SYMBOL
0x71f56a28 kobject_create_and_add vmlinux EXPORT_SYMBOL_GPL
0xd896d94b kobject_del vmlinux EXPORT_SYMBOL
0x787d886d kobject_get vmlinux EXPORT_SYMBOL
0x2f602452 kobject_init vmlinux EXPORT_SYMBOL
0x9c38868d kobject_init_and_add vmlinux EXPORT_SYMBOL_GPL
0x679ca598 kobject_put vmlinux EXPORT_SYMBOL
0x6039d1aa kobject_set_name vmlinux EXPORT_SYMBOL
0xb2b088f7 kobject_uevent_env vmlinux EXPORT_SYMBOL_GPL
0x85f5e2aa krealloc vmlinux EXPORT_SYMBOL
0x83664397 kset_create_and_add vmlinux EXPORT_SYMBOL_GPL
0x2c5d4b84 kset_find_obj vmlinux EXPORT_SYMBOL_GPL
0x933e7222 kset_register vmlinux EXPORT_SYMBOL
0x2c1bca87 kset_unregister vmlinux EXPORT_SYMBOL
0xc499ae1e kstrdup vmlinux EXPORT_SYMBOL
0xaf6ae696 kstrndup vmlinux EXPORT_SYMBOL
0x752d5f5b kstrtobool vmlinux EXPORT_SYMBOL
0xc6c09e43 kstrtobool_from_user vmlinux EXPORT_SYMBOL
0x373db350 kstrtoint vmlinux EXPORT_SYMBOL
0x10f1064d kstrtoint_from_user vmlinux EXPORT_SYMBOL
0x1b17e06c kstrtoll vmlinux EXPORT_SYMBOL
0x42adadb9 kstrtoll_from_user vmlinux EXPORT_SYMBOL
0x3fa0d062 kstrtou16 vmlinux EXPORT_SYMBOL
0xa46f2f1b kstrtouint vmlinux EXPORT_SYMBOL
0xdc20f322 kstrtouint_from_user vmlinux EXPORT_SYMBOL
0x7c3aaa29 kstrtoul_from_user vmlinux EXPORT_SYMBOL
0x060ea2d6 kstrtoull vmlinux EXPORT_SYMBOL
0x886ce541 kstrtoull_from_user vmlinux EXPORT_SYMBOL
0x4f45403d kthread_bind vmlinux EXPORT_SYMBOL
0xdb17e531 kthread_create_on_node vmlinux EXPORT_SYMBOL
0xb3f7646e kthread_should_stop vmlinux EXPORT_SYMBOL
0x08aa79b9 kthread_stop vmlinux EXPORT_SYMBOL
0xb43f9365 ktime_get vmlinux EXPORT_SYMBOL_GPL
0x484f6edf ktime_get_coarse_real_ts64 vmlinux EXPORT_SYMBOL
0x1edb69d6 ktime_get_raw_ts64 vmlinux EXPORT_SYMBOL
0x953e1b9e ktime_get_real_seconds vmlinux EXPORT_SYMBOL_GPL
0x9ec6ca96 ktime_get_real_ts64 vmlinux EXPORT_SYMBOL
0xa9320d27 ktime_get_seconds vmlinux EXPORT_SYMBOL_GPL
0x5e515be6 ktime_get_ts64 vmlinux EXPORT_SYMBOL_GPL
0xc4f0da12 ktime_get_with_offset vmlinux EXPORT_SYMBOL_GPL
0x5c017464 kvasprintf vmlinux EXPORT_SYMBOL
0x7aa1756e kvfree vmlinux EXPORT_SYMBOL
0x7a4497db kzfree vmlinux EXPORT_SYMBOL
0x9b6c6695 lock_page_memcg vmlinux EXPORT_SYMBOL
0x05119f43 lock_sock_nested vmlinux EXPORT_SYMBOL
0xb473e2c2 lockref_get vmlinux EXPORT_SYMBOL
0x61fb7a9f lookup_one_len vmlinux EXPORT_SYMBOL
0xd7516168 make_kgid vmlinux EXPORT_SYMBOL
0xa273b345 make_kuid vmlinux EXPORT_SYMBOL
0x3a9585b4 mark_buffer_dirty vmlinux EXPORT_SYMBOL
0x267a05eb mark_page_accessed vmlinux EXPORT_SYMBOL
0xacf4d843 match_strdup vmlinux EXPORT_SYMBOL
0x44e9a829 match_token vmlinux EXPORT_SYMBOL
0x54c99fac mem_section vmlinux EXPORT_SYMBOL
0xa07a37f0 memchr vmlinux EXPORT_SYMBOL
0x1c3e02e4 memcmp vmlinux EXPORT_SYMBOL
0x4829a47e memcpy vmlinux EXPORT_SYMBOL
0x5a9f1d63 memmove vmlinux EXPORT_SYMBOL
0x27864d57 memparse vmlinux EXPORT_SYMBOL
0xd05dbae2 mempool_alloc vmlinux EXPORT_SYMBOL
0x183fa88b mempool_alloc_slab vmlinux EXPORT_SYMBOL
0xf6156d7c mempool_create vmlinux EXPORT_SYMBOL
0x124c832f mempool_destroy vmlinux EXPORT_SYMBOL
0x483a62ce mempool_free vmlinux EXPORT_SYMBOL
0x8a99a016 mempool_free_slab vmlinux EXPORT_SYMBOL
0xf812cff6 memscan vmlinux EXPORT_SYMBOL
0xdcb764ad memset vmlinux EXPORT_SYMBOL
0xae87cad0 memstart_addr vmlinux EXPORT_SYMBOL_GPL
0x8e3ca75a misc_deregister vmlinux EXPORT_SYMBOL
0x5f96c76a misc_register vmlinux EXPORT_SYMBOL
0x74267b6a mmput vmlinux EXPORT_SYMBOL_GPL
0xe7bb9278 mmu_notifier_register vmlinux EXPORT_SYMBOL_GPL
0x108aece2 mmu_notifier_unregister vmlinux EXPORT_SYMBOL_GPL
0x55cf1d09 mntget vmlinux EXPORT_SYMBOL
0x19735022 mntput vmlinux EXPORT_SYMBOL
0xebca8b54 mod_delayed_work_on vmlinux EXPORT_SYMBOL_GPL
0x28985b9f mod_timer vmlinux EXPORT_SYMBOL
0xaac80d5b mod_timer_pending vmlinux EXPORT_SYMBOL
0x0cb17aa0 module_put vmlinux EXPORT_SYMBOL
0xc67fd5d6 module_refcount vmlinux EXPORT_SYMBOL
0xf9a482f9 msleep vmlinux EXPORT_SYMBOL
0x0acd8cc7 mutex_lock vmlinux EXPORT_SYMBOL
0xfe9919db mutex_lock_killable vmlinux EXPORT_SYMBOL
0xdb145de4 mutex_trylock vmlinux EXPORT_SYMBOL
0xacccd1c7 mutex_unlock vmlinux EXPORT_SYMBOL
0x29a25f73 napi_complete_done vmlinux EXPORT_SYMBOL
0x55e7de77 napi_disable vmlinux EXPORT_SYMBOL
0xa80e6889 napi_enable vmlinux EXPORT_SYMBOL
0x6789c30a napi_gro_receive vmlinux EXPORT_SYMBOL
0xb4437d66 napi_schedule_prep vmlinux EXPORT_SYMBOL
0x5a9823f6 ndo_dflt_bridge_getlink vmlinux EXPORT_SYMBOL_GPL
0xf6ebc03b net_ratelimit vmlinux EXPORT_SYMBOL
0x0777fd42 netdev_err vmlinux EXPORT_SYMBOL
0x5f54724d netdev_features_change vmlinux EXPORT_SYMBOL
0x4804d3fc netdev_info vmlinux EXPORT_SYMBOL
0xa4cfa24c netdev_refcnt_read vmlinux EXPORT_SYMBOL
0x189cdfcf netdev_rx_handler_register vmlinux EXPORT_SYMBOL_GPL
0xe64a3332 netdev_rx_handler_unregister vmlinux EXPORT_SYMBOL_GPL
0xb5a76c55 netif_carrier_off vmlinux EXPORT_SYMBOL
0x5b30592f netif_carrier_on vmlinux EXPORT_SYMBOL
0x0ab7fbf3 netif_device_attach vmlinux EXPORT_SYMBOL
0x61cc33fc netif_device_detach vmlinux EXPORT_SYMBOL
0x2570dcf9 netif_napi_add vmlinux EXPORT_SYMBOL
0x98dd9dec netif_napi_add_weight vmlinux EXPORT_SYMBOL
0xc5002b6c netif_napi_del vmlinux EXPORT_SYMBOL
0xa8d2ae03 netif_receive_skb vmlinux EXPORT_SYMBOL
0x6b481123 netif_rx vmlinux EXPORT_SYMBOL
0x991a9dee netif_schedule_queue vmlinux EXPORT_SYMBOL
0x39742c23 netif_set_real_num_rx_queues vmlinux EXPORT_SYMBOL
0xaee58318 netif_set_real_num_tx_queues vmlinux EXPORT_SYMBOL
0xd0704a02 netif_tx_stop_all_queues vmlinux EXPORT_SYMBOL
0x43f620f8 netif_tx_wake_queue vmlinux EXPORT_SYMBOL
0x7323b2b8 netlink_broadcast vmlinux EXPORT_SYMBOL
0xccb2f658 netlink_unicast vmlinux EXPORT_SYMBOL
0x3ed60697 new_inode vmlinux EXPORT_SYMBOL
0xfdc1bd61 nla_put vmlinux EXPORT_SYMBOL
0x21675c27 node_data vmlinux EXPORT_SYMBOL
0x7d9514c1 node_to_cpumask_map vmlinux EXPORT_SYMBOL
0x017de3d5 nr_cpu_ids vmlinux EXPORT_SYMBOL
0xfe26fc7c nr_node_ids vmlinux EXPORT_SYMBOL
0x1e1e140e ns_to_timespec64 vmlinux EXPORT_SYMBOL
0x2f548802 ns_to_timeval vmlinux EXPORT_SYMBOL
0xffae8e8b nsecs_to_jiffies vmlinux EXPORT_SYMBOL_GPL
0x618911fc numa_node vmlinux EXPORT_SYMBOL
0x5541ea93 on_each_cpu vmlinux EXPORT_SYMBOL
0x1984d421 out_of_line_wait_on_bit vmlinux EXPORT_SYMBOL
0xb4ed1542 override_creds vmlinux EXPORT_SYMBOL
0xe2f5c6dd page_mapped vmlinux EXPORT_SYMBOL
0x310cac87 pagevec_lookup_range vmlinux EXPORT_SYMBOL
0x93580f66 pagevec_lookup_range_tag vmlinux EXPORT_SYMBOL
0x7c1372e8 panic vmlinux EXPORT_SYMBOL
0x1af62a99 panic_notifier_list vmlinux EXPORT_SYMBOL
0xeeb5677c param_array_ops vmlinux EXPORT_SYMBOL
0xee37999d param_get_int vmlinux EXPORT_SYMBOL
0x558292a3 param_ops_bool vmlinux EXPORT_SYMBOL
0xe1416d38 param_ops_byte vmlinux EXPORT_SYMBOL
0x9346142d param_ops_charp vmlinux EXPORT_SYMBOL
0x8841d7a6 param_ops_int vmlinux EXPORT_SYMBOL
0x08849f3e param_ops_long vmlinux EXPORT_SYMBOL
0x1423a481 param_ops_short vmlinux EXPORT_SYMBOL
0xb632e17e param_ops_string vmlinux EXPORT_SYMBOL
0x21f07483 param_ops_uint vmlinux EXPORT_SYMBOL
0x4329fada param_ops_ulong vmlinux EXPORT_SYMBOL
0x845bf19c param_set_bool vmlinux EXPORT_SYMBOL
0x7f1e5415 param_set_int vmlinux EXPORT_SYMBOL
0x452956c3 path_put vmlinux EXPORT_SYMBOL
0xf31b03d7 pci_alloc_irq_vectors_affinity vmlinux EXPORT_SYMBOL
0xa88018ab pci_free_irq_vectors vmlinux EXPORT_SYMBOL
0x5b93719c pci_get_device vmlinux EXPORT_SYMBOL
0xa8a1f4b9 pci_irq_vector vmlinux EXPORT_SYMBOL
0xf8227d0c pci_read_config_byte vmlinux EXPORT_SYMBOL
0x72e97242 pci_read_config_dword vmlinux EXPORT_SYMBOL
0x68f62e8e pci_set_power_state vmlinux EXPORT_SYMBOL
0x2f86d362 pci_write_config_byte vmlinux EXPORT_SYMBOL
0xc91f2174 pci_write_config_dword vmlinux EXPORT_SYMBOL
0xaf552787 pcie_capability_clear_and_set_word vmlinux EXPORT_SYMBOL
0xd4341508 pcie_capability_read_dword vmlinux EXPORT_SYMBOL
0xaefdfc34 pcie_capability_read_word vmlinux EXPORT_SYMBOL
0x5ba85d00 pid_task vmlinux EXPORT_SYMBOL
0x60a32ea9 pm_power_off vmlinux EXPORT_SYMBOL_GPL
0x7647f63c prepare_creds vmlinux EXPORT_SYMBOL
0x2dc4e156 prepare_to_wait vmlinux EXPORT_SYMBOL
0x4488bc8a prepare_to_wait_event vmlinux EXPORT_SYMBOL
0x67f3d52d prepare_to_wait_exclusive vmlinux EXPORT_SYMBOL
0x86e03c0a print_stack_trace vmlinux EXPORT_SYMBOL_GPL
0x27e1a049 printk vmlinux EXPORT_SYMBOL
0xb6f8b121 pskb_expand_head vmlinux EXPORT_SYMBOL
0xf140518e put_disk vmlinux EXPORT_SYMBOL
0xd1e4ec46 queue_delayed_work_on vmlinux EXPORT_SYMBOL
0x121da905 queue_work_on vmlinux EXPORT_SYMBOL
0x0c250fa8 raid_class_attach drivers/scsi/raid_class EXPORT_SYMBOL
0x0ac73c38 raid_class_release drivers/scsi/raid_class EXPORT_SYMBOL
0x60a13e90 rcu_barrier vmlinux EXPORT_SYMBOL_GPL
0xacef9390 read_cache_pages vmlinux EXPORT_SYMBOL
0xfb6af58d recalc_sigpending vmlinux EXPORT_SYMBOL
0x71a50dbc register_blkdev vmlinux EXPORT_SYMBOL
0x21738ae4 register_filesystem vmlinux EXPORT_SYMBOL
0x60352082 register_inet6addr_notifier vmlinux EXPORT_SYMBOL
0xf68285c0 register_inetaddr_notifier vmlinux EXPORT_SYMBOL
0xece78940 register_netdev vmlinux EXPORT_SYMBOL
0xd2da1048 register_netdevice_notifier vmlinux EXPORT_SYMBOL
0x3517383e register_reboot_notifier vmlinux EXPORT_SYMBOL
0x8bded847 register_sysctl_table vmlinux EXPORT_SYMBOL
0xe5612323 release_sock vmlinux EXPORT_SYMBOL
0x45fbc758 remap_pfn_range vmlinux EXPORT_SYMBOL
0xec4fb493 remove_wait_queue vmlinux EXPORT_SYMBOL
0xd6b8e852 request_threaded_irq vmlinux EXPORT_SYMBOL
0x646324f1 revert_creds vmlinux EXPORT_SYMBOL
0xc7a4fbed rtnl_lock vmlinux EXPORT_SYMBOL
0x6e720ff2 rtnl_unlock vmlinux EXPORT_SYMBOL
0xb2ff65c1 sas_attach_transport drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
0x14889b25 sas_end_device_alloc drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
0x3fe6c634 sas_expander_alloc drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
0x5d763490 sas_phy_add drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
0x3dd88e57 sas_phy_alloc drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
0x1bc526e8 sas_phy_free drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
0x07494f0e sas_port_add drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
0xe4e71a67 sas_port_add_phy drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
0xc7cf0119 sas_port_alloc_num drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
0xd4d89336 sas_port_delete drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
0xc675bc0c sas_port_delete_phy drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
0x55430dcf sas_read_port_mode_page drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
0x6c734d81 sas_release_transport drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
0x42b487ee sas_remove_host drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
0xcf06224f sas_rphy_add drivers/scsi/scsi_transport_sas EXPORT_SYMBOL
0x4629baf2 save_stack_trace vmlinux EXPORT_SYMBOL_GPL
0xf6b9fe80 save_stack_trace_tsk vmlinux EXPORT_SYMBOL_GPL
0xf00a6c73 sched_setscheduler vmlinux EXPORT_SYMBOL_GPL
0x01000e51 schedule vmlinux EXPORT_SYMBOL
0x1f37cca7 schedule_hrtimeout_range vmlinux EXPORT_SYMBOL_GPL
0x8ddd8aad schedule_timeout vmlinux EXPORT_SYMBOL
0x054496b4 schedule_timeout_interruptible vmlinux EXPORT_SYMBOL
0x151f4898 schedule_timeout_uninterruptible vmlinux EXPORT_SYMBOL
0x2cde6db6 scmd_printk vmlinux EXPORT_SYMBOL
0x4ca9669f scnprintf vmlinux EXPORT_SYMBOL
0x88c4d6c9 scsi_add_device vmlinux EXPORT_SYMBOL
0x12df6747 scsi_add_host_with_dma vmlinux EXPORT_SYMBOL
0xa271c070 scsi_block_requests vmlinux EXPORT_SYMBOL
0xe02c3b1b scsi_change_queue_depth vmlinux EXPORT_SYMBOL
0x0fc9c7eb scsi_device_get vmlinux EXPORT_SYMBOL
0x3412d7fd scsi_device_lookup vmlinux EXPORT_SYMBOL
0x88010140 scsi_device_put vmlinux EXPORT_SYMBOL
0x2ebe7ce3 scsi_device_set_state vmlinux EXPORT_SYMBOL
0x72ea7b2d scsi_device_type vmlinux EXPORT_SYMBOL
0x9587afc5 scsi_dma_map vmlinux EXPORT_SYMBOL
0x2bceb8bd scsi_dma_unmap vmlinux EXPORT_SYMBOL
0x51f73b05 scsi_get_vpd_page vmlinux EXPORT_SYMBOL_GPL
0x76c77103 scsi_host_alloc vmlinux EXPORT_SYMBOL
0x3fc892b2 scsi_host_lookup vmlinux EXPORT_SYMBOL
0x1637f908 scsi_host_put vmlinux EXPORT_SYMBOL
0x2949f981 scsi_internal_device_block_nowait vmlinux EXPORT_SYMBOL_GPL
0x48c68c97 scsi_internal_device_unblock_nowait vmlinux EXPORT_SYMBOL_GPL
0x0e0acdde scsi_is_host_device vmlinux EXPORT_SYMBOL
0x5e52f8c2 scsi_is_sdev_device vmlinux EXPORT_SYMBOL
0x52c2d610 scsi_print_command vmlinux EXPORT_SYMBOL
0x947bd204 scsi_register_driver vmlinux EXPORT_SYMBOL
0x3ec0af37 scsi_remove_device vmlinux EXPORT_SYMBOL
0xab9ae0a5 scsi_remove_host vmlinux EXPORT_SYMBOL
0x2fdde61c scsi_remove_target vmlinux EXPORT_SYMBOL
0x0dc7d4e4 scsi_scan_host vmlinux EXPORT_SYMBOL
0x81212eab scsi_unblock_requests vmlinux EXPORT_SYMBOL
0xea3c8e4e scsilun_to_int vmlinux EXPORT_SYMBOL
0x379c007a sdev_prefix_printk vmlinux EXPORT_SYMBOL
0xad676cf1 security_d_instantiate vmlinux EXPORT_SYMBOL
0xf19572d9 send_sig vmlinux EXPORT_SYMBOL
0x7e4f6edd seq_lseek vmlinux EXPORT_SYMBOL
0x8bf6b235 seq_printf vmlinux EXPORT_SYMBOL
0xa5cb4218 seq_read vmlinux EXPORT_SYMBOL
0xb1c46695 set_cpus_allowed_ptr vmlinux EXPORT_SYMBOL_GPL
0x025483b1 set_current_groups vmlinux EXPORT_SYMBOL
0x2c55f5b3 set_device_ro vmlinux EXPORT_SYMBOL
0xecce1eec set_disk_ro vmlinux EXPORT_SYMBOL
0x9e61bb05 set_freezable vmlinux EXPORT_SYMBOL
0x565757c3 set_nlink vmlinux EXPORT_SYMBOL
0x365acda7 set_normalized_timespec64 vmlinux EXPORT_SYMBOL
0xc860de5b set_page_dirty vmlinux EXPORT_SYMBOL
0xdcd015ca set_page_dirty_lock vmlinux EXPORT_SYMBOL
0xb63fa495 set_user_nice vmlinux EXPORT_SYMBOL
0xa0aa157a shrink_dcache_parent vmlinux EXPORT_SYMBOL
0x40c7247c si_meminfo vmlinux EXPORT_SYMBOL
0x6a5fa363 sigprocmask vmlinux EXPORT_SYMBOL
0xfa0c49b0 simple_statfs vmlinux EXPORT_SYMBOL
0x0b742fd7 simple_strtol vmlinux EXPORT_SYMBOL
0x20000329 simple_strtoul vmlinux EXPORT_SYMBOL
0x61b7b126 simple_strtoull vmlinux EXPORT_SYMBOL
0xdb3d6fd7 single_open vmlinux EXPORT_SYMBOL
0xb5976876 single_release vmlinux EXPORT_SYMBOL
0x191ac294 sk_alloc vmlinux EXPORT_SYMBOL
0x613d5e79 sk_free vmlinux EXPORT_SYMBOL
0x91e3b27b skb_add_rx_frag vmlinux EXPORT_SYMBOL
0x039996d6 skb_checksum_help vmlinux EXPORT_SYMBOL
0x8bc0864a skb_clone vmlinux EXPORT_SYMBOL
0xf0f7d142 skb_clone_tx_timestamp vmlinux EXPORT_SYMBOL_GPL
0xffc7bdb0 skb_copy vmlinux EXPORT_SYMBOL
0x79933aca skb_copy_bits vmlinux EXPORT_SYMBOL
0xc1752ff5 skb_dequeue vmlinux EXPORT_SYMBOL
0x4bf70cdf skb_pull vmlinux EXPORT_SYMBOL
0x92c3bdbb skb_push vmlinux EXPORT_SYMBOL
0x8505dfe5 skb_put vmlinux EXPORT_SYMBOL
0x45e7e740 skb_queue_purge vmlinux EXPORT_SYMBOL
0x344fb340 skb_queue_tail vmlinux EXPORT_SYMBOL
0x6954cec6 skb_realloc_headroom vmlinux EXPORT_SYMBOL
0x0aff4025 skb_trim vmlinux EXPORT_SYMBOL
0xf567025d skb_tstamp_tx vmlinux EXPORT_SYMBOL_GPL
0xf9038bcf smp_call_function_many vmlinux EXPORT_SYMBOL
0x6228c21f smp_call_function_single vmlinux EXPORT_SYMBOL
0x28318305 snprintf vmlinux EXPORT_SYMBOL
0xe5cd3986 sock_create_kern vmlinux EXPORT_SYMBOL
0xa0597f26 sock_release vmlinux EXPORT_SYMBOL
0x91715312 sprintf vmlinux EXPORT_SYMBOL
0x20c55ae0 sscanf vmlinux EXPORT_SYMBOL
0x38ed3903 starget_for_each_device vmlinux EXPORT_SYMBOL
0xaafdc258 strcasecmp vmlinux EXPORT_SYMBOL
0x061651be strcat vmlinux EXPORT_SYMBOL
0x349cba85 strchr vmlinux EXPORT_SYMBOL
0xe2d5255a strcmp vmlinux EXPORT_SYMBOL
0xe914e41e strcpy vmlinux EXPORT_SYMBOL
0x1ac5d3cb strcspn vmlinux EXPORT_SYMBOL
0x77bc13a0 strim vmlinux EXPORT_SYMBOL
0xf9c0b663 strlcat vmlinux EXPORT_SYMBOL
0x5792f848 strlcpy vmlinux EXPORT_SYMBOL
0x98cf60b3 strlen vmlinux EXPORT_SYMBOL
0x96b29254 strncasecmp vmlinux EXPORT_SYMBOL
0x5a921311 strncmp vmlinux EXPORT_SYMBOL
0x9166fada strncpy vmlinux EXPORT_SYMBOL
0x24428be5 strncpy_from_user vmlinux EXPORT_SYMBOL
0xa916b694 strnlen vmlinux EXPORT_SYMBOL
0xc310b981 strnstr vmlinux EXPORT_SYMBOL
0x9a1dfd65 strpbrk vmlinux EXPORT_SYMBOL
0x9f984513 strrchr vmlinux EXPORT_SYMBOL
0x85df9b6c strsep vmlinux EXPORT_SYMBOL
0xc29bf967 strspn vmlinux EXPORT_SYMBOL
0x1e6d26a8 strstr vmlinux EXPORT_SYMBOL
0x99284de9 submit_bio vmlinux EXPORT_SYMBOL
0x609f1c7e synchronize_net vmlinux EXPORT_SYMBOL
0x2d3385d3 system_wq vmlinux EXPORT_SYMBOL
0x9545af6d tasklet_init vmlinux EXPORT_SYMBOL
0x4b4e8905 thaw_bdev vmlinux EXPORT_SYMBOL
0x0d641a42 try_module_get vmlinux EXPORT_SYMBOL
0x03219a49 try_wait_for_completion vmlinux EXPORT_SYMBOL
0x4272345a unlock_page vmlinux EXPORT_SYMBOL
0xc1081e15 unlock_page_memcg vmlinux EXPORT_SYMBOL
0xd35bbe96 unmap_mapping_range vmlinux EXPORT_SYMBOL
0xb5a459dc unregister_blkdev vmlinux EXPORT_SYMBOL
0x6091b333 unregister_chrdev_region vmlinux EXPORT_SYMBOL
0x831b341c unregister_filesystem vmlinux EXPORT_SYMBOL
0x2fe252cc unregister_inet6addr_notifier vmlinux EXPORT_SYMBOL
0xfe029963 unregister_inetaddr_notifier vmlinux EXPORT_SYMBOL
0xeb5b21c3 unregister_netdev vmlinux EXPORT_SYMBOL
0x9d0d6206 unregister_netdevice_notifier vmlinux EXPORT_SYMBOL
0xac1a55be unregister_reboot_notifier vmlinux EXPORT_SYMBOL
0x6c8ad3d4 unregister_sysctl_table vmlinux EXPORT_SYMBOL
0x18d33e2c unuse_mm vmlinux EXPORT_SYMBOL_GPL
0x5412c7c7 up vmlinux EXPORT_SYMBOL
0x77597a53 up_read vmlinux EXPORT_SYMBOL
0xe8b97e4f up_write vmlinux EXPORT_SYMBOL
0x5840fc32 use_mm vmlinux EXPORT_SYMBOL_GPL
0x12a38747 usleep_range vmlinux EXPORT_SYMBOL
0x999e8297 vfree vmlinux EXPORT_SYMBOL
0x03672e30 vfs_create vmlinux EXPORT_SYMBOL
0x9dccbaed vfs_fsync vmlinux EXPORT_SYMBOL
0x0581dc22 vfs_fsync_range vmlinux EXPORT_SYMBOL
0x2077fb73 vfs_getattr vmlinux EXPORT_SYMBOL
0x21bd0da7 vfs_link vmlinux EXPORT_SYMBOL
0x185af989 vfs_llseek vmlinux EXPORT_SYMBOL
0xfb935b3b vfs_mkdir vmlinux EXPORT_SYMBOL
0xf3d2f054 vfs_mknod vmlinux EXPORT_SYMBOL
0x81340cfe vfs_readlink vmlinux EXPORT_SYMBOL
0x6b298fb1 vfs_rename vmlinux EXPORT_SYMBOL
0x881c0dab vfs_rmdir vmlinux EXPORT_SYMBOL
0xe280d43c vfs_statfs vmlinux EXPORT_SYMBOL
0x3649bcdb vfs_symlink vmlinux EXPORT_SYMBOL
0xc679b268 vfs_unlink vmlinux EXPORT_SYMBOL
0x847551c6 vm_mmap vmlinux EXPORT_SYMBOL
0x5b56860c vm_munmap vmlinux EXPORT_SYMBOL
0xd6ee688f vmalloc vmlinux EXPORT_SYMBOL
0xb41a32fe vmalloc_to_page vmlinux EXPORT_SYMBOL
0x09002b42 vmap vmlinux EXPORT_SYMBOL
0x4b8b3239 vprintk vmlinux EXPORT_SYMBOL
0xf5e03a3a vscnprintf vmlinux EXPORT_SYMBOL
0x1e01660e vsnprintf vmlinux EXPORT_SYMBOL
0x5c7574a1 vsprintf vmlinux EXPORT_SYMBOL
0x94961283 vunmap vmlinux EXPORT_SYMBOL
0x40a9b349 vzalloc vmlinux EXPORT_SYMBOL
0x9e0c711d vzalloc_node vmlinux EXPORT_SYMBOL
0x3cc4cb8a wait_for_completion vmlinux EXPORT_SYMBOL
0x7bdb61d1 wait_for_completion_interruptible vmlinux EXPORT_SYMBOL
0xdf35ccd0 wait_for_completion_timeout vmlinux EXPORT_SYMBOL
0x60ea8b88 wait_on_page_bit vmlinux EXPORT_SYMBOL
0xa0fbac79 wake_up_bit vmlinux EXPORT_SYMBOL
0xfaa3e0a8 wake_up_process vmlinux EXPORT_SYMBOL
0xe1c693c4 write_cache_pages vmlinux EXPORT_SYMBOL
0xbfb4dace xattr_full_name vmlinux EXPORT_SYMBOL
0x760a0f4f yield vmlinux EXPORT_SYMBOL
0xcebd81ba zap_vma_ptes vmlinux EXPORT_SYMBOL_GPL

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

25
SOURCES/README.rst Normal file
View File

@ -0,0 +1,25 @@
===================
The Kernel dist-git
===================
The kernel is maintained in a `source tree`_ rather than directly in dist-git.
The specfile is maintained as a `template`_ in the source tree along with a set
of build scripts to generate configurations, (S)RPMs, and to populate the
dist-git repository.
The `documentation`_ for the source tree covers how to contribute and maintain
the tree.
If you're looking for the downstream patch set it's available in the source
tree with "git log master..ark-patches" or
`online`_.
Each release in dist-git is tagged in the source repository so you can easily
check out the source tree for a build. The tags are in the format
name-version-release, but note release doesn't contain the dist tag since the
source can be built in different build roots (Fedora, CentOS, etc.)
.. _source tree: https://gitlab.com/cki-project/kernel-ark.git
.. _template: https://gitlab.com/cki-project/kernel-ark/-/blob/os-build/redhat/kernel.spec.template
.. _documentation: https://gitlab.com/cki-project/kernel-ark/-/wikis/home
.. _online: https://gitlab.com/cki-project/kernel-ark/-/commits/ark-patches

View File

@ -41,7 +41,8 @@ def load_symvers(symvers, filename):
break
if in_line == "\n":
continue
checksum, symbol, directory, type = in_line.split()
checksum, symbol, directory, type, *ns = in_line.split()
ns = ns[0] if ns else None
symvers[symbol] = in_line[0:-1]
@ -57,7 +58,8 @@ def load_kabi(kabi, filename):
break
if in_line == "\n":
continue
checksum, symbol, directory, type = in_line.split()
checksum, symbol, directory, type, *ns = in_line.split()
ns = ns[0] if ns else None
kabi[symbol] = in_line[0:-1]
@ -69,11 +71,14 @@ def check_kabi(symvers, kabi):
warn = 0
changed_symbols = []
moved_symbols = []
ns_symbols = []
for symbol in kabi:
abi_hash, abi_sym, abi_dir, abi_type = kabi[symbol].split()
abi_hash, abi_sym, abi_dir, abi_type, *abi_ns = kabi[symbol].split()
abi_ns = abi_ns[0] if abi_ns else None
if symbol in symvers:
sym_hash, sym_sym, sym_dir, sym_type = symvers[symbol].split()
sym_hash, sym_sym, sym_dir, sym_type, *sym_ns = symvers[symbol].split()
sym_ns = sym_ns[0] if sym_ns else None
if abi_hash != sym_hash:
fail = 1
changed_symbols.append(symbol)
@ -81,6 +86,10 @@ def check_kabi(symvers, kabi):
if abi_dir != sym_dir:
warn = 1
moved_symbols.append(symbol)
if abi_ns != sym_ns:
warn = 1
ns_symbols.append(symbol)
else:
fail = 1
changed_symbols.append(symbol)
@ -96,13 +105,21 @@ def check_kabi(symvers, kabi):
if warn:
print("*** WARNING - ABI SYMBOLS MOVED ***")
print("")
print("The following symbols moved (typically caused by moving a symbol from being")
print("provided by the kernel vmlinux out to a loadable module):")
print("")
for symbol in moved_symbols:
print(symbol)
print("")
if moved_symbols:
print("")
print("The following symbols moved (typically caused by moving a symbol from being")
print("provided by the kernel vmlinux out to a loadable module):")
print("")
for symbol in moved_symbols:
print(symbol)
print("")
if ns_symbols:
print("")
print("The following symbols changed symbol namespaces:")
print("")
for symbol in ns_symbols:
print(symbol)
print("")
"""Halt the build, if we got errors and/or warnings. In either case,
double-checkig is required to avoid introducing / concealing

50
SOURCES/dracut-virt.conf Normal file
View File

@ -0,0 +1,50 @@
# generic + compressed please
hostonly="no"
compress="xz"
# VMs can't update microcode anyway
early_microcode="no"
# modules: basics
dracutmodules+=" base systemd systemd-initrd dracut-systemd dbus dbus-broker usrmount shutdown "
# Omit drm.
omit_dracutmodules+=" drm simpledrm "
# modules: storage support
dracutmodules+=" dm lvm rootfs-block fs-lib "
# modules: tpm and crypto
dracutmodules+=" crypt crypt-loop tpm2-tss systemd-pcrphase "
# modules: root disk integrity protection
dracutmodules+=" systemd-veritysetup "
# modules: root creation and encryption
dracutmodules+=" systemd-repart "
# FIXME: remove this once RHEL-103385 is merged
install_items+=" /usr/sbin/mkfs.vfat /usr/sbin/mkfs.ext4 /usr/sbin/mkfs.xfs "
# modules: FIPS
dracutmodules+=" fips "
# FIPS mode requires early crypto drivers test
drivers+=" =crypto "
# drivers: virtual buses, pci
drivers+=" virtio-pci virtio-mmio " # qemu-kvm
drivers+=" hv-vmbus pci-hyperv " # hyperv
drivers+=" xen-pcifront " # xen
# drivers: storage
drivers+=" ahci nvme sd_mod sr_mod " # generic
drivers+=" virtio-blk virtio-scsi " # qemu-kvm
drivers+=" hv-storvsc " # hyperv
drivers+=" xen-blkfront " # xen
# root encryption
drivers+=" dm_crypt "
# root disk integrity protection
drivers+=" dm_verity overlay "
# filesystems
filesystems+=" vfat ext4 xfs overlay "

View File

@ -15,4 +15,4 @@ ethdrvs="3com adaptec arc alteon atheros broadcom cadence calxeda chelsio cisco
drmdrvs="amd arm bridge ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel radeon rockchip tegra sun4i tinydrm vc4"
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 target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr"
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 target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls"

View File

View File

@ -13,8 +13,11 @@
# 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 isst_if_common isst_tpmi_core isst_tpmi intel-vsec intel-vsec_tpmi wmi"
# 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 virt"
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"
@ -22,19 +25,21 @@ 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"
fsdrvs="affs befs smb coda cramfs ecryptfs hfs hfsplus jfs minix ncpfs nilfs2 ocfs2 reiserfs romfs 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 "
drmdrvs="amd ast gma500 i2c i915 mgag200 nouveau radeon via xe"
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"
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 nct6775 ntc_thermistor"
# Grab the arch-specific filter list overrides
source ./filter-$2.sh
@ -52,7 +57,7 @@ filter_dir() {
grep -e "${dir}/" ${filelist} >> k-d.list
mv ${filelist}.tmp $filelist
fi
return 0
}
@ -69,7 +74,7 @@ filter_ko() {
grep -e "${mod}.ko" ${filelist} >> k-d.list
mv ${filelist}.tmp $filelist
fi
return 0
}
@ -88,7 +93,7 @@ done
# Filter the char drivers
for char in ${chardrvs}
do
filter_dir $1 drivers/char/${input}
filter_dir $1 drivers/char/${char}
done
# Filter the ethernet drivers
@ -97,6 +102,12 @@ 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
@ -135,9 +146,7 @@ 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
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
@ -146,6 +155,20 @@ 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`

View File

@ -11,4 +11,4 @@
driverdirs="atm auxdisplay bcma bluetooth firewire fmc infiniband isdn leds media memstick message mmc mtd mwave nfc ntb pcmcia platform power ssb staging tty uio uwb w1"
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 target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr"
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 target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls"

View File

@ -1,19 +1,20 @@
--- !Policy
product_versions:
- rhel-8
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-64k-aarch64.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-aarch64.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-debug-x86_64.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-ppc64le.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-s390x.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-x86_64.tier1.functional}
excluded_packages: [kernel-rt]
--- !Policy
product_versions:
- rhel-8
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-64k-aarch64.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-aarch64.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-debug-x86_64.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-rt-x86_64.tier1.functional}
packages: [kernel-rt]
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-s390x.tier1.functional}
- !PassingTestCaseRule {test_case_name: kernel-qe.kernel-ci.kernel-x86_64.tier1.functional}
- !PassingTestCaseRule {test_case_name: s1-aws-ci_x86_64.brew-build.tier1.functional}
- !PassingTestCaseRule {test_case_name: s1-aws-ci_aarch64.brew-build.tier1.functional}
- !PassingTestCaseRule {test_case_name: s1-azure-ci_x86_64.brew-build.tier1.functional}
- !PassingTestCaseRule {test_case_name: s1-azure-ci_aarch64.brew-build.tier1.functional}
- !PassingTestCaseRule {test_case_name: s1-gcp-ci.brew-build.tier1.functional}

View File

@ -1,6 +1,36 @@
#!/bin/sh
for i in ${NAME}-*.config; do
NEW=${NAME}-${VERSION}-`echo $i | cut -d - -f2-`
mv ${i} ${NEW}
# Adjusts the configuration options to build the variants correctly
test -n "$RHTEST" && exit 0
DEBUGBUILDSENABLED=$1
if [ -z "$DEBUGBUILDSENABLED" ]; then
exit 1
fi
if [ -z "$FLAVOR" ]; then
FLAVOR=rhel
fi
if [ "$FLAVOR" = "fedora" ]; then
SECONDARY=rhel
else
SECONDARY=fedora
fi
for i in kernel-*-"$FLAVOR".config; do
NEW=kernel-"$SPECVERSION"-$(echo "$i" | cut -d - -f2- | sed s/-"$FLAVOR"//)
#echo $NEW
mv "$i" "$NEW"
done
rm -f kernel-*-"$SECONDARY".config
if [ "$DEBUGBUILDSENABLED" -eq 0 ]; then
for i in kernel-*debug*.config; do
base=$(echo "$i" | sed -r s/-?debug//g)
NEW=kernel-$(echo "$base" | cut -d - -f2-)
mv "$i" "$NEW"
done
fi

View File

@ -1,31 +0,0 @@
#!/bin/bash
set -e
. /etc/os-release
kernelver=$1 && shift
rootfs=$1 && shift
variant=$1 && shift
output="${rootfs}/lib/modules/${kernelver}/bls.conf"
date=$(date -u +%Y%m%d%H%M%S)
if [ "${variant:-5}" = "debug" ]; then
debugname=" with debugging"
debugid="-debug"
else
debugname=""
debugid=""
fi
cat >${output} <<EOF
title ${NAME} (${kernelver}) ${VERSION}${debugname}
version ${kernelver}${debugid}
linux ${bootprefix}/vmlinuz-${kernelver}
initrd ${bootprefix}/initramfs-${kernelver}.img
options \$kernelopts
id ${ID}-${date}-${kernelver}${debugid}
grub_users \$grub_users
grub_arg --unrestricted
grub_class kernel${variant}
EOF

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

2
SOURCES/kernel-local Normal file
View File

@ -0,0 +1,2 @@
# This file is intentionally left empty in the stock kernel. Its a nicety
# added for those wanting to do custom rebuilds with altered config opts.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

152253
SOURCES/kernel.changelog Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,2 @@
sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
kernel.@SBAT_SUFFIX,1,Red Hat,kernel-core,@KVER,mailto:secalert@redhat.com

72
SOURCES/merge.pl Executable file
View File

@ -0,0 +1,72 @@
#! /usr/bin/perl
my @args=@ARGV;
my %configvalues;
my @configoptions;
my $configcounter = 0;
# optionally print out the architecture as the first line of our output
my $arch = $args[2];
if (defined $arch) {
print "# $arch\n";
}
# first, read the override file
open (FILE,"$args[0]") || die "Could not open $args[0]";
while (<FILE>) {
my $str = $_;
my $configname;
if (/\# ([\w]+) is not set/) {
$configname = $1;
} elsif (/^\#/) {
# fall through on comments like 'avoid CONFIG_FOO=y'
;
} elsif (/([\w]+)=/) {
$configname = $1;
}
if (defined($configname) && !exists($configvalues{$configname})) {
$configvalues{$configname} = $str;
$configoptions[$configcounter] = $configname;
$configcounter ++;
}
};
# now, read and output the entire configfile, except for the overridden
# parts... for those the new value is printed.
open (FILE2,"$args[1]") || die "Could not open $args[1]";
while (<FILE2>) {
my $configname;
if (/\# ([\w]+) is not set/) {
$configname = $1;
} elsif (/^\#/) {
# fall through on comments like 'avoid CONFIG_FOO=y'
;
} elsif (/([\w]+)=/) {
$configname = $1;
}
if (defined($configname) && exists($configvalues{$configname})) {
print "$configvalues{$configname}";
delete($configvalues{$configname});
} else {
print "$_";
}
}
# now print the new values from the overridden configfile
my $counter = 0;
while ($counter < $configcounter) {
my $configname = $configoptions[$counter];
if (exists($configvalues{$configname})) {
print "$configvalues{$configname}";
}
$counter++;
}
1;

View File

@ -1,4 +1,5 @@
#! /bin/bash
# shellcheck disable=SC2164
RpmDir=$1
ModDir=$2
@ -24,9 +25,9 @@ __EOF__
check_blacklist()
{
mod=$(find $RpmDir/$ModDir -name "$1")
mod=$(find "$RpmDir/$ModDir" -name "$1")
[ ! "$mod" ] && return 0
if modinfo $mod | grep -q '^alias:\s\+net-'; then
if modinfo "$mod" | grep -q '^alias:\s\+net-'; then
mod="${1##*/}"
mod="${mod%.ko*}"
echo "$mod has an alias that allows auto-loading. Blacklisting."
@ -37,7 +38,7 @@ check_blacklist()
find_depends()
{
dep=$1
depends=`modinfo $dep | sed -n -e "/^depends/ s/^depends:[ \t]*//p"`
depends=$(modinfo "$dep" | sed -n -e "/^depends/ s/^depends:[ \t]*//p")
[ -z "$depends" ] && exit
for mod in ${depends//,/ }
do
@ -45,14 +46,14 @@ find_depends()
[ -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
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
echo "$mod".ko >> req.list
done
}
@ -60,11 +61,11 @@ foreachp()
{
P=$(nproc)
bgcount=0
while read mod; do
while read -r mod; do
$1 "$mod" &
bgcount=$((bgcount + 1))
if [ $bgcount -eq $P ]; then
if [ $bgcount -eq "$P" ]; then
wait -n
bgcount=$((bgcount - 1))
fi
@ -76,12 +77,12 @@ foreachp()
# Destination was specified on the command line
test -n "$4" && echo "$0: Override Destination $Dest has been specified."
pushd $Dir
pushd "$Dir"
OverrideDir=$(basename $List)
OverrideDir=$(basename "$List")
OverrideDir=${OverrideDir%.*}
OverrideDir=${OverrideDir#*-}
mkdir -p $OverrideDir
mkdir -p "$OverrideDir"
rm -rf modnames
find . -name "*.ko" -type f > modnames
@ -94,7 +95,8 @@ cp "$List" .
# This variable needs to be exported because it is used in sub-script
# executed by xargs
export ListName=$(basename "$List")
ListName=$(basename "$List")
export ListName
foreachp find_depends < modnames
@ -102,25 +104,25 @@ 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)
while IFS= read -r mod
do
# get the path for the module
modpath=`grep /$mod modnames`
[ -z "$modpath" ] && continue
echo $modpath >> dep.list
done
# get the path for the module
modpath=$(grep /"$mod" modnames)
[ -z "$modpath" ] && continue
echo "$modpath" >> dep.list
done < modules3.list
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
# now move the modules into the $Dest directory
while IFS= read -r mod
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 < dep2.list
fi
popd
@ -130,23 +132,33 @@ popd
# 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`
while IFS= read -r mod
do
modfile=`basename $mod | sed -e 's/.ko/.mod/'`
rm .tmp_versions/$modfile
done
modfile=$(basename "$mod" | sed -e 's/.ko/.mod/')
rm .tmp_versions/"$modfile"
done < "$Dir"/dep2.list
if [ ! -n "$Dest" ]; then
sed -e "s|^.|${ModDir}|g" ${Dir}/dep2.list > $RpmDir/$ListName
if [ -z "$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
foreachp check_blacklist < "$List"
fi
# Many BIOS-es export a PNP-id which causes the floppy driver to autoload
# even though most modern systems don't have a 3.5" floppy driver anymore
# this replaces the old die_floppy_die.patch which removed the PNP-id from
# the module
floppylist=("$RpmDir"/"$ModDir"/kernel/drivers/block/floppy.ko*)
if [[ -n ${floppylist[0]} && -f ${floppylist[0]} ]]; then
blacklist "floppy"
fi
# avoid an empty kernel-extra package
echo "$ModDir/$OverrideDir" >> $RpmDir/$ListName
echo "$ModDir/$OverrideDir" >> "$RpmDir/$ListName"
pushd $Dir
pushd "$Dir"
rm modnames dep.list dep2.list req.list req2.list
rm "$ListName" modules2.list modules3.list
popd

View File

@ -2,8 +2,6 @@
a3d.ko
act200l-sir.ko
actisys-sir.ko
act_mpls.ko
act_ct.ko
adi.ko
aer_inject.ko
af_802154.ko
@ -17,7 +15,6 @@ avm_cs.ko
avmfritz.ko
ax25.ko
b1.ko
bareudp.ko
bas_gigaset.ko
batman-adv.ko
baycom_par.ko
@ -50,6 +47,8 @@ ems_pci.ko
ems_usb.ko
esd_usb2.ko
esi-sir.ko
fou.ko
fou6.ko
gamecon.ko
gf2k.ko
gigaset.ko
@ -72,7 +71,6 @@ iforce.ko
interact.ko
ipddp.ko
ipx.ko
ip_vs_mh.ko
isdn.ko
joydump.ko
kingsun-sir.ko
@ -83,6 +81,7 @@ l2tp_core.ko
l2tp_debugfs.ko
l2tp_eth.ko
l2tp_ip.ko
l2tp_ip6.ko
l2tp_netlink.ko
l2tp_ppp.ko
lec.ko
@ -122,23 +121,9 @@ rds.ko
rds_rdma.ko
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
sch_netem.ko
sch_qfq.ko
sch_red.ko
sch_sfb.ko
sch_teql.ko
sctp.ko
sctp_diag.ko
sctp_probe.ko
sidewinder.ko
sja1000.ko
sja1000_platform.ko
@ -162,6 +147,7 @@ tcp_veno.ko
tcp_westwood.ko
tcp_yeah.ko
tekram-sir.ko
test_lockup.ko
tmdc.ko
toim3232-sir.ko
trancevibrator.ko
@ -170,11 +156,8 @@ twidjoy.ko
ubifs.ko
ufs.ko
umc.ko
usbip-core.ko
usbip-host.ko
uwb.ko
vcan.ko
vhci-hcd.ko
w1_bq27000.ko
w1_ds2408.ko
w1_ds2423.ko
@ -192,7 +175,5 @@ wanrouter.ko
warrior.ko
whci.ko
wire.ko
xpad.ko
xt_u32.ko
yam.ko
zhenhua.ko

View File

@ -6,6 +6,7 @@ list-test
sysctl-test
mptcp_crypto_test
mptcp_token_test
prp_dup_discard_test
bitfield_kunit
cmdline_kunit
property-entry-test
@ -13,34 +14,18 @@ qos-test
resource_kunit
soc-topology-test
soc-utils-test
stackinit_kunit
soc-card-test
string-stream-test
test_linear_ranges
test_bits
test_kasan
kasan_test
time_test
fat_test
lib_test
rational-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
kfence_test
test_hash
locktorture
mac80211_hwsim
@ -49,18 +34,85 @@ 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_kprobe
test_klp_livepatch
test_klp_shadow_vars
test_klp_syscall
test_klp_state
test_klp_state2
test_klp_state3
test_kmod
test_module
torture
refscale
rcuscale
memcpy_kunit
dev_addr_lists_test
test_bpf
stackinit_kunit
overflow_kunit
clk-gate_test
clk_test
mtty
test_hmm
test_vmalloc
mtty
test_sort
cpumask_kunit
iio-test-format
iio-test-rescale
cros_kunit
cpumask_kunit
drm_atomic_state_test
drm_atomic_test
drm_bridge_test
drm_buddy_test
drm_cmdline_parser_test
drm_damage_helper_test
drm_dp_mst_helper_test
drm_format_helper_test
drm_format_test
drm_framebuffer_test
drm_gem_shmem_test
drm_hdmi_state_helper_test
drm_kunit_helpers
drm_mm_test
drm_plane_helper_test
drm_rect_test
drm-sched-tests
drm_sysfb_modeset_test
gss_krb5_test
drm_connector_test
drm_managed_test
drm_modes_test
drm_probe_helper_test
vkms-kunit-tests
input_test
hashtable_test
hid-uclogic-test
strcat_kunit
strscpy_kunit
siphash_kunit
handshake-test
drm_exec_test
regmap-kunit
cfg80211-tests
mac80211-tests
wwan_hwsim
checksum_kunit
arm-smmu-v3-test
iwlwifi-tests
iwlmvm-tests
iwlmld-tests
sound_kunit
amd-pstate-ut
ptp_mock
usbip-core
usbip-host
vhci-hcd
packing_test
soc-ops-test

3
SOURCES/mod-partner.list Normal file
View File

@ -0,0 +1,3 @@
afs
rxperf
rxrpc

View File

@ -2,7 +2,7 @@
# The modules_sign target checks for corresponding .o files for every .ko that
# is signed. This doesn't work for package builds which re-use the same build
# directory for every flavour, and the .config may change between flavours.
# directory for every variant, and the .config may change between variants.
# So instead of using this script to just sign lib/modules/$KernelVer/extra,
# sign all .ko in the buildroot.
@ -13,13 +13,13 @@ MODSECKEY=$1
MODPUBKEY=$2
moddir=$3
modules=`find $moddir -type f -name '*.ko'`
modules=$(find "$moddir" -type f -name '*.ko')
NPROC=`nproc`
NPROC=$(nproc)
[ -z "$NPROC" ] && NPROC=1
# NB: this loop runs 2000+ iterations. Try to be fast.
echo "$modules" | xargs -r -n16 -P $NPROC sh -c "
echo "$modules" | xargs -r -n16 -P "$NPROC" sh -c "
for mod; do
./scripts/sign-file sha256 $MODSECKEY $MODPUBKEY \$mod
rm -f \$mod.sig \$mod.dig
@ -27,7 +27,7 @@ done
" DUMMYARG0 # xargs appends ARG1 ARG2..., which go into $mod in for loop.
RANDOMMOD=$(echo "$modules" | sort -R | head -n 1)
if [ "~Module signature appended~" != "$(tail -c 28 $RANDOMMOD)" ]; then
if [ "~Module signature appended~" != "$(tail -c 28 "$RANDOMMOD")" ]; then
echo "*****************************"
echo "*** Modules are unsigned! ***"
echo "*****************************"

View File

@ -23,4 +23,4 @@ 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
exec xargs -r -n 16 -P "$procgroup" xz

View File

@ -0,0 +1,6 @@
# kgcov
CONFIG_GCOV_KERNEL=y
CONFIG_GCOV_PROFILE_ALL=y
# CONFIG_GCOV_PROFILE_FTRACE is not set
CONFIG_GCOV_PROFILE_URING=y
# CONFIG_OPEN_DICE is not set

View File

View File

@ -3,14 +3,27 @@
# This script takes the merged config files and processes them through oldconfig
# and listnewconfig
#
# Globally disable suggestion of appending '|| exit' or '|| return' to cd/pushd/popd commands
# shellcheck disable=SC2164
test -n "$RHTEST" && exit 0
usage()
{
echo "process_configs.sh [ -n|-c|-t ] package_name kernel_version [cross_opts]"
echo " -n: error on unset config options"
# alphabetical order please
echo "process_configs.sh [ options ] package_name kernel_version"
echo " -a: report all errors, equivalent to [-c -n -w -i]"
echo " -c: error on mismatched config options"
echo " -i: continue on error"
echo " -n: error on unset config options"
echo " -t: test run, do not overwrite original config"
echo " -w: error on misconfigured config options"
echo " -z: commit new configs to pending directory"
echo ""
echo " A special CONFIG file tag, process_configs_known_broken can be added as a"
echo " comment to any CONFIG file. This tag indicates that there is no way to "
echo " fix a CONFIG's entry. This tag should only be used in extreme cases"
echo " and is not to be used as a workaround to solve CONFIG problems."
exit 1
}
@ -20,18 +33,27 @@ die()
exit 1
}
get_cross_compile()
{
arch=$1
if [[ "$CC_IS_CLANG" -eq 1 ]]; then
echo "$arch"
else
echo "scripts/dummy-tools/"
fi
}
# stupid function to find top of tree to do kernel make configs
switch_to_toplevel()
{
path="$(pwd)"
while test -n "$path"
do
test -d $path/firmware && \
test -e $path/MAINTAINERS && \
test -d $path/drivers && \
test -e "$path"/MAINTAINERS && \
test -d "$path"/drivers && \
break
path="$(dirname $path)"
path=$(dirname "$path")
done
test -n "$path" || die "Can't find toplevel"
@ -40,6 +62,9 @@ switch_to_toplevel()
checkoptions()
{
count=$3
variant=$4
/usr/bin/awk '
/is not set/ {
@ -62,114 +87,320 @@ checkoptions()
print "Found "a[1]"="a[2]" after generation, had " a[1]"="configs[a[1]]" in Source tree";
}
}
' $1 $2 > .mismatches
' "$1" "$2" > .mismatches"${count}"
if test -s .mismatches
checkoptions_error=false
if test -s .mismatches"${count}"
then
echo "Error: Mismatches found in configuration files"
cat .mismatches
exit 1
while read -r LINE
do
if find "${REDHAT}"/configs -name "$(echo "$LINE" | awk -F "=" ' { print $1 } ' | awk ' { print $2 }')" -print0 | xargs -0 grep ^ | grep -q "process_configs_known_broken"; then
# This is a known broken config.
# See script help warning.
checkoptions_error=false
else
checkoptions_error=true
break
fi
done < .mismatches"${count}"
! $checkoptions_error && return
sed -i "1s/^/Error: Mismatches found in configuration files for ${arch} ${variant}\n/" .mismatches"${count}"
else
rm -f .mismatches"${count}"
fi
}
parsenewconfigs()
{
tmpdir=$(mktemp -d)
# This awk script reads the output of make listnewconfig
# and puts it into CONFIG_FOO files. Using the output of
# listnewconfig is much easier to ensure we get the default
# output.
/usr/bin/awk -v BASE="$tmpdir" '
/is not set/ {
split ($0, a, "#");
split(a[2], b);
OUT_FILE=BASE"/"b[1];
print $0 >> OUT_FILE;
}
/=/ {
split ($0, a, "=");
OUT_FILE=BASE"/"a[1];
if (a[2] == "n")
print "# " a[1] " is not set" >> OUT_FILE;
else
print $0 >> OUT_FILE;
}
' .newoptions
# This awk script parses the output of helpnewconfig.
# Each option is separated between ----- markers
# The goal is to put all the help text as a comment in
# each CONFIG_FOO file. Because of how awk works
# there's a lot of moving files around and catting to
# get what we need.
/usr/bin/awk -v BASE="$tmpdir" '
BEGIN { inpatch=0;
outfile="none";
symbol="none"; }
/^Symbol: .*$/ {
split($0, a, " ");
symbol="CONFIG_"a[2];
outfile=BASE "/fake_"symbol
}
/-----/ {
if (inpatch == 0) {
inpatch = 1;
}
else {
if (symbol != "none") {
system("cat " outfile " " BASE "/" symbol " > " BASE "/tmpf");
system("mv " BASE "/tmpf " BASE "/" symbol);
symbol="none"
}
outfile="none"
inpatch = 0;
}
}
!/-----/ {
if (inpatch == 1 && outfile != "none") {
print "# "$0 >> outfile;
}
}
' .helpnewconfig
pushd "$tmpdir" &> /dev/null
rm fake_*
popd &> /dev/null
for f in "$tmpdir"/*; do
[[ -e "$f" ]] || break
cp "$f" "$SCRIPT_DIR/pending$FLAVOR/generic/"
done
rm -rf "$tmpdir"
}
function commit_new_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}"*.config
do
arch=$(head -1 "$cfg" | cut -b 3-)
cfgtmp="${cfg}.tmp"
cfgorig="${cfg}.orig"
cat "$cfg" > "$cfgorig"
if [ "$arch" = "EMPTY" ]
then
# This arch is intentionally left blank
continue
fi
echo -n "Checking for new configs in $cfg ... "
# shellcheck disable=SC2086
make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig
grep -E 'CONFIG_' .listnewconfig > .newoptions
if test -s .newoptions
then
# shellcheck disable=SC2086
make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" helpnewconfig >& .helpnewconfig
parsenewconfigs
fi
rm .newoptions
echo "done"
done
git add "$SCRIPT_DIR/pending$FLAVOR"
git commit -m "[redhat] AUTOMATIC: New configs"
}
function process_config()
{
local cfg
local arch
local cfgtmp
local cfgorig
local count
local variant
cfg=$1
count=$2
arch=$(head -1 "$cfg" | cut -b 3-)
if [ "$arch" = "EMPTY" ]
then
# This arch is intentionally left blank
return
fi
variant=$(basename "$cfg" | cut -d"-" -f3- | cut -d"." -f1)
cfgtmp="${cfg}.tmp"
cfgorig="${cfg}.orig"
cat "$cfg" > "$cfgorig"
echo "Processing $cfg ... "
# shellcheck disable=SC2086
make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig"${count}"
grep -E 'CONFIG_' .listnewconfig"${count}" > .newoptions"${count}"
if test -n "$NEWOPTIONS" && test -s .newoptions"${count}"
then
echo "Found unset config items in ${arch} ${variant}, please set them to an appropriate value" >> .errors"${count}"
cat .newoptions"${count}" >> .errors"${count}"
rm .newoptions"${count}"
RETURNCODE=1
fi
rm -f .newoptions"${count}"
grep -E 'config.*warning' .listnewconfig"${count}" > .warnings"${count}"
if test -n "$CHECKWARNINGS" && test -s .warnings"${count}"
then
echo "Found misconfigured config items in ${arch} ${variant}, please set them to an appropriate value" >> .errors"${count}"
cat .warnings"${count}" >> .errors"${count}"
fi
rm .warnings"${count}"
rm .listnewconfig"${count}"
# shellcheck disable=SC2086
make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE="$(get_cross_compile "$arch")" KCONFIG_CONFIG="$cfgorig" olddefconfig > /dev/null || exit 1
echo "# $arch" > "$cfgtmp"
cat "$cfgorig" >> "$cfgtmp"
if test -n "$CHECKOPTIONS"
then
checkoptions "$cfg" "$cfgtmp" "$count" "$variant"
fi
# if test run, don't overwrite original
if test -n "$TESTRUN"
then
rm -f "$cfgtmp"
else
mv "$cfgtmp" "$cfg"
fi
rm -f "$cfgorig"
echo "Processing $cfg complete"
}
function process_configs()
{
# assume we are in $source_tree/configs, need to get to top level
pushd $(switch_to_toplevel) &>/dev/null
pushd "$(switch_to_toplevel)" &>/dev/null
for cfg in $SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}*.config
# The next line is throwaway code for transition to parallel
# processing. Leaving this line in place is harmless, but it can be
# removed the next time anyone updates this function.
[ -f .mismatches ] && rm -f .mismatches
count=0
for cfg in "$SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}"*.config
do
arch=$(head -1 $cfg | cut -b 3-)
cfgtmp="${cfg}.tmp"
cfgorig="${cfg}.orig"
cat $cfg > $cfgorig
echo -n "Processing $cfg ... "
make ARCH=$arch ${CROSSOPTS} KCONFIG_CONFIG=$cfgorig listnewconfig >& .listnewconfig
grep -E 'CONFIG_' .listnewconfig > .newoptions
if test -n "$NEWOPTIONS" && test -s .newoptions
then
echo "Found unset config items, please set them to an appropriate value"
cat .newoptions
rm .newoptions
exit 1
if [ "$count" -eq 0 ]; then
# do the first one by itself so that tools are built
process_config "$cfg" "$count"
fi
rm .newoptions
grep -E 'config.*warning' .listnewconfig > .warnings
if test -n "$CHECKWARNINGS" && test -s .warnings
then
echo "Found misconfigured config items, please set them to an appropriate value"
cat .warnings
rm .warnings
exit 1
fi
rm .warnings
rm .listnewconfig
make ARCH=$arch ${CROSSOPTS} KCONFIG_CONFIG=$cfgorig oldnoconfig > /dev/null || exit 1
echo "# $arch" > ${cfgtmp}
cat "${cfgorig}" >> ${cfgtmp}
if test -n "$CHECKOPTIONS"
then
checkoptions $cfg $cfgtmp
fi
# if test run, don't overwrite original
if test -n "$TESTRUN"
then
rm ${cfgtmp}
else
mv ${cfgtmp} ${cfg}
fi
rm ${cfgorig}
echo "done"
process_config "$cfg" "$count" &
# shellcheck disable=SC2004
waitpids[${count}]=$!
((count++))
while [ "$(jobs | grep -c Running)" -ge "$RHJOBS" ]; do :; done
done
# shellcheck disable=SC2048
for pid in ${waitpids[*]}; do
wait "${pid}"
done
rm "$SCRIPT_DIR"/*.config*.old
if ls .errors* 1> /dev/null 2>&1; then
RETURNCODE=1
cat .errors*
rm .errors* -f
fi
if ls .mismatches* 1> /dev/null 2>&1; then
RETURNCODE=1
cat .mismatches*
rm .mismatches* -f
fi
popd > /dev/null
echo "Processed config files are in $SCRIPT_DIR"
[ $RETURNCODE -eq 0 ] && echo "Processed config files are in $SCRIPT_DIR"
}
NEWOPTIONS=""
CHECKOPTIONS=""
CHECKWARNINGS=""
NEWOPTIONS=""
TESTRUN=""
CHECKWARNINGS=""
MAKEOPTS=""
CC_IS_CLANG=0
RETURNCODE=0
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
-a)
CHECKOPTIONS="x"
NEWOPTIONS="x"
CHECKWARNINGS="x"
;;
-c)
CHECKOPTIONS="x"
;;
-h)
usage
;;
-n)
NEWOPTIONS="x"
;;
-c)
CHECKOPTIONS="x"
;;
-t)
TESTRUN="x"
;;
-w)
CHECKWARNINGS="x"
;;
-z)
COMMITNEWCONFIGS="x"
;;
-m)
shift
if [ "$1" = "CC=clang" ] || [ "$1" = "LLVM=1" ]; then
CC_IS_CLANG=1
fi
MAKEOPTS="$MAKEOPTS $1"
;;
*)
break;;
esac
shift
done
PACKAGE_NAME="${1:-kernel}" # defines the package name used
KVERREL="$(test -n "$2" && echo "-$2" || echo "")"
CROSSOPTS="$3"
SCRIPT="$(readlink -f $0)"
OUTPUT_DIR="$PWD"
SCRIPT_DIR="$(dirname $SCRIPT)"
KVERREL="$(test -n "$1" && echo "-$1" || echo "")"
FLAVOR="$(test -n "$2" && echo "-$2" || echo "-rhel")"
# shellcheck disable=SC2015
SCRIPT=$(readlink -f "$0")
SCRIPT_DIR=$(dirname "$SCRIPT")
# to handle this script being a symlink
cd $SCRIPT_DIR
cd "$SCRIPT_DIR"
process_configs
if test -n "$COMMITNEWCONFIGS"; then
commit_new_configs
else
process_configs
fi
exit $RETURNCODE

View File

@ -3,19 +3,14 @@
---
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
subpackages: off
license: off
debuginfo: off
removedfiles: off
elf:
badfuncs:
ignore:
- /usr/libexec/ksamples/*
- /usr/libexec/kselftests/*
@ -24,15 +19,44 @@ emptyrpm:
expected_empty:
- kernel
- kernel-debug
- kernel-debug-devel-matched
- kernel-devel-matched
- kernel-zfcpdump
- kernel-zfcpdump-devel-matched
- kernel-zfcpdump-modules
- kernel-rt
- kernel-rt-debug
- kernel-rt-debug-devel-matched
- kernel-rt-devel-matched
- kernel-64k
- kernel-64k-debug
- kernel-64k-debug-devel-matched
- kernel-64k-devel-matched
- kernel-rt-64k
- kernel-rt-64k-debug
- kernel-rt-64k-debug-devel-matched
- kernel-rt-64k-devel-matched
patches:
ignore_list:
- linux-kernel-test.patch
- patch-5.14-redhat.patch
- patch-%{patchversion}-redhat.patch
types:
runpath:
ignore:
- /usr/src/kernel/*
- /usr/libexec/kselftests/bpf/urandom_read
- /usr/libexec/kselftests/bpf/no_alu32/urandom_read
- /usr/libexec/kselftests/bpf/cpuv4/urandom_read
debuginfo:
ignore:
- /usr/libexec/kselftests/bpf/*
- /usr/lib/debug/usr/libexec/perf-core/tests/shell/coresight/*
elf:
ignore:
- /usr/libexec/perf-core/tests/shell/coresight/*
- /usr/lib/debug/usr/libexec/perf-core/tests/shell/coresight/*

View File

@ -1,41 +0,0 @@
#include <generated/autoconf.h>
#include <generated/asm-offsets.h>
#include <linux/rh_kabi.h>
int main(void)
{
RH_KABI_ASSERT_EQ_CONST(728, MM_CONTEXT_ID); /* offsetof(struct mm_struct, context.id.counter) */
RH_KABI_ASSERT_EQ_CONST(320, S_FRAME_SIZE); /* sizeof(struct pt_regs) */
RH_KABI_ASSERT_EQ_CONST(240, S_LR); /* offsetof(struct pt_regs, regs[30]) */
RH_KABI_ASSERT_EQ_CONST(288, S_ORIG_ADDR_LIMIT); /* offsetof(struct pt_regs, orig_addr_limit) */
RH_KABI_ASSERT_EQ_CONST(256, S_PC); /* offsetof(struct pt_regs, pc) */
RH_KABI_ASSERT_EQ_CONST(296, S_PMR_SAVE); /* offsetof(struct pt_regs, pmr_save) */
RH_KABI_ASSERT_EQ_CONST(264, S_PSTATE); /* offsetof(struct pt_regs, pstate) */
RH_KABI_ASSERT_EQ_CONST(248, S_SP); /* offsetof(struct pt_regs, sp) */
RH_KABI_ASSERT_EQ_CONST(304, S_STACKFRAME); /* offsetof(struct pt_regs, stackframe) */
RH_KABI_ASSERT_EQ_CONST(280, S_SYSCALLNO); /* offsetof(struct pt_regs, syscallno) */
RH_KABI_ASSERT_EQ_CONST(0, S_X0); /* offsetof(struct pt_regs, regs[0]) */
RH_KABI_ASSERT_EQ_CONST(80, S_X10); /* offsetof(struct pt_regs, regs[10]) */
RH_KABI_ASSERT_EQ_CONST(96, S_X12); /* offsetof(struct pt_regs, regs[12]) */
RH_KABI_ASSERT_EQ_CONST(112, S_X14); /* offsetof(struct pt_regs, regs[14]) */
RH_KABI_ASSERT_EQ_CONST(128, S_X16); /* offsetof(struct pt_regs, regs[16]) */
RH_KABI_ASSERT_EQ_CONST(144, S_X18); /* offsetof(struct pt_regs, regs[18]) */
RH_KABI_ASSERT_EQ_CONST(160, S_X20); /* offsetof(struct pt_regs, regs[20]) */
RH_KABI_ASSERT_EQ_CONST(16, S_X2); /* offsetof(struct pt_regs, regs[2]) */
RH_KABI_ASSERT_EQ_CONST(176, S_X22); /* offsetof(struct pt_regs, regs[22]) */
RH_KABI_ASSERT_EQ_CONST(192, S_X24); /* offsetof(struct pt_regs, regs[24]) */
RH_KABI_ASSERT_EQ_CONST(208, S_X26); /* offsetof(struct pt_regs, regs[26]) */
RH_KABI_ASSERT_EQ_CONST(224, S_X28); /* offsetof(struct pt_regs, regs[28]) */
RH_KABI_ASSERT_EQ_CONST(32, S_X4); /* offsetof(struct pt_regs, regs[4]) */
RH_KABI_ASSERT_EQ_CONST(48, S_X6); /* offsetof(struct pt_regs, regs[6]) */
RH_KABI_ASSERT_EQ_CONST(64, S_X8); /* offsetof(struct pt_regs, regs[8]) */
RH_KABI_ASSERT_EQ_CONST(3344, THREAD_CPU_CONTEXT); /* offsetof(struct task_struct, thread.cpu_context) */
RH_KABI_ASSERT_EQ_CONST(1688, TSK_ACTIVE_MM); /* offsetof(struct task_struct, active_mm) */
RH_KABI_ASSERT_EQ_CONST(32, TSK_STACK); /* offsetof(struct task_struct, stack) */
RH_KABI_ASSERT_EQ_CONST(1864, TSK_STACK_CANARY); /* offsetof(struct task_struct, stack_canary) */
RH_KABI_ASSERT_EQ_CONST(8, TSK_TI_ADDR_LIMIT); /* offsetof(struct task_struct, thread_info.addr_limit) */
RH_KABI_ASSERT_EQ_CONST(0, TSK_TI_FLAGS); /* offsetof(struct task_struct, thread_info.flags) */
RH_KABI_ASSERT_EQ_CONST(16, TSK_TI_PREEMPT); /* offsetof(struct task_struct, thread_info.preempt_count) */
RH_KABI_ASSERT_EQ_CONST(80, VMA_VM_FLAGS); /* offsetof(struct vm_area_struct, vm_flags) */
RH_KABI_ASSERT_EQ_CONST(64, VMA_VM_MM); /* offsetof(struct vm_area_struct, vm_mm) */
return 0;
}

View File

@ -1,79 +0,0 @@
#include <generated/autoconf.h>
#include <generated/asm-offsets.h>
#include <linux/rh_kabi.h>
int main(void)
{
RH_KABI_ASSERT_EQ_CONST(24, BUG_ENTRY_SIZE); /* sizeof(struct bug_entry) */
RH_KABI_ASSERT_EQ_CONST(416, _CCR); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, ccr) */
RH_KABI_ASSERT_EQ_CONST(392, _CTR); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, ctr) */
RH_KABI_ASSERT_EQ_CONST(440, _DAR); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, dar) */
RH_KABI_ASSERT_EQ_CONST(448, _DSISR); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, dsisr) */
RH_KABI_ASSERT_EQ_CONST(512, FPSTATE_FPSCR); /* offsetof(struct thread_fp_state, fpscr) */
RH_KABI_ASSERT_EQ_CONST(112, GPR0); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[0]) */
RH_KABI_ASSERT_EQ_CONST(192, GPR10); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[10]) */
RH_KABI_ASSERT_EQ_CONST(200, GPR11); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[11]) */
RH_KABI_ASSERT_EQ_CONST(120, GPR1); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[1]) */
RH_KABI_ASSERT_EQ_CONST(208, GPR12); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[12]) */
RH_KABI_ASSERT_EQ_CONST(216, GPR13); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[13]) */
RH_KABI_ASSERT_EQ_CONST(128, GPR2); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[2]) */
RH_KABI_ASSERT_EQ_CONST(136, GPR3); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[3]) */
RH_KABI_ASSERT_EQ_CONST(144, GPR4); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[4]) */
RH_KABI_ASSERT_EQ_CONST(152, GPR5); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[5]) */
RH_KABI_ASSERT_EQ_CONST(160, GPR6); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[6]) */
RH_KABI_ASSERT_EQ_CONST(168, GPR7); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[7]) */
RH_KABI_ASSERT_EQ_CONST(176, GPR8); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[8]) */
RH_KABI_ASSERT_EQ_CONST(184, GPR9); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, gpr[9]) */
RH_KABI_ASSERT_EQ_CONST(0, KSP); /* offsetof(struct thread_struct, ksp) */
RH_KABI_ASSERT_EQ_CONST(8, KSP_VSID); /* offsetof(struct thread_struct, ksp_vsid) */
RH_KABI_ASSERT_EQ_CONST(400, _LINK); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, link) */
RH_KABI_ASSERT_EQ_CONST(1488, MM); /* offsetof(struct task_struct, mm) */
RH_KABI_ASSERT_EQ_CONST(920, MMCONTEXTID); /* offsetof(struct mm_struct, context.id) */
RH_KABI_ASSERT_EQ_CONST(376, _MSR); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, msr) */
RH_KABI_ASSERT_EQ_CONST(368, _NIP); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, nip) */
RH_KABI_ASSERT_EQ_CONST(384, ORIG_GPR3); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, orig_gpr3) */
RH_KABI_ASSERT_EQ_CONST(3328, PACA_CANARY); /* offsetof(struct paca_struct, canary) */
RH_KABI_ASSERT_EQ_CONST(464, _PPR); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, ppr) */
RH_KABI_ASSERT_EQ_CONST(1240, PT_CKPT_REGS); /* offsetof(struct thread_struct, ckpt_regs) */
RH_KABI_ASSERT_EQ_CONST(16, PT_REGS); /* offsetof(struct thread_struct, regs) */
RH_KABI_ASSERT_EQ_CONST(456, RESULT); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, result) */
RH_KABI_ASSERT_EQ_CONST(424, SOFTE); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, softe) */
RH_KABI_ASSERT_EQ_CONST(480, SWITCH_FRAME_SIZE); /* STACK_FRAME_OVERHEAD + sizeof(struct pt_regs) */
RH_KABI_ASSERT_EQ_CONST(1768, TASK_CANARY); /* offsetof(struct task_struct, stack_canary) */
RH_KABI_ASSERT_EQ_CONST(3168, THREAD); /* offsetof(struct task_struct, thread) */
RH_KABI_ASSERT_EQ_CONST(1632, THREAD_CKFPSTATE); /* offsetof(struct thread_struct, ckfp_state.fpr) */
RH_KABI_ASSERT_EQ_CONST(2688, THREAD_CKVRSAVE); /* offsetof(struct thread_struct, ckvrsave) */
RH_KABI_ASSERT_EQ_CONST(2160, THREAD_CKVRSTATE); /* offsetof(struct thread_struct, ckvr_state.vr) */
RH_KABI_ASSERT_EQ_CONST(568, THREAD_FPEXC_MODE); /* offsetof(struct thread_struct, fpexc_mode) */
RH_KABI_ASSERT_EQ_CONST(560, THREAD_FPSAVEAREA); /* offsetof(struct thread_struct, fp_save_area) */
RH_KABI_ASSERT_EQ_CONST(32, THREAD_FPSTATE); /* offsetof(struct thread_struct, fp_state.fpr) */
RH_KABI_ASSERT_EQ_CONST(648, THREAD_LOAD_FP); /* offsetof(struct thread_struct, load_fp) */
RH_KABI_ASSERT_EQ_CONST(649, THREAD_LOAD_VEC); /* offsetof(struct thread_struct, load_vec) */
RH_KABI_ASSERT_EQ_CONST(1624, THREAD_TM_DSCR); /* offsetof(struct thread_struct, tm_dscr) */
RH_KABI_ASSERT_EQ_CONST(1616, THREAD_TM_PPR); /* offsetof(struct thread_struct, tm_ppr) */
RH_KABI_ASSERT_EQ_CONST(1608, THREAD_TM_TAR); /* offsetof(struct thread_struct, tm_tar) */
RH_KABI_ASSERT_EQ_CONST(1224, THREAD_TM_TEXASR); /* offsetof(struct thread_struct, tm_texasr) */
RH_KABI_ASSERT_EQ_CONST(1216, THREAD_TM_TFHAR); /* offsetof(struct thread_struct, tm_tfhar) */
RH_KABI_ASSERT_EQ_CONST(1232, THREAD_TM_TFIAR); /* offsetof(struct thread_struct, tm_tfiar) */
RH_KABI_ASSERT_EQ_CONST(1200, THREAD_USED_VR); /* offsetof(struct thread_struct, used_vr) */
RH_KABI_ASSERT_EQ_CONST(1204, THREAD_USED_VSR); /* offsetof(struct thread_struct, used_vsr) */
RH_KABI_ASSERT_EQ_CONST(1192, THREAD_VRSAVE); /* offsetof(struct thread_struct, vrsave) */
RH_KABI_ASSERT_EQ_CONST(1184, THREAD_VRSAVEAREA); /* offsetof(struct thread_struct, vr_save_area) */
RH_KABI_ASSERT_EQ_CONST(656, THREAD_VRSTATE); /* offsetof(struct thread_struct, vr_state.vr) */
RH_KABI_ASSERT_EQ_CONST(8, TI_CPU); /* offsetof(struct thread_info, cpu) */
RH_KABI_ASSERT_EQ_CONST(128, TI_FLAGS); /* offsetof(struct thread_info, flags) */
RH_KABI_ASSERT_EQ_CONST(24, TI_livepatch_sp); /* offsetof(struct thread_info, livepatch_sp) */
RH_KABI_ASSERT_EQ_CONST(16, TI_LOCAL_FLAGS); /* offsetof(struct thread_info, local_flags) */
RH_KABI_ASSERT_EQ_CONST(12, TI_PREEMPT); /* offsetof(struct thread_info, preempt_count) */
RH_KABI_ASSERT_EQ_CONST(0, TI_TASK); /* offsetof(struct thread_info, task) */
RH_KABI_ASSERT_EQ_CONST(496, TM_FRAME_SIZE); /* STACK_FRAME_OVERHEAD + sizeof(struct pt_regs) + 16 */
RH_KABI_ASSERT_EQ_CONST(432, _TRAP); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, trap) */
RH_KABI_ASSERT_EQ_CONST(4, TSPC32_TV_NSEC); /* offsetof(struct compat_timespec, tv_nsec) */
RH_KABI_ASSERT_EQ_CONST(0, TSPC32_TV_SEC); /* offsetof(struct compat_timespec, tv_sec) */
RH_KABI_ASSERT_EQ_CONST(8, TSPC64_TV_NSEC); /* offsetof(struct timespec, tv_nsec) */
RH_KABI_ASSERT_EQ_CONST(0, TSPC64_TV_SEC); /* offsetof(struct timespec, tv_sec) */
RH_KABI_ASSERT_EQ_CONST(0, TVAL64_TV_SEC); /* offsetof(struct timeval, tv_sec) */
RH_KABI_ASSERT_EQ_CONST(8, TVAL64_TV_USEC); /* offsetof(struct timeval, tv_usec) */
RH_KABI_ASSERT_EQ_CONST(512, VRSTATE_VSCR); /* offsetof(struct thread_vr_state, vscr) */
RH_KABI_ASSERT_EQ_CONST(408, _XER); /* STACK_FRAME_OVERHEAD + offsetof(struct pt_regs, xer) */
return 0;
}

View File

@ -1,29 +0,0 @@
#include <generated/autoconf.h>
#include <generated/asm-offsets.h>
#include <linux/rh_kabi.h>
int main(void)
{
RH_KABI_ASSERT_EQ_CONST(0, __PT_ARGS); /* offsetof(struct pt_regs, args) */
RH_KABI_ASSERT_EQ_CONST(176, __PT_FLAGS); /* offsetof(struct pt_regs, flags) */
RH_KABI_ASSERT_EQ_CONST(24, __PT_GPRS); /* offsetof(struct pt_regs, gprs) */
RH_KABI_ASSERT_EQ_CONST(160, __PT_INT_CODE); /* offsetof(struct pt_regs, int_code) */
RH_KABI_ASSERT_EQ_CONST(164, __PT_INT_PARM); /* offsetof(struct pt_regs, int_parm) */
RH_KABI_ASSERT_EQ_CONST(168, __PT_INT_PARM_LONG); /* offsetof(struct pt_regs, int_parm_long) */
RH_KABI_ASSERT_EQ_CONST(152, __PT_ORIG_GPR2); /* offsetof(struct pt_regs, orig_gpr2) */
RH_KABI_ASSERT_EQ_CONST(8, __PT_PSW); /* offsetof(struct pt_regs, psw) */
RH_KABI_ASSERT_EQ_CONST(184, __PT_SIZE); /* sizeof(struct pt_regs) */
RH_KABI_ASSERT_EQ_CONST(1984, __TASK_pid); /* offsetof(struct task_struct, pid) */
RH_KABI_ASSERT_EQ_CONST(16, __TASK_stack); /* offsetof(struct task_struct, stack) */
RH_KABI_ASSERT_EQ_CONST(3256, __TASK_thread); /* offsetof(struct task_struct, thread) */
RH_KABI_ASSERT_EQ_CONST(560, __THREAD_FPU_fpc); /* offsetof(struct thread_struct, fpu.fpc) */
RH_KABI_ASSERT_EQ_CONST(568, __THREAD_FPU_regs); /* offsetof(struct thread_struct, fpu.regs) */
RH_KABI_ASSERT_EQ_CONST(64, __THREAD_ksp); /* offsetof(struct thread_struct, ksp) */
RH_KABI_ASSERT_EQ_CONST(216, __THREAD_last_break); /* offsetof(struct thread_struct, last_break) */
RH_KABI_ASSERT_EQ_CONST(184, __THREAD_per_address); /* offsetof(struct thread_struct, per_event.address) */
RH_KABI_ASSERT_EQ_CONST(176, __THREAD_per_cause); /* offsetof(struct thread_struct, per_event.cause) */
RH_KABI_ASSERT_EQ_CONST(192, __THREAD_per_paid); /* offsetof(struct thread_struct, per_event.paid) */
RH_KABI_ASSERT_EQ_CONST(112, __THREAD_sysc_table); /* offsetof(struct thread_struct, sys_call_table) */
RH_KABI_ASSERT_EQ_CONST(272, __THREAD_trap_tdb); /* offsetof(struct thread_struct, trap_tdb) */
RH_KABI_ASSERT_EQ_CONST(0, __TI_flags); /* offsetof(struct task_struct, thread_info.flags) */
return 0;
}

View File

@ -1,37 +0,0 @@
#include <generated/autoconf.h>
#include <generated/asm-offsets.h>
#include <linux/rh_kabi.h>
int main(void)
{
RH_KABI_ASSERT_EQ_CONST(64, crypto_tfm_ctx_offset); /* offsetof(struct crypto_tfm, __crt_ctx) */
RH_KABI_ASSERT_EQ_CONST(24, PARAVIRT_PATCH_pv_cpu_ops); /* offsetof(struct paravirt_patch_template, pv_cpu_ops) */
RH_KABI_ASSERT_EQ_CONST(296, PARAVIRT_PATCH_pv_irq_ops); /* offsetof(struct paravirt_patch_template, pv_irq_ops) */
RH_KABI_ASSERT_EQ_CONST(32, pt_regs_bp); /* offsetof(struct pt_regs, bp) */
RH_KABI_ASSERT_EQ_CONST(40, pt_regs_bx); /* offsetof(struct pt_regs, bx) */
RH_KABI_ASSERT_EQ_CONST(88, pt_regs_cx); /* offsetof(struct pt_regs, cx) */
RH_KABI_ASSERT_EQ_CONST(112, pt_regs_di); /* offsetof(struct pt_regs, di) */
RH_KABI_ASSERT_EQ_CONST(96, pt_regs_dx); /* offsetof(struct pt_regs, dx) */
RH_KABI_ASSERT_EQ_CONST(144, pt_regs_flags); /* offsetof(struct pt_regs, flags) */
RH_KABI_ASSERT_EQ_CONST(56, pt_regs_r10); /* offsetof(struct pt_regs, r10) */
RH_KABI_ASSERT_EQ_CONST(48, pt_regs_r11); /* offsetof(struct pt_regs, r11) */
RH_KABI_ASSERT_EQ_CONST(24, pt_regs_r12); /* offsetof(struct pt_regs, r12) */
RH_KABI_ASSERT_EQ_CONST(16, pt_regs_r13); /* offsetof(struct pt_regs, r13) */
RH_KABI_ASSERT_EQ_CONST(8, pt_regs_r14); /* offsetof(struct pt_regs, r14) */
RH_KABI_ASSERT_EQ_CONST(0, pt_regs_r15); /* offsetof(struct pt_regs, r15) */
RH_KABI_ASSERT_EQ_CONST(72, pt_regs_r8); /* offsetof(struct pt_regs, r8) */
RH_KABI_ASSERT_EQ_CONST(64, pt_regs_r9); /* offsetof(struct pt_regs, r9) */
RH_KABI_ASSERT_EQ_CONST(104, pt_regs_si); /* offsetof(struct pt_regs, si) */
RH_KABI_ASSERT_EQ_CONST(168, PTREGS_SIZE); /* sizeof(struct pt_regs) */
RH_KABI_ASSERT_EQ_CONST(152, pt_regs_sp); /* offsetof(struct pt_regs, sp) */
RH_KABI_ASSERT_EQ_CONST(240, PV_CPU_iret); /* offsetof(struct pv_cpu_ops, iret) */
RH_KABI_ASSERT_EQ_CONST(248, PV_CPU_swapgs); /* offsetof(struct pv_cpu_ops, swapgs) */
RH_KABI_ASSERT_EQ_CONST(232, PV_CPU_usergs_sysret64); /* offsetof(struct pv_cpu_ops, usergs_sysret64) */
RH_KABI_ASSERT_EQ_CONST(16, PV_IRQ_irq_disable); /* offsetof(struct pv_irq_ops, irq_disable) */
RH_KABI_ASSERT_EQ_CONST(24, PV_IRQ_irq_enable); /* offsetof(struct pv_irq_ops, irq_enable) */
RH_KABI_ASSERT_EQ_CONST(0, PV_MMU_read_cr2); /* offsetof(struct pv_mmu_ops, read_cr2) */
RH_KABI_ASSERT_EQ_CONST(5144, TASK_addr_limit); /* offsetof(struct task_struct, thread.addr_limit) */
RH_KABI_ASSERT_EQ_CONST(2312, TASK_stack_canary); /* offsetof(struct task_struct, stack_canary) */
RH_KABI_ASSERT_EQ_CONST(5016, TASK_threadsp); /* offsetof(struct task_struct, thread.sp) */
RH_KABI_ASSERT_EQ_CONST(0, TASK_TI_flags); /* offsetof(struct task_struct, thread_info.flags) */
return 0;
}

48
SOURCES/uki_addons.json Normal file
View File

@ -0,0 +1,48 @@
{
"common": {
"crashkernel-1536M.addon": [
"crashkernel=1536M\n"
],
"crashkernel-192M.addon": [
"crashkernel=192M\n"
],
"crashkernel-1G.addon": [
"crashkernel=1G\n"
],
"crashkernel-256M.addon": [
"crashkernel=256M\n"
],
"crashkernel-2G.addon": [
"crashkernel=2G\n"
],
"crashkernel-512M.addon": [
"crashkernel=512M\n"
],
"crashkernel-default.addon": [
"crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M\n"
],
"debug.addon": [
"debug\n"
],
"systemd-volatile-overlay.addon": [
"systemd.volatile=overlay"
]
},
"virt": {
"common": {
"fips-disable.addon": [
"fips=0\n"
],
"fips-enable.addon": [
"fips=1\n"
]
},
"rhel": {
"aarch64": {
"crashkernel-default.addon": [
"crashkernel=1G-4G:256M,4G-64G:320M,64G-:576M\n"
]
}
}
}
}

136
SOURCES/uki_create_addons.py Executable file
View File

@ -0,0 +1,136 @@
#!/usr/bin/env python3
#
# This script inspects a given json proving a list of addons, and
# creates an addon for each key/value pair matching the given uki, distro and
# arch provided in input.
#
# Usage: python uki_create_addons.py input_json out_dir uki distro arch [sbat]
#
# This tool requires the systemd-ukify and systemd-boot packages.
#
# Addon file
#-----------
# Each addon terminates with .addon
# Each addon contains only two types of lines:
# Lines beginning with '#' are description and thus ignored
# All other lines are command line to be added.
# The name of the end resulting addon is taken from the json hierarchy.
# For example, and addon in json['virt']['rhel']['x86_64']['hello.addon'] will
# result in an UKI addon file generated in out_dir called
# hello-virt.rhel.x86_64.addon.efi
#
# The common key, present in any sub-dict in the provided json (except the leaf dict)
# is used as place for default addons when the same addon is not defined deep
# in the hierarchy. For example, if we define test.addon (text: 'test1\n') in
# json['common']['test.addon'] = ['test1\n'] and another test.addon (text: test2) in
# json['virt']['common']['test.addon'] = ['test2'], any other uki except virt
# will have a test.addon.efi with text "test1", and virt will have a
# test.addon.efi with "test2"
import os
import sys
import json
import collections
import subprocess
UKIFY_PATH = '/usr/lib/systemd/ukify'
def usage(err):
print(f'Usage: {os.path.basename(__file__)} input_json output_dir uki distro arch [sbat]')
print(f'Error:{err}')
sys.exit(1)
def check_clean_arguments(input_json, out_dir):
# Remove end '/'
if out_dir[-1:] == '/':
out_dir = out_dir[:-1]
if not os.path.isfile(input_json):
usage(f'input_json {input_json} is not a file, or does not exist!')
if not os.path.isdir(out_dir):
usage(f'out_dir_dir {out_dir} is not a dir, or does not exist!')
return out_dir
UKICmdlineAddon = collections.namedtuple('UKICmdlineAddon', ['name', 'cmdline'])
uki_addons_list = []
uki_addons = {}
def parse_lines(lines):
cmdline = ''
for l in lines:
l = l.lstrip()
if not l:
continue
if l[0] == '#':
continue
cmdline += l.rstrip() + ' '
if cmdline == '':
return ''
return cmdline
def parse_all_addons(in_obj):
for el in in_obj.keys():
# addon found: copy it in our global dict uki_addons
if el.endswith('.addon'):
uki_addons[el] = in_obj[el]
def recursively_find_addons(in_obj, folder_list):
# end of recursion, leaf directory. Search all addons here
if len(folder_list) == 0:
parse_all_addons(in_obj)
return
# first, check for common folder
if 'common' in in_obj:
parse_all_addons(in_obj['common'])
# second, check if there is a match with the searched folder
if folder_list[0] in in_obj:
folder_next = in_obj[folder_list[0]]
folder_list = folder_list[1:]
recursively_find_addons(folder_next, folder_list)
def parse_in_json(in_json, uki_name, distro, arch):
with open(in_json, 'r') as f:
in_obj = json.load(f)
recursively_find_addons(in_obj, [uki_name, distro, arch])
for addon_name, cmdline in uki_addons.items():
addon_name = addon_name.replace(".addon","")
addon_full_name = f'{addon_name}-{uki_name}.{distro}.{arch}.addon.efi'
cmdline = parse_lines(cmdline).rstrip()
if cmdline:
uki_addons_list.append(UKICmdlineAddon(addon_full_name, cmdline))
def create_addons(out_dir, sbat):
for uki_addon in uki_addons_list:
out_path = os.path.join(out_dir, uki_addon.name)
cmd = [
f'{UKIFY_PATH}', 'build',
'--cmdline', uki_addon.cmdline,
'--output', out_path]
if sbat:
cmd.extend(['--sbat', sbat.rstrip()])
subprocess.check_call(cmd, text=True)
if __name__ == "__main__":
argc = len(sys.argv) - 1
if argc < 5 or argc > 6:
usage('too few or too many parameters!')
input_json = sys.argv[1]
out_dir = sys.argv[2]
uki_name = sys.argv[3]
distro = sys.argv[4]
arch = sys.argv[5]
custom_sbat = None
if argc == 6:
custom_sbat = sys.argv[6]
out_dir = check_clean_arguments(input_json, out_dir)
parse_in_json(input_json, uki_name, distro, arch)
create_addons(out_dir, custom_sbat)

12
SOURCES/update_scripts.sh Executable file
View File

@ -0,0 +1,12 @@
#!/bin/sh
if [ -z "$1" ]; then
exit 1
fi
TARGET="$1"
for i in "$RPM_SOURCE_DIR"/*."$TARGET"; do
NEW=${i%."$TARGET"}
cp "$i" "$(basename "$NEW")"
done

View File

@ -0,0 +1,16 @@
[ req ]
default_bits = 3072
distinguished_name = req_distinguished_name
prompt = no
x509_extensions = myexts
[ req_distinguished_name ]
O = The CentOS Project
CN = CentOS Stream kernel signing key
emailAddress = security@centos.org
[ myexts ]
basicConstraints=critical,CA:FALSE
keyUsage=digitalSignature
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid

File diff suppressed because it is too large Load Diff