Skip to content

Commit 78b5632

Browse files
committed
Merge: Draft: CKI_BUILD_ONLY Merge up kernel-5.14.0-570.4.1.el9_6
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/6585 This brings all the post-branching changes from 9.6 into c9s. Signed-off-by: Jan Stancek <[email protected]> Merged-by: Augusto Caringi <[email protected]>
2 parents ce44ed8 + bebee3a commit 78b5632

File tree

42 files changed

+326
-191
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+326
-191
lines changed

.gitlab-ci.yml

Lines changed: 52 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,33 @@ workflow: !reference [.workflow]
4141
skip_test: 'true'
4242
skip_results: 'true'
4343

44-
.automotive_full_c9s:
44+
.automotive_disttag:
4545
variables:
46-
kpet_tree_name: autosd
4746
disttag_override: '.el9iv'
48-
AWS_UPT_IMAGE_NAME_FILTER: 'auto-osbuild-qemu-cs9-cki-ostree-*'
47+
48+
.automotive_branch:
49+
variables:
4950
RUN_ONLY_FOR_AUTOMOTIVE: 'true'
5051

51-
.automotive_check_c9s_overrides:
52-
trigger:
53-
branch: c9s-automotive
52+
.automotive_autosd:
53+
variables:
54+
kpet_tree_name: autosd
55+
56+
.automotive_rhivos:
5457
variables:
55-
RUN_ONLY_FOR_AUTOMOTIVE: 'false'
58+
kpet_tree_name: rhivos
59+
60+
.automotive_pipeline_c9s:
61+
extends: [.automotive_disttag, .automotive_autosd, .automotive_branch]
62+
63+
.automotive_check_c9s:
64+
extends: [.automotive_disttag, .automotive_autosd]
65+
66+
.automotive_pipeline_rhel9:
67+
extends: [.automotive_disttag, .automotive_rhivos, .automotive_branch]
68+
69+
.automotive_check_rhel9:
70+
extends: [.automotive_disttag, .automotive_rhivos]
5671

5772
# c9s CI
5873
c9s_merge_request:
@@ -79,12 +94,13 @@ c9s_64k_merge_request:
7994

8095
c9s_automotive_check_merge_request:
8196
extends: [.trusted, .merge_request,
82-
.9-common, .trigger_c9s_pipeline, .automotive_full_c9s, .automotive_check_c9s_overrides,
83-
.automotive_check_common]
97+
.9-common, .trigger_c9s_pipeline,
98+
.automotive_check_common, .automotive_check_c9s]
8499

85100
c9s_baseline_coverage_build:
86101
extends: [.trusted, .baseline, .rhel_common, .only_build_and_publish,
87-
.9-common, .coverage, .trigger_c9s_pipeline]
102+
.9-common, .trigger_c9s_pipeline,
103+
.coverage]
88104

89105
c9s_rhel9_compat_merge_request:
90106
extends: [.centos_stream_rhel_internal, .merge_request, .rhel_common, .with_notifications,
@@ -93,15 +109,14 @@ c9s_rhel9_compat_merge_request:
93109
# c9s automotive branch CI
94110
c9s_automotive_merge_request:
95111
extends: [.trusted, .merge_request,
96-
.9-common,
97-
.automotive_pipeline_common,
98-
.trigger_c9s_pipeline, .automotive_full_c9s]
112+
.9-common, .trigger_c9s_pipeline,
113+
.automotive_pipeline_common, .automotive_pipeline_c9s]
99114

100115
c9s_automotive_baseline_coverage:
101-
extends: [.trusted, .baseline, .9-common,
102-
.automotive_pipeline_common,
103-
.coverage,
104-
.trigger_c9s_pipeline, .automotive_full_c9s]
116+
extends: [.trusted, .baseline,
117+
.9-common, .trigger_c9s_pipeline,
118+
.automotive_pipeline_common, .automotive_pipeline_c9s,
119+
.coverage]
105120

106121
# RHEL9 CI
107122
rhel9_merge_request:
@@ -126,9 +141,22 @@ rhel9_64k_merge_request:
126141
.9-common, .trigger_rhel9_pipeline,
127142
.64k_common]
128143

144+
rhel9_automotive_check_merge_request:
145+
# Don't add .rhel_common as we overwrite those configs
146+
extends: [.internal, .merge_request, .with_notifications,
147+
.9-common, .trigger_rhel9_pipeline,
148+
.automotive_check_common, .automotive_check_rhel9]
149+
129150
rhel9_baseline_coverage_build:
130151
extends: [.internal, .baseline, .rhel_common, .only_build_and_publish,
131-
.9-common, .coverage, .trigger_rhel9_pipeline]
152+
.9-common, .trigger_rhel9_pipeline,
153+
.coverage]
154+
155+
# RHEL9 automotive branch CI
156+
rhel9_automotive_merge_request:
157+
extends: [.internal, .merge_request,
158+
.9-common, .trigger_rhel9_pipeline,
159+
.automotive_pipeline_common, .automotive_pipeline_rhel9]
132160

133161
# RHEL9 private CI (including RT branches)
134162
rhel9_merge_request_private:
@@ -152,3 +180,9 @@ rhel9_64k_merge_request_private:
152180
extends: [.scratch, .merge_request,
153181
.9-common, .trigger_rhel9_pipeline,
154182
.64k_common]
183+
184+
rhel9_automotive_check_merge_request_private:
185+
# Don't add .rhel_common as we overwrite those configs
186+
extends: [.scratch, .merge_request,
187+
.9-common, .trigger_rhel9_pipeline,
188+
.automotive_check_common, .automotive_check_rhel9]

Documentation/ABI/testing/sysfs-kernel-fadump

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,5 @@ Date: May 2024
4444
4545
Description: read/write
4646
This is a special sysfs file available to setup additional
47-
parameters to be passed to capture kernel.
47+
parameters to be passed to capture kernel. For HASH MMU it
48+
is exported only if RMA size higher than 768MB.

Documentation/powerpc/firmware-assisted-dump.rst

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,28 @@ to ensure that crash data is preserved to process later.
120120
e.g.
121121
# echo 1 > /sys/firmware/opal/mpipl/release_core
122122

123+
-- Support for Additional Kernel Arguments in Fadump
124+
Fadump has a feature that allows passing additional kernel arguments
125+
to the fadump kernel. This feature was primarily designed to disable
126+
kernel functionalities that are not required for the fadump kernel
127+
and to reduce its memory footprint while collecting the dump.
128+
129+
Command to Add Additional Kernel Parameters to Fadump:
130+
e.g.
131+
# echo "nr_cpus=16" > /sys/kernel/fadump/bootargs_append
132+
133+
The above command is sufficient to add additional arguments to fadump.
134+
An explicit service restart is not required.
135+
136+
Command to Retrieve the Additional Fadump Arguments:
137+
e.g.
138+
# cat /sys/kernel/fadump/bootargs_append
139+
140+
Note: Additional kernel arguments for fadump with HASH MMU is only
141+
supported if the RMA size is greater than 768 MB. If the RMA
142+
size is less than 768 MB, the kernel does not export the
143+
/sys/kernel/fadump/bootargs_append sysfs node.
144+
123145
Implementation details:
124146
-----------------------
125147

arch/arm64/kernel/setup.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#include <linux/psci.h>
3232
#include <linux/sched/task.h>
3333
#include <linux/mm.h>
34+
#include <linux/security.h>
3435

3536
#include <asm/acpi.h>
3637
#include <asm/fixmap.h>
@@ -294,6 +295,10 @@ void __init __no_sanitize_address setup_arch(char **cmdline_p)
294295

295296
parse_early_param();
296297

298+
/* Initialize the lockdown LSM */
299+
static_call_init();
300+
early_security_init();
301+
297302
/*
298303
* The primary CPU enters the kernel with all DAIF exceptions masked.
299304
*

arch/arm64/mm/init.c

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -115,15 +115,6 @@ static void __init arch_reserve_crashkernel(void)
115115

116116
static phys_addr_t __init max_zone_phys(phys_addr_t zone_limit)
117117
{
118-
/**
119-
* Information we get from firmware (e.g. DT dma-ranges) describe DMA
120-
* bus constraints. Devices using DMA might have their own limitations.
121-
* Some of them rely on DMA zone in low 32-bit memory. Keep low RAM
122-
* DMA zone on platforms that have RAM there.
123-
*/
124-
if (memblock_start_of_DRAM() < U32_MAX)
125-
zone_limit = min(zone_limit, U32_MAX);
126-
127118
return min(zone_limit, memblock_end_of_DRAM() - 1) + 1;
128119
}
129120

@@ -139,6 +130,14 @@ static void __init zone_sizes_init(void)
139130
acpi_zone_dma_limit = acpi_iort_dma_get_max_cpu_address();
140131
dt_zone_dma_limit = of_dma_get_max_cpu_address(NULL);
141132
zone_dma_limit = min(dt_zone_dma_limit, acpi_zone_dma_limit);
133+
/*
134+
* Information we get from firmware (e.g. DT dma-ranges) describe DMA
135+
* bus constraints. Devices using DMA might have their own limitations.
136+
* Some of them rely on DMA zone in low 32-bit memory. Keep low RAM
137+
* DMA zone on platforms that have RAM there.
138+
*/
139+
if (memblock_start_of_DRAM() < U32_MAX)
140+
zone_dma_limit = min(zone_dma_limit, U32_MAX);
142141
arm64_dma_phys_limit = max_zone_phys(zone_dma_limit);
143142
max_zone_pfns[ZONE_DMA] = PFN_DOWN(arm64_dma_phys_limit);
144143
#endif

arch/powerpc/include/asm/prom.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
#include <linux/of_irq.h>
2323
#include <linux/platform_device.h>
2424

25+
#define MIN_RMA 768 /* Minimum RMA (in MB) for CAS negotiation */
26+
2527
#define OF_DT_BEGIN_NODE 0x1 /* Start of node, full name */
2628
#define OF_DT_END_NODE 0x2 /* End node */
2729
#define OF_DT_PROP 0x3 /* Property: name off, size,

arch/powerpc/kernel/fadump.c

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#include <asm/fadump-internal.h>
3434
#include <asm/setup.h>
3535
#include <asm/interrupt.h>
36+
#include <asm/prom.h>
3637

3738
/*
3839
* The CPU who acquired the lock to trigger the fadump crash should
@@ -1712,19 +1713,19 @@ void __init fadump_setup_param_area(void)
17121713
range_end = memblock_end_of_DRAM();
17131714
} else {
17141715
/*
1715-
* Passing additional parameters is supported for hash MMU only
1716-
* if the first memory block size is 768MB or higher.
1716+
* Memory range for passing additional parameters for HASH MMU
1717+
* must meet the following conditions:
1718+
* 1. The first memory block size must be higher than the
1719+
* minimum RMA (MIN_RMA) size. Bootloader can use memory
1720+
* upto RMA size. So it should be avoided.
1721+
* 2. The range should be between MIN_RMA and RMA size (ppc64_rma_size)
1722+
* 3. It must not overlap with the fadump reserved area.
17171723
*/
1718-
if (ppc64_rma_size < 0x30000000)
1724+
if (ppc64_rma_size < MIN_RMA*1024*1024)
17191725
return;
17201726

1721-
/*
1722-
* 640 MB to 768 MB is not used by PFW/bootloader. So, try reserving
1723-
* memory for passing additional parameters in this range to avoid
1724-
* being stomped on by PFW/bootloader.
1725-
*/
1726-
range_start = 0x2A000000;
1727-
range_end = range_start + 0x4000000;
1727+
range_start = MIN_RMA * 1024 * 1024;
1728+
range_end = min(ppc64_rma_size, fw_dump.boot_mem_top);
17281729
}
17291730

17301731
fw_dump.param_area = memblock_phys_alloc_range(COMMAND_LINE_SIZE,

arch/powerpc/kernel/prom_init.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1067,7 +1067,7 @@ static const struct ibm_arch_vec ibm_architecture_vec_template __initconst = {
10671067
.virt_base = cpu_to_be32(0xffffffff),
10681068
.virt_size = cpu_to_be32(0xffffffff),
10691069
.load_base = cpu_to_be32(0xffffffff),
1070-
.min_rma = cpu_to_be32(512), /* 512MB min RMA */
1070+
.min_rma = cpu_to_be32(MIN_RMA),
10711071
.min_load = cpu_to_be32(0xffffffff), /* full client load */
10721072
.min_rma_percent = 0, /* min RMA percentage of total RAM */
10731073
.max_pft_size = 48, /* max log_2(hash table size) */

arch/powerpc/kernel/setup-common.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -870,6 +870,11 @@ void __init setup_arch(char **cmdline_p)
870870
*/
871871
initialize_cache_info();
872872

873+
/* Initialize the lockdown LSM */
874+
jump_label_init();
875+
static_call_init();
876+
early_security_init();
877+
873878
/*
874879
* Lock down the kernel if booted in secure mode. This is required to
875880
* maintain kernel integrity.

arch/s390/kernel/setup.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -892,6 +892,11 @@ void __init setup_arch(char **cmdline_p)
892892

893893
log_component_list();
894894

895+
/* Initialize the lockdown LSM */
896+
jump_label_init();
897+
static_call_init();
898+
early_security_init();
899+
895900
if (ipl_get_secureboot())
896901
security_lock_kernel_down("Secure IPL mode", LOCKDOWN_INTEGRITY_MAX);
897902

@@ -906,7 +911,6 @@ void __init setup_arch(char **cmdline_p)
906911
if (IS_ENABLED(CONFIG_EXPOLINE_AUTO))
907912
nospec_auto_detect();
908913

909-
jump_label_init();
910914
parse_early_param();
911915
#ifdef CONFIG_CRASH_DUMP
912916
/* Deactivate elfcorehdr= kernel parameter */

arch/x86/kernel/kvm.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
#include <asm/apic.h>
3838
#include <asm/apicdef.h>
3939
#include <asm/hypervisor.h>
40-
#include <asm/mtrr.h>
4140
#include <asm/tlb.h>
4241
#include <asm/cpuidle_haltpoll.h>
4342
#include <asm/ptrace.h>
@@ -980,9 +979,6 @@ static void __init kvm_init_platform(void)
980979
}
981980
kvmclock_init();
982981
x86_platform.apic_post_init = kvm_apic_init;
983-
984-
/* Set WB as the default cache mode for SEV-SNP and TDX */
985-
mtrr_overwrite_state(NULL, 0, MTRR_TYPE_WRBACK);
986982
}
987983

988984
#if defined(CONFIG_AMD_MEM_ENCRYPT)

arch/x86/kernel/setup.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -838,8 +838,11 @@ void __init setup_arch(char **cmdline_p)
838838

839839
idt_setup_early_traps();
840840
early_cpu_init();
841+
842+
/* Initialize the lockdown LSM */
841843
jump_label_init();
842844
static_call_init();
845+
early_security_init();
843846
early_ioremap_init();
844847

845848
setup_olpc_ofw_pgd();

drivers/infiniband/hw/mlx5/mr.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1935,7 +1935,8 @@ mlx5_alloc_priv_descs(struct ib_device *device,
19351935
static void
19361936
mlx5_free_priv_descs(struct mlx5_ib_mr *mr)
19371937
{
1938-
if (!mr->umem && !mr->data_direct && mr->descs) {
1938+
if (!mr->umem && !mr->data_direct &&
1939+
mr->ibmr.type != IB_MR_TYPE_DM && mr->descs) {
19391940
struct ib_device *device = mr->ibmr.device;
19401941
int size = mr->max_descs * mr->desc_size;
19411942
struct mlx5_ib_dev *dev = to_mdev(device);

drivers/net/ethernet/chelsio/cxgb4/cxgb4.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2082,7 +2082,7 @@ void t4_idma_monitor(struct adapter *adapter,
20822082
struct sge_idma_monitor_state *idma,
20832083
int hz, int ticks);
20842084
int t4_set_vf_mac_acl(struct adapter *adapter, unsigned int vf,
2085-
unsigned int naddr, u8 *addr);
2085+
u8 start, unsigned int naddr, u8 *addr);
20862086
void t4_tp_pio_read(struct adapter *adap, u32 *buff, u32 nregs,
20872087
u32 start_index, bool sleep_ok);
20882088
void t4_tp_tm_pio_read(struct adapter *adap, u32 *buff, u32 nregs,

drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3246,7 +3246,7 @@ static int cxgb4_mgmt_set_vf_mac(struct net_device *dev, int vf, u8 *mac)
32463246

32473247
dev_info(pi->adapter->pdev_dev,
32483248
"Setting MAC %pM on VF %d\n", mac, vf);
3249-
ret = t4_set_vf_mac_acl(adap, vf + 1, 1, mac);
3249+
ret = t4_set_vf_mac_acl(adap, vf + 1, pi->lport, 1, mac);
32503250
if (!ret)
32513251
ether_addr_copy(adap->vfinfo[vf].vf_mac_addr, mac);
32523252
return ret;

drivers/net/ethernet/chelsio/cxgb4/t4_hw.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10215,11 +10215,12 @@ int t4_load_cfg(struct adapter *adap, const u8 *cfg_data, unsigned int size)
1021510215
* t4_set_vf_mac_acl - Set MAC address for the specified VF
1021610216
* @adapter: The adapter
1021710217
* @vf: one of the VFs instantiated by the specified PF
10218+
* @start: The start port id associated with specified VF
1021810219
* @naddr: the number of MAC addresses
1021910220
* @addr: the MAC address(es) to be set to the specified VF
1022010221
*/
1022110222
int t4_set_vf_mac_acl(struct adapter *adapter, unsigned int vf,
10222-
unsigned int naddr, u8 *addr)
10223+
u8 start, unsigned int naddr, u8 *addr)
1022310224
{
1022410225
struct fw_acl_mac_cmd cmd;
1022510226

@@ -10234,7 +10235,7 @@ int t4_set_vf_mac_acl(struct adapter *adapter, unsigned int vf,
1023410235
cmd.en_to_len16 = cpu_to_be32((unsigned int)FW_LEN16(cmd));
1023510236
cmd.nmac = naddr;
1023610237

10237-
switch (adapter->pf) {
10238+
switch (start) {
1023810239
case 3:
1023910240
memcpy(cmd.macaddr3, addr, sizeof(cmd.macaddr3));
1024010241
break;

drivers/net/ethernet/intel/idpf/idpf_lib.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2159,8 +2159,13 @@ static int idpf_open(struct net_device *netdev)
21592159
idpf_vport_ctrl_lock(netdev);
21602160
vport = idpf_netdev_to_vport(netdev);
21612161

2162+
err = idpf_set_real_num_queues(vport);
2163+
if (err)
2164+
goto unlock;
2165+
21622166
err = idpf_vport_open(vport);
21632167

2168+
unlock:
21642169
idpf_vport_ctrl_unlock(netdev);
21652170

21662171
return err;

0 commit comments

Comments
 (0)