diff options
| author | Mark Brown <broonie@kernel.org> | 2026-10-14 14:20:03 +0100 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-10-14 14:20:03 +0100 |
| commit | e4622b8294abcb690ce7c8587bc8a49d14d2ef01 (patch) | |
| tree | cf31370df373f06a1268a5f8a86b09d6f22c1d28 | |
| parent | baa5f780c1804c1d0e8c4e918970ef3221c2e7e6 (diff) | |
| parent | 08abfa5a161e1b6e6244cb2090b0530bc0920798 (diff) | |
| download | linux-next-e4622b8294abcb690ce7c8587bc8a49d14d2ef01.tar.gz linux-next-e4622b8294abcb690ce7c8587bc8a49d14d2ef01.zip | |
Merge branch 'modules-next' of https://git.kernel.org/pub/scm/linux/kernel/git/modules/linux.git
# Conflicts:
# drivers/gpu/drm/clients/drm_fbdev_helper.c
85 files changed, 181 insertions, 129 deletions
diff --git a/arch/x86/kernel/cpu/mce/dev-mcelog.c b/arch/x86/kernel/cpu/mce/dev-mcelog.c index 053555206d81..af4e76babe7a 100644 --- a/arch/x86/kernel/cpu/mce/dev-mcelog.c +++ b/arch/x86/kernel/cpu/mce/dev-mcelog.c @@ -11,7 +11,7 @@ #include <linux/miscdevice.h> #include <linux/slab.h> -#include <linux/kmod.h> +#include <linux/umh.h> #include <linux/poll.h> #include "internal.h" diff --git a/block/blk-core.c b/block/blk-core.c index 196bccf27f58..324a2d1bb727 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -40,6 +40,7 @@ #include <linux/part_stat.h> #include <linux/sched/sysctl.h> #include <linux/blk-crypto.h> +#include <linux/error-injection.h> #define CREATE_TRACE_POINTS #include <trace/events/block.h> diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c index b77f901fc3ef..6f5d059394b3 100644 --- a/drivers/block/drbd/drbd_nl.c +++ b/drivers/block/drbd/drbd_nl.c @@ -14,6 +14,7 @@ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #include <linux/module.h> +#include <linux/umh.h> #include <linux/drbd.h> #include <linux/in.h> #include <linux/fs.h> diff --git a/drivers/comedi/comedi_fops.c b/drivers/comedi/comedi_fops.c index c09bbe04be6c..05d14839c5a6 100644 --- a/drivers/comedi/comedi_fops.c +++ b/drivers/comedi/comedi_fops.c @@ -29,6 +29,7 @@ #include <linux/io.h> #include <linux/uaccess.h> #include <linux/compat.h> +#include <linux/stringify.h> #include "comedi_internal.h" @@ -82,14 +83,14 @@ unsigned int comedi_default_buf_size_kb = CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB; module_param(comedi_default_buf_size_kb, uint, 0644); MODULE_PARM_DESC(comedi_default_buf_size_kb, "default asynchronous buffer size in KiB (default " - __MODULE_STRING(CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB) ")"); + __stringify(CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB) ")"); unsigned int comedi_default_buf_maxsize_kb = CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB; module_param(comedi_default_buf_maxsize_kb, uint, 0644); MODULE_PARM_DESC(comedi_default_buf_maxsize_kb, "default maximum size of asynchronous buffer in KiB (default " - __MODULE_STRING(CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB) ")"); + __stringify(CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB) ")"); static DEFINE_MUTEX(comedi_board_minor_table_lock); static struct comedi_device diff --git a/drivers/gpu/drm/clients/drm_fbdev_helper.c b/drivers/gpu/drm/clients/drm_fbdev_helper.c index af8f15c947f0..415764ee086a 100644 --- a/drivers/gpu/drm/clients/drm_fbdev_helper.c +++ b/drivers/gpu/drm/clients/drm_fbdev_helper.c @@ -31,6 +31,7 @@ #include <linux/console.h> #include <linux/export.h> +#include <linux/stringify.h> #include <drm/clients/drm_fbdev_helper.h> #include <drm/drm_atomic.h> diff --git a/drivers/gpu/drm/i915/display/intel_connector.c b/drivers/gpu/drm/i915/display/intel_connector.c index 7ef9338d67ab..a287884c0045 100644 --- a/drivers/gpu/drm/i915/display/intel_connector.c +++ b/drivers/gpu/drm/i915/display/intel_connector.c @@ -23,6 +23,7 @@ * DEALINGS IN THE SOFTWARE. */ +#include <linux/error-injection.h> #include <linux/i2c.h> #include <linux/slab.h> diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c index 70d112fd4287..204810a11e46 100644 --- a/drivers/gpu/drm/i915/display/intel_display_driver.c +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c @@ -7,6 +7,7 @@ * details here. */ +#include <linux/error-injection.h> #include <linux/vga_switcheroo.h> #include <acpi/video.h> #include <drm/display/drm_dp_mst_helper.h> diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c index 9dd9665128ca..7d0bcf64165b 100644 --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c @@ -3,6 +3,7 @@ * Copyright © 2016 Intel Corporation */ +#include <linux/error-injection.h> #include <linux/string_helpers.h> #include <drm/drm_print.h> diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c index 5c7f862f7100..2f0e1cb5578c 100644 --- a/drivers/gpu/drm/i915/gt/intel_gt.c +++ b/drivers/gpu/drm/i915/gt/intel_gt.c @@ -3,6 +3,8 @@ * Copyright © 2019 Intel Corporation */ +#include <linux/error-injection.h> + #include <drm/drm_managed.h> #include <drm/intel/intel-gtt.h> #include <drm/intel/intel_gmd_interrupt_regs.h> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c index 1c455d84bf9d..091aa33f624a 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c @@ -4,6 +4,7 @@ */ #include <linux/circ_buf.h> +#include <linux/error-injection.h> #include <linux/ktime.h> #include <linux/string_helpers.h> #include <linux/time64.h> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c index bd07c72a66fc..d367a897c86b 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c @@ -3,6 +3,7 @@ * Copyright © 2016-2019 Intel Corporation */ +#include <linux/error-injection.h> #include <linux/string_helpers.h> #include "gt/intel_gt.h" diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c index 7fac97fe30a6..d7c731fe972b 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c @@ -4,6 +4,7 @@ */ #include <linux/bitfield.h> +#include <linux/error-injection.h> #include <linux/firmware.h> #include <linux/highmem.h> diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c index ce6d20958320..aeb7b24c81c8 100644 --- a/drivers/gpu/drm/i915/i915_driver.c +++ b/drivers/gpu/drm/i915/i915_driver.c @@ -30,6 +30,7 @@ #include <linux/aperture.h> #include <linux/acpi.h> #include <linux/device.h> +#include <linux/error-injection.h> #include <linux/module.h> #include <linux/oom.h> #include <linux/pci.h> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c index 2f03f95945f1..84a7dc6ab5db 100644 --- a/drivers/gpu/drm/i915/i915_pci.c +++ b/drivers/gpu/drm/i915/i915_pci.c @@ -22,6 +22,8 @@ * */ +#include <linux/error-injection.h> + #include <drm/drm_color_mgmt.h> #include <drm/drm_drv.h> #include <drm/intel/pci_config.h> diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c index 170e83a8c9fc..e360e4f9d9a2 100644 --- a/drivers/gpu/drm/i915/intel_uncore.c +++ b/drivers/gpu/drm/i915/intel_uncore.c @@ -21,6 +21,7 @@ * IN THE SOFTWARE. */ +#include <linux/error-injection.h> #include <linux/pm_runtime.h> #include <drm/drm_managed.h> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c index 8392c9fad3c4..2ad5efec2bda 100644 --- a/drivers/gpu/drm/xe/xe_device.c +++ b/drivers/gpu/drm/xe/xe_device.c @@ -7,7 +7,7 @@ #include <linux/aperture.h> #include <linux/delay.h> -#include <linux/fault-inject.h> +#include <linux/error-injection.h> #include <linux/units.h> #include <drm/drm_client.h> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c index 9a8efa2bf2bf..7ade915c59a8 100644 --- a/drivers/gpu/drm/xe/xe_exec_queue.c +++ b/drivers/gpu/drm/xe/xe_exec_queue.c @@ -5,6 +5,7 @@ #include "xe_exec_queue.h" +#include <linux/error-injection.h> #include <linux/nospec.h> #include <drm/drm_device.h> diff --git a/drivers/gpu/drm/xe/xe_ggtt.c b/drivers/gpu/drm/xe/xe_ggtt.c index 63e8bf193605..b7c55dc8a0bb 100644 --- a/drivers/gpu/drm/xe/xe_ggtt.c +++ b/drivers/gpu/drm/xe/xe_ggtt.c @@ -6,7 +6,7 @@ #include "xe_ggtt.h" #include <kunit/visibility.h> -#include <linux/fault-inject.h> +#include <linux/error-injection.h> #include <linux/io-64-nonatomic-lo-hi.h> #include <linux/sizes.h> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c index 3ab4cb9e4964..763a3dbca606 100644 --- a/drivers/gpu/drm/xe/xe_guc.c +++ b/drivers/gpu/drm/xe/xe_guc.c @@ -5,6 +5,7 @@ #include "xe_guc.h" +#include <linux/error-injection.h> #include <linux/iopoll.h> #include <drm/drm_managed.h> diff --git a/drivers/gpu/drm/xe/xe_guc_ads.c b/drivers/gpu/drm/xe/xe_guc_ads.c index 43a2951a66d6..c3ce3c8c905a 100644 --- a/drivers/gpu/drm/xe/xe_guc_ads.c +++ b/drivers/gpu/drm/xe/xe_guc_ads.c @@ -5,7 +5,7 @@ #include "xe_guc_ads.h" -#include <linux/fault-inject.h> +#include <linux/error-injection.h> #include <drm/drm_managed.h> diff --git a/drivers/gpu/drm/xe/xe_guc_ct.c b/drivers/gpu/drm/xe/xe_guc_ct.c index da5ce97484b8..3576c8c7263b 100644 --- a/drivers/gpu/drm/xe/xe_guc_ct.c +++ b/drivers/gpu/drm/xe/xe_guc_ct.c @@ -8,7 +8,7 @@ #include <linux/bitfield.h> #include <linux/circ_buf.h> #include <linux/delay.h> -#include <linux/fault-inject.h> +#include <linux/error-injection.h> #include <kunit/static_stub.h> diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c index 7d006268ce91..d713c7de846b 100644 --- a/drivers/gpu/drm/xe/xe_guc_log.c +++ b/drivers/gpu/drm/xe/xe_guc_log.c @@ -5,7 +5,7 @@ #include "xe_guc_log.h" -#include <linux/fault-inject.h> +#include <linux/error-injection.h> #include <linux/utsname.h> #include <drm/drm_managed.h> diff --git a/drivers/gpu/drm/xe/xe_guc_relay.c b/drivers/gpu/drm/xe/xe_guc_relay.c index eed0a750d2eb..e528d95ba7fe 100644 --- a/drivers/gpu/drm/xe/xe_guc_relay.c +++ b/drivers/gpu/drm/xe/xe_guc_relay.c @@ -5,7 +5,7 @@ #include <linux/bitfield.h> #include <linux/delay.h> -#include <linux/fault-inject.h> +#include <linux/error-injection.h> #include <drm/drm_managed.h> diff --git a/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c b/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c index d42e263e0611..ac81f382e7dc 100644 --- a/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c +++ b/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c @@ -4,6 +4,7 @@ */ #include <drm/drm_managed.h> +#include <linux/error-injection.h> #include <linux/kobject.h> #include <linux/sysfs.h> diff --git a/drivers/gpu/drm/xe/xe_hw_engine_group.c b/drivers/gpu/drm/xe/xe_hw_engine_group.c index 0804b426b6f9..418ff427ae30 100644 --- a/drivers/gpu/drm/xe/xe_hw_engine_group.c +++ b/drivers/gpu/drm/xe/xe_hw_engine_group.c @@ -3,6 +3,8 @@ * Copyright © 2024 Intel Corporation */ +#include <linux/error-injection.h> + #include <drm/drm_managed.h> #include "xe_assert.h" diff --git a/drivers/gpu/drm/xe/xe_mmio.c b/drivers/gpu/drm/xe/xe_mmio.c index 455a07d79cd9..e4a4c04f1eef 100644 --- a/drivers/gpu/drm/xe/xe_mmio.c +++ b/drivers/gpu/drm/xe/xe_mmio.c @@ -6,6 +6,7 @@ #include "xe_mmio.h" #include <linux/delay.h> +#include <linux/error-injection.h> #include <linux/io-64-nonatomic-lo-hi.h> #include <linux/minmax.h> #include <linux/pci.h> diff --git a/drivers/gpu/drm/xe/xe_oa.c b/drivers/gpu/drm/xe/xe_oa.c index 3bb8bbef4c37..c9320feeafba 100644 --- a/drivers/gpu/drm/xe/xe_oa.c +++ b/drivers/gpu/drm/xe/xe_oa.c @@ -5,6 +5,7 @@ #include <linux/anon_inodes.h> #include <linux/delay.h> +#include <linux/error-injection.h> #include <linux/nospec.h> #include <linux/poll.h> diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c index daa7ba2df317..4f1035ab1eb2 100644 --- a/drivers/gpu/drm/xe/xe_pm.c +++ b/drivers/gpu/drm/xe/xe_pm.c @@ -5,7 +5,7 @@ #include "xe_pm.h" -#include <linux/fault-inject.h> +#include <linux/error-injection.h> #include <linux/pm_runtime.h> #include <linux/suspend.h> #include <linux/dmi.h> diff --git a/drivers/gpu/drm/xe/xe_pt.c b/drivers/gpu/drm/xe/xe_pt.c index 6ad4bbaa1860..8a95d58d9c6f 100644 --- a/drivers/gpu/drm/xe/xe_pt.c +++ b/drivers/gpu/drm/xe/xe_pt.c @@ -5,6 +5,8 @@ #include "xe_pt.h" +#include <linux/error-injection.h> + #include "regs/xe_gtt_defs.h" #include "xe_bo.h" #include "xe_cpu_bind.h" diff --git a/drivers/gpu/drm/xe/xe_pxp.c b/drivers/gpu/drm/xe/xe_pxp.c index 2fef274a585e..2f3632ac201a 100644 --- a/drivers/gpu/drm/xe/xe_pxp.c +++ b/drivers/gpu/drm/xe/xe_pxp.c @@ -5,6 +5,8 @@ #include "xe_pxp.h" +#include <linux/error-injection.h> + #include <drm/drm_managed.h> #include <uapi/drm/xe_drm.h> diff --git a/drivers/gpu/drm/xe/xe_sriov.c b/drivers/gpu/drm/xe/xe_sriov.c index f3835867fce5..ec254b950daf 100644 --- a/drivers/gpu/drm/xe/xe_sriov.c +++ b/drivers/gpu/drm/xe/xe_sriov.c @@ -3,7 +3,7 @@ * Copyright © 2023 Intel Corporation */ -#include <linux/fault-inject.h> +#include <linux/error-injection.h> #include <drm/drm_managed.h> diff --git a/drivers/gpu/drm/xe/xe_sync.c b/drivers/gpu/drm/xe/xe_sync.c index 06b1c913588a..a3268465868e 100644 --- a/drivers/gpu/drm/xe/xe_sync.c +++ b/drivers/gpu/drm/xe/xe_sync.c @@ -6,6 +6,7 @@ #include "xe_sync.h" #include <linux/dma-fence-array.h> +#include <linux/error-injection.h> #include <linux/kthread.h> #include <linux/sched/mm.h> #include <linux/uaccess.h> diff --git a/drivers/gpu/drm/xe/xe_tile.c b/drivers/gpu/drm/xe/xe_tile.c index 74d925a337b7..810dfd98d830 100644 --- a/drivers/gpu/drm/xe/xe_tile.c +++ b/drivers/gpu/drm/xe/xe_tile.c @@ -3,7 +3,7 @@ * Copyright © 2023 Intel Corporation */ -#include <linux/fault-inject.h> +#include <linux/error-injection.h> #include <drm/drm_managed.h> #include <drm/drm_pagemap_util.h> diff --git a/drivers/gpu/drm/xe/xe_tuning.c b/drivers/gpu/drm/xe/xe_tuning.c index a9bd3f8969a5..dc079f1e74e5 100644 --- a/drivers/gpu/drm/xe/xe_tuning.c +++ b/drivers/gpu/drm/xe/xe_tuning.c @@ -5,6 +5,8 @@ #include "xe_tuning.h" +#include <linux/error-injection.h> + #include <kunit/visibility.h> #include <drm/drm_managed.h> diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c index 956f76763285..eafe825ae412 100644 --- a/drivers/gpu/drm/xe/xe_uc_fw.c +++ b/drivers/gpu/drm/xe/xe_uc_fw.c @@ -4,7 +4,7 @@ */ #include <linux/bitfield.h> -#include <linux/fault-inject.h> +#include <linux/error-injection.h> #include <linux/firmware.h> #include <drm/drm_managed.h> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c index 095f762bbb6f..b98f2e56bf6f 100644 --- a/drivers/gpu/drm/xe/xe_vm.c +++ b/drivers/gpu/drm/xe/xe_vm.c @@ -6,6 +6,7 @@ #include "xe_vm.h" #include <linux/dma-fence-array.h> +#include <linux/error-injection.h> #include <linux/nospec.h> #include <drm/drm_drv.h> diff --git a/drivers/gpu/drm/xe/xe_wa.c b/drivers/gpu/drm/xe/xe_wa.c index c94fe7753f9a..c71318b901d6 100644 --- a/drivers/gpu/drm/xe/xe_wa.c +++ b/drivers/gpu/drm/xe/xe_wa.c @@ -8,7 +8,7 @@ #include <drm/drm_managed.h> #include <kunit/visibility.h> #include <linux/compiler_types.h> -#include <linux/fault-inject.h> +#include <linux/error-injection.h> #include <generated/xe_device_wa_oob.h> #include <generated/xe_wa_oob.h> diff --git a/drivers/gpu/drm/xe/xe_wopcm.c b/drivers/gpu/drm/xe/xe_wopcm.c index fe65ed246775..7da1e3ebc839 100644 --- a/drivers/gpu/drm/xe/xe_wopcm.c +++ b/drivers/gpu/drm/xe/xe_wopcm.c @@ -5,7 +5,7 @@ #include "xe_wopcm.h" -#include <linux/fault-inject.h> +#include <linux/error-injection.h> #include "regs/xe_guc_regs.h" #include "xe_device.h" diff --git a/drivers/greybus/svc_watchdog.c b/drivers/greybus/svc_watchdog.c index 16e6de5e9eff..b318eb34bcca 100644 --- a/drivers/greybus/svc_watchdog.c +++ b/drivers/greybus/svc_watchdog.c @@ -7,6 +7,7 @@ #include <linux/delay.h> #include <linux/suspend.h> +#include <linux/umh.h> #include <linux/workqueue.h> #include <linux/greybus.h> diff --git a/drivers/i2c/busses/i2c-kempld.c b/drivers/i2c/busses/i2c-kempld.c index 9b4c7cba62b6..d0438960c272 100644 --- a/drivers/i2c/busses/i2c-kempld.c +++ b/drivers/i2c/busses/i2c-kempld.c @@ -13,6 +13,7 @@ #include <linux/i2c.h> #include <linux/delay.h> #include <linux/mfd/kempld.h> +#include <linux/stringify.h> #define KEMPLD_I2C_PRELOW 0x0b #define KEMPLD_I2C_PREHIGH 0x0c @@ -66,7 +67,7 @@ struct kempld_i2c_data { static unsigned int bus_frequency = KEMPLD_I2C_FREQ_STD; module_param(bus_frequency, uint, 0); MODULE_PARM_DESC(bus_frequency, "Set I2C bus frequency in kHz (default=" - __MODULE_STRING(KEMPLD_I2C_FREQ_STD)")"); + __stringify(KEMPLD_I2C_FREQ_STD)")"); static int i2c_bus = -1; module_param(i2c_bus, int, 0); diff --git a/drivers/macintosh/windfarm_core.c b/drivers/macintosh/windfarm_core.c index 5307b1e34261..e66de11c69a3 100644 --- a/drivers/macintosh/windfarm_core.c +++ b/drivers/macintosh/windfarm_core.c @@ -34,6 +34,7 @@ #include <linux/platform_device.h> #include <linux/mutex.h> #include <linux/freezer.h> +#include <linux/umh.h> #include "windfarm.h" diff --git a/drivers/net/ethernet/atheros/atl1e/atl1e_param.c b/drivers/net/ethernet/atheros/atl1e/atl1e_param.c index 6b1d6df8da97..ff3423a4dc2e 100644 --- a/drivers/net/ethernet/atheros/atl1e/atl1e_param.c +++ b/drivers/net/ethernet/atheros/atl1e/atl1e_param.c @@ -7,6 +7,7 @@ */ #include <linux/netdevice.h> +#include <linux/stringify.h> #include "atl1e.h" @@ -181,7 +182,7 @@ void atl1e_check_options(struct atl1e_adapter *adapter) .type = range_option, .name = "Transmit Ddescription Count", .err = "using default of " - __MODULE_STRING(ATL1E_DEFAULT_TX_DESC_CNT), + __stringify(ATL1E_DEFAULT_TX_DESC_CNT), .def = ATL1E_DEFAULT_TX_DESC_CNT, .arg = { .r = { .min = ATL1E_MIN_TX_DESC_CNT, .max = ATL1E_MAX_TX_DESC_CNT} } @@ -200,7 +201,7 @@ void atl1e_check_options(struct atl1e_adapter *adapter) .type = range_option, .name = "Memory size of rx buffer(KB)", .err = "using default of " - __MODULE_STRING(ATL1E_DEFAULT_RX_MEM_SIZE), + __stringify(ATL1E_DEFAULT_RX_MEM_SIZE), .def = ATL1E_DEFAULT_RX_MEM_SIZE, .arg = { .r = { .min = ATL1E_MIN_RX_MEM_SIZE, .max = ATL1E_MAX_RX_MEM_SIZE} } @@ -220,7 +221,7 @@ void atl1e_check_options(struct atl1e_adapter *adapter) .type = range_option, .name = "Interrupt Moderate Timer", .err = "using default of " - __MODULE_STRING(INT_MOD_DEFAULT_CNT), + __stringify(INT_MOD_DEFAULT_CNT), .def = INT_MOD_DEFAULT_CNT, .arg = { .r = { .min = INT_MOD_MIN_CNT, .max = INT_MOD_MAX_CNT} } @@ -239,7 +240,7 @@ void atl1e_check_options(struct atl1e_adapter *adapter) .type = range_option, .name = "Speed/Duplex Selection", .err = "using default of " - __MODULE_STRING(MEDIA_TYPE_AUTO_SENSOR), + __stringify(MEDIA_TYPE_AUTO_SENSOR), .def = MEDIA_TYPE_AUTO_SENSOR, .arg = { .r = { .min = MEDIA_TYPE_AUTO_SENSOR, .max = MEDIA_TYPE_10M_HALF} } diff --git a/drivers/net/ethernet/atheros/atlx/atl1.c b/drivers/net/ethernet/atheros/atlx/atl1.c index a981c4bcf8ed..2883e9462f6f 100644 --- a/drivers/net/ethernet/atheros/atlx/atl1.c +++ b/drivers/net/ethernet/atheros/atlx/atl1.c @@ -56,6 +56,7 @@ #include <linux/slab.h> #include <linux/spinlock.h> #include <linux/string.h> +#include <linux/stringify.h> #include <linux/tcp.h> #include <linux/timer.h> #include <linux/types.h> @@ -198,7 +199,7 @@ static void atl1_check_options(struct atl1_adapter *adapter) .type = range_option, .name = "Interrupt Moderator Timer", .err = "using default of " - __MODULE_STRING(DEFAULT_INT_MOD_CNT), + __stringify(DEFAULT_INT_MOD_CNT), .def = DEFAULT_INT_MOD_CNT, .arg = {.r = {.min = MIN_INT_MOD_CNT, .max = MAX_INT_MOD_CNT} } diff --git a/drivers/net/ethernet/atheros/atlx/atl2.c b/drivers/net/ethernet/atheros/atlx/atl2.c index c9aca219ec9c..5d3b3357d53d 100644 --- a/drivers/net/ethernet/atheros/atlx/atl2.c +++ b/drivers/net/ethernet/atheros/atlx/atl2.c @@ -29,6 +29,7 @@ #include <linux/slab.h> #include <linux/spinlock.h> #include <linux/string.h> +#include <linux/stringify.h> #include <linux/tcp.h> #include <linux/timer.h> #include <linux/types.h> @@ -2921,7 +2922,7 @@ static void atl2_check_options(struct atl2_adapter *adapter) /* Bytes of Transmit Memory */ opt.type = range_option; opt.name = "Bytes of Transmit Memory"; - opt.err = "using default of " __MODULE_STRING(ATL2_DEFAULT_TX_MEMSIZE); + opt.err = "using default of " __stringify(ATL2_DEFAULT_TX_MEMSIZE); opt.def = ATL2_DEFAULT_TX_MEMSIZE; opt.arg.r.min = ATL2_MIN_TX_MEMSIZE; opt.arg.r.max = ATL2_MAX_TX_MEMSIZE; @@ -2939,7 +2940,7 @@ static void atl2_check_options(struct atl2_adapter *adapter) /* Receive Memory Block Count */ opt.type = range_option; opt.name = "Number of receive memory block"; - opt.err = "using default of " __MODULE_STRING(ATL2_DEFAULT_RXD_COUNT); + opt.err = "using default of " __stringify(ATL2_DEFAULT_RXD_COUNT); opt.def = ATL2_DEFAULT_RXD_COUNT; opt.arg.r.min = ATL2_MIN_RXD_COUNT; opt.arg.r.max = ATL2_MAX_RXD_COUNT; @@ -2960,7 +2961,7 @@ static void atl2_check_options(struct atl2_adapter *adapter) /* Interrupt Moderate Timer */ opt.type = range_option; opt.name = "Interrupt Moderate Timer"; - opt.err = "using default of " __MODULE_STRING(INT_MOD_DEFAULT_CNT); + opt.err = "using default of " __stringify(INT_MOD_DEFAULT_CNT); opt.def = INT_MOD_DEFAULT_CNT; opt.arg.r.min = INT_MOD_MIN_CNT; opt.arg.r.max = INT_MOD_MAX_CNT; @@ -2973,7 +2974,7 @@ static void atl2_check_options(struct atl2_adapter *adapter) /* Flash Vendor */ opt.type = range_option; opt.name = "SPI Flash Vendor"; - opt.err = "using default of " __MODULE_STRING(FLASH_VENDOR_DEFAULT); + opt.err = "using default of " __stringify(FLASH_VENDOR_DEFAULT); opt.def = FLASH_VENDOR_DEFAULT; opt.arg.r.min = FLASH_VENDOR_MIN; opt.arg.r.max = FLASH_VENDOR_MAX; @@ -2986,7 +2987,7 @@ static void atl2_check_options(struct atl2_adapter *adapter) /* MediaType */ opt.type = range_option; opt.name = "Speed/Duplex Selection"; - opt.err = "using default of " __MODULE_STRING(MEDIA_TYPE_AUTO_SENSOR); + opt.err = "using default of " __stringify(MEDIA_TYPE_AUTO_SENSOR); opt.def = MEDIA_TYPE_AUTO_SENSOR; opt.arg.r.min = MEDIA_TYPE_AUTO_SENSOR; opt.arg.r.max = MEDIA_TYPE_10M_HALF; diff --git a/drivers/net/ethernet/intel/e1000/e1000_param.c b/drivers/net/ethernet/intel/e1000/e1000_param.c index f4154ca7fcb4..5faf6d6280c8 100644 --- a/drivers/net/ethernet/intel/e1000/e1000_param.c +++ b/drivers/net/ethernet/intel/e1000/e1000_param.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 /* Copyright(c) 1999 - 2006 Intel Corporation. */ +#include <linux/stringify.h> #include "e1000.h" /* This is the only thing that needs to be changed to adjust the @@ -259,7 +260,7 @@ void e1000_check_options(struct e1000_adapter *adapter) .type = range_option, .name = "Transmit Descriptors", .err = "using default of " - __MODULE_STRING(E1000_DEFAULT_TXD), + __stringify(E1000_DEFAULT_TXD), .def = E1000_DEFAULT_TXD, .arg = { .r = { .min = E1000_MIN_TXD, @@ -287,7 +288,7 @@ void e1000_check_options(struct e1000_adapter *adapter) .type = range_option, .name = "Receive Descriptors", .err = "using default of " - __MODULE_STRING(E1000_DEFAULT_RXD), + __stringify(E1000_DEFAULT_RXD), .def = E1000_DEFAULT_RXD, .arg = { .r = { .min = E1000_MIN_RXD, @@ -354,7 +355,7 @@ void e1000_check_options(struct e1000_adapter *adapter) opt = (struct e1000_option) { .type = range_option, .name = "Transmit Interrupt Delay", - .err = "using default of " __MODULE_STRING(DEFAULT_TIDV), + .err = "using default of " __stringify(DEFAULT_TIDV), .def = DEFAULT_TIDV, .arg = { .r = { .min = MIN_TXDELAY, .max = MAX_TXDELAY }} @@ -372,7 +373,7 @@ void e1000_check_options(struct e1000_adapter *adapter) opt = (struct e1000_option) { .type = range_option, .name = "Transmit Absolute Interrupt Delay", - .err = "using default of " __MODULE_STRING(DEFAULT_TADV), + .err = "using default of " __stringify(DEFAULT_TADV), .def = DEFAULT_TADV, .arg = { .r = { .min = MIN_TXABSDELAY, .max = MAX_TXABSDELAY }} @@ -390,7 +391,7 @@ void e1000_check_options(struct e1000_adapter *adapter) opt = (struct e1000_option) { .type = range_option, .name = "Receive Interrupt Delay", - .err = "using default of " __MODULE_STRING(DEFAULT_RDTR), + .err = "using default of " __stringify(DEFAULT_RDTR), .def = DEFAULT_RDTR, .arg = { .r = { .min = MIN_RXDELAY, .max = MAX_RXDELAY }} @@ -408,7 +409,7 @@ void e1000_check_options(struct e1000_adapter *adapter) opt = (struct e1000_option) { .type = range_option, .name = "Receive Absolute Interrupt Delay", - .err = "using default of " __MODULE_STRING(DEFAULT_RADV), + .err = "using default of " __stringify(DEFAULT_RADV), .def = DEFAULT_RADV, .arg = { .r = { .min = MIN_RXABSDELAY, .max = MAX_RXABSDELAY }} @@ -426,7 +427,7 @@ void e1000_check_options(struct e1000_adapter *adapter) opt = (struct e1000_option) { .type = range_option, .name = "Interrupt Throttling Rate (ints/sec)", - .err = "using default of " __MODULE_STRING(DEFAULT_ITR), + .err = "using default of " __stringify(DEFAULT_ITR), .def = DEFAULT_ITR, .arg = { .r = { .min = MIN_ITR, .max = MAX_ITR }} diff --git a/drivers/net/ethernet/intel/e1000e/param.c b/drivers/net/ethernet/intel/e1000e/param.c index 3132d8f2f207..c6f400e6cdea 100644 --- a/drivers/net/ethernet/intel/e1000e/param.c +++ b/drivers/net/ethernet/intel/e1000e/param.c @@ -4,6 +4,7 @@ #include <linux/netdevice.h> #include <linux/module.h> #include <linux/pci.h> +#include <linux/stringify.h> #include "e1000.h" @@ -238,8 +239,7 @@ void e1000e_check_options(struct e1000_adapter *adapter) static const struct e1000_option opt = { .type = range_option, .name = "Transmit Interrupt Delay", - .err = "using default of " - __MODULE_STRING(DEFAULT_TIDV), + .err = "using default of " __stringify(DEFAULT_TIDV), .def = DEFAULT_TIDV, .arg = { .r = { .min = MIN_TXDELAY, .max = MAX_TXDELAY } } @@ -258,8 +258,7 @@ void e1000e_check_options(struct e1000_adapter *adapter) static const struct e1000_option opt = { .type = range_option, .name = "Transmit Absolute Interrupt Delay", - .err = "using default of " - __MODULE_STRING(DEFAULT_TADV), + .err = "using default of " __stringify(DEFAULT_TADV), .def = DEFAULT_TADV, .arg = { .r = { .min = MIN_TXABSDELAY, .max = MAX_TXABSDELAY } } @@ -278,8 +277,7 @@ void e1000e_check_options(struct e1000_adapter *adapter) static struct e1000_option opt = { .type = range_option, .name = "Receive Interrupt Delay", - .err = "using default of " - __MODULE_STRING(DEFAULT_RDTR), + .err = "using default of " __stringify(DEFAULT_RDTR), .def = DEFAULT_RDTR, .arg = { .r = { .min = MIN_RXDELAY, .max = MAX_RXDELAY } } @@ -301,8 +299,7 @@ void e1000e_check_options(struct e1000_adapter *adapter) static struct e1000_option opt = { .type = range_option, .name = "Receive Absolute Interrupt Delay", - .err = "using default of " - __MODULE_STRING(DEFAULT_RADV), + .err = "using default of " __stringify(DEFAULT_RADV), .def = DEFAULT_RADV, .arg = { .r = { .min = MIN_RXABSDELAY, .max = MAX_RXABSDELAY } } @@ -324,8 +321,7 @@ void e1000e_check_options(struct e1000_adapter *adapter) static const struct e1000_option opt = { .type = range_option, .name = "Interrupt Throttling Rate (ints/sec)", - .err = "using default of " - __MODULE_STRING(DEFAULT_ITR), + .err = "using default of " __stringify(DEFAULT_ITR), .def = DEFAULT_ITR, .arg = { .r = { .min = MIN_ITR, .max = MAX_ITR } } diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c index 81fc5a6e3221..6a1a6678bd1a 100644 --- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c +++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_param.c @@ -7,7 +7,8 @@ */ #include "pch_gbe.h" -#include <linux/module.h> /* for __MODULE_STRING */ +#include <linux/module.h> +#include <linux/stringify.h> #define OPTION_UNSET -1 #define OPTION_DISABLED 0 @@ -440,7 +441,7 @@ void pch_gbe_check_options(struct pch_gbe_adapter *adapter) .type = range_option, .name = "Transmit Descriptors", .err = "using default of " - __MODULE_STRING(PCH_GBE_DEFAULT_TXD), + __stringify(PCH_GBE_DEFAULT_TXD), .def = PCH_GBE_DEFAULT_TXD, .arg = { .r = { .min = PCH_GBE_MIN_TXD, .max = PCH_GBE_MAX_TXD } } @@ -456,7 +457,7 @@ void pch_gbe_check_options(struct pch_gbe_adapter *adapter) .type = range_option, .name = "Receive Descriptors", .err = "using default of " - __MODULE_STRING(PCH_GBE_DEFAULT_RXD), + __stringify(PCH_GBE_DEFAULT_RXD), .def = PCH_GBE_DEFAULT_RXD, .arg = { .r = { .min = PCH_GBE_MIN_RXD, .max = PCH_GBE_MAX_RXD } } diff --git a/drivers/net/netdevsim/tc.c b/drivers/net/netdevsim/tc.c index a415e02a6df1..e2d7d3aba193 100644 --- a/drivers/net/netdevsim/tc.c +++ b/drivers/net/netdevsim/tc.c @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 +#include <linux/error-injection.h> #include <linux/netdevice.h> #include <net/pkt_sched.h> #include <net/pkt_cls.h> diff --git a/drivers/platform/cznic/turris-omnia-mcu-watchdog.c b/drivers/platform/cznic/turris-omnia-mcu-watchdog.c index 3ad146ec1d80..daabd88eb913 100644 --- a/drivers/platform/cznic/turris-omnia-mcu-watchdog.c +++ b/drivers/platform/cznic/turris-omnia-mcu-watchdog.c @@ -9,6 +9,7 @@ #include <linux/device.h> #include <linux/i2c.h> #include <linux/moduleparam.h> +#include <linux/stringify.h> #include <linux/types.h> #include <linux/units.h> #include <linux/watchdog.h> @@ -25,7 +26,7 @@ MODULE_PARM_DESC(timeout, "Watchdog timeout in seconds"); static bool nowayout = WATCHDOG_NOWAYOUT; module_param(nowayout, bool, 0); MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default=" - __MODULE_STRING(WATCHDOG_NOWAYOUT) ")"); + __stringify(WATCHDOG_NOWAYOUT) ")"); static int omnia_wdt_start(struct watchdog_device *wdt) { diff --git a/drivers/pnp/pnpbios/core.c b/drivers/pnp/pnpbios/core.c index f7e86ae9f72f..46af1f549337 100644 --- a/drivers/pnp/pnpbios/core.c +++ b/drivers/pnp/pnpbios/core.c @@ -47,7 +47,7 @@ #include <linux/delay.h> #include <linux/acpi.h> #include <linux/freezer.h> -#include <linux/kmod.h> +#include <linux/umh.h> #include <linux/kthread.h> #include <asm/page.h> diff --git a/drivers/rtc/rtc-ds1374.c b/drivers/rtc/rtc-ds1374.c index 8c247215d611..2ed6777e7035 100644 --- a/drivers/rtc/rtc-ds1374.c +++ b/drivers/rtc/rtc-ds1374.c @@ -26,6 +26,7 @@ #include <linux/workqueue.h> #include <linux/slab.h> #include <linux/pm.h> +#include <linux/stringify.h> #ifdef CONFIG_RTC_DRV_DS1374_WDT #include <linux/fs.h> #include <linux/ioctl.h> @@ -381,7 +382,7 @@ MODULE_PARM_DESC(wdt_margin, "Watchdog timeout in seconds (default 32s)"); static bool nowayout = WATCHDOG_NOWAYOUT; module_param(nowayout, bool, 0); MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default =" - __MODULE_STRING(WATCHDOG_NOWAYOUT)")"); + __stringify(WATCHDOG_NOWAYOUT)")"); static const struct watchdog_info ds1374_wdt_info = { .identity = "DS1374 Watchdog", diff --git a/drivers/thunderbolt/tb.c b/drivers/thunderbolt/tb.c index 4e5d0578fd4b..9537110a5aa8 100644 --- a/drivers/thunderbolt/tb.c +++ b/drivers/thunderbolt/tb.c @@ -11,6 +11,7 @@ #include <linux/delay.h> #include <linux/pm_runtime.h> #include <linux/platform_data/x86/apple.h> +#include <linux/stringify.h> #include "tb.h" #include "tb_regs.h" @@ -47,7 +48,7 @@ static unsigned int asym_threshold = TB_ASYM_THRESHOLD; module_param_named(asym_threshold, asym_threshold, uint, 0444); MODULE_PARM_DESC(asym_threshold, "threshold (Mb/s) when to Gen 4 switch link symmetry. 0 disables. (default: " - __MODULE_STRING(TB_ASYM_THRESHOLD) ")"); + __stringify(TB_ASYM_THRESHOLD) ")"); /** * struct tb_cm - Simple Thunderbolt connection manager diff --git a/drivers/thunderbolt/tunnel.c b/drivers/thunderbolt/tunnel.c index ffd2d04b3bfa..2b911372001c 100644 --- a/drivers/thunderbolt/tunnel.c +++ b/drivers/thunderbolt/tunnel.c @@ -11,6 +11,7 @@ #include <linux/list.h> #include <linux/ktime.h> #include <linux/string_helpers.h> +#include <linux/stringify.h> #include "tunnel.h" #include "tb.h" @@ -89,12 +90,12 @@ static int dprx_timeout = TB_DPRX_TIMEOUT; module_param(dprx_timeout, int, 0444); MODULE_PARM_DESC(dprx_timeout, "DPRX capability read timeout in ms, -1 waits forever (default: " - __MODULE_STRING(TB_DPRX_TIMEOUT) ")"); + __stringify(TB_DPRX_TIMEOUT) ")"); static unsigned int dma_credits = TB_DMA_CREDITS; module_param(dma_credits, uint, 0444); MODULE_PARM_DESC(dma_credits, "specify custom credits for DMA tunnels (default: " - __MODULE_STRING(TB_DMA_CREDITS) ")"); + __stringify(TB_DMA_CREDITS) ")"); static bool bw_alloc_mode = true; module_param(bw_alloc_mode, bool, 0444); diff --git a/drivers/tty/serial/8250/8250_platform.c b/drivers/tty/serial/8250/8250_platform.c index af946d12e764..e060e0427fc9 100644 --- a/drivers/tty/serial/8250/8250_platform.c +++ b/drivers/tty/serial/8250/8250_platform.c @@ -16,6 +16,7 @@ #include <linux/moduleparam.h> #include <linux/once.h> #include <linux/platform_device.h> +#include <linux/stringify.h> #include <linux/serial_8250.h> @@ -382,6 +383,6 @@ module_param_hw(share_irqs, bool, other, 0644); MODULE_PARM_DESC(share_irqs, "Share IRQs with other non-8250/16x50 devices (unsafe)"); module_param(nr_uarts, uint, 0644); -MODULE_PARM_DESC(nr_uarts, "Maximum number of UARTs supported. (1-" __MODULE_STRING(CONFIG_SERIAL_8250_NR_UARTS) ")"); +MODULE_PARM_DESC(nr_uarts, "Maximum number of UARTs supported. (1-" __stringify(CONFIG_SERIAL_8250_NR_UARTS) ")"); MODULE_ALIAS_CHARDEV_MAJOR(TTY_MAJOR); diff --git a/drivers/usb/atm/speedtch.c b/drivers/usb/atm/speedtch.c index 000f8eb24ead..b834eba09656 100644 --- a/drivers/usb/atm/speedtch.c +++ b/drivers/usb/atm/speedtch.c @@ -19,6 +19,7 @@ #include <linux/moduleparam.h> #include <linux/slab.h> #include <linux/stat.h> +#include <linux/stringify.h> #include <linux/timer.h> #include <linux/types.h> #include <linux/usb/ch9.h> @@ -77,31 +78,31 @@ static unsigned int num_ModemOption; module_param(altsetting, uint, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(altsetting, "Alternative setting for data interface (bulk_default: " - __MODULE_STRING(DEFAULT_BULK_ALTSETTING) "; isoc_default: " - __MODULE_STRING(DEFAULT_ISOC_ALTSETTING) ")"); + __stringify(DEFAULT_BULK_ALTSETTING) "; isoc_default: " + __stringify(DEFAULT_ISOC_ALTSETTING) ")"); module_param(dl_512_first, bool, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(dl_512_first, "Read 512 bytes before sending firmware (default: " - __MODULE_STRING(DEFAULT_DL_512_FIRST) ")"); + __stringify(DEFAULT_DL_512_FIRST) ")"); module_param(enable_isoc, bool, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(enable_isoc, "Use isochronous transfers if available (default: " - __MODULE_STRING(DEFAULT_ENABLE_ISOC) ")"); + __stringify(DEFAULT_ENABLE_ISOC) ")"); module_param(sw_buffering, bool, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(sw_buffering, "Enable software buffering (default: " - __MODULE_STRING(DEFAULT_SW_BUFFERING) ")"); + __stringify(DEFAULT_SW_BUFFERING) ")"); module_param(BMaxDSL, uint, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(BMaxDSL, - "default: " __MODULE_STRING(DEFAULT_B_MAX_DSL)); + "default: " __stringify(DEFAULT_B_MAX_DSL)); module_param(ModemMode, byte, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(ModemMode, - "default: " __MODULE_STRING(DEFAULT_MODEM_MODE)); + "default: " __stringify(DEFAULT_MODEM_MODE)); module_param_array(ModemOption, byte, &num_ModemOption, S_IRUGO); MODULE_PARM_DESC(ModemOption, "default: 0x10,0x00,0x00,0x00,0x20"); diff --git a/drivers/usb/atm/usbatm.c b/drivers/usb/atm/usbatm.c index 7b0c791399ea..d4052d206e00 100644 --- a/drivers/usb/atm/usbatm.c +++ b/drivers/usb/atm/usbatm.c @@ -64,6 +64,7 @@ #include <linux/signal.h> #include <linux/slab.h> #include <linux/stat.h> +#include <linux/stringify.h> #include <linux/timer.h> #include <linux/wait.h> #include <linux/kthread.h> @@ -103,26 +104,26 @@ static unsigned int snd_buf_bytes = UDSL_DEFAULT_SND_BUF_SIZE; module_param(num_rcv_urbs, uint, S_IRUGO); MODULE_PARM_DESC(num_rcv_urbs, "Number of urbs used for reception (range: 0-" - __MODULE_STRING(UDSL_MAX_RCV_URBS) ", default: " - __MODULE_STRING(UDSL_DEFAULT_RCV_URBS) ")"); + __stringify(UDSL_MAX_RCV_URBS) ", default: " + __stringify(UDSL_DEFAULT_RCV_URBS) ")"); module_param(num_snd_urbs, uint, S_IRUGO); MODULE_PARM_DESC(num_snd_urbs, "Number of urbs used for transmission (range: 0-" - __MODULE_STRING(UDSL_MAX_SND_URBS) ", default: " - __MODULE_STRING(UDSL_DEFAULT_SND_URBS) ")"); + __stringify(UDSL_MAX_SND_URBS) ", default: " + __stringify(UDSL_DEFAULT_SND_URBS) ")"); module_param(rcv_buf_bytes, uint, S_IRUGO); MODULE_PARM_DESC(rcv_buf_bytes, "Size of the buffers used for reception, in bytes (range: 1-" - __MODULE_STRING(UDSL_MAX_BUF_SIZE) ", default: " - __MODULE_STRING(UDSL_DEFAULT_RCV_BUF_SIZE) ")"); + __stringify(UDSL_MAX_BUF_SIZE) ", default: " + __stringify(UDSL_DEFAULT_RCV_BUF_SIZE) ")"); module_param(snd_buf_bytes, uint, S_IRUGO); MODULE_PARM_DESC(snd_buf_bytes, "Size of the buffers used for transmission, in bytes (range: 1-" - __MODULE_STRING(UDSL_MAX_BUF_SIZE) ", default: " - __MODULE_STRING(UDSL_DEFAULT_SND_BUF_SIZE) ")"); + __stringify(UDSL_MAX_BUF_SIZE) ", default: " + __stringify(UDSL_DEFAULT_SND_BUF_SIZE) ")"); /* receive */ diff --git a/drivers/video/fbdev/uvesafb.c b/drivers/video/fbdev/uvesafb.c index ccc9dbc25813..a13dff332aef 100644 --- a/drivers/video/fbdev/uvesafb.c +++ b/drivers/video/fbdev/uvesafb.c @@ -23,6 +23,7 @@ #include <linux/io.h> #include <linux/mutex.h> #include <linux/slab.h> +#include <linux/umh.h> #include <video/edid.h> #include <video/uvesafb.h> #ifdef CONFIG_X86 diff --git a/fs/coredump.c b/fs/coredump.c index 5b657770f154..b25ef2ffbdee 100644 --- a/fs/coredump.c +++ b/fs/coredump.c @@ -32,7 +32,7 @@ #include <linux/tsacct_kern.h> #include <linux/cn_proc.h> #include <linux/audit.h> -#include <linux/kmod.h> +#include <linux/umh.h> #include <linux/fsnotify.h> #include <linux/fs_struct.h> #include <linux/pipe_fs_i.h> diff --git a/fs/nfs/cache_lib.c b/fs/nfs/cache_lib.c index 9738a1ae92ca..ca4e81d4e315 100644 --- a/fs/nfs/cache_lib.c +++ b/fs/nfs/cache_lib.c @@ -6,7 +6,7 @@ * * Copyright (c) 2009 Trond Myklebust <Trond.Myklebust@netapp.com> */ -#include <linux/kmod.h> +#include <linux/umh.h> #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/mount.h> diff --git a/fs/nfsd/nfs4layouts.c b/fs/nfsd/nfs4layouts.c index 12acb68cbc3b..bfc0150f30dd 100644 --- a/fs/nfsd/nfs4layouts.c +++ b/fs/nfsd/nfs4layouts.c @@ -3,7 +3,7 @@ * Copyright (c) 2014 Christoph Hellwig. */ #include <linux/exportfs_block.h> -#include <linux/kmod.h> +#include <linux/umh.h> #include <linux/file.h> #include <linux/jhash.h> #include <linux/sched.h> diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c index 5e7788e3fb79..68beab639492 100644 --- a/fs/nfsd/nfs4recover.c +++ b/fs/nfsd/nfs4recover.c @@ -41,6 +41,7 @@ #include <linux/fs.h> #include <linux/hex.h> #include <linux/module.h> +#include <linux/umh.h> #include <net/net_namespace.h> #include <linux/sunrpc/rpc_pipe_fs.h> #include <linux/sunrpc/clnt.h> diff --git a/fs/ocfs2/stackglue.c b/fs/ocfs2/stackglue.c index 741d6191d871..0ccaab29426d 100644 --- a/fs/ocfs2/stackglue.c +++ b/fs/ocfs2/stackglue.c @@ -18,6 +18,7 @@ #include <linux/kobject.h> #include <linux/sysfs.h> #include <linux/sysctl.h> +#include <linux/umh.h> #include "ocfs2_fs.h" diff --git a/include/linux/compat.h b/include/linux/compat.h index 8da0a15c95f4..ad37ca617e65 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h @@ -18,6 +18,7 @@ #include <linux/aio_abi.h> /* for aio_context_t */ #include <linux/uaccess.h> #include <linux/unistd.h> +#include <linux/error-injection.h> #include <asm/compat.h> #include <asm/siginfo.h> diff --git a/include/linux/kmod.h b/include/linux/kmod.h index 9a07c3215389..b9474a62a568 100644 --- a/include/linux/kmod.h +++ b/include/linux/kmod.h @@ -2,17 +2,9 @@ #ifndef __LINUX_KMOD_H__ #define __LINUX_KMOD_H__ -/* - * include/linux/kmod.h - */ - -#include <linux/umh.h> -#include <linux/gfp.h> -#include <linux/stddef.h> +#include <linux/compiler_attributes.h> #include <linux/errno.h> -#include <linux/compiler.h> -#include <linux/workqueue.h> -#include <linux/sysctl.h> +#include <linux/types.h> #ifdef CONFIG_MODULES /* modprobe exit status on success, -ve on error. Return value diff --git a/include/linux/module.h b/include/linux/module.h index a6abde12a458..88a795a5d6af 100644 --- a/include/linux/module.h +++ b/include/linux/module.h @@ -24,7 +24,6 @@ #include <linux/jump_label.h> #include <linux/export.h> #include <linux/rbtree_latch.h> -#include <linux/error-injection.h> #include <linux/tracepoint-defs.h> #include <linux/srcu.h> #include <linux/static_call_types.h> diff --git a/include/linux/module_symbol.h b/include/linux/module_symbol.h index 574609aced99..698d3db2b37e 100644 --- a/include/linux/module_symbol.h +++ b/include/linux/module_symbol.h @@ -7,8 +7,11 @@ enum ksym_flags { KSYM_FLAG_GPL_ONLY = 1 << 0, }; -/* This ignores the intensely annoying "mapping symbols" found in ELF files. */ -static inline bool is_mapping_symbol(const char *str) +/* + * Ignore local labels (.L*, L0*) and mapping symbols ($*). These symbols are + * not useful for the kernel, for example, they should not appear in kallsyms. + */ +static inline bool is_ignored_kernel_symbol(const char *str) { if (str[0] == '.' && str[1] == 'L') return true; diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 8413b624ad47..552d9710a0d5 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h @@ -92,6 +92,7 @@ struct file_attr; #include <linux/quota.h> #include <linux/key.h> #include <linux/personality.h> +#include <linux/error-injection.h> #include <trace/syscall.h> #ifdef CONFIG_ARCH_HAS_SYSCALL_WRAPPER diff --git a/kernel/cgroup/cgroup-v1.c b/kernel/cgroup/cgroup-v1.c index a4337c9b5287..cbcde5c28b18 100644 --- a/kernel/cgroup/cgroup-v1.c +++ b/kernel/cgroup/cgroup-v1.c @@ -2,7 +2,7 @@ #include "cgroup-internal.h" #include <linux/ctype.h> -#include <linux/kmod.h> +#include <linux/umh.h> #include <linux/sort.h> #include <linux/delay.h> #include <linux/mm.h> diff --git a/kernel/module/kallsyms.c b/kernel/module/kallsyms.c index f23126d804b2..1ff8ce857d92 100644 --- a/kernel/module/kallsyms.c +++ b/kernel/module/kallsyms.c @@ -75,23 +75,29 @@ static char elf_type(const Elf_Sym *sym, const struct load_info *info) return '?'; } -static bool is_core_symbol(const Elf_Sym *src, const Elf_Shdr *sechdrs, - unsigned int shnum, unsigned int pcpundx) +static bool is_core_symbol(struct module *mod, const struct load_info *info, + unsigned int symnum, const Elf_Sym *src) { const Elf_Shdr *sec; enum mod_mem_type type; + if (symnum == 0 || is_livepatch_module(mod)) + return true; + if (src->st_shndx == SHN_UNDEF || - src->st_shndx >= shnum || + src->st_shndx >= info->hdr->e_shnum || !src->st_name) return false; + if (is_ignored_kernel_symbol(&info->strtab[src->st_name])) + return false; + #ifdef CONFIG_KALLSYMS_ALL - if (src->st_shndx == pcpundx) + if (src->st_shndx == info->index.pcpu) return true; #endif - sec = sechdrs + src->st_shndx; + sec = info->sechdrs + src->st_shndx; type = sec->sh_entsize >> SH_ENTSIZE_TYPE_SHIFT; if (!(sec->sh_flags & SHF_ALLOC) #ifndef CONFIG_KALLSYMS_ALL @@ -130,12 +136,11 @@ void layout_symtab(struct module *mod, struct load_info *info) /* Compute total space required for the core symbols' strtab. */ for (ndst = i = 0; i < nsrc; i++) { - if (i == 0 || is_livepatch_module(mod) || - is_core_symbol(src + i, info->sechdrs, info->hdr->e_shnum, - info->index.pcpu)) { - strtab_size += strlen(&info->strtab[src[i].st_name]) + 1; - ndst++; - } + if (!is_core_symbol(mod, info, i, src + i)) + continue; + + strtab_size += strlen(&info->strtab[src[i].st_name]) + 1; + ndst++; } /* Append room for core symbols at end of core part. */ @@ -197,23 +202,21 @@ void add_kallsyms(struct module *mod, const struct load_info *info) strtab_size = info->core_typeoffs - info->stroffs; src = kallsyms->symtab; for (ndst = i = 0; i < kallsyms->num_symtab; i++) { + ssize_t ret; + kallsyms->typetab[i] = elf_type(src + i, info); - if (i == 0 || is_livepatch_module(mod) || - is_core_symbol(src + i, info->sechdrs, info->hdr->e_shnum, - info->index.pcpu)) { - ssize_t ret; - - mod->core_kallsyms.typetab[ndst] = - kallsyms->typetab[i]; - dst[ndst] = src[i]; - dst[ndst++].st_name = s - mod->core_kallsyms.strtab; - ret = strscpy(s, &kallsyms->strtab[src[i].st_name], - strtab_size); - if (ret < 0) - break; - s += ret + 1; - strtab_size -= ret + 1; - } + + if (!is_core_symbol(mod, info, i, src + i)) + continue; + + mod->core_kallsyms.typetab[ndst] = kallsyms->typetab[i]; + dst[ndst] = src[i]; + dst[ndst++].st_name = s - mod->core_kallsyms.strtab; + ret = strscpy(s, &kallsyms->strtab[src[i].st_name], strtab_size); + if (ret < 0) + break; + s += ret + 1; + strtab_size -= ret + 1; } /* Set up to point into init section. */ @@ -294,7 +297,7 @@ static const char *find_kallsyms_symbol(struct module *mod, * and inserted at a whim. */ if (*kallsyms_symbol_name(kallsyms, i) == '\0' || - is_mapping_symbol(kallsyms_symbol_name(kallsyms, i))) + is_ignored_kernel_symbol(kallsyms_symbol_name(kallsyms, i))) continue; if (thisval <= addr && thisval > bestval) { diff --git a/kernel/module/kmod.c b/kernel/module/kmod.c index a25dccdf7aa7..24091210741e 100644 --- a/kernel/module/kmod.c +++ b/kernel/module/kmod.c @@ -28,6 +28,7 @@ #include <linux/ptrace.h> #include <linux/async.h> #include <linux/uaccess.h> +#include <linux/umh.h> #include <trace/events/module.h> #include "internal.h" @@ -81,7 +82,7 @@ static int call_modprobe(char *orig_module_name, int wait) char *module_name; int ret; - char **argv = kmalloc(sizeof(char *[5]), GFP_KERNEL); + char **argv = kmalloc_array(5, sizeof(*argv), GFP_KERNEL); if (!argv) goto out; diff --git a/kernel/module/main.c b/kernel/module/main.c index 5b9eb56164b2..1e02134a66dc 100644 --- a/kernel/module/main.c +++ b/kernel/module/main.c @@ -60,6 +60,7 @@ #include <linux/codetag.h> #include <linux/debugfs.h> #include <linux/execmem.h> +#include <linux/error-injection.h> #include <uapi/linux/module.h> #include "internal.h" diff --git a/kernel/module/tracking.c b/kernel/module/tracking.c index 9033ff54c4e2..9e8902600c32 100644 --- a/kernel/module/tracking.c +++ b/kernel/module/tracking.c @@ -38,8 +38,8 @@ int try_add_tainted_module(struct module *mod) return -ENOMEM; strscpy(mod_taint->name, mod->name, MODULE_NAME_LEN); mod_taint->taints = mod->taints; - list_add_rcu(&mod_taint->list, &unloaded_tainted_modules); mod_taint->count = 1; + list_add_rcu(&mod_taint->list, &unloaded_tainted_modules); out: return 0; } diff --git a/kernel/power/process.c b/kernel/power/process.c index dc0dfc349f22..295904ec9a82 100644 --- a/kernel/power/process.c +++ b/kernel/power/process.c @@ -16,7 +16,7 @@ #include <linux/freezer.h> #include <linux/delay.h> #include <linux/workqueue.h> -#include <linux/kmod.h> +#include <linux/umh.h> #include <trace/events/power.h> #include <linux/cpuset.h> diff --git a/kernel/reboot.c b/kernel/reboot.c index 5b9691f45f5f..a93c23b9e194 100644 --- a/kernel/reboot.c +++ b/kernel/reboot.c @@ -12,7 +12,6 @@ #include <linux/ctype.h> #include <linux/export.h> #include <linux/kexec.h> -#include <linux/kmod.h> #include <linux/kmsg_dump.h> #include <linux/rcupdate.h> #include <linux/reboot.h> @@ -21,6 +20,7 @@ #include <linux/syscalls.h> #include <linux/syscore_ops.h> #include <linux/uaccess.h> +#include <linux/umh.h> /* * this indicates whether you can reboot with ctrl-alt-del: the default is yes diff --git a/kernel/time/jiffies.c b/kernel/time/jiffies.c index 9b3487d40cd6..af1c69bf0c23 100644 --- a/kernel/time/jiffies.c +++ b/kernel/time/jiffies.c @@ -8,6 +8,7 @@ #include <linux/jiffies.h> #include <linux/module.h> #include <linux/init.h> +#include <linux/sysctl.h> #include "timekeeping.h" #include "tick-internal.h" diff --git a/kernel/umh.c b/kernel/umh.c index 6e2c7bb315c6..512dc018a50b 100644 --- a/kernel/umh.c +++ b/kernel/umh.c @@ -8,7 +8,7 @@ #include <linux/binfmts.h> #include <linux/syscalls.h> #include <linux/unistd.h> -#include <linux/kmod.h> +#include <linux/umh.h> #include <linux/slab.h> #include <linux/completion.h> #include <linux/cred.h> diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c index ddbc4d7482d2..a67129e452a3 100644 --- a/lib/kobject_uevent.c +++ b/lib/kobject_uevent.c @@ -17,7 +17,7 @@ #include <linux/string.h> #include <linux/kobject.h> #include <linux/export.h> -#include <linux/kmod.h> +#include <linux/umh.h> #include <linux/slab.h> #include <linux/socket.h> #include <linux/skbuff.h> diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c index 2e5190278c90..16da7ea47d05 100644 --- a/net/bridge/br_stp_if.c +++ b/net/bridge/br_stp_if.c @@ -8,7 +8,7 @@ */ #include <linux/kernel.h> -#include <linux/kmod.h> +#include <linux/umh.h> #include <linux/etherdevice.h> #include <linux/rtnetlink.h> #include <net/switchdev.h> diff --git a/net/core/skb_fault_injection.c b/net/core/skb_fault_injection.c index 63a397f76113..da2e3cd68b9c 100644 --- a/net/core/skb_fault_injection.c +++ b/net/core/skb_fault_injection.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-only #include <linux/debugfs.h> +#include <linux/error-injection.h> #include <linux/fault-inject.h> #include <linux/netdevice.h> #include <linux/skbuff.h> diff --git a/rust/kernel/module_param.rs b/rust/kernel/module_param.rs index f9a14765a926..1a2fcbf4a5b3 100644 --- a/rust/kernel/module_param.rs +++ b/rust/kernel/module_param.rs @@ -74,8 +74,13 @@ where crate::error::from_result(|| { let new_value = T::try_from_param_arg(arg)?; - // SAFETY: By function safety requirements, this access is safe. - let container = unsafe { &*((*param).__bindgen_anon_1.arg.cast::<SetOnce<T>>()) }; + // SAFETY: By function safety requirements, `param` is valid for read. + let arg = unsafe { (*param).__bindgen_anon_1.arg }; + let param_access_ptr = arg.cast::<ModuleParamAccess<T>>(); + // SAFETY: The `arg` field is initialized with a pointer to a `static ModuleAccessParam` by + // the rust module macro. Thus, the pointer is valid for use as a reference. + let param_access = unsafe { &*(param_access_ptr) }; + let container = ¶m_access.value; container .populate(new_value) diff --git a/scripts/faddr2line b/scripts/faddr2line index 622875396bcf..3aca197d513f 100755 --- a/scripts/faddr2line +++ b/scripts/faddr2line @@ -243,7 +243,7 @@ __faddr2line() { local cur_sym_elf_size=${fields[2]} local cur_sym_name=${fields[7]:-} - # is_mapping_symbol(cur_sym_name) + # is_ignored_kernel_symbol(cur_sym_name) if [[ ${cur_sym_name} =~ ^(\.L|L0|\$) ]]; then continue fi diff --git a/scripts/mod/modpost.h b/scripts/mod/modpost.h index d5f6d82837d5..666beca685e4 100644 --- a/scripts/mod/modpost.h +++ b/scripts/mod/modpost.h @@ -198,7 +198,7 @@ static inline bool is_valid_name(struct elf_info *elf, Elf_Sym *sym) if (!name || !strlen(name)) return false; - return !is_mapping_symbol(name); + return !is_ignored_kernel_symbol(name); } /* symsearch.c */ diff --git a/security/keys/request_key.c b/security/keys/request_key.c index fa2bb9f2f538..e6ba2d054399 100644 --- a/security/keys/request_key.c +++ b/security/keys/request_key.c @@ -9,7 +9,7 @@ #include <linux/export.h> #include <linux/sched.h> -#include <linux/kmod.h> +#include <linux/umh.h> #include <linux/err.h> #include <linux/keyctl.h> #include <linux/slab.h> diff --git a/security/tomoyo/common.h b/security/tomoyo/common.h index d098cf8aae61..d26034000913 100644 --- a/security/tomoyo/common.h +++ b/security/tomoyo/common.h @@ -16,7 +16,7 @@ #include <linux/string.h> #include <linux/mm.h> #include <linux/file.h> -#include <linux/kmod.h> +#include <linux/umh.h> #include <linux/fs.h> #include <linux/sched.h> #include <linux/namei.h> diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h index d0bac824c79c..3b850cdd9ba6 100644 --- a/tools/perf/util/symbol.h +++ b/tools/perf/util/symbol.h @@ -33,9 +33,7 @@ struct build_id; struct perf_env; /* - * Ignore kernel mapping symbols, matching kernel is_mapping_symbol() logic. - * This checks for '$' prefix (used by ARM, AArch64, RISC-V) and - * x86 local symbol prefixes (.L* and L0*). + * Ignore local labels and mapping symbols, matching kernel is_ignored_kernel_symbol() logic. * Only use this for kernel symbols (kallsyms, ksymbol events, kernel ELF DSOs). */ static inline bool is_ignored_kernel_symbol(const char *str) |
