Package: linux-source
Severity: normal
Tags: patch
X-Debbugs-Cc: corcodel.mar...@gmail.com

Hi
Bellow i explain simple method used only for research purpose used as
countermeasure in order to run MODULE_DEVICE_TABLE macro whithout .ko file,
just fixing stringfy problems ,like:

ld: drivers/usb/host/ehci-pci.o:(.rodata+0x0): multiple definition of
`__mod_pci__pci_ids_device_table';
drivers/tty/serial/8250/8250_mid.o:(.rodata+0x0): first defined here
ld: drivers/usb/host/ohci-pci.o:(.rodata+0x0): multiple definition of
`__mod_pci__pci_ids_device_table';
drivers/tty/serial/8250/8250_mid.o:(.rodata+0x0): first defined here


-- System Information:
Debian Release: 12.9
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.12.5+ (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages linux-source depends on:
pn  linux-source-6.1  <none>

linux-source recommends no packages.

linux-source suggests no packages.
>From 50aca464b8042c0805431cf1bd6ea9dc946ee481 Mon Sep 17 00:00:00 2001
From: Corcodel Marian <corcodel.mar...@gmail.com>
Date: Sat, 1 Mar 2025 23:56:17 +0100
Subject: [PATCH] Avoid multiple definition on loader

Short example how to avoid multiple definition on loader, problems stringfy.
---
 drivers/tty/serial/8250/8250_lpss.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/tty/serial/8250/8250_lpss.c 
b/drivers/tty/serial/8250/8250_lpss.c
index 776ec1ef2..05aebfdc5 100644
--- a/drivers/tty/serial/8250/8250_lpss.c
+++ b/drivers/tty/serial/8250/8250_lpss.c
@@ -402,7 +402,7 @@ static const struct lpss8250_board qrk_board = {
        .exit = qrk_serial_exit,
 };
 
-static const struct pci_device_id pci_ids[] = {
+static const struct pci_device_id pci_idsa[] = {
        { PCI_DEVICE_DATA(INTEL, QRK_UARTx, &qrk_board) },
        { PCI_DEVICE_DATA(INTEL, EHL_UART0, &ehl_board) },
        { PCI_DEVICE_DATA(INTEL, EHL_UART1, &ehl_board) },
@@ -418,11 +418,11 @@ static const struct pci_device_id pci_ids[] = {
        { PCI_DEVICE_DATA(INTEL, BDW_UART2, &byt_board) },
        { }
 };
-MODULE_DEVICE_TABLE(pci, pci_ids);
+MODULE_DEVICE_TABLE(pci, pci_idsa);
 
 static struct pci_driver lpss8250_pci_driver = {
        .name           = "8250_lpss",
-       .id_table       = pci_ids,
+       .id_table       = pci_idsa,
        .probe          = lpss8250_probe,
        .remove         = lpss8250_remove,
 };
-- 
2.39.5

Reply via email to