* [PATCH] treewide: const qualify ctl_tables where applicable
@ 2025-01-09 13:16 Joel Granados
2025-01-09 14:50 ` Steven Rostedt
` (10 more replies)
0 siblings, 11 replies; 14+ messages in thread
From: Joel Granados @ 2025-01-09 13:16 UTC (permalink / raw)
To: Thomas Weißschuh, Kees Cook, Luis Chamberlain
Cc: linux-arm-kernel, linux-kernel, linuxppc-dev, linux-riscv,
linux-s390, linux-crypto, openipmi-developer, intel-gfx,
dri-devel, intel-xe, linux-hyperv, linux-rdma, linux-raid,
linux-scsi, linux-serial, xen-devel, linux-aio, linux-fsdevel,
netfs, codalist, linux-mm, linux-nfs, ocfs2-devel, fsverity,
linux-xfs, io-uring, bpf, kexec, linux-trace-kernel,
linux-hardening, apparmor, linux-security-module, keyrings,
Joel Granados
Add the const qualifier to all the ctl_tables in the tree except the
ones in ./net dir. The "net" sysctl code is special as it modifies the
arrays before passing it on to the registration function.
Constifying ctl_table structs will prevent the modification of
proc_handler function pointers as the arrays would reside in .rodata.
This is made possible after commit 78eb4ea25cd5 ("sysctl: treewide:
constify the ctl_table argument of proc_handlers") constified all the
proc_handlers.
Created this by running an spatch followed by a sed command:
Spatch:
virtual patch
@
depends on !(file in "net")
disable optional_qualifier
@
identifier table_name;
@@
+ const
struct ctl_table table_name [] = { ... };
sed:
sed --in-place \
-e "s/struct ctl_table .table = &uts_kern/const struct ctl_table *table = \&uts_kern/" \
kernel/utsname_sysctl.c
Signed-off-by: Joel Granados <joel.granados@kernel.org>
---
This treewide commit builds upon the work Thomas began a few releases
ago [1], where he laid the groundwork for constifying ctl_tables. We
implement constification throughout the tree, with the exception of the
ctl_tables in the "net" directory. Those are special in that they treat
the ctl_table as non-const but we can take them at a later point.
Upstreaming:
===========
It is late in the release cycle, but I'm hopeful that we can get this
in for the upcoming merge window and this is why:
1. We don't use linux-next: As with previous treewide changes similar to
this one [1], we avoid using linux-next in order to avoid unwanted
merge conflicts
2. This is a non-functional change: which lowers the probability of
unforeseen errors or regressions.
3. It will have at least 2 weeks to be tested/reviewed: The PULL should
be sent at the end of the merge window, giving it at least 2 weeks.
And if there are more release candidates after rc6, there will be
more time.
Testing:
========
1. Currently being tested in 0-day
2. sysctl self-tests/kunit-tests
Reduced To/Cc:
==============
b4 originally gave me 200 ppl that this should go out to (which seems a
bit overkill from my point of view). So I left the mailing lists and
reduced the To: the ppl previously involved in the effort and sysctl
maintainers. Please tell me if I missed someone important to the
constification effort.
Comments are greatly appreciated.
Specially interested in any specifics from @Thomas and @kees
Best
[1] https://lore.kernel.org/20240724210014.mc6nima6cekgiukx@joelS2.panther.com
--
---
arch/arm/kernel/isa.c | 2 +-
arch/arm64/kernel/fpsimd.c | 4 ++--
arch/arm64/kernel/process.c | 2 +-
arch/powerpc/kernel/idle.c | 2 +-
arch/powerpc/platforms/pseries/mobility.c | 2 +-
arch/riscv/kernel/process.c | 2 +-
arch/riscv/kernel/vector.c | 2 +-
arch/s390/appldata/appldata_base.c | 2 +-
arch/s390/kernel/debug.c | 2 +-
arch/s390/kernel/hiperdispatch.c | 2 +-
arch/s390/kernel/topology.c | 2 +-
arch/s390/mm/cmm.c | 2 +-
arch/s390/mm/pgalloc.c | 2 +-
arch/x86/entry/vdso/vdso32-setup.c | 2 +-
arch/x86/kernel/cpu/bus_lock.c | 2 +-
arch/x86/kernel/itmt.c | 2 +-
crypto/fips.c | 2 +-
drivers/base/firmware_loader/fallback_table.c | 2 +-
drivers/cdrom/cdrom.c | 2 +-
drivers/char/hpet.c | 2 +-
drivers/char/ipmi/ipmi_poweroff.c | 2 +-
drivers/char/random.c | 2 +-
drivers/gpu/drm/i915/i915_perf.c | 2 +-
drivers/gpu/drm/xe/xe_observation.c | 2 +-
drivers/hv/hv_common.c | 2 +-
drivers/infiniband/core/iwcm.c | 2 +-
drivers/infiniband/core/ucma.c | 2 +-
drivers/macintosh/mac_hid.c | 2 +-
drivers/md/md.c | 2 +-
drivers/misc/sgi-xp/xpc_main.c | 4 ++--
drivers/perf/arm_pmuv3.c | 2 +-
drivers/perf/riscv_pmu_sbi.c | 2 +-
drivers/scsi/scsi_sysctl.c | 2 +-
drivers/scsi/sg.c | 2 +-
drivers/tty/tty_io.c | 2 +-
drivers/xen/balloon.c | 2 +-
fs/aio.c | 2 +-
fs/cachefiles/error_inject.c | 2 +-
fs/coda/sysctl.c | 2 +-
fs/coredump.c | 2 +-
fs/dcache.c | 2 +-
fs/devpts/inode.c | 2 +-
fs/eventpoll.c | 2 +-
fs/exec.c | 2 +-
fs/file_table.c | 2 +-
fs/fuse/sysctl.c | 2 +-
fs/inode.c | 2 +-
fs/lockd/svc.c | 2 +-
fs/locks.c | 2 +-
fs/namei.c | 2 +-
fs/namespace.c | 2 +-
fs/nfs/nfs4sysctl.c | 2 +-
fs/nfs/sysctl.c | 2 +-
fs/notify/dnotify/dnotify.c | 2 +-
fs/notify/fanotify/fanotify_user.c | 2 +-
fs/notify/inotify/inotify_user.c | 2 +-
fs/ocfs2/stackglue.c | 2 +-
fs/pipe.c | 2 +-
fs/quota/dquot.c | 2 +-
fs/sysctls.c | 2 +-
fs/userfaultfd.c | 2 +-
fs/verity/init.c | 2 +-
fs/xfs/xfs_sysctl.c | 2 +-
init/do_mounts_initrd.c | 2 +-
io_uring/io_uring.c | 2 +-
ipc/ipc_sysctl.c | 2 +-
ipc/mq_sysctl.c | 2 +-
kernel/acct.c | 2 +-
kernel/bpf/syscall.c | 2 +-
kernel/delayacct.c | 2 +-
kernel/exit.c | 2 +-
kernel/hung_task.c | 2 +-
kernel/kexec_core.c | 2 +-
kernel/kprobes.c | 2 +-
kernel/latencytop.c | 2 +-
kernel/locking/lockdep.c | 2 +-
kernel/panic.c | 2 +-
kernel/pid_namespace.c | 2 +-
kernel/pid_sysctl.h | 2 +-
kernel/printk/sysctl.c | 2 +-
kernel/reboot.c | 2 +-
kernel/sched/autogroup.c | 2 +-
kernel/sched/core.c | 2 +-
kernel/sched/deadline.c | 2 +-
kernel/sched/fair.c | 2 +-
kernel/sched/rt.c | 2 +-
kernel/sched/topology.c | 2 +-
kernel/seccomp.c | 2 +-
kernel/signal.c | 2 +-
kernel/stackleak.c | 2 +-
kernel/sysctl-test.c | 6 +++---
kernel/sysctl.c | 4 ++--
kernel/time/timer.c | 2 +-
kernel/trace/ftrace.c | 2 +-
kernel/trace/trace_events_user.c | 2 +-
kernel/umh.c | 2 +-
kernel/utsname_sysctl.c | 4 ++--
kernel/watchdog.c | 4 ++--
lib/alloc_tag.c | 2 +-
lib/test_sysctl.c | 6 +++---
mm/compaction.c | 2 +-
mm/hugetlb.c | 2 +-
mm/hugetlb_vmemmap.c | 2 +-
mm/memory-failure.c | 2 +-
mm/oom_kill.c | 2 +-
mm/page-writeback.c | 2 +-
mm/page_alloc.c | 2 +-
security/apparmor/lsm.c | 2 +-
security/keys/sysctl.c | 2 +-
security/loadpin/loadpin.c | 2 +-
security/yama/yama_lsm.c | 2 +-
111 files changed, 120 insertions(+), 120 deletions(-)
diff --git a/arch/arm/kernel/isa.c b/arch/arm/kernel/isa.c
index 905b1b191546..db8be609fab2 100644
--- a/arch/arm/kernel/isa.c
+++ b/arch/arm/kernel/isa.c
@@ -16,7 +16,7 @@
static unsigned int isa_membase, isa_portbase, isa_portshift;
-static struct ctl_table ctl_isa_vars[] = {
+static const struct ctl_table ctl_isa_vars[] = {
{
.procname = "membase",
.data = &isa_membase,
diff --git a/arch/arm64/kernel/fpsimd.c b/arch/arm64/kernel/fpsimd.c
index 8c4c1a2186cc..2b601d88762d 100644
--- a/arch/arm64/kernel/fpsimd.c
+++ b/arch/arm64/kernel/fpsimd.c
@@ -562,7 +562,7 @@ static int vec_proc_do_default_vl(const struct ctl_table *table, int write,
return 0;
}
-static struct ctl_table sve_default_vl_table[] = {
+static const struct ctl_table sve_default_vl_table[] = {
{
.procname = "sve_default_vector_length",
.mode = 0644,
@@ -585,7 +585,7 @@ static int __init sve_sysctl_init(void) { return 0; }
#endif /* ! (CONFIG_ARM64_SVE && CONFIG_SYSCTL) */
#if defined(CONFIG_ARM64_SME) && defined(CONFIG_SYSCTL)
-static struct ctl_table sme_default_vl_table[] = {
+static const struct ctl_table sme_default_vl_table[] = {
{
.procname = "sme_default_vector_length",
.mode = 0644,
diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
index 2968a33bb3bc..42faebb7b712 100644
--- a/arch/arm64/kernel/process.c
+++ b/arch/arm64/kernel/process.c
@@ -859,7 +859,7 @@ long get_tagged_addr_ctrl(struct task_struct *task)
* disable it for tasks that already opted in to the relaxed ABI.
*/
-static struct ctl_table tagged_addr_sysctl_table[] = {
+static const struct ctl_table tagged_addr_sysctl_table[] = {
{
.procname = "tagged_addr_disabled",
.mode = 0644,
diff --git a/arch/powerpc/kernel/idle.c b/arch/powerpc/kernel/idle.c
index 30b56c67fa61..e527cd3ef128 100644
--- a/arch/powerpc/kernel/idle.c
+++ b/arch/powerpc/kernel/idle.c
@@ -97,7 +97,7 @@ void power4_idle(void)
/*
* Register the sysctl to set/clear powersave_nap.
*/
-static struct ctl_table powersave_nap_ctl_table[] = {
+static const struct ctl_table powersave_nap_ctl_table[] = {
{
.procname = "powersave-nap",
.data = &powersave_nap,
diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c
index 1798f0f14d58..62bd8e2d5d4c 100644
--- a/arch/powerpc/platforms/pseries/mobility.c
+++ b/arch/powerpc/platforms/pseries/mobility.c
@@ -53,7 +53,7 @@ struct update_props_workarea {
static unsigned int nmi_wd_lpm_factor = 200;
#ifdef CONFIG_SYSCTL
-static struct ctl_table nmi_wd_lpm_factor_ctl_table[] = {
+static const struct ctl_table nmi_wd_lpm_factor_ctl_table[] = {
{
.procname = "nmi_wd_lpm_factor",
.data = &nmi_wd_lpm_factor,
diff --git a/arch/riscv/kernel/process.c b/arch/riscv/kernel/process.c
index 58b6482c2bf6..7891294abf49 100644
--- a/arch/riscv/kernel/process.c
+++ b/arch/riscv/kernel/process.c
@@ -364,7 +364,7 @@ static bool try_to_set_pmm(unsigned long value)
* disable it for tasks that already opted in to the relaxed ABI.
*/
-static struct ctl_table tagged_addr_sysctl_table[] = {
+static const struct ctl_table tagged_addr_sysctl_table[] = {
{
.procname = "tagged_addr_disabled",
.mode = 0644,
diff --git a/arch/riscv/kernel/vector.c b/arch/riscv/kernel/vector.c
index 821818886fab..d022b028ac3f 100644
--- a/arch/riscv/kernel/vector.c
+++ b/arch/riscv/kernel/vector.c
@@ -287,7 +287,7 @@ long riscv_v_vstate_ctrl_set_current(unsigned long arg)
#ifdef CONFIG_SYSCTL
-static struct ctl_table riscv_v_default_vstate_table[] = {
+static const struct ctl_table riscv_v_default_vstate_table[] = {
{
.procname = "riscv_v_default_allow",
.data = &riscv_v_implicit_uacc,
diff --git a/arch/s390/appldata/appldata_base.c b/arch/s390/appldata/appldata_base.c
index 91a30e017d65..dd7ba7587dd5 100644
--- a/arch/s390/appldata/appldata_base.c
+++ b/arch/s390/appldata/appldata_base.c
@@ -52,7 +52,7 @@ static int appldata_interval_handler(const struct ctl_table *ctl, int write,
void *buffer, size_t *lenp, loff_t *ppos);
static struct ctl_table_header *appldata_sysctl_header;
-static struct ctl_table appldata_table[] = {
+static const struct ctl_table appldata_table[] = {
{
.procname = "timer",
.mode = S_IRUGO | S_IWUSR,
diff --git a/arch/s390/kernel/debug.c b/arch/s390/kernel/debug.c
index de19fd8a6a95..2c245c2bce4f 100644
--- a/arch/s390/kernel/debug.c
+++ b/arch/s390/kernel/debug.c
@@ -972,7 +972,7 @@ static int s390dbf_procactive(const struct ctl_table *table, int write,
return 0;
}
-static struct ctl_table s390dbf_table[] = {
+static const struct ctl_table s390dbf_table[] = {
{
.procname = "debug_stoppable",
.data = &debug_stoppable,
diff --git a/arch/s390/kernel/hiperdispatch.c b/arch/s390/kernel/hiperdispatch.c
index 2a99a216ab62..7857a7e8e56c 100644
--- a/arch/s390/kernel/hiperdispatch.c
+++ b/arch/s390/kernel/hiperdispatch.c
@@ -292,7 +292,7 @@ static int hiperdispatch_ctl_handler(const struct ctl_table *ctl, int write,
return 0;
}
-static struct ctl_table hiperdispatch_ctl_table[] = {
+static const struct ctl_table hiperdispatch_ctl_table[] = {
{
.procname = "hiperdispatch",
.mode = 0644,
diff --git a/arch/s390/kernel/topology.c b/arch/s390/kernel/topology.c
index 4f9c301a705b..5067293ef69d 100644
--- a/arch/s390/kernel/topology.c
+++ b/arch/s390/kernel/topology.c
@@ -662,7 +662,7 @@ static int polarization_ctl_handler(const struct ctl_table *ctl, int write,
return set_polarization(polarization);
}
-static struct ctl_table topology_ctl_table[] = {
+static const struct ctl_table topology_ctl_table[] = {
{
.procname = "topology",
.mode = 0644,
diff --git a/arch/s390/mm/cmm.c b/arch/s390/mm/cmm.c
index d01724a715d0..939e3bec2db7 100644
--- a/arch/s390/mm/cmm.c
+++ b/arch/s390/mm/cmm.c
@@ -332,7 +332,7 @@ static int cmm_timeout_handler(const struct ctl_table *ctl, int write,
return 0;
}
-static struct ctl_table cmm_table[] = {
+static const struct ctl_table cmm_table[] = {
{
.procname = "cmm_pages",
.mode = 0644,
diff --git a/arch/s390/mm/pgalloc.c b/arch/s390/mm/pgalloc.c
index 58696a0c4e4a..18d3176e44fb 100644
--- a/arch/s390/mm/pgalloc.c
+++ b/arch/s390/mm/pgalloc.c
@@ -21,7 +21,7 @@
int page_table_allocate_pgste = 0;
EXPORT_SYMBOL(page_table_allocate_pgste);
-static struct ctl_table page_table_sysctl[] = {
+static const struct ctl_table page_table_sysctl[] = {
{
.procname = "allocate_pgste",
.data = &page_table_allocate_pgste,
diff --git a/arch/x86/entry/vdso/vdso32-setup.c b/arch/x86/entry/vdso/vdso32-setup.c
index 76e4e74f35b5..f6d2d8aba643 100644
--- a/arch/x86/entry/vdso/vdso32-setup.c
+++ b/arch/x86/entry/vdso/vdso32-setup.c
@@ -57,7 +57,7 @@ __setup_param("vdso=", vdso_setup, vdso32_setup, 0);
/* Register vsyscall32 into the ABI table */
#include <linux/sysctl.h>
-static struct ctl_table abi_table2[] = {
+static const struct ctl_table abi_table2[] = {
{
.procname = "vsyscall32",
.data = &vdso32_enabled,
diff --git a/arch/x86/kernel/cpu/bus_lock.c b/arch/x86/kernel/cpu/bus_lock.c
index 704e9241b964..6cba85c79d42 100644
--- a/arch/x86/kernel/cpu/bus_lock.c
+++ b/arch/x86/kernel/cpu/bus_lock.c
@@ -49,7 +49,7 @@ static unsigned int sysctl_sld_mitigate = 1;
static DEFINE_SEMAPHORE(buslock_sem, 1);
#ifdef CONFIG_PROC_SYSCTL
-static struct ctl_table sld_sysctls[] = {
+static const struct ctl_table sld_sysctls[] = {
{
.procname = "split_lock_mitigate",
.data = &sysctl_sld_mitigate,
diff --git a/arch/x86/kernel/itmt.c b/arch/x86/kernel/itmt.c
index 51b805c727fc..083d8c4deb2b 100644
--- a/arch/x86/kernel/itmt.c
+++ b/arch/x86/kernel/itmt.c
@@ -64,7 +64,7 @@ static int sched_itmt_update_handler(const struct ctl_table *table, int write,
return ret;
}
-static struct ctl_table itmt_kern_table[] = {
+static const struct ctl_table itmt_kern_table[] = {
{
.procname = "sched_itmt_enabled",
.data = &sysctl_sched_itmt_enabled,
diff --git a/crypto/fips.c b/crypto/fips.c
index 8a784018ebfc..ec6574596e59 100644
--- a/crypto/fips.c
+++ b/crypto/fips.c
@@ -41,7 +41,7 @@ __setup("fips=", fips_enable);
static char fips_name[] = FIPS_MODULE_NAME;
static char fips_version[] = FIPS_MODULE_VERSION;
-static struct ctl_table crypto_sysctl_table[] = {
+static const struct ctl_table crypto_sysctl_table[] = {
{
.procname = "fips_enabled",
.data = &fips_enabled,
diff --git a/drivers/base/firmware_loader/fallback_table.c b/drivers/base/firmware_loader/fallback_table.c
index ddb70e29eb42..c8afc501a8a4 100644
--- a/drivers/base/firmware_loader/fallback_table.c
+++ b/drivers/base/firmware_loader/fallback_table.c
@@ -25,7 +25,7 @@ struct firmware_fallback_config fw_fallback_config = {
EXPORT_SYMBOL_NS_GPL(fw_fallback_config, "FIRMWARE_LOADER_PRIVATE");
#ifdef CONFIG_SYSCTL
-static struct ctl_table firmware_config_table[] = {
+static const struct ctl_table firmware_config_table[] = {
{
.procname = "force_sysfs_fallback",
.data = &fw_fallback_config.force_sysfs_fallback,
diff --git a/drivers/cdrom/cdrom.c b/drivers/cdrom/cdrom.c
index 51745ed1bbab..b163e043c687 100644
--- a/drivers/cdrom/cdrom.c
+++ b/drivers/cdrom/cdrom.c
@@ -3612,7 +3612,7 @@ static int cdrom_sysctl_handler(const struct ctl_table *ctl, int write,
}
/* Place files in /proc/sys/dev/cdrom */
-static struct ctl_table cdrom_table[] = {
+static const struct ctl_table cdrom_table[] = {
{
.procname = "info",
.data = &cdrom_sysctl_settings.info,
diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
index 48fe96ab4649..e110857824fc 100644
--- a/drivers/char/hpet.c
+++ b/drivers/char/hpet.c
@@ -724,7 +724,7 @@ static int hpet_is_known(struct hpet_data *hdp)
return 0;
}
-static struct ctl_table hpet_table[] = {
+static const struct ctl_table hpet_table[] = {
{
.procname = "max-user-freq",
.data = &hpet_max_freq,
diff --git a/drivers/char/ipmi/ipmi_poweroff.c b/drivers/char/ipmi/ipmi_poweroff.c
index 941d2dcc8c9d..de84f59468a9 100644
--- a/drivers/char/ipmi/ipmi_poweroff.c
+++ b/drivers/char/ipmi/ipmi_poweroff.c
@@ -650,7 +650,7 @@ static struct ipmi_smi_watcher smi_watcher = {
#ifdef CONFIG_PROC_FS
#include <linux/sysctl.h>
-static struct ctl_table ipmi_table[] = {
+static const struct ctl_table ipmi_table[] = {
{ .procname = "poweroff_powercycle",
.data = &poweroff_powercycle,
.maxlen = sizeof(poweroff_powercycle),
diff --git a/drivers/char/random.c b/drivers/char/random.c
index 23ee76bbb4aa..2581186fa61b 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -1665,7 +1665,7 @@ static int proc_do_rointvec(const struct ctl_table *table, int write, void *buf,
return write ? 0 : proc_dointvec(table, 0, buf, lenp, ppos);
}
-static struct ctl_table random_table[] = {
+static const struct ctl_table random_table[] = {
{
.procname = "poolsize",
.data = &sysctl_poolsize,
diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
index 2406cda75b7b..5384d1bb4923 100644
--- a/drivers/gpu/drm/i915/i915_perf.c
+++ b/drivers/gpu/drm/i915/i915_perf.c
@@ -4802,7 +4802,7 @@ int i915_perf_remove_config_ioctl(struct drm_device *dev, void *data,
return ret;
}
-static struct ctl_table oa_table[] = {
+static const struct ctl_table oa_table[] = {
{
.procname = "perf_stream_paranoid",
.data = &i915_perf_stream_paranoid,
diff --git a/drivers/gpu/drm/xe/xe_observation.c b/drivers/gpu/drm/xe/xe_observation.c
index 8ec1b84cbb9e..57cf01efc07f 100644
--- a/drivers/gpu/drm/xe/xe_observation.c
+++ b/drivers/gpu/drm/xe/xe_observation.c
@@ -56,7 +56,7 @@ int xe_observation_ioctl(struct drm_device *dev, void *data, struct drm_file *fi
}
}
-static struct ctl_table observation_ctl_table[] = {
+static const struct ctl_table observation_ctl_table[] = {
{
.procname = "observation_paranoid",
.data = &xe_observation_paranoid,
diff --git a/drivers/hv/hv_common.c b/drivers/hv/hv_common.c
index 7a35c82976e0..9453f0c26f2a 100644
--- a/drivers/hv/hv_common.c
+++ b/drivers/hv/hv_common.c
@@ -141,7 +141,7 @@ static int sysctl_record_panic_msg = 1;
* sysctl option to allow the user to control whether kmsg data should be
* reported to Hyper-V on panic.
*/
-static struct ctl_table hv_ctl_table[] = {
+static const struct ctl_table hv_ctl_table[] = {
{
.procname = "hyperv_record_panic_msg",
.data = &sysctl_record_panic_msg,
diff --git a/drivers/infiniband/core/iwcm.c b/drivers/infiniband/core/iwcm.c
index 7e3a55349e10..cad8df0518d6 100644
--- a/drivers/infiniband/core/iwcm.c
+++ b/drivers/infiniband/core/iwcm.c
@@ -103,7 +103,7 @@ struct iwcm_work {
static unsigned int default_backlog = 256;
static struct ctl_table_header *iwcm_ctl_table_hdr;
-static struct ctl_table iwcm_ctl_table[] = {
+static const struct ctl_table iwcm_ctl_table[] = {
{
.procname = "default_backlog",
.data = &default_backlog,
diff --git a/drivers/infiniband/core/ucma.c b/drivers/infiniband/core/ucma.c
index 02f1666f3cba..65bcc9475a6e 100644
--- a/drivers/infiniband/core/ucma.c
+++ b/drivers/infiniband/core/ucma.c
@@ -63,7 +63,7 @@ MODULE_LICENSE("Dual BSD/GPL");
static unsigned int max_backlog = 1024;
static struct ctl_table_header *ucma_ctl_table_hdr;
-static struct ctl_table ucma_ctl_table[] = {
+static const struct ctl_table ucma_ctl_table[] = {
{
.procname = "max_backlog",
.data = &max_backlog,
diff --git a/drivers/macintosh/mac_hid.c b/drivers/macintosh/mac_hid.c
index b461b1bed25b..369d72f59b3c 100644
--- a/drivers/macintosh/mac_hid.c
+++ b/drivers/macintosh/mac_hid.c
@@ -215,7 +215,7 @@ static int mac_hid_toggle_emumouse(const struct ctl_table *table, int write,
}
/* file(s) in /proc/sys/dev/mac_hid */
-static struct ctl_table mac_hid_files[] = {
+static const struct ctl_table mac_hid_files[] = {
{
.procname = "mouse_button_emulation",
.data = &mouse_emulate_buttons,
diff --git a/drivers/md/md.c b/drivers/md/md.c
index aebe12b0ee27..0e06f9027d81 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -294,7 +294,7 @@ void mddev_destroy_serial_pool(struct mddev *mddev, struct md_rdev *rdev)
static struct ctl_table_header *raid_table_header;
-static struct ctl_table raid_table[] = {
+static const struct ctl_table raid_table[] = {
{
.procname = "speed_limit_min",
.data = &sysctl_speed_limit_min,
diff --git a/drivers/misc/sgi-xp/xpc_main.c b/drivers/misc/sgi-xp/xpc_main.c
index 61b66e318488..7a3c34306de9 100644
--- a/drivers/misc/sgi-xp/xpc_main.c
+++ b/drivers/misc/sgi-xp/xpc_main.c
@@ -93,7 +93,7 @@ int xpc_disengage_timelimit = XPC_DISENGAGE_DEFAULT_TIMELIMIT;
static int xpc_disengage_min_timelimit; /* = 0 */
static int xpc_disengage_max_timelimit = 120;
-static struct ctl_table xpc_sys_xpc_hb[] = {
+static const struct ctl_table xpc_sys_xpc_hb[] = {
{
.procname = "hb_interval",
.data = &xpc_hb_interval,
@@ -111,7 +111,7 @@ static struct ctl_table xpc_sys_xpc_hb[] = {
.extra1 = &xpc_hb_check_min_interval,
.extra2 = &xpc_hb_check_max_interval},
};
-static struct ctl_table xpc_sys_xpc[] = {
+static const struct ctl_table xpc_sys_xpc[] = {
{
.procname = "disengage_timelimit",
.data = &xpc_disengage_timelimit,
diff --git a/drivers/perf/arm_pmuv3.c b/drivers/perf/arm_pmuv3.c
index b5cc11abc962..0e360feb3432 100644
--- a/drivers/perf/arm_pmuv3.c
+++ b/drivers/perf/arm_pmuv3.c
@@ -1279,7 +1279,7 @@ static int armv8pmu_proc_user_access_handler(const struct ctl_table *table, int
return 0;
}
-static struct ctl_table armv8_pmu_sysctl_table[] = {
+static const struct ctl_table armv8_pmu_sysctl_table[] = {
{
.procname = "perf_user_access",
.data = &sysctl_perf_user_access,
diff --git a/drivers/perf/riscv_pmu_sbi.c b/drivers/perf/riscv_pmu_sbi.c
index 1aa303f76cc7..ea96c0a88f73 100644
--- a/drivers/perf/riscv_pmu_sbi.c
+++ b/drivers/perf/riscv_pmu_sbi.c
@@ -1315,7 +1315,7 @@ static int riscv_pmu_proc_user_access_handler(const struct ctl_table *table,
return 0;
}
-static struct ctl_table sbi_pmu_sysctl_table[] = {
+static const struct ctl_table sbi_pmu_sysctl_table[] = {
{
.procname = "perf_user_access",
.data = &sysctl_perf_user_access,
diff --git a/drivers/scsi/scsi_sysctl.c b/drivers/scsi/scsi_sysctl.c
index 093774d77534..be4aef0f4f99 100644
--- a/drivers/scsi/scsi_sysctl.c
+++ b/drivers/scsi/scsi_sysctl.c
@@ -12,7 +12,7 @@
#include "scsi_priv.h"
-static struct ctl_table scsi_table[] = {
+static const struct ctl_table scsi_table[] = {
{ .procname = "logging_level",
.data = &scsi_logging_level,
.maxlen = sizeof(scsi_logging_level),
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 94127868bedf..effb7e768165 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -1639,7 +1639,7 @@ MODULE_PARM_DESC(allow_dio, "allow direct I/O (default: 0 (disallow))");
#ifdef CONFIG_SYSCTL
#include <linux/sysctl.h>
-static struct ctl_table sg_sysctls[] = {
+static const struct ctl_table sg_sysctls[] = {
{
.procname = "sg-big-buff",
.data = &sg_big_buff,
diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c
index dcb1769c3625..0e84677712b4 100644
--- a/drivers/tty/tty_io.c
+++ b/drivers/tty/tty_io.c
@@ -3618,7 +3618,7 @@ void console_sysfs_notify(void)
sysfs_notify(&consdev->kobj, NULL, "active");
}
-static struct ctl_table tty_table[] = {
+static const struct ctl_table tty_table[] = {
{
.procname = "legacy_tiocsti",
.data = &tty_legacy_tiocsti,
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index 528395133b4f..163f7f1d70f1 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -84,7 +84,7 @@ module_param(balloon_boot_timeout, uint, 0444);
#ifdef CONFIG_XEN_BALLOON_MEMORY_HOTPLUG
static int xen_hotplug_unpopulated;
-static struct ctl_table balloon_table[] = {
+static const struct ctl_table balloon_table[] = {
{
.procname = "hotplug_unpopulated",
.data = &xen_hotplug_unpopulated,
diff --git a/fs/aio.c b/fs/aio.c
index 50671640b588..7b976b564cfc 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -224,7 +224,7 @@ static unsigned long aio_nr; /* current system wide number of aio requests */
static unsigned long aio_max_nr = 0x10000; /* system wide maximum number of aio requests */
/*----end sysctl variables---*/
#ifdef CONFIG_SYSCTL
-static struct ctl_table aio_sysctls[] = {
+static const struct ctl_table aio_sysctls[] = {
{
.procname = "aio-nr",
.data = &aio_nr,
diff --git a/fs/cachefiles/error_inject.c b/fs/cachefiles/error_inject.c
index 1715d5ca2b2d..e341ade47dd8 100644
--- a/fs/cachefiles/error_inject.c
+++ b/fs/cachefiles/error_inject.c
@@ -11,7 +11,7 @@
unsigned int cachefiles_error_injection_state;
static struct ctl_table_header *cachefiles_sysctl;
-static struct ctl_table cachefiles_sysctls[] = {
+static const struct ctl_table cachefiles_sysctls[] = {
{
.procname = "error_injection",
.data = &cachefiles_error_injection_state,
diff --git a/fs/coda/sysctl.c b/fs/coda/sysctl.c
index 9f2d5743e2c8..0df46f09b6cc 100644
--- a/fs/coda/sysctl.c
+++ b/fs/coda/sysctl.c
@@ -14,7 +14,7 @@
static struct ctl_table_header *fs_table_header;
-static struct ctl_table coda_table[] = {
+static const struct ctl_table coda_table[] = {
{
.procname = "timeout",
.data = &coda_timeout,
diff --git a/fs/coredump.c b/fs/coredump.c
index d48edb37bc35..591700e1b2ce 100644
--- a/fs/coredump.c
+++ b/fs/coredump.c
@@ -995,7 +995,7 @@ static int proc_dostring_coredump(const struct ctl_table *table, int write,
static const unsigned int core_file_note_size_min = CORE_FILE_NOTE_SIZE_DEFAULT;
static const unsigned int core_file_note_size_max = CORE_FILE_NOTE_SIZE_MAX;
-static struct ctl_table coredump_sysctls[] = {
+static const struct ctl_table coredump_sysctls[] = {
{
.procname = "core_uses_pid",
.data = &core_uses_pid,
diff --git a/fs/dcache.c b/fs/dcache.c
index b4d5e9e1e43d..370302d4e488 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -192,7 +192,7 @@ static int proc_nr_dentry(const struct ctl_table *table, int write, void *buffer
return proc_doulongvec_minmax(table, write, buffer, lenp, ppos);
}
-static struct ctl_table fs_dcache_sysctls[] = {
+static const struct ctl_table fs_dcache_sysctls[] = {
{
.procname = "dentry-state",
.data = &dentry_stat,
diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c
index b20e565b9c5e..1096ff8562fa 100644
--- a/fs/devpts/inode.c
+++ b/fs/devpts/inode.c
@@ -45,7 +45,7 @@ static int pty_limit_min;
static int pty_limit_max = INT_MAX;
static atomic_t pty_count = ATOMIC_INIT(0);
-static struct ctl_table pty_table[] = {
+static const struct ctl_table pty_table[] = {
{
.procname = "max",
.maxlen = sizeof(int),
diff --git a/fs/eventpoll.c b/fs/eventpoll.c
index f9898e60dd8b..7c0980db77b3 100644
--- a/fs/eventpoll.c
+++ b/fs/eventpoll.c
@@ -318,7 +318,7 @@ static void unlist_file(struct epitems_head *head)
static long long_zero;
static long long_max = LONG_MAX;
-static struct ctl_table epoll_table[] = {
+static const struct ctl_table epoll_table[] = {
{
.procname = "max_user_watches",
.data = &max_user_watches,
diff --git a/fs/exec.c b/fs/exec.c
index 98cb7ba9983c..96229a6a4dff 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -2142,7 +2142,7 @@ static int proc_dointvec_minmax_coredump(const struct ctl_table *table, int writ
return error;
}
-static struct ctl_table fs_exec_sysctls[] = {
+static const struct ctl_table fs_exec_sysctls[] = {
{
.procname = "suid_dumpable",
.data = &suid_dumpable,
diff --git a/fs/file_table.c b/fs/file_table.c
index 976736be47cb..70ed0b3a5a0e 100644
--- a/fs/file_table.c
+++ b/fs/file_table.c
@@ -106,7 +106,7 @@ static int proc_nr_files(const struct ctl_table *table, int write, void *buffer,
return proc_doulongvec_minmax(table, write, buffer, lenp, ppos);
}
-static struct ctl_table fs_stat_sysctls[] = {
+static const struct ctl_table fs_stat_sysctls[] = {
{
.procname = "file-nr",
.data = &files_stat,
diff --git a/fs/fuse/sysctl.c b/fs/fuse/sysctl.c
index b272bb333005..63fb1e5bee30 100644
--- a/fs/fuse/sysctl.c
+++ b/fs/fuse/sysctl.c
@@ -13,7 +13,7 @@ static struct ctl_table_header *fuse_table_header;
/* Bound by fuse_init_out max_pages, which is a u16 */
static unsigned int sysctl_fuse_max_pages_limit = 65535;
-static struct ctl_table fuse_sysctl_table[] = {
+static const struct ctl_table fuse_sysctl_table[] = {
{
.procname = "max_pages_limit",
.data = &fuse_max_pages_limit,
diff --git a/fs/inode.c b/fs/inode.c
index 6b4c77268fc0..5587aabdaa5e 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -184,7 +184,7 @@ static int proc_nr_inodes(const struct ctl_table *table, int write, void *buffer
return proc_doulongvec_minmax(table, write, buffer, lenp, ppos);
}
-static struct ctl_table inodes_sysctls[] = {
+static const struct ctl_table inodes_sysctls[] = {
{
.procname = "inode-nr",
.data = &inodes_stat,
diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c
index 4ec22c2f2ea3..d6cac1c89c2a 100644
--- a/fs/lockd/svc.c
+++ b/fs/lockd/svc.c
@@ -419,7 +419,7 @@ EXPORT_SYMBOL_GPL(lockd_down);
* Sysctl parameters (same as module parameters, different interface).
*/
-static struct ctl_table nlm_sysctls[] = {
+static const struct ctl_table nlm_sysctls[] = {
{
.procname = "nlm_grace_period",
.data = &nlm_grace_period,
diff --git a/fs/locks.c b/fs/locks.c
index 25afc8d9c9d1..1619cddfa7a4 100644
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -97,7 +97,7 @@ static int leases_enable = 1;
static int lease_break_time = 45;
#ifdef CONFIG_SYSCTL
-static struct ctl_table locks_sysctls[] = {
+static const struct ctl_table locks_sysctls[] = {
{
.procname = "leases-enable",
.data = &leases_enable,
diff --git a/fs/namei.c b/fs/namei.c
index 9d30c7aa9aa6..6a18b2ea21b7 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1099,7 +1099,7 @@ static int sysctl_protected_fifos __read_mostly;
static int sysctl_protected_regular __read_mostly;
#ifdef CONFIG_SYSCTL
-static struct ctl_table namei_sysctls[] = {
+static const struct ctl_table namei_sysctls[] = {
{
.procname = "protected_symlinks",
.data = &sysctl_protected_symlinks,
diff --git a/fs/namespace.c b/fs/namespace.c
index 23e81c2a1e3f..3819c322244e 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -5927,7 +5927,7 @@ const struct proc_ns_operations mntns_operations = {
};
#ifdef CONFIG_SYSCTL
-static struct ctl_table fs_namespace_sysctls[] = {
+static const struct ctl_table fs_namespace_sysctls[] = {
{
.procname = "mount-max",
.data = &sysctl_mount_max,
diff --git a/fs/nfs/nfs4sysctl.c b/fs/nfs/nfs4sysctl.c
index 886a7c4c60b3..d1a92d8f8ba4 100644
--- a/fs/nfs/nfs4sysctl.c
+++ b/fs/nfs/nfs4sysctl.c
@@ -17,7 +17,7 @@ static const int nfs_set_port_min;
static const int nfs_set_port_max = 65535;
static struct ctl_table_header *nfs4_callback_sysctl_table;
-static struct ctl_table nfs4_cb_sysctls[] = {
+static const struct ctl_table nfs4_cb_sysctls[] = {
{
.procname = "nfs_callback_tcpport",
.data = &nfs_callback_set_tcpport,
diff --git a/fs/nfs/sysctl.c b/fs/nfs/sysctl.c
index e645be1a3381..f579df0e8d67 100644
--- a/fs/nfs/sysctl.c
+++ b/fs/nfs/sysctl.c
@@ -14,7 +14,7 @@
static struct ctl_table_header *nfs_callback_sysctl_table;
-static struct ctl_table nfs_cb_sysctls[] = {
+static const struct ctl_table nfs_cb_sysctls[] = {
{
.procname = "nfs_mountpoint_timeout",
.data = &nfs_mountpoint_expiry_timeout,
diff --git a/fs/notify/dnotify/dnotify.c b/fs/notify/dnotify/dnotify.c
index 6004dfdfdf0f..c4cdaf5fa7ed 100644
--- a/fs/notify/dnotify/dnotify.c
+++ b/fs/notify/dnotify/dnotify.c
@@ -20,7 +20,7 @@
static int dir_notify_enable __read_mostly = 1;
#ifdef CONFIG_SYSCTL
-static struct ctl_table dnotify_sysctls[] = {
+static const struct ctl_table dnotify_sysctls[] = {
{
.procname = "dir-notify-enable",
.data = &dir_notify_enable,
diff --git a/fs/notify/fanotify/fanotify_user.c b/fs/notify/fanotify/fanotify_user.c
index 2d85c71717d6..004cfdae1316 100644
--- a/fs/notify/fanotify/fanotify_user.c
+++ b/fs/notify/fanotify/fanotify_user.c
@@ -58,7 +58,7 @@ static int fanotify_max_queued_events __read_mostly;
static long ft_zero = 0;
static long ft_int_max = INT_MAX;
-static struct ctl_table fanotify_table[] = {
+static const struct ctl_table fanotify_table[] = {
{
.procname = "max_user_groups",
.data = &init_user_ns.ucount_max[UCOUNT_FANOTIFY_GROUPS],
diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c
index e0c48956608a..b372fb2c56bd 100644
--- a/fs/notify/inotify/inotify_user.c
+++ b/fs/notify/inotify/inotify_user.c
@@ -58,7 +58,7 @@ struct kmem_cache *inotify_inode_mark_cachep __ro_after_init;
static long it_zero = 0;
static long it_int_max = INT_MAX;
-static struct ctl_table inotify_table[] = {
+static const struct ctl_table inotify_table[] = {
{
.procname = "max_user_instances",
.data = &init_user_ns.ucount_max[UCOUNT_INOTIFY_INSTANCES],
diff --git a/fs/ocfs2/stackglue.c b/fs/ocfs2/stackglue.c
index 20aa37b67cfb..ddd761cf44c8 100644
--- a/fs/ocfs2/stackglue.c
+++ b/fs/ocfs2/stackglue.c
@@ -650,7 +650,7 @@ static int ocfs2_sysfs_init(void)
* and easier to preserve the name.
*/
-static struct ctl_table ocfs2_nm_table[] = {
+static const struct ctl_table ocfs2_nm_table[] = {
{
.procname = "hb_ctl_path",
.data = ocfs2_hb_ctl_path,
diff --git a/fs/pipe.c b/fs/pipe.c
index 12b22c2723b7..638fb318e7be 100644
--- a/fs/pipe.c
+++ b/fs/pipe.c
@@ -1477,7 +1477,7 @@ static int proc_dopipe_max_size(const struct ctl_table *table, int write,
do_proc_dopipe_max_size_conv, NULL);
}
-static struct ctl_table fs_pipe_sysctls[] = {
+static const struct ctl_table fs_pipe_sysctls[] = {
{
.procname = "pipe-max-size",
.data = &pipe_max_size,
diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c
index f9578918cfb2..825c5c2e0962 100644
--- a/fs/quota/dquot.c
+++ b/fs/quota/dquot.c
@@ -2926,7 +2926,7 @@ static int do_proc_dqstats(const struct ctl_table *table, int write,
return proc_doulongvec_minmax(table, write, buffer, lenp, ppos);
}
-static struct ctl_table fs_dqstats_table[] = {
+static const struct ctl_table fs_dqstats_table[] = {
{
.procname = "lookups",
.data = &dqstats.stat[DQST_LOOKUPS],
diff --git a/fs/sysctls.c b/fs/sysctls.c
index 8dbde9a802fa..ad429dffeb4b 100644
--- a/fs/sysctls.c
+++ b/fs/sysctls.c
@@ -7,7 +7,7 @@
#include <linux/init.h>
#include <linux/sysctl.h>
-static struct ctl_table fs_shared_sysctls[] = {
+static const struct ctl_table fs_shared_sysctls[] = {
{
.procname = "overflowuid",
.data = &fs_overflowuid,
diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c
index 7c0bd0b55f88..97c4d71115d8 100644
--- a/fs/userfaultfd.c
+++ b/fs/userfaultfd.c
@@ -36,7 +36,7 @@
static int sysctl_unprivileged_userfaultfd __read_mostly;
#ifdef CONFIG_SYSCTL
-static struct ctl_table vm_userfaultfd_table[] = {
+static const struct ctl_table vm_userfaultfd_table[] = {
{
.procname = "unprivileged_userfaultfd",
.data = &sysctl_unprivileged_userfaultfd,
diff --git a/fs/verity/init.c b/fs/verity/init.c
index f440f0e61e3e..6e8d33b50240 100644
--- a/fs/verity/init.c
+++ b/fs/verity/init.c
@@ -10,7 +10,7 @@
#include <linux/ratelimit.h>
#ifdef CONFIG_SYSCTL
-static struct ctl_table fsverity_sysctl_table[] = {
+static const struct ctl_table fsverity_sysctl_table[] = {
#ifdef CONFIG_FS_VERITY_BUILTIN_SIGNATURES
{
.procname = "require_signatures",
diff --git a/fs/xfs/xfs_sysctl.c b/fs/xfs/xfs_sysctl.c
index c84df23b494d..751dc74a3067 100644
--- a/fs/xfs/xfs_sysctl.c
+++ b/fs/xfs/xfs_sysctl.c
@@ -66,7 +66,7 @@ xfs_deprecated_dointvec_minmax(
return proc_dointvec_minmax(ctl, write, buffer, lenp, ppos);
}
-static struct ctl_table xfs_table[] = {
+static const struct ctl_table xfs_table[] = {
{
.procname = "irix_sgid_inherit",
.data = &xfs_params.sgid_inherit.val,
diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c
index 22c7f41ff642..903b4d573d3d 100644
--- a/init/do_mounts_initrd.c
+++ b/init/do_mounts_initrd.c
@@ -21,7 +21,7 @@ phys_addr_t phys_initrd_start __initdata;
unsigned long phys_initrd_size __initdata;
#ifdef CONFIG_SYSCTL
-static struct ctl_table kern_do_mounts_initrd_table[] = {
+static const struct ctl_table kern_do_mounts_initrd_table[] = {
{
.procname = "real-root-dev",
.data = &real_root_dev,
diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
index d3403c8216db..72ad31225fb3 100644
--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
@@ -156,7 +156,7 @@ static int __read_mostly sysctl_io_uring_disabled;
static int __read_mostly sysctl_io_uring_group = -1;
#ifdef CONFIG_SYSCTL
-static struct ctl_table kernel_io_uring_disabled_table[] = {
+static const struct ctl_table kernel_io_uring_disabled_table[] = {
{
.procname = "io_uring_disabled",
.data = &sysctl_io_uring_disabled,
diff --git a/ipc/ipc_sysctl.c b/ipc/ipc_sysctl.c
index 54318e0b4557..15b17e86e198 100644
--- a/ipc/ipc_sysctl.c
+++ b/ipc/ipc_sysctl.c
@@ -73,7 +73,7 @@ int ipc_mni = IPCMNI;
int ipc_mni_shift = IPCMNI_SHIFT;
int ipc_min_cycle = RADIX_TREE_MAP_SIZE;
-static struct ctl_table ipc_sysctls[] = {
+static const struct ctl_table ipc_sysctls[] = {
{
.procname = "shmmax",
.data = &init_ipc_ns.shm_ctlmax,
diff --git a/ipc/mq_sysctl.c b/ipc/mq_sysctl.c
index b70dc2ff22d8..0dd12e1c9f53 100644
--- a/ipc/mq_sysctl.c
+++ b/ipc/mq_sysctl.c
@@ -20,7 +20,7 @@ static int msg_max_limit_max = HARD_MSGMAX;
static int msg_maxsize_limit_min = MIN_MSGSIZEMAX;
static int msg_maxsize_limit_max = HARD_MSGSIZEMAX;
-static struct ctl_table mq_sysctls[] = {
+static const struct ctl_table mq_sysctls[] = {
{
.procname = "queues_max",
.data = &init_ipc_ns.mq_queues_max,
diff --git a/kernel/acct.c b/kernel/acct.c
index 179848ad33e9..31222e8cd534 100644
--- a/kernel/acct.c
+++ b/kernel/acct.c
@@ -76,7 +76,7 @@ static int acct_parm[3] = {4, 2, 30};
#define ACCT_TIMEOUT (acct_parm[2]) /* foo second timeout between checks */
#ifdef CONFIG_SYSCTL
-static struct ctl_table kern_acct_table[] = {
+static const struct ctl_table kern_acct_table[] = {
{
.procname = "acct",
.data = &acct_parm,
diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c
index 5684e8ce132d..fbcf07f98d8b 100644
--- a/kernel/bpf/syscall.c
+++ b/kernel/bpf/syscall.c
@@ -6124,7 +6124,7 @@ static int bpf_unpriv_handler(const struct ctl_table *table, int write,
return ret;
}
-static struct ctl_table bpf_syscall_table[] = {
+static const struct ctl_table bpf_syscall_table[] = {
{
.procname = "unprivileged_bpf_disabled",
.data = &sysctl_unprivileged_bpf_disabled,
diff --git a/kernel/delayacct.c b/kernel/delayacct.c
index dead51de8eb5..75659ac036cd 100644
--- a/kernel/delayacct.c
+++ b/kernel/delayacct.c
@@ -64,7 +64,7 @@ static int sysctl_delayacct(const struct ctl_table *table, int write, void *buff
return err;
}
-static struct ctl_table kern_delayacct_table[] = {
+static const struct ctl_table kern_delayacct_table[] = {
{
.procname = "task_delayacct",
.data = NULL,
diff --git a/kernel/exit.c b/kernel/exit.c
index 1dcddfe537ee..3485e5fc499e 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -85,7 +85,7 @@
static unsigned int oops_limit = 10000;
#ifdef CONFIG_SYSCTL
-static struct ctl_table kern_exit_table[] = {
+static const struct ctl_table kern_exit_table[] = {
{
.procname = "oops_limit",
.data = &oops_limit,
diff --git a/kernel/hung_task.c b/kernel/hung_task.c
index c18717189f32..62a5d8927ce9 100644
--- a/kernel/hung_task.c
+++ b/kernel/hung_task.c
@@ -272,7 +272,7 @@ static int proc_dohung_task_timeout_secs(const struct ctl_table *table, int writ
* and hung_task_check_interval_secs
*/
static const unsigned long hung_task_timeout_max = (LONG_MAX / HZ);
-static struct ctl_table hung_task_sysctls[] = {
+static const struct ctl_table hung_task_sysctls[] = {
#ifdef CONFIG_SMP
{
.procname = "hung_task_all_cpu_backtrace",
diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c
index c0caa14880c3..71b0809e06d6 100644
--- a/kernel/kexec_core.c
+++ b/kernel/kexec_core.c
@@ -925,7 +925,7 @@ static int kexec_limit_handler(const struct ctl_table *table, int write,
return proc_dointvec(&tmp, write, buffer, lenp, ppos);
}
-static struct ctl_table kexec_core_sysctls[] = {
+static const struct ctl_table kexec_core_sysctls[] = {
{
.procname = "kexec_load_disabled",
.data = &kexec_load_disabled,
diff --git a/kernel/kprobes.c b/kernel/kprobes.c
index b027a4030976..9a15fb343be8 100644
--- a/kernel/kprobes.c
+++ b/kernel/kprobes.c
@@ -954,7 +954,7 @@ static int proc_kprobes_optimization_handler(const struct ctl_table *table,
return ret;
}
-static struct ctl_table kprobe_sysctls[] = {
+static const struct ctl_table kprobe_sysctls[] = {
{
.procname = "kprobes-optimization",
.data = &sysctl_kprobes_optimization,
diff --git a/kernel/latencytop.c b/kernel/latencytop.c
index 7a75eab9c179..39a5fcdff9f9 100644
--- a/kernel/latencytop.c
+++ b/kernel/latencytop.c
@@ -77,7 +77,7 @@ static int sysctl_latencytop(const struct ctl_table *table, int write, void *buf
return err;
}
-static struct ctl_table latencytop_sysctl[] = {
+static const struct ctl_table latencytop_sysctl[] = {
{
.procname = "latencytop",
.data = &latencytop_enabled,
diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
index 2d8ec0351ef9..926b796ba71a 100644
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -79,7 +79,7 @@ module_param(lock_stat, int, 0644);
#endif
#ifdef CONFIG_SYSCTL
-static struct ctl_table kern_lockdep_table[] = {
+static const struct ctl_table kern_lockdep_table[] = {
#ifdef CONFIG_PROVE_LOCKING
{
.procname = "prove_locking",
diff --git a/kernel/panic.c b/kernel/panic.c
index fbc59b3b64d0..d8635d5cecb2 100644
--- a/kernel/panic.c
+++ b/kernel/panic.c
@@ -84,7 +84,7 @@ ATOMIC_NOTIFIER_HEAD(panic_notifier_list);
EXPORT_SYMBOL(panic_notifier_list);
#ifdef CONFIG_SYSCTL
-static struct ctl_table kern_panic_table[] = {
+static const struct ctl_table kern_panic_table[] = {
#ifdef CONFIG_SMP
{
.procname = "oops_all_cpu_backtrace",
diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c
index d70ab49d5b4a..0f23285be4f9 100644
--- a/kernel/pid_namespace.c
+++ b/kernel/pid_namespace.c
@@ -282,7 +282,7 @@ static int pid_ns_ctl_handler(const struct ctl_table *table, int write,
}
extern int pid_max;
-static struct ctl_table pid_ns_ctl_table[] = {
+static const struct ctl_table pid_ns_ctl_table[] = {
{
.procname = "ns_last_pid",
.maxlen = sizeof(int),
diff --git a/kernel/pid_sysctl.h b/kernel/pid_sysctl.h
index 18ecaef6be41..5d8f981de7c5 100644
--- a/kernel/pid_sysctl.h
+++ b/kernel/pid_sysctl.h
@@ -31,7 +31,7 @@ static int pid_mfd_noexec_dointvec_minmax(const struct ctl_table *table,
return err;
}
-static struct ctl_table pid_ns_ctl_table_vm[] = {
+static const struct ctl_table pid_ns_ctl_table_vm[] = {
{
.procname = "memfd_noexec",
.data = &init_pid_ns.memfd_noexec_scope,
diff --git a/kernel/printk/sysctl.c b/kernel/printk/sysctl.c
index f5072dc85f7a..da77f3f5c1fe 100644
--- a/kernel/printk/sysctl.c
+++ b/kernel/printk/sysctl.c
@@ -20,7 +20,7 @@ static int proc_dointvec_minmax_sysadmin(const struct ctl_table *table, int writ
return proc_dointvec_minmax(table, write, buffer, lenp, ppos);
}
-static struct ctl_table printk_sysctls[] = {
+static const struct ctl_table printk_sysctls[] = {
{
.procname = "printk",
.data = &console_loglevel,
diff --git a/kernel/reboot.c b/kernel/reboot.c
index a701000bab34..b5a8569e5d81 100644
--- a/kernel/reboot.c
+++ b/kernel/reboot.c
@@ -1287,7 +1287,7 @@ static struct attribute *reboot_attrs[] = {
};
#ifdef CONFIG_SYSCTL
-static struct ctl_table kern_reboot_table[] = {
+static const struct ctl_table kern_reboot_table[] = {
{
.procname = "poweroff_cmd",
.data = &poweroff_cmd,
diff --git a/kernel/sched/autogroup.c b/kernel/sched/autogroup.c
index db68a964e34e..83d46b9b8ec8 100644
--- a/kernel/sched/autogroup.c
+++ b/kernel/sched/autogroup.c
@@ -9,7 +9,7 @@ static struct autogroup autogroup_default;
static atomic_t autogroup_seq_nr;
#ifdef CONFIG_SYSCTL
-static struct ctl_table sched_autogroup_sysctls[] = {
+static const struct ctl_table sched_autogroup_sysctls[] = {
{
.procname = "sched_autogroup_enabled",
.data = &sysctl_sched_autogroup_enabled,
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 3e5a6bf587f9..00fea6f32ae5 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -4646,7 +4646,7 @@ static int sysctl_schedstats(const struct ctl_table *table, int write, void *buf
#endif /* CONFIG_SCHEDSTATS */
#ifdef CONFIG_SYSCTL
-static struct ctl_table sched_core_sysctls[] = {
+static const struct ctl_table sched_core_sysctls[] = {
#ifdef CONFIG_SCHEDSTATS
{
.procname = "sched_schedstats",
diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
index d94f2ed6d1f4..dab4887d6406 100644
--- a/kernel/sched/deadline.c
+++ b/kernel/sched/deadline.c
@@ -26,7 +26,7 @@
static unsigned int sysctl_sched_dl_period_max = 1 << 22; /* ~4 seconds */
static unsigned int sysctl_sched_dl_period_min = 100; /* 100 us */
#ifdef CONFIG_SYSCTL
-static struct ctl_table sched_dl_sysctls[] = {
+static const struct ctl_table sched_dl_sysctls[] = {
{
.procname = "sched_deadline_period_max_us",
.data = &sysctl_sched_dl_period_max,
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 3e9ca38512de..1692dbb67d7a 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -130,7 +130,7 @@ static unsigned int sysctl_numa_balancing_promote_rate_limit = 65536;
#endif
#ifdef CONFIG_SYSCTL
-static struct ctl_table sched_fair_sysctls[] = {
+static const struct ctl_table sched_fair_sysctls[] = {
#ifdef CONFIG_CFS_BANDWIDTH
{
.procname = "sched_cfs_bandwidth_slice_us",
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
index bd66a46b06ac..4b8e33c615b1 100644
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
@@ -26,7 +26,7 @@ static int sched_rt_handler(const struct ctl_table *table, int write, void *buff
size_t *lenp, loff_t *ppos);
static int sched_rr_handler(const struct ctl_table *table, int write, void *buffer,
size_t *lenp, loff_t *ppos);
-static struct ctl_table sched_rt_sysctls[] = {
+static const struct ctl_table sched_rt_sysctls[] = {
{
.procname = "sched_rt_period_us",
.data = &sysctl_sched_rt_period,
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c
index 9748a4c8d668..20d59b0bc928 100644
--- a/kernel/sched/topology.c
+++ b/kernel/sched/topology.c
@@ -312,7 +312,7 @@ static int sched_energy_aware_handler(const struct ctl_table *table, int write,
return ret;
}
-static struct ctl_table sched_energy_aware_sysctls[] = {
+static const struct ctl_table sched_energy_aware_sysctls[] = {
{
.procname = "sched_energy_aware",
.data = &sysctl_sched_energy_aware,
diff --git a/kernel/seccomp.c b/kernel/seccomp.c
index 385d48293a5f..f59381c4a2ff 100644
--- a/kernel/seccomp.c
+++ b/kernel/seccomp.c
@@ -2450,7 +2450,7 @@ static int seccomp_actions_logged_handler(const struct ctl_table *ro_table, int
return ret;
}
-static struct ctl_table seccomp_sysctl_table[] = {
+static const struct ctl_table seccomp_sysctl_table[] = {
{
.procname = "actions_avail",
.data = (void *) &seccomp_actions_avail,
diff --git a/kernel/signal.c b/kernel/signal.c
index 989b1cc9116a..77f32c2d6ccb 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -4931,7 +4931,7 @@ static inline void siginfo_buildtime_checks(void)
}
#if defined(CONFIG_SYSCTL)
-static struct ctl_table signal_debug_table[] = {
+static const struct ctl_table signal_debug_table[] = {
#ifdef CONFIG_SYSCTL_EXCEPTION_TRACE
{
.procname = "exception-trace",
diff --git a/kernel/stackleak.c b/kernel/stackleak.c
index 39fd620a7db6..c1bfc14cd36e 100644
--- a/kernel/stackleak.c
+++ b/kernel/stackleak.c
@@ -44,7 +44,7 @@ static int stack_erasing_sysctl(const struct ctl_table *table, int write,
state ? "enabled" : "disabled");
return ret;
}
-static struct ctl_table stackleak_sysctls[] = {
+static const struct ctl_table stackleak_sysctls[] = {
{
.procname = "stack_erasing",
.data = NULL,
diff --git a/kernel/sysctl-test.c b/kernel/sysctl-test.c
index 3ac98bb7fb82..eb2842bd0557 100644
--- a/kernel/sysctl-test.c
+++ b/kernel/sysctl-test.c
@@ -374,7 +374,7 @@ static void sysctl_test_register_sysctl_sz_invalid_extra_value(
struct kunit *test)
{
unsigned char data = 0;
- struct ctl_table table_foo[] = {
+ const struct ctl_table table_foo[] = {
{
.procname = "foo",
.data = &data,
@@ -386,7 +386,7 @@ static void sysctl_test_register_sysctl_sz_invalid_extra_value(
},
};
- struct ctl_table table_bar[] = {
+ const struct ctl_table table_bar[] = {
{
.procname = "bar",
.data = &data,
@@ -398,7 +398,7 @@ static void sysctl_test_register_sysctl_sz_invalid_extra_value(
},
};
- struct ctl_table table_qux[] = {
+ const struct ctl_table table_qux[] = {
{
.procname = "qux",
.data = &data,
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 5c9202cb8f59..3a0132cb0d5d 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -1609,7 +1609,7 @@ int proc_do_static_key(const struct ctl_table *table, int write,
return ret;
}
-static struct ctl_table kern_table[] = {
+static const struct ctl_table kern_table[] = {
{
.procname = "panic",
.data = &panic_timeout,
@@ -2030,7 +2030,7 @@ static struct ctl_table kern_table[] = {
#endif
};
-static struct ctl_table vm_table[] = {
+static const struct ctl_table vm_table[] = {
{
.procname = "overcommit_memory",
.data = &sysctl_overcommit_memory,
diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index a5860bf6d16f..79a1f83d2944 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -301,7 +301,7 @@ static int timer_migration_handler(const struct ctl_table *table, int write,
return ret;
}
-static struct ctl_table timer_sysctl[] = {
+static const struct ctl_table timer_sysctl[] = {
{
.procname = "timer_migration",
.data = &sysctl_timer_migration,
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 2e113f8b13a2..489cbab3d64c 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -8786,7 +8786,7 @@ ftrace_enable_sysctl(const struct ctl_table *table, int write,
return ret;
}
-static struct ctl_table ftrace_sysctls[] = {
+static const struct ctl_table ftrace_sysctls[] = {
{
.procname = "ftrace_enabled",
.data = &ftrace_enabled,
diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c
index 17bcad8f79de..97325fbd6283 100644
--- a/kernel/trace/trace_events_user.c
+++ b/kernel/trace/trace_events_user.c
@@ -2899,7 +2899,7 @@ static int set_max_user_events_sysctl(const struct ctl_table *table, int write,
return ret;
}
-static struct ctl_table user_event_sysctls[] = {
+static const struct ctl_table user_event_sysctls[] = {
{
.procname = "user_events_max",
.data = &max_user_events,
diff --git a/kernel/umh.c b/kernel/umh.c
index be9234270777..b4da45a3a7cf 100644
--- a/kernel/umh.c
+++ b/kernel/umh.c
@@ -544,7 +544,7 @@ static int proc_cap_handler(const struct ctl_table *table, int write,
return 0;
}
-static struct ctl_table usermodehelper_table[] = {
+static const struct ctl_table usermodehelper_table[] = {
{
.procname = "bset",
.data = &usermodehelper_bset,
diff --git a/kernel/utsname_sysctl.c b/kernel/utsname_sysctl.c
index 7282f61a8650..bfbaaecb1dd4 100644
--- a/kernel/utsname_sysctl.c
+++ b/kernel/utsname_sysctl.c
@@ -75,7 +75,7 @@ static DEFINE_CTL_TABLE_POLL(hostname_poll);
static DEFINE_CTL_TABLE_POLL(domainname_poll);
// Note: update 'enum uts_proc' to match any changes to this table
-static struct ctl_table uts_kern_table[] = {
+static const struct ctl_table uts_kern_table[] = {
{
.procname = "arch",
.data = init_uts_ns.name.machine,
@@ -129,7 +129,7 @@ static struct ctl_table uts_kern_table[] = {
*/
void uts_proc_notify(enum uts_proc proc)
{
- struct ctl_table *table = &uts_kern_table[proc];
+ const struct ctl_table *table = &uts_kern_table[proc];
proc_sys_poll_notify(table->poll);
}
diff --git a/kernel/watchdog.c b/kernel/watchdog.c
index 41e0f7e9fa35..04e27fed20cb 100644
--- a/kernel/watchdog.c
+++ b/kernel/watchdog.c
@@ -1094,7 +1094,7 @@ static int proc_watchdog_cpumask(const struct ctl_table *table, int write,
static const int sixty = 60;
-static struct ctl_table watchdog_sysctls[] = {
+static const struct ctl_table watchdog_sysctls[] = {
{
.procname = "watchdog",
.data = &watchdog_user_enabled,
@@ -1175,7 +1175,7 @@ static struct ctl_table watchdog_sysctls[] = {
#endif
};
-static struct ctl_table watchdog_hardlockup_sysctl[] = {
+static const struct ctl_table watchdog_hardlockup_sysctl[] = {
{
.procname = "nmi_watchdog",
.data = &watchdog_hardlockup_user_enabled,
diff --git a/lib/alloc_tag.c b/lib/alloc_tag.c
index 7dcebf118a3e..73fda8406350 100644
--- a/lib/alloc_tag.c
+++ b/lib/alloc_tag.c
@@ -710,7 +710,7 @@ struct page_ext_operations page_alloc_tagging_ops = {
EXPORT_SYMBOL(page_alloc_tagging_ops);
#ifdef CONFIG_SYSCTL
-static struct ctl_table memory_allocation_profiling_sysctls[] = {
+static const struct ctl_table memory_allocation_profiling_sysctls[] = {
{
.procname = "mem_profiling",
.data = &mem_alloc_profiling_key,
diff --git a/lib/test_sysctl.c b/lib/test_sysctl.c
index b6696fa1d426..4249e0cc8aaf 100644
--- a/lib/test_sysctl.c
+++ b/lib/test_sysctl.c
@@ -71,7 +71,7 @@ static struct test_sysctl_data test_data = {
};
/* These are all under /proc/sys/debug/test_sysctl/ */
-static struct ctl_table test_table[] = {
+static const struct ctl_table test_table[] = {
{
.procname = "int_0001",
.data = &test_data.int_0001,
@@ -177,7 +177,7 @@ static int test_sysctl_setup_node_tests(void)
}
/* Used to test that unregister actually removes the directory */
-static struct ctl_table test_table_unregister[] = {
+static const struct ctl_table test_table_unregister[] = {
{
.procname = "unregister_error",
.data = &test_data.int_0001,
@@ -220,7 +220,7 @@ static int test_sysctl_run_register_mount_point(void)
return 0;
}
-static struct ctl_table test_table_empty[] = { };
+static const struct ctl_table test_table_empty[] = { };
static int test_sysctl_run_register_empty(void)
{
diff --git a/mm/compaction.c b/mm/compaction.c
index a2b16b08cbbf..62e8ee230e1c 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -3297,7 +3297,7 @@ static int proc_dointvec_minmax_warn_RT_change(const struct ctl_table *table,
return ret;
}
-static struct ctl_table vm_compaction[] = {
+static const struct ctl_table vm_compaction[] = {
{
.procname = "compact_memory",
.data = &sysctl_compact_memory,
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index c498874a7170..3857b9d72c84 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -4845,7 +4845,7 @@ static int hugetlb_overcommit_handler(const struct ctl_table *table, int write,
return ret;
}
-static struct ctl_table hugetlb_table[] = {
+static const struct ctl_table hugetlb_table[] = {
{
.procname = "nr_hugepages",
.data = NULL,
diff --git a/mm/hugetlb_vmemmap.c b/mm/hugetlb_vmemmap.c
index 57b7f591eee8..7735972add01 100644
--- a/mm/hugetlb_vmemmap.c
+++ b/mm/hugetlb_vmemmap.c
@@ -693,7 +693,7 @@ void hugetlb_vmemmap_optimize_folios(struct hstate *h, struct list_head *folio_l
free_vmemmap_page_list(&vmemmap_pages);
}
-static struct ctl_table hugetlb_vmemmap_sysctls[] = {
+static const struct ctl_table hugetlb_vmemmap_sysctls[] = {
{
.procname = "hugetlb_optimize_vmemmap",
.data = &vmemmap_optimize_enabled,
diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index a7b8ccd29b6f..995a15eb67e2 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -124,7 +124,7 @@ const struct attribute_group memory_failure_attr_group = {
.attrs = memory_failure_attr,
};
-static struct ctl_table memory_failure_table[] = {
+static const struct ctl_table memory_failure_table[] = {
{
.procname = "memory_failure_early_kill",
.data = &sysctl_memory_failure_early_kill,
diff --git a/mm/oom_kill.c b/mm/oom_kill.c
index 1c485beb0b93..c8280a39119c 100644
--- a/mm/oom_kill.c
+++ b/mm/oom_kill.c
@@ -699,7 +699,7 @@ static void queue_oom_reaper(struct task_struct *tsk)
}
#ifdef CONFIG_SYSCTL
-static struct ctl_table vm_oom_kill_table[] = {
+static const struct ctl_table vm_oom_kill_table[] = {
{
.procname = "panic_on_oom",
.data = &sysctl_panic_on_oom,
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
index d213ead95675..fb523107701f 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -2313,7 +2313,7 @@ static int page_writeback_cpu_online(unsigned int cpu)
/* this is needed for the proc_doulongvec_minmax of vm_dirty_bytes */
static const unsigned long dirty_bytes_min = 2 * PAGE_SIZE;
-static struct ctl_table vm_page_writeback_sysctls[] = {
+static const struct ctl_table vm_page_writeback_sysctls[] = {
{
.procname = "dirty_background_ratio",
.data = &dirty_background_ratio,
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index cae7b93864c2..6224a2ab5e86 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -6172,7 +6172,7 @@ static int percpu_pagelist_high_fraction_sysctl_handler(const struct ctl_table *
return ret;
}
-static struct ctl_table page_alloc_sysctl_table[] = {
+static const struct ctl_table page_alloc_sysctl_table[] = {
{
.procname = "min_free_kbytes",
.data = &min_free_kbytes,
diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
index 1edc12862a7d..9b6c2f157f83 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -2038,7 +2038,7 @@ static int apparmor_dointvec(const struct ctl_table *table, int write,
return proc_dointvec(table, write, buffer, lenp, ppos);
}
-static struct ctl_table apparmor_sysctl_table[] = {
+static const struct ctl_table apparmor_sysctl_table[] = {
#ifdef CONFIG_USER_NS
{
.procname = "unprivileged_userns_apparmor_policy",
diff --git a/security/keys/sysctl.c b/security/keys/sysctl.c
index 91f000eef3ad..cde08c478f32 100644
--- a/security/keys/sysctl.c
+++ b/security/keys/sysctl.c
@@ -9,7 +9,7 @@
#include <linux/sysctl.h>
#include "internal.h"
-static struct ctl_table key_sysctls[] = {
+static const struct ctl_table key_sysctls[] = {
{
.procname = "maxkeys",
.data = &key_quota_maxkeys,
diff --git a/security/loadpin/loadpin.c b/security/loadpin/loadpin.c
index 68252452b66c..e2d664b76026 100644
--- a/security/loadpin/loadpin.c
+++ b/security/loadpin/loadpin.c
@@ -53,7 +53,7 @@ static bool deny_reading_verity_digests;
#endif
#ifdef CONFIG_SYSCTL
-static struct ctl_table loadpin_sysctl_table[] = {
+static const struct ctl_table loadpin_sysctl_table[] = {
{
.procname = "enforce",
.data = &enforce,
diff --git a/security/yama/yama_lsm.c b/security/yama/yama_lsm.c
index e1a5e13ea269..54bd5f535ac1 100644
--- a/security/yama/yama_lsm.c
+++ b/security/yama/yama_lsm.c
@@ -454,7 +454,7 @@ static int yama_dointvec_minmax(const struct ctl_table *table, int write,
static int max_scope = YAMA_SCOPE_NO_ATTACH;
-static struct ctl_table yama_sysctl_table[] = {
+static const struct ctl_table yama_sysctl_table[] = {
{
.procname = "ptrace_scope",
.data = &ptrace_scope,
---
base-commit: 9d89551994a430b50c4fffcb1e617a057fa76e20
change-id: 20250109-jag-ctl_table_const-38f6b2ccbba7
Best regards,
--
Joel Granados <joel.granados@kernel.org>
^ permalink raw reply related [flat|nested] 14+ messages in thread* Re: [PATCH] treewide: const qualify ctl_tables where applicable
2025-01-09 13:16 [PATCH] treewide: const qualify ctl_tables where applicable Joel Granados
@ 2025-01-09 14:50 ` Steven Rostedt
2025-01-09 14:58 ` Jani Nikula
` (9 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Steven Rostedt @ 2025-01-09 14:50 UTC (permalink / raw)
To: Joel Granados
Cc: Thomas Weißschuh, Kees Cook, Luis Chamberlain,
linux-arm-kernel, linux-kernel, linuxppc-dev, linux-riscv,
linux-s390, linux-crypto, openipmi-developer, intel-gfx,
dri-devel, intel-xe, linux-hyperv, linux-rdma, linux-raid,
linux-scsi, linux-serial, xen-devel, linux-aio, linux-fsdevel,
netfs, codalist, linux-mm, linux-nfs, ocfs2-devel, fsverity,
linux-xfs, io-uring, bpf, kexec, linux-trace-kernel,
linux-hardening, apparmor, linux-security-module, keyrings
On Thu, 09 Jan 2025 14:16:39 +0100
Joel Granados <joel.granados@kernel.org> wrote:
> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index 2e113f8b13a2..489cbab3d64c 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -8786,7 +8786,7 @@ ftrace_enable_sysctl(const struct ctl_table *table, int write,
> return ret;
> }
>
> -static struct ctl_table ftrace_sysctls[] = {
> +static const struct ctl_table ftrace_sysctls[] = {
> {
> .procname = "ftrace_enabled",
> .data = &ftrace_enabled,
> diff --git a/kernel/trace/trace_events_user.c b/kernel/trace/trace_events_user.c
> index 17bcad8f79de..97325fbd6283 100644
> --- a/kernel/trace/trace_events_user.c
> +++ b/kernel/trace/trace_events_user.c
> @@ -2899,7 +2899,7 @@ static int set_max_user_events_sysctl(const struct ctl_table *table, int write,
> return ret;
> }
>
> -static struct ctl_table user_event_sysctls[] = {
> +static const struct ctl_table user_event_sysctls[] = {
> {
> .procname = "user_events_max",
> .data = &max_user_events,
Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org> # for kernel/trace/
-- Steve
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH] treewide: const qualify ctl_tables where applicable
2025-01-09 13:16 [PATCH] treewide: const qualify ctl_tables where applicable Joel Granados
2025-01-09 14:50 ` Steven Rostedt
@ 2025-01-09 14:58 ` Jani Nikula
2025-01-09 15:00 ` Martin K. Petersen
` (8 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Jani Nikula @ 2025-01-09 14:58 UTC (permalink / raw)
To: Joel Granados, Thomas Weißschuh, Kees Cook, Luis Chamberlain
Cc: linux-arm-kernel, linux-kernel, linuxppc-dev, linux-riscv,
linux-s390, linux-crypto, openipmi-developer, intel-gfx,
dri-devel, intel-xe, linux-hyperv, linux-rdma, linux-raid,
linux-scsi, linux-serial, xen-devel, linux-aio, linux-fsdevel,
netfs, codalist, linux-mm, linux-nfs, ocfs2-devel, fsverity,
linux-xfs, io-uring, bpf, kexec, linux-trace-kernel,
linux-hardening, apparmor, linux-security-module, keyrings,
Joel Granados
On Thu, 09 Jan 2025, Joel Granados <joel.granados@kernel.org> wrote:
> diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
> index 2406cda75b7b..5384d1bb4923 100644
> --- a/drivers/gpu/drm/i915/i915_perf.c
> +++ b/drivers/gpu/drm/i915/i915_perf.c
> @@ -4802,7 +4802,7 @@ int i915_perf_remove_config_ioctl(struct drm_device *dev, void *data,
> return ret;
> }
>
> -static struct ctl_table oa_table[] = {
> +static const struct ctl_table oa_table[] = {
> {
> .procname = "perf_stream_paranoid",
> .data = &i915_perf_stream_paranoid,
For i915,
Acked-by: Jani Nikula <jani.nikula@intel.com>
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH] treewide: const qualify ctl_tables where applicable
2025-01-09 13:16 [PATCH] treewide: const qualify ctl_tables where applicable Joel Granados
2025-01-09 14:50 ` Steven Rostedt
2025-01-09 14:58 ` Jani Nikula
@ 2025-01-09 15:00 ` Martin K. Petersen
2025-01-09 15:45 ` Corey Minyard
` (7 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Martin K. Petersen @ 2025-01-09 15:00 UTC (permalink / raw)
To: Joel Granados
Cc: Thomas Weißschuh, Kees Cook, Luis Chamberlain,
linux-arm-kernel, linux-kernel, linuxppc-dev, linux-riscv,
linux-s390, linux-crypto, openipmi-developer, intel-gfx,
dri-devel, intel-xe, linux-hyperv, linux-rdma, linux-raid,
linux-scsi, linux-serial, xen-devel, linux-aio, linux-fsdevel,
netfs, codalist, linux-mm, linux-nfs, ocfs2-devel, fsverity,
linux-xfs, io-uring, bpf, kexec, linux-trace-kernel,
linux-hardening, apparmor, linux-security-module, keyrings
Joel,
> Add the const qualifier to all the ctl_tables in the tree except the
> ones in ./net dir. The "net" sysctl code is special as it modifies the
> arrays before passing it on to the registration function.
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> # SCSI
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH] treewide: const qualify ctl_tables where applicable
2025-01-09 13:16 [PATCH] treewide: const qualify ctl_tables where applicable Joel Granados
` (2 preceding siblings ...)
2025-01-09 15:00 ` Martin K. Petersen
@ 2025-01-09 15:45 ` Corey Minyard
2025-01-09 15:51 ` Darrick J. Wong
` (6 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Corey Minyard @ 2025-01-09 15:45 UTC (permalink / raw)
To: Joel Granados
Cc: Thomas Weißschuh, Kees Cook, Luis Chamberlain,
linux-arm-kernel, linux-kernel, linuxppc-dev, linux-riscv,
linux-s390, linux-crypto, openipmi-developer, intel-gfx,
dri-devel, intel-xe, linux-hyperv, linux-rdma, linux-raid,
linux-scsi, linux-serial, xen-devel, linux-aio, linux-fsdevel,
netfs, codalist, linux-mm, linux-nfs, ocfs2-devel, fsverity,
linux-xfs, io-uring, bpf, kexec, linux-trace-kernel,
linux-hardening, apparmor, linux-security-module, keyrings
On Thu, Jan 09, 2025 at 02:16:39PM +0100, Joel Granados wrote:
> Add the const qualifier to all the ctl_tables in the tree except the
> ones in ./net dir. The "net" sysctl code is special as it modifies the
> arrays before passing it on to the registration function.
>
...
> diff --git a/drivers/char/ipmi/ipmi_poweroff.c b/drivers/char/ipmi/ipmi_poweroff.c
> index 941d2dcc8c9d..de84f59468a9 100644
> --- a/drivers/char/ipmi/ipmi_poweroff.c
> +++ b/drivers/char/ipmi/ipmi_poweroff.c
> @@ -650,7 +650,7 @@ static struct ipmi_smi_watcher smi_watcher = {
> #ifdef CONFIG_PROC_FS
> #include <linux/sysctl.h>
>
> -static struct ctl_table ipmi_table[] = {
> +static const struct ctl_table ipmi_table[] = {
> { .procname = "poweroff_powercycle",
> .data = &poweroff_powercycle,
> .maxlen = sizeof(poweroff_powercycle),
For the IPMI portion:
Acked-by: Corey Minyard <cminyard@mvista.com>
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH] treewide: const qualify ctl_tables where applicable
2025-01-09 13:16 [PATCH] treewide: const qualify ctl_tables where applicable Joel Granados
` (3 preceding siblings ...)
2025-01-09 15:45 ` Corey Minyard
@ 2025-01-09 15:51 ` Darrick J. Wong
2025-01-09 16:10 ` ✓ CI.Patch_applied: success for " Patchwork
` (5 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Darrick J. Wong @ 2025-01-09 15:51 UTC (permalink / raw)
To: Joel Granados
Cc: Thomas Weißschuh, Kees Cook, Luis Chamberlain,
linux-arm-kernel, linux-kernel, linuxppc-dev, linux-riscv,
linux-s390, linux-crypto, openipmi-developer, intel-gfx,
dri-devel, intel-xe, linux-hyperv, linux-rdma, linux-raid,
linux-scsi, linux-serial, xen-devel, linux-aio, linux-fsdevel,
netfs, codalist, linux-mm, linux-nfs, ocfs2-devel, fsverity,
linux-xfs, io-uring, bpf, kexec, linux-trace-kernel,
linux-hardening, apparmor, linux-security-module, keyrings
On Thu, Jan 09, 2025 at 02:16:39PM +0100, Joel Granados wrote:
> Add the const qualifier to all the ctl_tables in the tree except the
> ones in ./net dir. The "net" sysctl code is special as it modifies the
> arrays before passing it on to the registration function.
>
> Constifying ctl_table structs will prevent the modification of
> proc_handler function pointers as the arrays would reside in .rodata.
> This is made possible after commit 78eb4ea25cd5 ("sysctl: treewide:
> constify the ctl_table argument of proc_handlers") constified all the
> proc_handlers.
Sounds like a good idea,
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org> # xfs
--D
^ permalink raw reply [flat|nested] 14+ messages in thread* ✓ CI.Patch_applied: success for treewide: const qualify ctl_tables where applicable
2025-01-09 13:16 [PATCH] treewide: const qualify ctl_tables where applicable Joel Granados
` (4 preceding siblings ...)
2025-01-09 15:51 ` Darrick J. Wong
@ 2025-01-09 16:10 ` Patchwork
2025-01-09 16:11 ` ✗ CI.checkpatch: warning " Patchwork
` (4 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2025-01-09 16:10 UTC (permalink / raw)
To: Joel Granados; +Cc: intel-xe
== Series Details ==
Series: treewide: const qualify ctl_tables where applicable
URL : https://patchwork.freedesktop.org/series/143333/
State : success
== Summary ==
=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: 424f495e9572 drm-tip: 2025y-01m-09d-15h-40m-47s UTC integration manifest
=== git am output follows ===
Applying: treewide: const qualify ctl_tables where applicable
^ permalink raw reply [flat|nested] 14+ messages in thread* ✗ CI.checkpatch: warning for treewide: const qualify ctl_tables where applicable
2025-01-09 13:16 [PATCH] treewide: const qualify ctl_tables where applicable Joel Granados
` (5 preceding siblings ...)
2025-01-09 16:10 ` ✓ CI.Patch_applied: success for " Patchwork
@ 2025-01-09 16:11 ` Patchwork
2025-01-10 11:40 ` Joel Granados
2025-01-09 16:12 ` ✓ CI.KUnit: success " Patchwork
` (3 subsequent siblings)
10 siblings, 1 reply; 14+ messages in thread
From: Patchwork @ 2025-01-09 16:11 UTC (permalink / raw)
To: Joel Granados; +Cc: intel-xe
== Series Details ==
Series: treewide: const qualify ctl_tables where applicable
URL : https://patchwork.freedesktop.org/series/143333/
State : warning
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
30ab6715fc09baee6cc14cb3c89ad8858688d474
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 8c9fd692cfd7df82d0454d25ab66dc2185697be7
Author: Joel Granados <joel.granados@kernel.org>
Date: Thu Jan 9 14:16:39 2025 +0100
treewide: const qualify ctl_tables where applicable
Add the const qualifier to all the ctl_tables in the tree except the
ones in ./net dir. The "net" sysctl code is special as it modifies the
arrays before passing it on to the registration function.
Constifying ctl_table structs will prevent the modification of
proc_handler function pointers as the arrays would reside in .rodata.
This is made possible after commit 78eb4ea25cd5 ("sysctl: treewide:
constify the ctl_table argument of proc_handlers") constified all the
proc_handlers.
Created this by running an spatch followed by a sed command:
Spatch:
virtual patch
@
depends on !(file in "net")
disable optional_qualifier
@
identifier table_name;
@@
+ const
struct ctl_table table_name [] = { ... };
sed:
sed --in-place \
-e "s/struct ctl_table .table = &uts_kern/const struct ctl_table *table = \&uts_kern/" \
kernel/utsname_sysctl.c
Signed-off-by: Joel Granados <joel.granados@kernel.org>
Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org> # for kernel/trace/
Acked-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org> # xfs
+ /mt/dim checkpatch 424f495e9572bf87a42e3be0aa02ac4777541033 drm-intel
8c9fd692cfd7 treewide: const qualify ctl_tables where applicable
-:32: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#32:
-e "s/struct ctl_table .table = &uts_kern/const struct ctl_table *table = \&uts_kern/" \
-:444: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#444: FILE: drivers/misc/sgi-xp/xpc_main.c:114:
};
+static const struct ctl_table xpc_sys_xpc[] = {
-:1224: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
#1224: FILE: kernel/stackleak.c:47:
}
+static const struct ctl_table stackleak_sysctls[] = {
total: 0 errors, 1 warnings, 2 checks, 960 lines checked
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: ✗ CI.checkpatch: warning for treewide: const qualify ctl_tables where applicable
2025-01-09 16:11 ` ✗ CI.checkpatch: warning " Patchwork
@ 2025-01-10 11:40 ` Joel Granados
0 siblings, 0 replies; 14+ messages in thread
From: Joel Granados @ 2025-01-10 11:40 UTC (permalink / raw)
To: intel-xe
On Thu, Jan 09, 2025 at 04:11:44PM -0000, Patchwork wrote:
> == Series Details ==
>
> Series: treewide: const qualify ctl_tables where applicable
> URL : https://patchwork.freedesktop.org/series/143333/
> State : warning
This can be ignored.
>
> == Summary ==
>
> + KERNEL=/kernel
> + git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
> Cloning into 'mt'...
> warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
> + git -C mt rev-list -n1 origin/master
> 30ab6715fc09baee6cc14cb3c89ad8858688d474
> + cd /kernel
> + git config --global --add safe.directory /kernel
> + git log -n1
> commit 8c9fd692cfd7df82d0454d25ab66dc2185697be7
> Author: Joel Granados <joel.granados@kernel.org>
> Date: Thu Jan 9 14:16:39 2025 +0100
>
> treewide: const qualify ctl_tables where applicable
>
> Add the const qualifier to all the ctl_tables in the tree except the
> ones in ./net dir. The "net" sysctl code is special as it modifies the
> arrays before passing it on to the registration function.
>
> Constifying ctl_table structs will prevent the modification of
> proc_handler function pointers as the arrays would reside in .rodata.
> This is made possible after commit 78eb4ea25cd5 ("sysctl: treewide:
> constify the ctl_table argument of proc_handlers") constified all the
> proc_handlers.
>
> Created this by running an spatch followed by a sed command:
> Spatch:
> virtual patch
>
> @
> depends on !(file in "net")
> disable optional_qualifier
> @
> identifier table_name;
> @@
>
> + const
> struct ctl_table table_name [] = { ... };
>
> sed:
> sed --in-place \
> -e "s/struct ctl_table .table = &uts_kern/const struct ctl_table *table = \&uts_kern/" \
This line is a little bit long, but I think dividing it is overkill
> kernel/utsname_sysctl.c
>
> Signed-off-by: Joel Granados <joel.granados@kernel.org>
> Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org> # for kernel/trace/
> Acked-by: Jani Nikula <jani.nikula@intel.com>
> Reviewed-by: "Darrick J. Wong" <djwong@kernel.org> # xfs
> + /mt/dim checkpatch 424f495e9572bf87a42e3be0aa02ac4777541033 drm-intel
> 8c9fd692cfd7 treewide: const qualify ctl_tables where applicable
> -:32: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
> #32:
> -e "s/struct ctl_table .table = &uts_kern/const struct ctl_table *table = \&uts_kern/" \
>
> -:444: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
> #444: FILE: drivers/misc/sgi-xp/xpc_main.c:114:
> };
> +static const struct ctl_table xpc_sys_xpc[] = {
pre-existing from before
>
> -:1224: CHECK:LINE_SPACING: Please use a blank line after function/struct/union/enum declarations
> #1224: FILE: kernel/stackleak.c:47:
> }
> +static const struct ctl_table stackleak_sysctls[] = {
pre-existing from before
>
> total: 0 errors, 1 warnings, 2 checks, 960 lines checked
>
>
best
--
Joel Granados
^ permalink raw reply [flat|nested] 14+ messages in thread
* ✓ CI.KUnit: success for treewide: const qualify ctl_tables where applicable
2025-01-09 13:16 [PATCH] treewide: const qualify ctl_tables where applicable Joel Granados
` (6 preceding siblings ...)
2025-01-09 16:11 ` ✗ CI.checkpatch: warning " Patchwork
@ 2025-01-09 16:12 ` Patchwork
2025-01-09 16:20 ` ✗ CI.Build: failure " Patchwork
` (2 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2025-01-09 16:12 UTC (permalink / raw)
To: Joel Granados; +Cc: intel-xe
== Series Details ==
Series: treewide: const qualify ctl_tables where applicable
URL : https://patchwork.freedesktop.org/series/143333/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[16:11:45] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:11:49] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json ARCH=um O=.kunit --jobs=48
../lib/iomap.c:156:5: warning: no previous prototype for ‘ioread64_lo_hi’ [-Wmissing-prototypes]
156 | u64 ioread64_lo_hi(const void __iomem *addr)
| ^~~~~~~~~~~~~~
../lib/iomap.c:163:5: warning: no previous prototype for ‘ioread64_hi_lo’ [-Wmissing-prototypes]
163 | u64 ioread64_hi_lo(const void __iomem *addr)
| ^~~~~~~~~~~~~~
../lib/iomap.c:170:5: warning: no previous prototype for ‘ioread64be_lo_hi’ [-Wmissing-prototypes]
170 | u64 ioread64be_lo_hi(const void __iomem *addr)
| ^~~~~~~~~~~~~~~~
../lib/iomap.c:178:5: warning: no previous prototype for ‘ioread64be_hi_lo’ [-Wmissing-prototypes]
178 | u64 ioread64be_hi_lo(const void __iomem *addr)
| ^~~~~~~~~~~~~~~~
../lib/iomap.c:264:6: warning: no previous prototype for ‘iowrite64_lo_hi’ [-Wmissing-prototypes]
264 | void iowrite64_lo_hi(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~
../lib/iomap.c:272:6: warning: no previous prototype for ‘iowrite64_hi_lo’ [-Wmissing-prototypes]
272 | void iowrite64_hi_lo(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~
../lib/iomap.c:280:6: warning: no previous prototype for ‘iowrite64be_lo_hi’ [-Wmissing-prototypes]
280 | void iowrite64be_lo_hi(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~~~
../lib/iomap.c:288:6: warning: no previous prototype for ‘iowrite64be_hi_lo’ [-Wmissing-prototypes]
288 | void iowrite64be_hi_lo(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~~~
[16:12:18] Starting KUnit Kernel (1/1)...
[16:12:18] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:12:18] =================== guc_dbm (7 subtests) ===================
[16:12:18] [PASSED] test_empty
[16:12:18] [PASSED] test_default
[16:12:18] ======================== test_size ========================
[16:12:18] [PASSED] 4
[16:12:18] [PASSED] 8
[16:12:18] [PASSED] 32
[16:12:18] [PASSED] 256
[16:12:18] ==================== [PASSED] test_size ====================
[16:12:18] ======================= test_reuse ========================
[16:12:18] [PASSED] 4
[16:12:18] [PASSED] 8
[16:12:18] [PASSED] 32
[16:12:18] [PASSED] 256
[16:12:18] =================== [PASSED] test_reuse ====================
[16:12:18] =================== test_range_overlap ====================
[16:12:18] [PASSED] 4
[16:12:18] [PASSED] 8
[16:12:18] [PASSED] 32
[16:12:18] [PASSED] 256
[16:12:18] =============== [PASSED] test_range_overlap ================
[16:12:18] =================== test_range_compact ====================
[16:12:18] [PASSED] 4
[16:12:18] [PASSED] 8
[16:12:18] [PASSED] 32
[16:12:18] [PASSED] 256
[16:12:18] =============== [PASSED] test_range_compact ================
[16:12:18] ==================== test_range_spare =====================
[16:12:18] [PASSED] 4
[16:12:18] [PASSED] 8
[16:12:18] [PASSED] 32
[16:12:18] [PASSED] 256
[16:12:18] ================ [PASSED] test_range_spare =================
[16:12:18] ===================== [PASSED] guc_dbm =====================
[16:12:18] =================== guc_idm (6 subtests) ===================
[16:12:18] [PASSED] bad_init
[16:12:18] [PASSED] no_init
[16:12:18] [PASSED] init_fini
[16:12:18] [PASSED] check_used
[16:12:18] [PASSED] check_quota
[16:12:18] [PASSED] check_all
[16:12:18] ===================== [PASSED] guc_idm =====================
[16:12:18] ================== no_relay (3 subtests) ===================
[16:12:18] [PASSED] xe_drops_guc2pf_if_not_ready
[16:12:18] [PASSED] xe_drops_guc2vf_if_not_ready
[16:12:18] [PASSED] xe_rejects_send_if_not_ready
[16:12:18] ==================== [PASSED] no_relay =====================
[16:12:18] ================== pf_relay (14 subtests) ==================
[16:12:18] [PASSED] pf_rejects_guc2pf_too_short
[16:12:18] [PASSED] pf_rejects_guc2pf_too_long
[16:12:18] [PASSED] pf_rejects_guc2pf_no_payload
[16:12:18] [PASSED] pf_fails_no_payload
[16:12:18] [PASSED] pf_fails_bad_origin
[16:12:18] [PASSED] pf_fails_bad_type
[16:12:18] [PASSED] pf_txn_reports_error
[16:12:18] [PASSED] pf_txn_sends_pf2guc
[16:12:18] [PASSED] pf_sends_pf2guc
[16:12:18] [SKIPPED] pf_loopback_nop
[16:12:18] [SKIPPED] pf_loopback_echo
[16:12:18] [SKIPPED] pf_loopback_fail
[16:12:18] [SKIPPED] pf_loopback_busy
[16:12:18] [SKIPPED] pf_loopback_retry
[16:12:18] ==================== [PASSED] pf_relay =====================
[16:12:18] ================== vf_relay (3 subtests) ===================
[16:12:18] [PASSED] vf_rejects_guc2vf_too_short
[16:12:18] [PASSED] vf_rejects_guc2vf_too_long
[16:12:18] [PASSED] vf_rejects_guc2vf_no_payload
[16:12:18] ==================== [PASSED] vf_relay =====================
[16:12:18] ================= pf_service (11 subtests) =================
[16:12:18] [PASSED] pf_negotiate_any
[16:12:18] [PASSED] pf_negotiate_base_match
[16:12:18] [PASSED] pf_negotiate_base_newer
[16:12:18] [PASSED] pf_negotiate_base_next
[16:12:18] [SKIPPED] pf_negotiate_base_older
[16:12:18] [PASSED] pf_negotiate_base_prev
[16:12:18] [PASSED] pf_negotiate_latest_match
[16:12:18] [PASSED] pf_negotiate_latest_newer
[16:12:18] [PASSED] pf_negotiate_latest_next
[16:12:18] [SKIPPED] pf_negotiate_latest_older
[16:12:18] [SKIPPED] pf_negotiate_latest_prev
[16:12:18] =================== [PASSED] pf_service ====================
[16:12:18] ===================== lmtt (1 subtest) =====================
[16:12:18] ======================== test_ops =========================
[16:12:18] [PASSED] 2-level
[16:12:18] [PASSED] multi-level
[16:12:18] ==================== [PASSED] test_ops =====================
[16:12:18] ====================== [PASSED] lmtt =======================
[16:12:18] =================== xe_mocs (2 subtests) ===================
[16:12:18] ================ xe_live_mocs_kernel_kunit ================
[16:12:18] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[16:12:18] ================ xe_live_mocs_reset_kunit =================
[16:12:18] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[16:12:18] ==================== [SKIPPED] xe_mocs =====================
[16:12:18] ================= xe_migrate (2 subtests) ==================
[16:12:18] ================= xe_migrate_sanity_kunit =================
[16:12:18] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[16:12:18] ================== xe_validate_ccs_kunit ==================
[16:12:18] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[16:12:18] =================== [SKIPPED] xe_migrate ===================
[16:12:18] ================== xe_dma_buf (1 subtest) ==================
[16:12:18] ==================== xe_dma_buf_kunit =====================
[16:12:18] ================ [SKIPPED] xe_dma_buf_kunit ================
[16:12:18] =================== [SKIPPED] xe_dma_buf ===================
[16:12:18] ================= xe_bo_shrink (1 subtest) =================
[16:12:18] =================== xe_bo_shrink_kunit ====================
[16:12:18] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[16:12:18] ================== [SKIPPED] xe_bo_shrink ==================
[16:12:18] ==================== xe_bo (2 subtests) ====================
[16:12:18] ================== xe_ccs_migrate_kunit ===================
[16:12:18] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[16:12:18] ==================== xe_bo_evict_kunit ====================
[16:12:18] =============== [SKIPPED] xe_bo_evict_kunit ================
[16:12:18] ===================== [SKIPPED] xe_bo ======================
[16:12:18] ==================== args (11 subtests) ====================
[16:12:18] [PASSED] count_args_test
[16:12:18] [PASSED] call_args_example
[16:12:18] [PASSED] call_args_test
[16:12:18] [PASSED] drop_first_arg_example
[16:12:18] [PASSED] drop_first_arg_test
[16:12:18] [PASSED] first_arg_example
[16:12:18] [PASSED] first_arg_test
stty: 'standard input': Inappropriate ioctl for device
[16:12:18] [PASSED] last_arg_example
[16:12:18] [PASSED] last_arg_test
[16:12:18] [PASSED] pick_arg_example
[16:12:18] [PASSED] sep_comma_example
[16:12:18] ====================== [PASSED] args =======================
[16:12:18] =================== xe_pci (2 subtests) ====================
[16:12:18] [PASSED] xe_gmdid_graphics_ip
[16:12:18] [PASSED] xe_gmdid_media_ip
[16:12:18] ===================== [PASSED] xe_pci ======================
[16:12:18] =================== xe_rtp (2 subtests) ====================
[16:12:18] =============== xe_rtp_process_to_sr_tests ================
[16:12:18] [PASSED] coalesce-same-reg
[16:12:18] [PASSED] no-match-no-add
[16:12:18] [PASSED] match-or
[16:12:18] [PASSED] match-or-xfail
[16:12:18] [PASSED] no-match-no-add-multiple-rules
[16:12:18] [PASSED] two-regs-two-entries
[16:12:18] [PASSED] clr-one-set-other
[16:12:18] [PASSED] set-field
[16:12:18] [PASSED] conflict-duplicate
[16:12:18] [PASSED] conflict-not-disjoint
[16:12:18] [PASSED] conflict-reg-type
[16:12:18] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[16:12:18] ================== xe_rtp_process_tests ===================
[16:12:18] [PASSED] active1
[16:12:18] [PASSED] active2
[16:12:18] [PASSED] active-inactive
[16:12:18] [PASSED] inactive-active
[16:12:18] [PASSED] inactive-1st_or_active-inactive
[16:12:18] [PASSED] inactive-2nd_or_active-inactive
[16:12:18] [PASSED] inactive-last_or_active-inactive
[16:12:18] [PASSED] inactive-no_or_active-inactive
[16:12:18] ============== [PASSED] xe_rtp_process_tests ===============
[16:12:18] ===================== [PASSED] xe_rtp ======================
[16:12:18] ==================== xe_wa (1 subtest) =====================
[16:12:18] ======================== xe_wa_gt =========================
[16:12:18] [PASSED] TIGERLAKE (B0)
[16:12:18] [PASSED] DG1 (A0)
[16:12:18] [PASSED] DG1 (B0)
[16:12:18] [PASSED] ALDERLAKE_S (A0)
[16:12:18] [PASSED] ALDERLAKE_S (B0)
[16:12:18] [PASSED] ALDERLAKE_S (C0)
[16:12:18] [PASSED] ALDERLAKE_S (D0)
[16:12:18] [PASSED] ALDERLAKE_P (A0)
[16:12:18] [PASSED] ALDERLAKE_P (B0)
[16:12:18] [PASSED] ALDERLAKE_P (C0)
[16:12:18] [PASSED] ALDERLAKE_S_RPLS (D0)
[16:12:18] [PASSED] ALDERLAKE_P_RPLU (E0)
[16:12:18] [PASSED] DG2_G10 (C0)
[16:12:18] [PASSED] DG2_G11 (B1)
[16:12:18] [PASSED] DG2_G12 (A1)
[16:12:18] [PASSED] METEORLAKE (g:A0, m:A0)
[16:12:18] [PASSED] METEORLAKE (g:A0, m:A0)
[16:12:18] [PASSED] METEORLAKE (g:A0, m:A0)
[16:12:18] [PASSED] LUNARLAKE (g:A0, m:A0)
[16:12:18] [PASSED] LUNARLAKE (g:B0, m:A0)
[16:12:18] [PASSED] BATTLEMAGE (g:A0, m:A1)
[16:12:18] ==================== [PASSED] xe_wa_gt =====================
[16:12:18] ====================== [PASSED] xe_wa ======================
[16:12:18] ============================================================
[16:12:18] Testing complete. Ran 122 tests: passed: 106, skipped: 16
[16:12:18] Elapsed time: 33.452s total, 4.488s configuring, 28.698s building, 0.227s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[16:12:18] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:12:20] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json ARCH=um O=.kunit --jobs=48
../lib/iomap.c:156:5: warning: no previous prototype for ‘ioread64_lo_hi’ [-Wmissing-prototypes]
156 | u64 ioread64_lo_hi(const void __iomem *addr)
| ^~~~~~~~~~~~~~
../lib/iomap.c:163:5: warning: no previous prototype for ‘ioread64_hi_lo’ [-Wmissing-prototypes]
163 | u64 ioread64_hi_lo(const void __iomem *addr)
| ^~~~~~~~~~~~~~
../lib/iomap.c:170:5: warning: no previous prototype for ‘ioread64be_lo_hi’ [-Wmissing-prototypes]
170 | u64 ioread64be_lo_hi(const void __iomem *addr)
| ^~~~~~~~~~~~~~~~
../lib/iomap.c:178:5: warning: no previous prototype for ‘ioread64be_hi_lo’ [-Wmissing-prototypes]
178 | u64 ioread64be_hi_lo(const void __iomem *addr)
| ^~~~~~~~~~~~~~~~
../lib/iomap.c:264:6: warning: no previous prototype for ‘iowrite64_lo_hi’ [-Wmissing-prototypes]
264 | void iowrite64_lo_hi(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~
../lib/iomap.c:272:6: warning: no previous prototype for ‘iowrite64_hi_lo’ [-Wmissing-prototypes]
272 | void iowrite64_hi_lo(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~
../lib/iomap.c:280:6: warning: no previous prototype for ‘iowrite64be_lo_hi’ [-Wmissing-prototypes]
280 | void iowrite64be_lo_hi(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~~~
../lib/iomap.c:288:6: warning: no previous prototype for ‘iowrite64be_hi_lo’ [-Wmissing-prototypes]
288 | void iowrite64be_hi_lo(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~~~
[16:12:43] Starting KUnit Kernel (1/1)...
[16:12:43] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:12:43] =========== drm_validate_clone_mode (2 subtests) ===========
[16:12:43] ============== drm_test_check_in_clone_mode ===============
[16:12:43] [PASSED] in_clone_mode
[16:12:43] [PASSED] not_in_clone_mode
[16:12:43] ========== [PASSED] drm_test_check_in_clone_mode ===========
[16:12:43] =============== drm_test_check_valid_clones ===============
[16:12:43] [PASSED] not_in_clone_mode
[16:12:43] [PASSED] valid_clone
[16:12:43] [PASSED] invalid_clone
[16:12:43] =========== [PASSED] drm_test_check_valid_clones ===========
[16:12:43] ============= [PASSED] drm_validate_clone_mode =============
[16:12:43] ============= drm_validate_modeset (1 subtest) =============
[16:12:43] [PASSED] drm_test_check_connector_changed_modeset
[16:12:43] ============== [PASSED] drm_validate_modeset ===============
[16:12:43] ================== drm_buddy (7 subtests) ==================
[16:12:43] [PASSED] drm_test_buddy_alloc_limit
[16:12:43] [PASSED] drm_test_buddy_alloc_optimistic
[16:12:43] [PASSED] drm_test_buddy_alloc_pessimistic
[16:12:43] [PASSED] drm_test_buddy_alloc_pathological
[16:12:43] [PASSED] drm_test_buddy_alloc_contiguous
[16:12:43] [PASSED] drm_test_buddy_alloc_clear
[16:12:43] [PASSED] drm_test_buddy_alloc_range_bias
[16:12:43] ==================== [PASSED] drm_buddy ====================
[16:12:43] ============= drm_cmdline_parser (40 subtests) =============
[16:12:43] [PASSED] drm_test_cmdline_force_d_only
[16:12:43] [PASSED] drm_test_cmdline_force_D_only_dvi
[16:12:43] [PASSED] drm_test_cmdline_force_D_only_hdmi
[16:12:43] [PASSED] drm_test_cmdline_force_D_only_not_digital
[16:12:43] [PASSED] drm_test_cmdline_force_e_only
[16:12:43] [PASSED] drm_test_cmdline_res
[16:12:43] [PASSED] drm_test_cmdline_res_vesa
[16:12:43] [PASSED] drm_test_cmdline_res_vesa_rblank
[16:12:43] [PASSED] drm_test_cmdline_res_rblank
[16:12:43] [PASSED] drm_test_cmdline_res_bpp
[16:12:43] [PASSED] drm_test_cmdline_res_refresh
[16:12:43] [PASSED] drm_test_cmdline_res_bpp_refresh
[16:12:43] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[16:12:43] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[16:12:43] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[16:12:43] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[16:12:43] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[16:12:43] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[16:12:43] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[16:12:43] [PASSED] drm_test_cmdline_res_margins_force_on
[16:12:43] [PASSED] drm_test_cmdline_res_vesa_margins
[16:12:43] [PASSED] drm_test_cmdline_name
[16:12:43] [PASSED] drm_test_cmdline_name_bpp
[16:12:43] [PASSED] drm_test_cmdline_name_option
[16:12:43] [PASSED] drm_test_cmdline_name_bpp_option
[16:12:43] [PASSED] drm_test_cmdline_rotate_0
[16:12:43] [PASSED] drm_test_cmdline_rotate_90
[16:12:43] [PASSED] drm_test_cmdline_rotate_180
[16:12:43] [PASSED] drm_test_cmdline_rotate_270
[16:12:43] [PASSED] drm_test_cmdline_hmirror
[16:12:43] [PASSED] drm_test_cmdline_vmirror
[16:12:43] [PASSED] drm_test_cmdline_margin_options
[16:12:43] [PASSED] drm_test_cmdline_multiple_options
[16:12:43] [PASSED] drm_test_cmdline_bpp_extra_and_option
[16:12:43] [PASSED] drm_test_cmdline_extra_and_option
[16:12:43] [PASSED] drm_test_cmdline_freestanding_options
[16:12:43] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[16:12:43] [PASSED] drm_test_cmdline_panel_orientation
[16:12:43] ================ drm_test_cmdline_invalid =================
[16:12:43] [PASSED] margin_only
[16:12:43] [PASSED] interlace_only
[16:12:43] [PASSED] res_missing_x
[16:12:43] [PASSED] res_missing_y
[16:12:43] [PASSED] res_bad_y
[16:12:43] [PASSED] res_missing_y_bpp
[16:12:43] [PASSED] res_bad_bpp
[16:12:43] [PASSED] res_bad_refresh
[16:12:43] [PASSED] res_bpp_refresh_force_on_off
[16:12:43] [PASSED] res_invalid_mode
[16:12:43] [PASSED] res_bpp_wrong_place_mode
[16:12:43] [PASSED] name_bpp_refresh
[16:12:43] [PASSED] name_refresh
[16:12:43] [PASSED] name_refresh_wrong_mode
[16:12:43] [PASSED] name_refresh_invalid_mode
[16:12:43] [PASSED] rotate_multiple
[16:12:43] [PASSED] rotate_invalid_val
[16:12:43] [PASSED] rotate_truncated
[16:12:43] [PASSED] invalid_option
[16:12:43] [PASSED] invalid_tv_option
[16:12:43] [PASSED] truncated_tv_option
[16:12:43] ============ [PASSED] drm_test_cmdline_invalid =============
[16:12:43] =============== drm_test_cmdline_tv_options ===============
[16:12:43] [PASSED] NTSC
[16:12:43] [PASSED] NTSC_443
[16:12:43] [PASSED] NTSC_J
[16:12:43] [PASSED] PAL
[16:12:43] [PASSED] PAL_M
[16:12:43] [PASSED] PAL_N
[16:12:43] [PASSED] SECAM
[16:12:43] [PASSED] MONO_525
[16:12:43] [PASSED] MONO_625
[16:12:43] =========== [PASSED] drm_test_cmdline_tv_options ===========
[16:12:43] =============== [PASSED] drm_cmdline_parser ================
[16:12:43] ========== drmm_connector_hdmi_init (19 subtests) ==========
[16:12:43] [PASSED] drm_test_connector_hdmi_init_valid
[16:12:43] [PASSED] drm_test_connector_hdmi_init_bpc_8
[16:12:43] [PASSED] drm_test_connector_hdmi_init_bpc_10
[16:12:43] [PASSED] drm_test_connector_hdmi_init_bpc_12
[16:12:43] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[16:12:43] [PASSED] drm_test_connector_hdmi_init_bpc_null
[16:12:43] [PASSED] drm_test_connector_hdmi_init_formats_empty
[16:12:43] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[16:12:43] [PASSED] drm_test_connector_hdmi_init_null_ddc
[16:12:43] [PASSED] drm_test_connector_hdmi_init_null_product
[16:12:43] [PASSED] drm_test_connector_hdmi_init_null_vendor
[16:12:43] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[16:12:43] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[16:12:43] [PASSED] drm_test_connector_hdmi_init_product_valid
[16:12:43] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[16:12:43] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[16:12:43] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[16:12:43] ========= drm_test_connector_hdmi_init_type_valid =========
[16:12:43] [PASSED] HDMI-A
[16:12:43] [PASSED] HDMI-B
[16:12:43] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[16:12:43] ======== drm_test_connector_hdmi_init_type_invalid ========
[16:12:43] [PASSED] Unknown
[16:12:43] [PASSED] VGA
[16:12:43] [PASSED] DVI-I
[16:12:43] [PASSED] DVI-D
[16:12:43] [PASSED] DVI-A
[16:12:43] [PASSED] Composite
[16:12:43] [PASSED] SVIDEO
[16:12:43] [PASSED] LVDS
[16:12:43] [PASSED] Component
[16:12:43] [PASSED] DIN
[16:12:43] [PASSED] DP
[16:12:43] [PASSED] TV
[16:12:43] [PASSED] eDP
[16:12:43] [PASSED] Virtual
[16:12:43] [PASSED] DSI
[16:12:43] [PASSED] DPI
[16:12:43] [PASSED] Writeback
[16:12:43] [PASSED] SPI
[16:12:43] [PASSED] USB
[16:12:43] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[16:12:43] ============ [PASSED] drmm_connector_hdmi_init =============
[16:12:43] ============= drmm_connector_init (3 subtests) =============
[16:12:43] [PASSED] drm_test_drmm_connector_init
[16:12:43] [PASSED] drm_test_drmm_connector_init_null_ddc
[16:12:43] ========= drm_test_drmm_connector_init_type_valid =========
[16:12:43] [PASSED] Unknown
[16:12:43] [PASSED] VGA
[16:12:43] [PASSED] DVI-I
[16:12:43] [PASSED] DVI-D
[16:12:43] [PASSED] DVI-A
[16:12:43] [PASSED] Composite
[16:12:43] [PASSED] SVIDEO
[16:12:43] [PASSED] LVDS
[16:12:43] [PASSED] Component
[16:12:43] [PASSED] DIN
[16:12:43] [PASSED] DP
[16:12:43] [PASSED] HDMI-A
[16:12:43] [PASSED] HDMI-B
[16:12:43] [PASSED] TV
[16:12:43] [PASSED] eDP
[16:12:43] [PASSED] Virtual
[16:12:43] [PASSED] DSI
[16:12:43] [PASSED] DPI
[16:12:43] [PASSED] Writeback
[16:12:43] [PASSED] SPI
[16:12:43] [PASSED] USB
[16:12:43] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[16:12:43] =============== [PASSED] drmm_connector_init ===============
[16:12:43] ========= drm_connector_dynamic_init (6 subtests) ==========
[16:12:43] [PASSED] drm_test_drm_connector_dynamic_init
[16:12:43] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[16:12:43] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[16:12:43] [PASSED] drm_test_drm_connector_dynamic_init_properties
[16:12:43] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[16:12:43] [PASSED] Unknown
[16:12:43] [PASSED] VGA
[16:12:43] [PASSED] DVI-I
[16:12:43] [PASSED] DVI-D
[16:12:43] [PASSED] DVI-A
[16:12:43] [PASSED] Composite
[16:12:43] [PASSED] SVIDEO
[16:12:43] [PASSED] LVDS
[16:12:43] [PASSED] Component
[16:12:43] [PASSED] DIN
[16:12:43] [PASSED] DP
[16:12:43] [PASSED] HDMI-A
[16:12:43] [PASSED] HDMI-B
[16:12:43] [PASSED] TV
[16:12:43] [PASSED] eDP
[16:12:43] [PASSED] Virtual
[16:12:43] [PASSED] DSI
[16:12:43] [PASSED] DPI
[16:12:43] [PASSED] Writeback
[16:12:43] [PASSED] SPI
[16:12:43] [PASSED] USB
[16:12:43] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[16:12:43] ======== drm_test_drm_connector_dynamic_init_name =========
[16:12:43] [PASSED] Unknown
[16:12:43] [PASSED] VGA
[16:12:43] [PASSED] DVI-I
[16:12:43] [PASSED] DVI-D
[16:12:43] [PASSED] DVI-A
[16:12:43] [PASSED] Composite
[16:12:43] [PASSED] SVIDEO
[16:12:43] [PASSED] LVDS
[16:12:43] [PASSED] Component
[16:12:43] [PASSED] DIN
[16:12:43] [PASSED] DP
[16:12:43] [PASSED] HDMI-A
[16:12:43] [PASSED] HDMI-B
[16:12:43] [PASSED] TV
[16:12:43] [PASSED] eDP
[16:12:43] [PASSED] Virtual
[16:12:43] [PASSED] DSI
[16:12:43] [PASSED] DPI
[16:12:43] [PASSED] Writeback
[16:12:43] [PASSED] SPI
[16:12:43] [PASSED] USB
[16:12:43] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[16:12:43] =========== [PASSED] drm_connector_dynamic_init ============
[16:12:43] ==== drm_connector_dynamic_register_early (4 subtests) =====
[16:12:43] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[16:12:43] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[16:12:43] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[16:12:43] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[16:12:43] ====== [PASSED] drm_connector_dynamic_register_early =======
[16:12:43] ======= drm_connector_dynamic_register (7 subtests) ========
[16:12:43] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[16:12:43] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[16:12:43] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[16:12:43] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[16:12:43] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[16:12:43] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[16:12:43] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[16:12:43] ========= [PASSED] drm_connector_dynamic_register ==========
[16:12:43] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[16:12:43] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[16:12:43] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[16:12:43] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[16:12:43] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[16:12:43] ========== drm_test_get_tv_mode_from_name_valid ===========
[16:12:43] [PASSED] NTSC
[16:12:43] [PASSED] NTSC-443
[16:12:43] [PASSED] NTSC-J
[16:12:43] [PASSED] PAL
[16:12:43] [PASSED] PAL-M
[16:12:43] [PASSED] PAL-N
[16:12:43] [PASSED] SECAM
[16:12:43] [PASSED] Mono
[16:12:43] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[16:12:43] [PASSED] drm_test_get_tv_mode_from_name_truncated
[16:12:43] ============ [PASSED] drm_get_tv_mode_from_name ============
[16:12:43] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[16:12:43] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[16:12:43] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[16:12:43] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[16:12:43] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[16:12:43] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[16:12:43] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[16:12:43] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[16:12:43] [PASSED] VIC 96
[16:12:43] [PASSED] VIC 97
[16:12:43] [PASSED] VIC 101
[16:12:43] [PASSED] VIC 102
[16:12:43] [PASSED] VIC 106
[16:12:43] [PASSED] VIC 107
[16:12:43] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[16:12:43] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[16:12:43] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[16:12:43] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[16:12:43] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[16:12:43] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[16:12:43] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[16:12:43] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[16:12:43] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[16:12:43] [PASSED] Automatic
[16:12:43] [PASSED] Full
[16:12:43] [PASSED] Limited 16:235
[16:12:43] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[16:12:43] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[16:12:43] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[16:12:43] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[16:12:43] === drm_test_drm_hdmi_connector_get_output_format_name ====
[16:12:43] [PASSED] RGB
[16:12:43] [PASSED] YUV 4:2:0
[16:12:43] [PASSED] YUV 4:2:2
[16:12:43] [PASSED] YUV 4:4:4
[16:12:43] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[16:12:43] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[16:12:43] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[16:12:43] ============= drm_damage_helper (21 subtests) ==============
[16:12:43] [PASSED] drm_test_damage_iter_no_damage
[16:12:43] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[16:12:43] [PASSED] drm_test_damage_iter_no_damage_src_moved
[16:12:43] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[16:12:43] [PASSED] drm_test_damage_iter_no_damage_not_visible
[16:12:43] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[16:12:43] [PASSED] drm_test_damage_iter_no_damage_no_fb
[16:12:43] [PASSED] drm_test_damage_iter_simple_damage
[16:12:43] [PASSED] drm_test_damage_iter_single_damage
[16:12:43] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[16:12:43] [PASSED] drm_test_damage_iter_single_damage_outside_src
[16:12:43] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[16:12:43] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[16:12:43] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[16:12:43] [PASSED] drm_test_damage_iter_single_damage_src_moved
[16:12:43] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[16:12:43] [PASSED] drm_test_damage_iter_damage
[16:12:43] [PASSED] drm_test_damage_iter_damage_one_intersect
[16:12:43] [PASSED] drm_test_damage_iter_damage_one_outside
[16:12:43] [PASSED] drm_test_damage_iter_damage_src_moved
[16:12:43] [PASSED] drm_test_damage_iter_damage_not_visible
[16:12:43] ================ [PASSED] drm_damage_helper ================
[16:12:43] ============== drm_dp_mst_helper (3 subtests) ==============
[16:12:43] ============== drm_test_dp_mst_calc_pbn_mode ==============
[16:12:43] [PASSED] Clock 154000 BPP 30 DSC disabled
[16:12:43] [PASSED] Clock 234000 BPP 30 DSC disabled
[16:12:43] [PASSED] Clock 297000 BPP 24 DSC disabled
[16:12:43] [PASSED] Clock 332880 BPP 24 DSC enabled
[16:12:43] [PASSED] Clock 324540 BPP 24 DSC enabled
[16:12:43] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[16:12:43] ============== drm_test_dp_mst_calc_pbn_div ===============
[16:12:43] [PASSED] Link rate 2000000 lane count 4
[16:12:43] [PASSED] Link rate 2000000 lane count 2
[16:12:43] [PASSED] Link rate 2000000 lane count 1
[16:12:43] [PASSED] Link rate 1350000 lane count 4
[16:12:43] [PASSED] Link rate 1350000 lane count 2
[16:12:43] [PASSED] Link rate 1350000 lane count 1
[16:12:43] [PASSED] Link rate 1000000 lane count 4
[16:12:43] [PASSED] Link rate 1000000 lane count 2
[16:12:43] [PASSED] Link rate 1000000 lane count 1
[16:12:43] [PASSED] Link rate 810000 lane count 4
[16:12:43] [PASSED] Link rate 810000 lane count 2
[16:12:43] [PASSED] Link rate 810000 lane count 1
[16:12:43] [PASSED] Link rate 540000 lane count 4
[16:12:43] [PASSED] Link rate 540000 lane count 2
[16:12:43] [PASSED] Link rate 540000 lane count 1
[16:12:43] [PASSED] Link rate 270000 lane count 4
[16:12:43] [PASSED] Link rate 270000 lane count 2
[16:12:43] [PASSED] Link rate 270000 lane count 1
[16:12:43] [PASSED] Link rate 162000 lane count 4
[16:12:43] [PASSED] Link rate 162000 lane count 2
[16:12:43] [PASSED] Link rate 162000 lane count 1
[16:12:43] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[16:12:43] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[16:12:43] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[16:12:43] [PASSED] DP_POWER_UP_PHY with port number
[16:12:43] [PASSED] DP_POWER_DOWN_PHY with port number
[16:12:43] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[16:12:43] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[16:12:43] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[16:12:43] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[16:12:43] [PASSED] DP_QUERY_PAYLOAD with port number
[16:12:43] [PASSED] DP_QUERY_PAYLOAD with VCPI
[16:12:43] [PASSED] DP_REMOTE_DPCD_READ with port number
[16:12:43] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[16:12:43] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[16:12:43] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[16:12:43] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[16:12:43] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[16:12:43] [PASSED] DP_REMOTE_I2C_READ with port number
[16:12:43] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[16:12:43] [PASSED] DP_REMOTE_I2C_READ with transactions array
[16:12:43] [PASSED] DP_REMOTE_I2C_WRITE with port number
[16:12:43] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[16:12:43] [PASSED] DP_REMOTE_I2C_WRITE with data array
[16:12:43] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[16:12:43] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[16:12:43] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[16:12:43] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[16:12:43] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[16:12:43] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[16:12:43] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[16:12:43] ================ [PASSED] drm_dp_mst_helper ================
[16:12:43] ================== drm_exec (7 subtests) ===================
[16:12:43] [PASSED] sanitycheck
[16:12:43] [PASSED] test_lock
[16:12:43] [PASSED] test_lock_unlock
[16:12:43] [PASSED] test_duplicates
[16:12:43] [PASSED] test_prepare
[16:12:43] [PASSED] test_prepare_array
[16:12:43] [PASSED] test_multiple_loops
[16:12:43] ==================== [PASSED] drm_exec =====================
[16:12:43] =========== drm_format_helper_test (17 subtests) ===========
[16:12:43] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[16:12:43] [PASSED] single_pixel_source_buffer
[16:12:43] [PASSED] single_pixel_clip_rectangle
[16:12:43] [PASSED] well_known_colors
[16:12:43] [PASSED] destination_pitch
[16:12:43] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[16:12:43] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[16:12:43] [PASSED] single_pixel_source_buffer
[16:12:43] [PASSED] single_pixel_clip_rectangle
[16:12:43] [PASSED] well_known_colors
[16:12:43] [PASSED] destination_pitch
[16:12:43] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[16:12:43] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[16:12:43] [PASSED] single_pixel_source_buffer
[16:12:43] [PASSED] single_pixel_clip_rectangle
[16:12:43] [PASSED] well_known_colors
[16:12:43] [PASSED] destination_pitch
[16:12:43] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[16:12:43] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[16:12:43] [PASSED] single_pixel_source_buffer
[16:12:43] [PASSED] single_pixel_clip_rectangle
[16:12:43] [PASSED] well_known_colors
[16:12:43] [PASSED] destination_pitch
[16:12:43] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[16:12:43] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[16:12:43] [PASSED] single_pixel_source_buffer
[16:12:43] [PASSED] single_pixel_clip_rectangle
[16:12:43] [PASSED] well_known_colors
[16:12:43] [PASSED] destination_pitch
[16:12:43] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[16:12:43] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[16:12:43] [PASSED] single_pixel_source_buffer
[16:12:43] [PASSED] single_pixel_clip_rectangle
[16:12:43] [PASSED] well_known_colors
[16:12:43] [PASSED] destination_pitch
[16:12:43] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[16:12:43] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[16:12:43] [PASSED] single_pixel_source_buffer
[16:12:43] [PASSED] single_pixel_clip_rectangle
[16:12:43] [PASSED] well_known_colors
[16:12:43] [PASSED] destination_pitch
[16:12:43] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[16:12:43] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[16:12:43] [PASSED] single_pixel_source_buffer
[16:12:43] [PASSED] single_pixel_clip_rectangle
[16:12:43] [PASSED] well_known_colors
[16:12:43] [PASSED] destination_pitch
[16:12:43] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[16:12:43] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[16:12:43] [PASSED] single_pixel_source_buffer
[16:12:43] [PASSED] single_pixel_clip_rectangle
[16:12:43] [PASSED] well_known_colors
[16:12:43] [PASSED] destination_pitch
[16:12:43] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[16:12:43] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[16:12:43] [PASSED] single_pixel_source_buffer
[16:12:43] [PASSED] single_pixel_clip_rectangle
[16:12:43] [PASSED] well_known_colors
[16:12:43] [PASSED] destination_pitch
[16:12:43] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[16:12:43] ============== drm_test_fb_xrgb8888_to_mono ===============
[16:12:43] [PASSED] single_pixel_source_buffer
[16:12:43] [PASSED] single_pixel_clip_rectangle
[16:12:43] [PASSED] well_known_colors
[16:12:43] [PASSED] destination_pitch
[16:12:43] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[16:12:43] ==================== drm_test_fb_swab =====================
[16:12:43] [PASSED] single_pixel_source_buffer
[16:12:43] [PASSED] single_pixel_clip_rectangle
[16:12:43] [PASSED] well_known_colors
[16:12:43] [PASSED] destination_pitch
[16:12:43] ================ [PASSED] drm_test_fb_swab =================
[16:12:43] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[16:12:43] [PASSED] single_pixel_source_buffer
[16:12:43] [PASSED] single_pixel_clip_rectangle
[16:12:43] [PASSED] well_known_colors
[16:12:43] [PASSED] destination_pitch
[16:12:43] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[16:12:43] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[16:12:43] [PASSED] single_pixel_source_buffer
[16:12:43] [PASSED] single_pixel_clip_rectangle
[16:12:43] [PASSED] well_known_colors
[16:12:43] [PASSED] destination_pitch
[16:12:43] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[16:12:43] ================= drm_test_fb_clip_offset =================
[16:12:43] [PASSED] pass through
[16:12:43] [PASSED] horizontal offset
[16:12:43] [PASSED] vertical offset
[16:12:43] [PASSED] horizontal and vertical offset
[16:12:43] [PASSED] horizontal offset (custom pitch)
[16:12:43] [PASSED] vertical offset (custom pitch)
[16:12:43] [PASSED] horizontal and vertical offset (custom pitch)
[16:12:43] ============= [PASSED] drm_test_fb_clip_offset =============
[16:12:43] ============== drm_test_fb_build_fourcc_list ==============
[16:12:43] [PASSED] no native formats
[16:12:43] [PASSED] XRGB8888 as native format
[16:12:43] [PASSED] remove duplicates
[16:12:43] [PASSED] convert alpha formats
[16:12:43] [PASSED] random formats
[16:12:43] ========== [PASSED] drm_test_fb_build_fourcc_list ==========
[16:12:43] =================== drm_test_fb_memcpy ====================
[16:12:43] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[16:12:43] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[16:12:43] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[16:12:43] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[16:12:43] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[16:12:43] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[16:12:43] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[16:12:43] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[16:12:43] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[16:12:43] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[16:12:43] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[16:12:43] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[16:12:43] =============== [PASSED] drm_test_fb_memcpy ================
[16:12:43] ============= [PASSED] drm_format_helper_test ==============
[16:12:43] ================= drm_format (18 subtests) =================
[16:12:43] [PASSED] drm_test_format_block_width_invalid
[16:12:43] [PASSED] drm_test_format_block_width_one_plane
[16:12:43] [PASSED] drm_test_format_block_width_two_plane
[16:12:43] [PASSED] drm_test_format_block_width_three_plane
[16:12:43] [PASSED] drm_test_format_block_width_tiled
[16:12:43] [PASSED] drm_test_format_block_height_invalid
[16:12:43] [PASSED] drm_test_format_block_height_one_plane
[16:12:43] [PASSED] drm_test_format_block_height_two_plane
[16:12:43] [PASSED] drm_test_format_block_height_three_plane
[16:12:43] [PASSED] drm_test_format_block_height_tiled
[16:12:43] [PASSED] drm_test_format_min_pitch_invalid
[16:12:43] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[16:12:43] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[16:12:43] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[16:12:43] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[16:12:43] [PASSED] drm_test_format_min_pitch_two_plane
[16:12:43] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[16:12:43] [PASSED] drm_test_format_min_pitch_tiled
[16:12:43] =================== [PASSED] drm_format ====================
[16:12:43] ============== drm_framebuffer (10 subtests) ===============
[16:12:43] ========== drm_test_framebuffer_check_src_coords ==========
[16:12:43] [PASSED] Success: source fits into fb
[16:12:43] [PASSED] Fail: overflowing fb with x-axis coordinate
[16:12:43] [PASSED] Fail: overflowing fb with y-axis coordinate
[16:12:43] [PASSED] Fail: overflowing fb with source width
[16:12:43] [PASSED] Fail: overflowing fb with source height
[16:12:43] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[16:12:43] [PASSED] drm_test_framebuffer_cleanup
[16:12:43] =============== drm_test_framebuffer_create ===============
[16:12:43] [PASSED] ABGR8888 normal sizes
[16:12:43] [PASSED] ABGR8888 max sizes
[16:12:43] [PASSED] ABGR8888 pitch greater than min required
[16:12:43] [PASSED] ABGR8888 pitch less than min required
[16:12:43] [PASSED] ABGR8888 Invalid width
[16:12:43] [PASSED] ABGR8888 Invalid buffer handle
[16:12:43] [PASSED] No pixel format
[16:12:43] [PASSED] ABGR8888 Width 0
[16:12:43] [PASSED] ABGR8888 Height 0
[16:12:43] [PASSED] ABGR8888 Out of bound height * pitch combination
[16:12:43] [PASSED] ABGR8888 Large buffer offset
[16:12:43] [PASSED] ABGR8888 Buffer offset for inexistent plane
[16:12:43] [PASSED] ABGR8888 Invalid flag
[16:12:43] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[16:12:43] [PASSED] ABGR8888 Valid buffer modifier
[16:12:43] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[16:12:43] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[16:12:43] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[16:12:43] [PASSED] NV12 Normal sizes
[16:12:43] [PASSED] NV12 Max sizes
[16:12:43] [PASSED] NV12 Invalid pitch
[16:12:43] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[16:12:43] [PASSED] NV12 different modifier per-plane
[16:12:43] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[16:12:43] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[16:12:43] [PASSED] NV12 Modifier for inexistent plane
[16:12:43] [PASSED] NV12 Handle for inexistent plane
[16:12:43] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[16:12:43] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[16:12:43] [PASSED] YVU420 Normal sizes
[16:12:43] [PASSED] YVU420 Max sizes
[16:12:43] [PASSED] YVU420 Invalid pitch
[16:12:43] [PASSED] YVU420 Different pitches
[16:12:43] [PASSED] YVU420 Different buffer offsets/pitches
[16:12:43] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[16:12:43] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[16:12:43] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[16:12:43] [PASSED] YVU420 Valid modifier
[16:12:43] [PASSED] YVU420 Different modifiers per plane
[16:12:43] [PASSED] YVU420 Modifier for inexistent plane
[16:12:43] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[16:12:43] [PASSED] X0L2 Normal sizes
[16:12:43] [PASSED] X0L2 Max sizes
[16:12:43] [PASSED] X0L2 Invalid pitch
[16:12:43] [PASSED] X0L2 Pitch greater than minimum required
[16:12:43] [PASSED] X0L2 Handle for inexistent plane
[16:12:43] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[16:12:43] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[16:12:43] [PASSED] X0L2 Valid modifier
[16:12:43] [PASSED] X0L2 Modifier for inexistent plane
[16:12:43] =========== [PASSED] drm_test_framebuffer_create ===========
[16:12:43] [PASSED] drm_test_framebuffer_free
[16:12:43] [PASSED] drm_test_framebuffer_init
[16:12:43] [PASSED] drm_test_framebuffer_init_bad_format
[16:12:43] [PASSED] drm_test_framebuffer_init_dev_mismatch
[16:12:43] [PASSED] drm_test_framebuffer_lookup
[16:12:43] [PASSED] drm_test_framebuffer_lookup_inexistent
[16:12:43] [PASSED] drm_test_framebuffer_modifiers_not_supported
[16:12:43] ================= [PASSED] drm_framebuffer =================
[16:12:43] ================ drm_gem_shmem (8 subtests) ================
[16:12:43] [PASSED] drm_gem_shmem_test_obj_create
[16:12:43] [PASSED] drm_gem_shmem_test_obj_create_private
[16:12:43] [PASSED] drm_gem_shmem_test_pin_pages
[16:12:43] [PASSED] drm_gem_shmem_test_vmap
[16:12:43] [PASSED] drm_gem_shmem_test_get_pages_sgt
[16:12:43] [PASSED] drm_gem_shmem_test_get_sg_table
[16:12:43] [PASSED] drm_gem_shmem_test_madvise
[16:12:43] [PASSED] drm_gem_shmem_test_purge
[16:12:43] ================== [PASSED] drm_gem_shmem ==================
[16:12:43] === drm_atomic_helper_connector_hdmi_check (22 subtests) ===
[16:12:43] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[16:12:43] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[16:12:43] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[16:12:43] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[16:12:43] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[16:12:43] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[16:12:43] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[16:12:43] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[16:12:43] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[16:12:43] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback
[16:12:43] [PASSED] drm_test_check_max_tmds_rate_format_fallback
[16:12:43] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[16:12:43] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[16:12:43] [PASSED] drm_test_check_output_bpc_dvi
[16:12:43] [PASSED] drm_test_check_output_bpc_format_vic_1
[16:12:43] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[16:12:43] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[16:12:43] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[16:12:43] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[16:12:43] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[16:12:43] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[16:12:43] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[16:12:43] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[16:12:43] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[16:12:43] [PASSED] drm_test_check_broadcast_rgb_value
[16:12:43] [PASSED] drm_test_check_bpc_8_value
[16:12:43] [PASSED] drm_test_check_bpc_10_value
[16:12:43] [PASSED] drm_test_check_bpc_12_value
[16:12:43] [PASSED] drm_test_check_format_value
[16:12:43] [PASSED] drm_test_check_tmds_char_value
[16:12:43] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[16:12:43] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[16:12:43] [PASSED] drm_test_check_mode_valid
[16:12:43] [PASSED] drm_test_check_mode_valid_reject
[16:12:43] [PASSED] drm_test_check_mode_valid_reject_rate
[16:12:43] [PASSED] drm_test_check_mode_valid_reject_max_clock
[16:12:43] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[16:12:43] ================= drm_managed (2 subtests) =================
[16:12:43] [PASSED] drm_test_managed_release_action
[16:12:43] [PASSED] drm_test_managed_run_action
[16:12:43] =================== [PASSED] drm_managed ===================
[16:12:43] =================== drm_mm (6 subtests) ====================
[16:12:43] [PASSED] drm_test_mm_init
[16:12:43] [PASSED] drm_test_mm_debug
[16:12:43] [PASSED] drm_test_mm_align32
[16:12:43] [PASSED] drm_test_mm_align64
[16:12:43] [PASSED] drm_test_mm_lowest
[16:12:43] [PASSED] drm_test_mm_highest
[16:12:43] ===================== [PASSED] drm_mm ======================
[16:12:43] ============= drm_modes_analog_tv (5 subtests) =============
[16:12:43] [PASSED] drm_test_modes_analog_tv_mono_576i
[16:12:43] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[16:12:43] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[16:12:43] [PASSED] drm_test_modes_analog_tv_pal_576i
[16:12:43] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[16:12:43] =============== [PASSED] drm_modes_analog_tv ===============
[16:12:43] ============== drm_plane_helper (2 subtests) ===============
[16:12:43] =============== drm_test_check_plane_state ================
[16:12:43] [PASSED] clipping_simple
[16:12:43] [PASSED] clipping_rotate_reflect
[16:12:43] [PASSED] positioning_simple
[16:12:43] [PASSED] upscaling
[16:12:43] [PASSED] downscaling
[16:12:43] [PASSED] rounding1
[16:12:43] [PASSED] rounding2
[16:12:43] [PASSED] rounding3
[16:12:43] [PASSED] rounding4
[16:12:43] =========== [PASSED] drm_test_check_plane_state ============
[16:12:43] =========== drm_test_check_invalid_plane_state ============
[16:12:43] [PASSED] positioning_invalid
[16:12:43] [PASSED] upscaling_invalid
[16:12:43] [PASSED] downscaling_invalid
[16:12:43] ======= [PASSED] drm_test_check_invalid_plane_state ========
[16:12:43] ================ [PASSED] drm_plane_helper =================
[16:12:43] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[16:12:43] ====== drm_test_connector_helper_tv_get_modes_check =======
[16:12:43] [PASSED] None
[16:12:43] [PASSED] PAL
[16:12:43] [PASSED] NTSC
[16:12:43] [PASSED] Both, NTSC Default
[16:12:43] [PASSED] Both, PAL Default
[16:12:43] [PASSED] Both, NTSC Default, with PAL on command-line
[16:12:43] [PASSED] Both, PAL Default, with NTSC on command-line
[16:12:43] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[16:12:43] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[16:12:43] ================== drm_rect (9 subtests) ===================
[16:12:43] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[16:12:43] [PASSED] drm_test_rect_clip_scaled_not_clipped
[16:12:43] [PASSED] drm_test_rect_clip_scaled_clipped
[16:12:43] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[16:12:43] ================= drm_test_rect_intersect =================
[16:12:43] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[16:12:43] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[16:12:43] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[16:12:43] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[16:12:43] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[16:12:43] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[16:12:43] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[16:12:43] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[16:12:43] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[16:12:43] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[16:12:43] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[16:12:43] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[16:12:43] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[16:12:43] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[16:12:43] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[16:12:43] ============= [PASSED] drm_test_rect_intersect =============
[16:12:43] ================ drm_test_rect_calc_hscale ================
[16:12:43] [PASSED] normal use
[16:12:43] [PASSED] out of max range
[16:12:43] [PASSED] out of min range
[16:12:43] [PASSED] zero dst
[16:12:43] [PASSED] negative src
[16:12:43] [PASSED] negative dst
[16:12:43] ============ [PASSED] drm_test_rect_calc_hscale ============
[16:12:43] ================ drm_test_rect_calc_vscale ================
[16:12:43] [PASSED] normal use
[16:12:43] [PASSED] out of max range
[16:12:43] [PASSED] out of min range
[16:12:43] [PASSED] zero dst
[16:12:43] [PASSED] negative src
[16:12:43] [PASSED] negative dst
[16:12:43] ============ [PASSED] drm_test_rect_calc_vscale ============
[16:12:43] ================== drm_test_rect_rotate ===================
[16:12:43] [PASSED] reflect-x
[16:12:43] [PASSED] reflect-y
[16:12:43] [PASSED] rotate-0
[16:12:43] [PASSED] rotate-90
[16:12:43] [PASSED] rotate-180
[16:12:43] [PASSED] rotate-270
[16:12:43] ============== [PASSED] drm_test_rect_rotate ===============
[16:12:43] ================ drm_test_rect_rotate_inv =================
[16:12:43] [PASSED] reflect-x
[16:12:43] [PASSED] reflect-y
[16:12:43] [PASSED] rotate-0
[16:12:43] [PASSED] rotate-90
[16:12:43] [PASSED] rotate-180
[16:12:43] [PASSED] rotate-270
[16:12:43] ============ [PASSED] drm_test_rect_rotate_inv =============
[16:12:43] ==================== [PASSED] drm_rect =====================
[16:12:43] ============================================================
stty: 'standard input': Inappropriate ioctl for device
[16:12:43] Testing complete. Ran 593 tests: passed: 593
[16:12:43] Elapsed time: 25.228s total, 1.654s configuring, 23.399s building, 0.173s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[16:12:43] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:12:45] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json ARCH=um O=.kunit --jobs=48
[16:12:53] Starting KUnit Kernel (1/1)...
[16:12:53] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:12:53] ================= ttm_device (5 subtests) ==================
[16:12:53] [PASSED] ttm_device_init_basic
[16:12:53] [PASSED] ttm_device_init_multiple
[16:12:53] [PASSED] ttm_device_fini_basic
[16:12:53] [PASSED] ttm_device_init_no_vma_man
[16:12:53] ================== ttm_device_init_pools ==================
[16:12:53] [PASSED] No DMA allocations, no DMA32 required
[16:12:53] [PASSED] DMA allocations, DMA32 required
[16:12:53] [PASSED] No DMA allocations, DMA32 required
[16:12:53] [PASSED] DMA allocations, no DMA32 required
[16:12:53] ============== [PASSED] ttm_device_init_pools ==============
[16:12:53] =================== [PASSED] ttm_device ====================
[16:12:53] ================== ttm_pool (8 subtests) ===================
[16:12:53] ================== ttm_pool_alloc_basic ===================
[16:12:53] [PASSED] One page
[16:12:53] [PASSED] More than one page
[16:12:53] [PASSED] Above the allocation limit
[16:12:53] [PASSED] One page, with coherent DMA mappings enabled
[16:12:53] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[16:12:53] ============== [PASSED] ttm_pool_alloc_basic ===============
[16:12:53] ============== ttm_pool_alloc_basic_dma_addr ==============
[16:12:53] [PASSED] One page
[16:12:53] [PASSED] More than one page
[16:12:53] [PASSED] Above the allocation limit
[16:12:53] [PASSED] One page, with coherent DMA mappings enabled
[16:12:53] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[16:12:53] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[16:12:53] [PASSED] ttm_pool_alloc_order_caching_match
[16:12:53] [PASSED] ttm_pool_alloc_caching_mismatch
[16:12:53] [PASSED] ttm_pool_alloc_order_mismatch
[16:12:53] [PASSED] ttm_pool_free_dma_alloc
[16:12:53] [PASSED] ttm_pool_free_no_dma_alloc
[16:12:53] [PASSED] ttm_pool_fini_basic
[16:12:53] ==================== [PASSED] ttm_pool =====================
[16:12:53] ================ ttm_resource (8 subtests) =================
[16:12:53] ================= ttm_resource_init_basic =================
[16:12:53] [PASSED] Init resource in TTM_PL_SYSTEM
[16:12:53] [PASSED] Init resource in TTM_PL_VRAM
[16:12:53] [PASSED] Init resource in a private placement
[16:12:53] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[16:12:53] ============= [PASSED] ttm_resource_init_basic =============
[16:12:53] [PASSED] ttm_resource_init_pinned
[16:12:53] [PASSED] ttm_resource_fini_basic
[16:12:53] [PASSED] ttm_resource_manager_init_basic
[16:12:53] [PASSED] ttm_resource_manager_usage_basic
[16:12:53] [PASSED] ttm_resource_manager_set_used_basic
[16:12:53] [PASSED] ttm_sys_man_alloc_basic
[16:12:53] [PASSED] ttm_sys_man_free_basic
[16:12:53] ================== [PASSED] ttm_resource ===================
[16:12:53] =================== ttm_tt (15 subtests) ===================
[16:12:53] ==================== ttm_tt_init_basic ====================
[16:12:53] [PASSED] Page-aligned size
[16:12:53] [PASSED] Extra pages requested
[16:12:53] ================ [PASSED] ttm_tt_init_basic ================
[16:12:53] [PASSED] ttm_tt_init_misaligned
[16:12:53] [PASSED] ttm_tt_fini_basic
[16:12:53] [PASSED] ttm_tt_fini_sg
[16:12:53] [PASSED] ttm_tt_fini_shmem
[16:12:53] [PASSED] ttm_tt_create_basic
[16:12:53] [PASSED] ttm_tt_create_invalid_bo_type
[16:12:53] [PASSED] ttm_tt_create_ttm_exists
[16:12:53] [PASSED] ttm_tt_create_failed
[16:12:53] [PASSED] ttm_tt_destroy_basic
[16:12:53] [PASSED] ttm_tt_populate_null_ttm
[16:12:53] [PASSED] ttm_tt_populate_populated_ttm
[16:12:53] [PASSED] ttm_tt_unpopulate_basic
[16:12:53] [PASSED] ttm_tt_unpopulate_empty_ttm
[16:12:53] [PASSED] ttm_tt_swapin_basic
[16:12:53] ===================== [PASSED] ttm_tt ======================
[16:12:53] =================== ttm_bo (14 subtests) ===================
[16:12:53] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[16:12:53] [PASSED] Cannot be interrupted and sleeps
[16:12:53] [PASSED] Cannot be interrupted, locks straight away
[16:12:53] [PASSED] Can be interrupted, sleeps
[16:12:53] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[16:12:53] [PASSED] ttm_bo_reserve_locked_no_sleep
[16:12:53] [PASSED] ttm_bo_reserve_no_wait_ticket
[16:12:53] [PASSED] ttm_bo_reserve_double_resv
[16:12:53] [PASSED] ttm_bo_reserve_interrupted
[16:12:53] [PASSED] ttm_bo_reserve_deadlock
[16:12:53] [PASSED] ttm_bo_unreserve_basic
[16:12:53] [PASSED] ttm_bo_unreserve_pinned
[16:12:53] [PASSED] ttm_bo_unreserve_bulk
[16:12:53] [PASSED] ttm_bo_put_basic
[16:12:53] [PASSED] ttm_bo_put_shared_resv
[16:12:53] [PASSED] ttm_bo_pin_basic
[16:12:53] [PASSED] ttm_bo_pin_unpin_resource
[16:12:53] [PASSED] ttm_bo_multiple_pin_one_unpin
[16:12:53] ===================== [PASSED] ttm_bo ======================
[16:12:53] ============== ttm_bo_validate (22 subtests) ===============
[16:12:53] ============== ttm_bo_init_reserved_sys_man ===============
[16:12:53] [PASSED] Buffer object for userspace
[16:12:53] [PASSED] Kernel buffer object
[16:12:53] [PASSED] Shared buffer object
[16:12:53] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[16:12:53] ============== ttm_bo_init_reserved_mock_man ==============
[16:12:53] [PASSED] Buffer object for userspace
[16:12:53] [PASSED] Kernel buffer object
[16:12:53] [PASSED] Shared buffer object
[16:12:53] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[16:12:53] [PASSED] ttm_bo_init_reserved_resv
[16:12:53] ================== ttm_bo_validate_basic ==================
[16:12:53] [PASSED] Buffer object for userspace
[16:12:53] [PASSED] Kernel buffer object
[16:12:53] [PASSED] Shared buffer object
[16:12:53] ============== [PASSED] ttm_bo_validate_basic ==============
[16:12:53] [PASSED] ttm_bo_validate_invalid_placement
[16:12:53] ============= ttm_bo_validate_same_placement ==============
[16:12:53] [PASSED] System manager
[16:12:53] [PASSED] VRAM manager
[16:12:53] ========= [PASSED] ttm_bo_validate_same_placement ==========
[16:12:53] [PASSED] ttm_bo_validate_failed_alloc
[16:12:53] [PASSED] ttm_bo_validate_pinned
[16:12:53] [PASSED] ttm_bo_validate_busy_placement
[16:12:53] ================ ttm_bo_validate_multihop =================
[16:12:53] [PASSED] Buffer object for userspace
[16:12:53] [PASSED] Kernel buffer object
[16:12:53] [PASSED] Shared buffer object
[16:12:53] ============ [PASSED] ttm_bo_validate_multihop =============
[16:12:53] ========== ttm_bo_validate_no_placement_signaled ==========
[16:12:53] [PASSED] Buffer object in system domain, no page vector
[16:12:53] [PASSED] Buffer object in system domain with an existing page vector
[16:12:53] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[16:12:53] ======== ttm_bo_validate_no_placement_not_signaled ========
[16:12:53] [PASSED] Buffer object for userspace
[16:12:53] [PASSED] Kernel buffer object
[16:12:53] [PASSED] Shared buffer object
[16:12:53] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[16:12:53] [PASSED] ttm_bo_validate_move_fence_signaled
[16:12:53] ========= ttm_bo_validate_move_fence_not_signaled =========
[16:12:53] [PASSED] Waits for GPU
[16:12:53] [PASSED] Tries to lock straight away
[16:12:54] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[16:12:54] [PASSED] ttm_bo_validate_swapout
[16:12:54] [PASSED] ttm_bo_validate_happy_evict
[16:12:54] [PASSED] ttm_bo_validate_all_pinned_evict
[16:12:54] [PASSED] ttm_bo_validate_allowed_only_evict
[16:12:54] [PASSED] ttm_bo_validate_deleted_evict
[16:12:54] [PASSED] ttm_bo_validate_busy_domain_evict
[16:12:54] [PASSED] ttm_bo_validate_evict_gutting
[16:12:54] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[16:12:54] ================= [PASSED] ttm_bo_validate =================
[16:12:54] ============================================================
[16:12:54] Testing complete. Ran 102 tests: passed: 102
[16:12:54] Elapsed time: 10.314s total, 1.704s configuring, 7.942s building, 0.579s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 14+ messages in thread* ✗ CI.Build: failure for treewide: const qualify ctl_tables where applicable
2025-01-09 13:16 [PATCH] treewide: const qualify ctl_tables where applicable Joel Granados
` (7 preceding siblings ...)
2025-01-09 16:12 ` ✓ CI.KUnit: success " Patchwork
@ 2025-01-09 16:20 ` Patchwork
2025-01-10 11:38 ` Joel Granados
2025-01-09 18:05 ` [PATCH] " Song Liu
2025-01-10 17:13 ` Dixit, Ashutosh
10 siblings, 1 reply; 14+ messages in thread
From: Patchwork @ 2025-01-09 16:20 UTC (permalink / raw)
To: Joel Granados; +Cc: intel-xe
== Series Details ==
Series: treewide: const qualify ctl_tables where applicable
URL : https://patchwork.freedesktop.org/series/143333/
State : failure
== Summary ==
LD [M] drivers/gpu/drm/i915/kvmgt.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml_display_rq_dlg_calc.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_top/dml2_top_interfaces.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_top/dml2_top_soc15.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/inc/dml2_debug.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_core/dml2_core_dcn4.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_core/dml2_core_factory.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_core/dml2_core_dcn4_calcs.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_dpmm/dml2_dpmm_dcn4.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_dpmm/dml2_dpmm_factory.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_mcg/dml2_mcg_dcn4.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_mcg/dml2_mcg_factory.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_pmo/dml2_pmo_dcn3.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_pmo/dml2_pmo_factory.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_standalone_libraries/lib_float_math.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/dml21_translation_helper.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/dml21_wrapper.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/dml21_utils.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce120/dce120_timing_generator.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce112/dce112_compressor.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_timing_generator.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_compressor.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_opp_regamma_v.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_opp_csc_v.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_timing_generator_v.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_mem_input_v.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_opp_v.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_transform_v.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce80/dce80_timing_generator.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce60/dce60_timing_generator.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce60/dce60_hw_sequencer.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce60/dce60_resource.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/hdcp/hdcp_msg.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/spl/dc_spl.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/spl/dc_spl_scl_filters.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/spl/dc_spl_scl_easf_filters.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/spl/dc_spl_isharp_filters.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/spl/dc_spl_filters.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/spl/spl_fixpt31_32.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/spl/spl_custom_float.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_stat.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_resource.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_hw_sequencer.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_sink.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_surface.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_debug.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_stream.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_enc_cfg.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_exports.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_state.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_vm_helper.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dc_helper.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dc_dmub_srv.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dc_edid_parser.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dc_spl_translate.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/freesync/freesync.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/color/color_gamma.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/color/color_table.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/info_packet/info_packet.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_helpers.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_srv.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_srv_stat.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_reg.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn20.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn21.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn30.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn301.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn302.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn303.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn31.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn314.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn315.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn316.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn32.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn35.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn351.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn401.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/hdcp/hdcp_ddc.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/hdcp/hdcp_log.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/hdcp/hdcp_psp.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/hdcp/hdcp.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/hdcp/hdcp1_execution.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/hdcp/hdcp1_transition.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/hdcp/hdcp2_execution.o
CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/hdcp/hdcp2_transition.o
CC [M] drivers/gpu/drm/amd/amdgpu/amdgpu_isp.o
CC [M] drivers/gpu/drm/amd/amdgpu/isp_v4_1_0.o
CC [M] drivers/gpu/drm/amd/amdgpu/isp_v4_1_1.o
LD [M] drivers/gpu/drm/amd/amdgpu/amdgpu.o
AR drivers/gpu/built-in.a
AR drivers/built-in.a
make[2]: *** [/kernel/Makefile:1989: .] Error 2
make[1]: *** [/kernel/Makefile:251: __sub-make] Error 2
make[1]: Leaving directory '/kernel/build64-default'
make: *** [Makefile:251: __sub-make] Error 2
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: ✗ CI.Build: failure for treewide: const qualify ctl_tables where applicable
2025-01-09 16:20 ` ✗ CI.Build: failure " Patchwork
@ 2025-01-10 11:38 ` Joel Granados
0 siblings, 0 replies; 14+ messages in thread
From: Joel Granados @ 2025-01-10 11:38 UTC (permalink / raw)
To: intel-xe
On Thu, Jan 09, 2025 at 04:20:10PM -0000, Patchwork wrote:
> == Series Details ==
>
> Series: treewide: const qualify ctl_tables where applicable
> URL : https://patchwork.freedesktop.org/series/143333/
> State : failure
>
> == Summary ==
There is a bunch of these failures from Intel Xe checkpatch in
patchwork.freedesktop.org. I probably sent my patch to the wrong list?
In any case, it is based on some commit that I cannot find in linux-next
and its telling me that it has a bunch of failures that I do not know
how to reproduce.
Ignoring for now, but if you know more about how to ascertain that these
are indeed relevant failures, please let me know.
Best
>
> LD [M] drivers/gpu/drm/i915/kvmgt.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml_display_rq_dlg_calc.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_top/dml2_top_interfaces.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_top/dml2_top_soc15.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/inc/dml2_debug.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_core/dml2_core_dcn4.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_core/dml2_core_factory.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_core/dml2_core_dcn4_calcs.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_dpmm/dml2_dpmm_dcn4.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_dpmm/dml2_dpmm_factory.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_mcg/dml2_mcg_dcn4.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_mcg/dml2_mcg_factory.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_pmo/dml2_pmo_dcn3.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_pmo/dml2_pmo_factory.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/src/dml2_standalone_libraries/lib_float_math.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/dml21_translation_helper.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/dml21_wrapper.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml21/dml21_utils.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce120/dce120_timing_generator.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce112/dce112_compressor.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_timing_generator.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_compressor.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_opp_regamma_v.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_opp_csc_v.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_timing_generator_v.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_mem_input_v.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_opp_v.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_transform_v.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce80/dce80_timing_generator.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce60/dce60_timing_generator.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce60/dce60_hw_sequencer.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dce60/dce60_resource.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/hdcp/hdcp_msg.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/spl/dc_spl.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/spl/dc_spl_scl_filters.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/spl/dc_spl_scl_easf_filters.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/spl/dc_spl_isharp_filters.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/spl/dc_spl_filters.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/spl/spl_fixpt31_32.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/spl/spl_custom_float.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_stat.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_resource.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_hw_sequencer.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_sink.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_surface.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_debug.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_stream.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_enc_cfg.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link_exports.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_state.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_vm_helper.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dc_helper.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dc_dmub_srv.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dc_edid_parser.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dc/dc_spl_translate.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/freesync/freesync.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/color/color_gamma.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/color/color_table.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/info_packet/info_packet.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/power/power_helpers.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_srv.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_srv_stat.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_reg.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn20.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn21.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn30.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn301.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn302.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn303.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn31.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn314.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn315.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn316.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn32.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn35.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn351.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn401.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/hdcp/hdcp_ddc.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/hdcp/hdcp_log.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/hdcp/hdcp_psp.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/hdcp/hdcp.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/hdcp/hdcp1_execution.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/hdcp/hdcp1_transition.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/hdcp/hdcp2_execution.o
> CC [M] drivers/gpu/drm/amd/amdgpu/../display/modules/hdcp/hdcp2_transition.o
> CC [M] drivers/gpu/drm/amd/amdgpu/amdgpu_isp.o
> CC [M] drivers/gpu/drm/amd/amdgpu/isp_v4_1_0.o
> CC [M] drivers/gpu/drm/amd/amdgpu/isp_v4_1_1.o
> LD [M] drivers/gpu/drm/amd/amdgpu/amdgpu.o
> AR drivers/gpu/built-in.a
> AR drivers/built-in.a
> make[2]: *** [/kernel/Makefile:1989: .] Error 2
> make[1]: *** [/kernel/Makefile:251: __sub-make] Error 2
> make[1]: Leaving directory '/kernel/build64-default'
> make: *** [Makefile:251: __sub-make] Error 2
> + cleanup
> ++ stat -c %u:%g /kernel
> + chown -R 1003:1003 /kernel
>
>
--
Joel Granados
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] treewide: const qualify ctl_tables where applicable
2025-01-09 13:16 [PATCH] treewide: const qualify ctl_tables where applicable Joel Granados
` (8 preceding siblings ...)
2025-01-09 16:20 ` ✗ CI.Build: failure " Patchwork
@ 2025-01-09 18:05 ` Song Liu
2025-01-10 17:13 ` Dixit, Ashutosh
10 siblings, 0 replies; 14+ messages in thread
From: Song Liu @ 2025-01-09 18:05 UTC (permalink / raw)
To: Joel Granados
Cc: Thomas Weißschuh, Kees Cook, Luis Chamberlain,
linux-arm-kernel, linux-kernel, linuxppc-dev, linux-riscv,
linux-s390, linux-crypto, openipmi-developer, intel-gfx,
dri-devel, intel-xe, linux-hyperv, linux-rdma, linux-raid,
linux-scsi, linux-serial, xen-devel, linux-aio, linux-fsdevel,
netfs, codalist, linux-mm, linux-nfs, ocfs2-devel, fsverity,
linux-xfs, io-uring, bpf, kexec, linux-trace-kernel,
linux-hardening, apparmor, linux-security-module, keyrings
On Thu, Jan 9, 2025 at 5:16 AM Joel Granados <joel.granados@kernel.org> wrote:
>
[...]
> drivers/base/firmware_loader/fallback_table.c | 2 +-
> drivers/cdrom/cdrom.c | 2 +-
> drivers/char/hpet.c | 2 +-
> drivers/char/ipmi/ipmi_poweroff.c | 2 +-
> drivers/char/random.c | 2 +-
> drivers/gpu/drm/i915/i915_perf.c | 2 +-
> drivers/gpu/drm/xe/xe_observation.c | 2 +-
> drivers/hv/hv_common.c | 2 +-
> drivers/infiniband/core/iwcm.c | 2 +-
> drivers/infiniband/core/ucma.c | 2 +-
> drivers/macintosh/mac_hid.c | 2 +-
> drivers/md/md.c | 2 +-
For md bits:
Reviewed-by: Song Liu <song@kernel.org>
Thanks,
Song
[...]
^ permalink raw reply [flat|nested] 14+ messages in thread* Re: [PATCH] treewide: const qualify ctl_tables where applicable
2025-01-09 13:16 [PATCH] treewide: const qualify ctl_tables where applicable Joel Granados
` (9 preceding siblings ...)
2025-01-09 18:05 ` [PATCH] " Song Liu
@ 2025-01-10 17:13 ` Dixit, Ashutosh
10 siblings, 0 replies; 14+ messages in thread
From: Dixit, Ashutosh @ 2025-01-10 17:13 UTC (permalink / raw)
To: Joel Granados
Cc: Thomas Weißschuh, Kees Cook, Luis Chamberlain,
linux-arm-kernel, linux-kernel, linuxppc-dev, linux-riscv,
linux-s390, linux-crypto, openipmi-developer, intel-gfx,
dri-devel, intel-xe, linux-hyperv, linux-rdma, linux-raid,
linux-scsi, linux-serial, xen-devel, linux-aio, linux-fsdevel,
netfs, codalist, linux-mm, linux-nfs, ocfs2-devel, fsverity,
linux-xfs, io-uring, bpf, kexec, linux-trace-kernel,
linux-hardening, apparmor, linux-security-module, keyrings
On Thu, 09 Jan 2025 05:16:39 -0800, Joel Granados wrote:
>
> diff --git a/drivers/gpu/drm/i915/i915_perf.c b/drivers/gpu/drm/i915/i915_perf.c
> index 2406cda75b7b..5384d1bb4923 100644
> --- a/drivers/gpu/drm/i915/i915_perf.c
> +++ b/drivers/gpu/drm/i915/i915_perf.c
> @@ -4802,7 +4802,7 @@ int i915_perf_remove_config_ioctl(struct drm_device *dev, void *data,
> return ret;
> }
>
> -static struct ctl_table oa_table[] = {
> +static const struct ctl_table oa_table[] = {
> {
> .procname = "perf_stream_paranoid",
> .data = &i915_perf_stream_paranoid,
> diff --git a/drivers/gpu/drm/xe/xe_observation.c b/drivers/gpu/drm/xe/xe_observation.c
> index 8ec1b84cbb9e..57cf01efc07f 100644
> --- a/drivers/gpu/drm/xe/xe_observation.c
> +++ b/drivers/gpu/drm/xe/xe_observation.c
> @@ -56,7 +56,7 @@ int xe_observation_ioctl(struct drm_device *dev, void *data, struct drm_file *fi
> }
> }
>
> -static struct ctl_table observation_ctl_table[] = {
> +static const struct ctl_table observation_ctl_table[] = {
> {
> .procname = "observation_paranoid",
> .data = &xe_observation_paranoid,
For i915 and xe:
Acked-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2025-01-13 13:45 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-09 13:16 [PATCH] treewide: const qualify ctl_tables where applicable Joel Granados
2025-01-09 14:50 ` Steven Rostedt
2025-01-09 14:58 ` Jani Nikula
2025-01-09 15:00 ` Martin K. Petersen
2025-01-09 15:45 ` Corey Minyard
2025-01-09 15:51 ` Darrick J. Wong
2025-01-09 16:10 ` ✓ CI.Patch_applied: success for " Patchwork
2025-01-09 16:11 ` ✗ CI.checkpatch: warning " Patchwork
2025-01-10 11:40 ` Joel Granados
2025-01-09 16:12 ` ✓ CI.KUnit: success " Patchwork
2025-01-09 16:20 ` ✗ CI.Build: failure " Patchwork
2025-01-10 11:38 ` Joel Granados
2025-01-09 18:05 ` [PATCH] " Song Liu
2025-01-10 17:13 ` Dixit, Ashutosh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox