* Re: [PATCH 6.5 11/34] modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules
[not found] ` <20230904182949.104100132@linuxfoundation.org>
@ 2023-09-07 6:41 ` Stefan Lippers-Hollmann
2023-09-07 9:30 ` Greg Kroah-Hartman
0 siblings, 1 reply; 8+ messages in thread
From: Stefan Lippers-Hollmann @ 2023-09-07 6:41 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: stable, patches, Christoph Hellwig, Luis Chamberlain,
Mauro Carvalho Chehab, linux-media, linux-kernel
Hi
On 2023-09-04, Greg Kroah-Hartman wrote:
> 6.5-stable review patch. If anyone has any objections, please let me know.
>
> ------------------
>
> From: Christoph Hellwig <hch@lst.de>
>
> commit 9011e49d54dcc7653ebb8a1e05b5badb5ecfa9f9 upstream.
>
> It has recently come to my attention that nvidia is circumventing the
> protection added in 262e6ae7081d ("modules: inherit
> TAINT_PROPRIETARY_MODULE") by importing exports from their proprietary
> modules into an allegedly GPL licensed module and then rexporting them.
>
> Given that symbol_get was only ever intended for tightly cooperating
> modules using very internal symbols it is logical to restrict it to
> being used on EXPORT_SYMBOL_GPL and prevent nvidia from costly DMCA
> Circumvention of Access Controls law suites.
>
> All symbols except for four used through symbol_get were already exported
> as EXPORT_SYMBOL_GPL, and the remaining four ones were switched over in
> the preparation patches.
This patch, as part of v6.5.2, breaks the in-kernel ds3000 module
(for a TeVii s480 v2 DVB-S2 card, which is a PCIe card attaching two
onboard TeVii s660 cards via an onboard USB2 controller (MCS9990),
https://www.linuxtv.org/wiki/index.php/TeVii_S480) from loading.
[ 2.896589] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[ 2.901085] failing symbol_get of non-GPLONLY symbol ds3000_attach.
[ 2.901089] DVB: Unable to find symbol ds3000_attach()
[ 2.901091] dvb-usb: no frontend was attached by 'TeVii S480.2 USB'
$ dmesg | grep -i -e dvb -e dw21 -e ds3000 -e symbol
[ 2.739710] dvb-usb: found a 'TeVii S480.2 USB' in cold state, will try to load a firmware
[ 2.740232] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw'
[ 2.740233] dw2102: start downloading DW210X firmware
[ 2.743090] dvb-usb: found a 'Microsoft Xbox One Digital TV Tuner' in cold state, will try to load a firmware
[ 2.743217] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'
[ 2.896066] dvb-usb: found a 'TeVii S480.2 USB' in warm state.
[ 2.896297] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 2.896344] dvbdev: DVB: registering new adapter (TeVii S480.2 USB)
[ 2.896450] dvb-usb: MAC address: 9f:9f:9f:9f:9f:9f
[ 2.896589] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[ 2.901085] failing symbol_get of non-GPLONLY symbol ds3000_attach.
[ 2.901089] DVB: Unable to find symbol ds3000_attach()
[ 2.901091] dvb-usb: no frontend was attached by 'TeVii S480.2 USB'
[ 2.925255] rc rc0: lirc_dev: driver dw2102 registered at minor = 0, scancode receiver, no transmitter
[ 2.925398] dvb-usb: schedule remote query interval to 150 msecs.
[ 2.925401] dvb-usb: TeVii S480.2 USB successfully initialized and connected.
[ 2.925458] dvb-usb: found a 'TeVii S480.1 USB' in cold state, will try to load a firmware
[ 2.925488] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw'
[ 2.925489] dw2102: start downloading DW210X firmware
[ 2.959695] dvb-usb: TeVii S480.2 USB successfully deinitialized and disconnected.
[ 3.079102] dvb-usb: found a 'TeVii S480.1 USB' in warm state.
[ 3.079416] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 3.079486] dvbdev: DVB: registering new adapter (TeVii S480.1 USB)
[ 3.079777] dvb-usb: MAC address: 2f:2f:2f:2f:2f:2f
[ 3.080123] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[ 3.080622] failing symbol_get of non-GPLONLY symbol ds3000_attach.
[ 3.083513] failing symbol_get of non-GPLONLY symbol ds3000_attach.
[ 3.083516] DVB: Unable to find symbol ds3000_attach()
[ 3.085420] dvb-usb: no frontend was attached by 'TeVii S480.1 USB'
[ 3.087260] rc rc1: lirc_dev: driver dw2102 registered at minor = 0, scancode receiver, no transmitter
[ 3.087362] dvb-usb: schedule remote query interval to 150 msecs.
[ 3.087365] dvb-usb: TeVii S480.1 USB successfully initialized and connected.
[ 3.087451] usbcore: registered new interface driver dw2102
[ 3.115445] dvb-usb: TeVii S480.1 USB successfully deinitialized and disconnected.
[ 3.319289] dvb-usb: found a 'Microsoft Xbox One Digital TV Tuner' in warm state.
[ 3.319543] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 3.320133] dvbdev: DVB: registering new adapter (Microsoft Xbox One Digital TV Tuner)
[ 3.320350] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[ 3.498941] usb 5-5: DVB: registering adapter 0 frontend 0 (Panasonic MN88472)...
[ 3.498948] dvbdev: dvb_create_media_entity: media entity 'Panasonic MN88472' registered.
[ 3.499264] dvb-usb: Microsoft Xbox One Digital TV Tuner successfully initialized and connected.
[ 3.499437] usbcore: registered new interface driver dvb_usb_dib0700
[ 4.667281] usb 1-1: Product: DVBS2BOX
[ 4.667833] dvb-usb: found a 'TeVii S660 USB' in cold state, will try to load a firmware
[ 4.667883] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw'
[ 4.667885] dw2102: start downloading DW210X firmware
[ 4.823196] dvb-usb: found a 'TeVii S660 USB' in warm state.
[ 4.823520] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 4.823950] dvbdev: DVB: registering new adapter (TeVii S660 USB)
[ 4.851318] usb 4-1: Product: DVBS2BOX
[ 4.851853] dvb-usb: found a 'TeVii S660 USB' in cold state, will try to load a firmware
[ 4.851898] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw'
[ 4.851900] dw2102: start downloading DW210X firmware
[ 5.007159] dvb-usb: found a 'TeVii S660 USB' in warm state.
[ 5.007469] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 5.007837] dvbdev: DVB: registering new adapter (TeVii S660 USB)
[ 5.067116] dvb-usb: MAC address: 00:18:XX:XX:XX:XX
[ 5.067337] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[ 5.067802] failing symbol_get of non-GPLONLY symbol ds3000_attach.
[ 5.071091] failing symbol_get of non-GPLONLY symbol ds3000_attach.
[ 5.071094] DVB: Unable to find symbol ds3000_attach()
[ 5.072124] dvb-usb: no frontend was attached by 'TeVii S660 USB'
[ 5.074041] rc rc1: lirc_dev: driver dw2102 registered at minor = 0, scancode receiver, no transmitter
[ 5.074244] dvb-usb: schedule remote query interval to 150 msecs.
[ 5.074254] dvb-usb: TeVii S660 USB successfully initialized and connected.
[ 5.250767] dvb-usb: MAC address: 00:18:XX:XX:XX:XX
[ 5.250985] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[ 5.251599] failing symbol_get of non-GPLONLY symbol ds3000_attach.
[ 5.254664] failing symbol_get of non-GPLONLY symbol ds3000_attach.
[ 5.254666] DVB: Unable to find symbol ds3000_attach()
[ 5.255871] dvb-usb: no frontend was attached by 'TeVii S660 USB'
[ 5.257962] rc rc2: lirc_dev: driver dw2102 registered at minor = 2, scancode receiver, no transmitter
[ 5.258132] dvb-usb: schedule remote query interval to 150 msecs.
[ 5.258135] dvb-usb: TeVii S660 USB successfully initialized and connected.
[ 13.070175] mn88472 12-0018: downloading firmware from file 'dvb-demod-mn88472-02.fw'
This is a self built version of v6.5.2, without any out-of-tree-,
backports- or proprietary modules being loaded.
$ lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation Device [8086:a703] (rev 01)
00:02.0 VGA compatible controller [0300]: Intel Corporation Raptor Lake-S GT1 [UHD Graphics 770] [8086:a780] (rev 04)
00:06.0 PCI bridge [0604]: Intel Corporation Raptor Lake PCIe 4.0 Graphics Port [8086:a74d] (rev 01)
00:08.0 System peripheral [0880]: Intel Corporation GNA Scoring Accelerator module [8086:a74f] (rev 01)
00:0a.0 Signal processing controller [1180]: Intel Corporation Raptor Lake Crashlog and Telemetry [8086:a77d] (rev 01)
00:0e.0 RAID bus controller [0104]: Intel Corporation Volume Management Device NVMe RAID Controller Intel Corporation [8086:a77f]
00:14.0 USB controller [0c03]: Intel Corporation Device [8086:7a60] (rev 11)
00:14.2 RAM memory [0500]: Intel Corporation Device [8086:7a27] (rev 11)
00:14.3 Network controller [0280]: Intel Corporation Device [8086:7a70] (rev 11)
00:15.0 Serial bus controller [0c80]: Intel Corporation Device [8086:7a4c] (rev 11)
00:16.0 Communication controller [0780]: Intel Corporation Device [8086:7a68] (rev 11)
00:17.0 SATA controller [0106]: Intel Corporation Device [8086:7a62] (rev 11)
00:1a.0 PCI bridge [0604]: Intel Corporation Device [8086:7a48] (rev 11)
00:1c.0 PCI bridge [0604]: Intel Corporation Device [8086:7a38] (rev 11)
00:1c.2 PCI bridge [0604]: Intel Corporation Device [8086:7a3a] (rev 11)
00:1c.4 PCI bridge [0604]: Intel Corporation Device [8086:7a3c] (rev 11)
00:1d.0 PCI bridge [0604]: Intel Corporation Device [8086:7a36] (rev 11)
00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:7a06] (rev 11)
00:1f.3 Audio device [0403]: Intel Corporation Device [8086:7a50] (rev 11)
00:1f.4 SMBus [0c05]: Intel Corporation Device [8086:7a23] (rev 11)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device [8086:7a24] (rev 11)
01:00.0 Non-Volatile memory controller [0108]: Micron/Crucial Technology P5 Plus NVMe PCIe SSD [c0a9:5407]
04:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 05)
05:00.0 SATA controller [0106]: ASMedia Technology Inc. ASM1062 Serial ATA Controller [1b21:0612] (rev 02)
06:00.0 USB controller [0c03]: MosChip Semiconductor Technology Ltd. MCS9990 PCIe to 4-Port USB 2.0 Host Controller [9710:9990]
06:00.1 USB controller [0c03]: MosChip Semiconductor Technology Ltd. MCS9990 PCIe to 4-Port USB 2.0 Host Controller [9710:9990]
06:00.2 USB controller [0c03]: MosChip Semiconductor Technology Ltd. MCS9990 PCIe to 4-Port USB 2.0 Host Controller [9710:9990]
06:00.3 USB controller [0c03]: MosChip Semiconductor Technology Ltd. MCS9990 PCIe to 4-Port USB 2.0 Host Controller [9710:9990]
06:00.4 USB controller [0c03]: MosChip Semiconductor Technology Ltd. MCS9990 PCIe to 4-Port USB 2.0 Host Controller [9710:9990]
06:00.5 USB controller [0c03]: MosChip Semiconductor Technology Ltd. MCS9990 PCIe to 4-Port USB 2.0 Host Controller [9710:9990]
06:00.6 USB controller [0c03]: MosChip Semiconductor Technology Ltd. MCS9990 PCIe to 4-Port USB 2.0 Host Controller [9710:9990]
06:00.7 USB controller [0c03]: MosChip Semiconductor Technology Ltd. MCS9990 PCIe to 4-Port USB 2.0 Host Controller [9710:9990]
$ lsusb
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 010 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 9022:d660 TeVii Technology Ltd. DVB-S2 S660
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 003: ID 9022:d660 TeVii Technology Ltd. DVB-S2 S660
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 174c:3074 ASMedia Technology Inc. ASM1074 SuperSpeed hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 003: ID 174c:2074 ASMedia Technology Inc. ASM1074 High-Speed hub
Bus 005 Device 002: ID 045e:02d5 Microsoft Corp. Xbox One Digital TV Tuner
Bus 005 Device 007: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 005 Device 005: ID 0b05:19af ASUSTek Computer, Inc. AURA LED Controller
Bus 005 Device 010: ID 0609:0334 SMK Manufacturing, Inc. eHome Infrared Receiver
Bus 005 Device 009: ID 04d9:1603 Holtek Semiconductor, Inc. Keyboard
Bus 005 Device 008: ID 046d:c069 Logitech, Inc. M-U0007 [Corded Mouse M500]
Bus 005 Device 006: ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor
Bus 005 Device 004: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ ls -1 /sys/module/
8250
842_compress
842_decompress
ac97_bus
acpi
acpi_pad
acpiphp
acpi_tad
aesni_intel
af_alg
af_packet
ahci
algif_hash
algif_skcipher
asus_nb_wmi
asus_wmi
async_memcpy
async_pq
async_raid6_recov
async_tx
async_xor
autofs4
battery
binder
binder_alloc
binfmt_misc
blk_cgroup
blk_crypto
block
bluetooth
bnep
bridge
btbcm
btintel
btmtk
btrtl
btusb
button
ccp
cec
cfg80211
clocksource
cmac
configfs
coretemp
cpufreq
cpufreq_conservative
cpufreq_powersave
cpuid
cpuidle
cpuidle_haltpoll
crc16
crc32c_generic
crc32c_intel
crc32_pclmul
crc64_rocksoft
crc_t10dif
crct10dif_pclmul
cryptd
cryptomgr
crypto_simd
device_hmem
dib0070
dib0090
dib3000mc
dib7000m
dibx000_common
dm_mod
dns_resolver
drm
drm_buddy
drm_display_helper
drm_kms_helper
ds3000
dvb_core
dvb_usb
dvb_usb_dib0700
dvb_usb_dw2102
edac_core
ee1004
eeepc_wmi
efi_pstore
ehci_hcd
ehci_pci
evdev
ext4
fan
fat
fb
firmware_class
fscrypto
fuse
ghash_clmulni_intel
gpiolib_acpi
grant_table
haltpoll
hid
hid_generic
hwmon_vid
i2c_algo_bit
i2c_core
i2c_designware_core
i2c_designware_platform
i2c_dev
i2c_i801
i2c_smbus
i8042
i915
idma64
ima
intel_cstate
intel_gtt
intel_idle
intel_lpss
intel_lpss_pci
intel_pmc_bxt
intel_pmc_core
intel_powerclamp
intel_rapl_common
intel_rapl_msr
intel_tcc_cooling
intel_uncore_frequency
intel_uncore_frequency_common
intel_vsec
ip_tables
ipv6
irqbypass
ir_rc6_decoder
iTCO_vendor_support
iTCO_wdt
iwlmvm
iwlwifi
jbd2
kernel
keyboard
kfence
kvm
kvm_intel
ledtrig_audio
libahci
libarc4
libata
libcrc32c
linear
llc
loop
lp
mac80211
mbcache
mc
mceusb
md_mod
mei
mei_hdcp
mei_me
mei_pxp
memory_hotplug
mfd_core
mn88472
module
mousedev
msr
multipath
nct6775
nct6775_core
netpoll
nls_cp437
nls_utf8
nmi_backtrace
nvme
nvme_core
ohci_hcd
ohci_pci
page_alloc
page_reporting
parport
parport_pc
pcie_aspm
pciehp
pci_hotplug
pcspkr
pinctrl_alderlake
platform_profile
pmt_class
pmt_telemetry
polyval_clmulni
polyval_generic
ppdev
printk
processor
pstore
r8169
raid0
raid1
raid10
raid456
raid6_pq
random
rapl
rc_core
rc_rc6_mce
rc_tevii_nec
rcupdate
rcutree
realtek
regmap_i2c
rfcomm
rfkill
rng_core
rtc_cmos
scsi_common
scsi_mod
sd_mod
secretmem
sg
sha512_ssse3
snd
snd_compress
snd_hda_codec
snd_hda_codec_generic
snd_hda_codec_hdmi
snd_hda_codec_realtek
snd_hda_core
snd_hda_ext_core
snd_hda_intel
snd_hwdep
snd_intel_dspcfg
snd_intel_sdw_acpi
snd_pcm
snd_pcm_dmaengine
snd_soc_acpi
snd_soc_acpi_intel_match
snd_soc_core
snd_soc_hdac_hda
snd_sof
snd_sof_intel_hda
snd_sof_intel_hda_common
snd_sof_intel_hda_mlink
snd_sof_pci
snd_sof_pci_intel_tgl
snd_sof_utils
snd_sof_xtensa_dsp
snd_timer
soundcore
soundwire_cadence
soundwire_generic_allocation
soundwire_intel
sparse_keymap
spurious
srcutree
stp
sysrq
tcp_cubic
tda18250
thermal
tpm
tpm_crb
tpm_tis
tpm_tis_core
ttm
tun
udmabuf
usb_common
usbcore
usbhid
vfat
video
videobuf2_common
videobuf2_memops
videobuf2_vmalloc
vmd
vt
watchdog
wmi
wmi_bmof
workqueue
x86_pkg_temp_thermal
xen
xhci_hcd
xhci_pci
xhci_pci_renesas
xor
x_tables
xz_dec
zswap
Regards
Stefan Lippers-Hollmann
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 6.5 11/34] modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules
2023-09-07 6:41 ` [PATCH 6.5 11/34] modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules Stefan Lippers-Hollmann
@ 2023-09-07 9:30 ` Greg Kroah-Hartman
2023-09-07 20:17 ` Stefan Lippers-Hollmann
0 siblings, 1 reply; 8+ messages in thread
From: Greg Kroah-Hartman @ 2023-09-07 9:30 UTC (permalink / raw)
To: Stefan Lippers-Hollmann
Cc: stable, patches, Christoph Hellwig, Luis Chamberlain,
Mauro Carvalho Chehab, linux-media, linux-kernel
On Thu, Sep 07, 2023 at 08:41:35AM +0200, Stefan Lippers-Hollmann wrote:
> Hi
>
> On 2023-09-04, Greg Kroah-Hartman wrote:
> > 6.5-stable review patch. If anyone has any objections, please let me know.
> >
> > ------------------
> >
> > From: Christoph Hellwig <hch@lst.de>
> >
> > commit 9011e49d54dcc7653ebb8a1e05b5badb5ecfa9f9 upstream.
> >
> > It has recently come to my attention that nvidia is circumventing the
> > protection added in 262e6ae7081d ("modules: inherit
> > TAINT_PROPRIETARY_MODULE") by importing exports from their proprietary
> > modules into an allegedly GPL licensed module and then rexporting them.
> >
> > Given that symbol_get was only ever intended for tightly cooperating
> > modules using very internal symbols it is logical to restrict it to
> > being used on EXPORT_SYMBOL_GPL and prevent nvidia from costly DMCA
> > Circumvention of Access Controls law suites.
> >
> > All symbols except for four used through symbol_get were already exported
> > as EXPORT_SYMBOL_GPL, and the remaining four ones were switched over in
> > the preparation patches.
>
> This patch, as part of v6.5.2, breaks the in-kernel ds3000 module
> (for a TeVii s480 v2 DVB-S2 card, which is a PCIe card attaching two
> onboard TeVii s660 cards via an onboard USB2 controller (MCS9990),
> https://www.linuxtv.org/wiki/index.php/TeVii_S480) from loading.
This is also broken in Linus's tree, right?
> [ 2.896589] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
> [ 2.901085] failing symbol_get of non-GPLONLY symbol ds3000_attach.
> [ 2.901089] DVB: Unable to find symbol ds3000_attach()
This is odd, where is that call coming from? I don't see any call to
symbol_get in the dvb code, where is this happening?
Anyway, does the patch below fix this?
thanks,
greg k-h
----------------
diff --git a/drivers/media/dvb-frontends/ds3000.c b/drivers/media/dvb-frontends/ds3000.c
index 20fcf31af165..515aa7c7baf2 100644
--- a/drivers/media/dvb-frontends/ds3000.c
+++ b/drivers/media/dvb-frontends/ds3000.c
@@ -859,7 +859,7 @@ struct dvb_frontend *ds3000_attach(const struct ds3000_config *config,
ds3000_set_voltage(&state->frontend, SEC_VOLTAGE_OFF);
return &state->frontend;
}
-EXPORT_SYMBOL(ds3000_attach);
+EXPORT_SYMBOL_GPL(ds3000_attach);
static int ds3000_set_carrier_offset(struct dvb_frontend *fe,
s32 carrier_offset_khz)
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 6.5 11/34] modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules
2023-09-07 9:30 ` Greg Kroah-Hartman
@ 2023-09-07 20:17 ` Stefan Lippers-Hollmann
2023-09-08 6:46 ` Greg Kroah-Hartman
0 siblings, 1 reply; 8+ messages in thread
From: Stefan Lippers-Hollmann @ 2023-09-07 20:17 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: stable, patches, Christoph Hellwig, Luis Chamberlain,
Mauro Carvalho Chehab, linux-media, linux-kernel
Hi
On 2023-09-07, Greg Kroah-Hartman wrote:
> On Thu, Sep 07, 2023 at 08:41:35AM +0200, Stefan Lippers-Hollmann wrote:
> > On 2023-09-04, Greg Kroah-Hartman wrote:
> > > 6.5-stable review patch. If anyone has any objections, please let me know.
> > >
> > > ------------------
> > >
> > > From: Christoph Hellwig <hch@lst.de>
> > >
> > > commit 9011e49d54dcc7653ebb8a1e05b5badb5ecfa9f9 upstream.
> > >
> > > It has recently come to my attention that nvidia is circumventing the
> > > protection added in 262e6ae7081d ("modules: inherit
> > > TAINT_PROPRIETARY_MODULE") by importing exports from their proprietary
> > > modules into an allegedly GPL licensed module and then rexporting them.
> > >
> > > Given that symbol_get was only ever intended for tightly cooperating
> > > modules using very internal symbols it is logical to restrict it to
> > > being used on EXPORT_SYMBOL_GPL and prevent nvidia from costly DMCA
> > > Circumvention of Access Controls law suites.
> > >
> > > All symbols except for four used through symbol_get were already exported
> > > as EXPORT_SYMBOL_GPL, and the remaining four ones were switched over in
> > > the preparation patches.
> >
> > This patch, as part of v6.5.2, breaks the in-kernel ds3000 module
> > (for a TeVii s480 v2 DVB-S2 card, which is a PCIe card attaching two
> > onboard TeVii s660 cards via an onboard USB2 controller (MCS9990),
> > https://www.linuxtv.org/wiki/index.php/TeVii_S480) from loading.
>
> This is also broken in Linus's tree, right?
Yes, HEAD as of 6.5.0-12145-g4a0fc73da97e is affected just as well.
> > [ 2.896589] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
> > [ 2.901085] failing symbol_get of non-GPLONLY symbol ds3000_attach.
> > [ 2.901089] DVB: Unable to find symbol ds3000_attach()
>
> This is odd, where is that call coming from? I don't see any call to
> symbol_get in the dvb code, where is this happening?
>
> Anyway, does the patch below fix this?
That change alone only moves the issue down to ts2020_attach().
$ dmesg | grep -i -e dvb -e gpl -e symbol
[ 1.464876] usb 3-1: Product: DVBS2BOX
[ 1.482143] usb 5-1: Product: DVBS2BOX
[ 3.692647] dvb-usb: found a 'TeVii S660 USB' in cold state, will try to load a firmware
[ 3.692951] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw'
[ 3.860571] dvb-usb: found a 'TeVii S660 USB' in warm state.
[ 3.860615] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 3.860944] dvbdev: DVB: registering new adapter (TeVii S660 USB)
[ 4.097144] dvb-usb: MAC address: 00:18:XX:XX:XX:XX
[ 4.097272] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[ 4.111792] failing symbol_get of non-GPLONLY symbol ts2020_attach.
[ 4.111795] DVB: Unable to find symbol ts2020_attach()
[ 4.112759] usb 3-1: DVB: registering adapter 0 frontend 0 (Montage Technology DS3000)...
[ 4.112764] dvbdev: dvb_create_media_entity: media entity 'Montage Technology DS3000' registered.
[ 4.138938] dvb-usb: schedule remote query interval to 150 msecs.
[ 4.138942] dvb-usb: TeVii S660 USB successfully initialized and connected.
[ 4.138988] dvb-usb: found a 'TeVii S660 USB' in cold state, will try to load a firmware
[ 4.139016] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw'
[ 4.292614] dvb-usb: found a 'TeVii S660 USB' in warm state.
[ 4.292679] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 4.293075] dvbdev: DVB: registering new adapter (TeVii S660 USB)
[ 4.538876] dvb-usb: MAC address: 00:18:XX:XX:XX:XX
[ 4.539113] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[ 4.543738] failing symbol_get of non-GPLONLY symbol ts2020_attach.
[ 4.546349] failing symbol_get of non-GPLONLY symbol ts2020_attach.
[ 4.546354] DVB: Unable to find symbol ts2020_attach()
[ 4.548643] usb 5-1: DVB: registering adapter 1 frontend 0 (Montage Technology DS3000)...
[ 4.548650] dvbdev: dvb_create_media_entity: media entity 'Montage Technology DS3000' registered.
[ 4.549970] dvb-usb: schedule remote query interval to 150 msecs.
[ 4.549973] dvb-usb: TeVii S660 USB successfully initialized and connected.
[ 7.830408] ds3000_firmware_ondemand: Waiting for firmware upload (dvb-fe-ds3000.fw)...
[ 8.367600] ds3000_firmware_ondemand: Waiting for firmware upload (dvb-fe-ds3000.fw)...
Extending this to approach to ts2020_attach() does fix the problem
for me. Searching the web for "failing symbol_get of non-GPLONLY
symbol" suggests that there might be further instances within the
DVB subsystem https://syzkaller.appspot.com/x/log.txt?x=11faa1eda80000
(this was merely gathered by a passive web search, I have no contact
to the poster or any further information about it).
[ now fully functional with EXPORT_SYMBOL_GPL(ds3000_attach) and
EXPORT_SYMBOL_GPL(ts2020_attach) ]
$ dmesg | grep -i -e dvb -e gpl -e symbol -e taint
[ 1.499064] usb 3-1: Product: DVBS2BOX
[ 1.505760] usb 4-1: Product: DVBS2BOX
[ 3.915802] dvb-usb: found a 'TeVii S660 USB' in cold state, will try to load a firmware
[ 3.917134] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw'
[ 4.084566] dvb-usb: found a 'TeVii S660 USB' in warm state.
[ 4.084602] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 4.084984] dvbdev: DVB: registering new adapter (TeVii S660 USB)
[ 4.320740] dvb-usb: MAC address: 00:18:XX:XX:XX:XX
[ 4.320871] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[ 4.390349] usb 3-1: DVB: registering adapter 0 frontend 0 (Montage Technology DS3000)...
[ 4.390356] dvbdev: dvb_create_media_entity: media entity 'Montage Technology DS3000' registered.
[ 4.416869] dvb-usb: schedule remote query interval to 150 msecs.
[ 4.416872] dvb-usb: TeVii S660 USB successfully initialized and connected.
[ 4.416905] dvb-usb: found a 'TeVii S660 USB' in cold state, will try to load a firmware
[ 4.416927] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw'
[ 4.572611] dvb-usb: found a 'TeVii S660 USB' in warm state.
[ 4.572679] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 4.573066] dvbdev: DVB: registering new adapter (TeVii S660 USB)
[ 4.821631] dvb-usb: MAC address: 00:18:XX:XX:XX:XX
[ 4.821757] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[ 4.884845] usb 4-1: DVB: registering adapter 1 frontend 0 (Montage Technology DS3000)...
[ 4.884856] dvbdev: dvb_create_media_entity: media entity 'Montage Technology DS3000' registered.
[ 4.886511] dvb-usb: schedule remote query interval to 150 msecs.
[ 4.886514] dvb-usb: TeVii S660 USB successfully initialized and connected.
[ 7.312401] ds3000_firmware_ondemand: Waiting for firmware upload (dvb-fe-ds3000.fw)...
[ 7.918355] ds3000_firmware_ondemand: Waiting for firmware upload (dvb-fe-ds3000.fw)...
[ 7.919675] ds3000_firmware_ondemand: Waiting for firmware upload (dvb-fe-ds3000.fw)...
With these changes, my DVB-S2 and DVB-T2 cards are working:
- https://www.linuxtv.org/wiki/index.php/TeVii_S480
- https://www.linuxtv.org/wiki/index.php/Xbox_One_Digital_TV_Tuner
Thanks a lot
Stefan Lippers-Hollmann
---
--- a/drivers/media/dvb-frontends/ts2020.c
+++ b/drivers/media/dvb-frontends/ts2020.c
@@ -525,7 +525,7 @@ struct dvb_frontend *ts2020_attach(struc
return fe;
}
-EXPORT_SYMBOL(ts2020_attach);
+EXPORT_SYMBOL_GPL(ts2020_attach);
/*
* We implement own regmap locking due to legacy DVB attach which uses frontend
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 6.5 11/34] modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules
2023-09-07 20:17 ` Stefan Lippers-Hollmann
@ 2023-09-08 6:46 ` Greg Kroah-Hartman
2023-09-08 7:07 ` Greg Kroah-Hartman
0 siblings, 1 reply; 8+ messages in thread
From: Greg Kroah-Hartman @ 2023-09-08 6:46 UTC (permalink / raw)
To: Stefan Lippers-Hollmann
Cc: stable, patches, Christoph Hellwig, Luis Chamberlain,
Mauro Carvalho Chehab, linux-media, linux-kernel
On Thu, Sep 07, 2023 at 10:17:37PM +0200, Stefan Lippers-Hollmann wrote:
> Hi
>
> On 2023-09-07, Greg Kroah-Hartman wrote:
> > On Thu, Sep 07, 2023 at 08:41:35AM +0200, Stefan Lippers-Hollmann wrote:
> > > On 2023-09-04, Greg Kroah-Hartman wrote:
> > > > 6.5-stable review patch. If anyone has any objections, please let me know.
> > > >
> > > > ------------------
> > > >
> > > > From: Christoph Hellwig <hch@lst.de>
> > > >
> > > > commit 9011e49d54dcc7653ebb8a1e05b5badb5ecfa9f9 upstream.
> > > >
> > > > It has recently come to my attention that nvidia is circumventing the
> > > > protection added in 262e6ae7081d ("modules: inherit
> > > > TAINT_PROPRIETARY_MODULE") by importing exports from their proprietary
> > > > modules into an allegedly GPL licensed module and then rexporting them.
> > > >
> > > > Given that symbol_get was only ever intended for tightly cooperating
> > > > modules using very internal symbols it is logical to restrict it to
> > > > being used on EXPORT_SYMBOL_GPL and prevent nvidia from costly DMCA
> > > > Circumvention of Access Controls law suites.
> > > >
> > > > All symbols except for four used through symbol_get were already exported
> > > > as EXPORT_SYMBOL_GPL, and the remaining four ones were switched over in
> > > > the preparation patches.
> > >
> > > This patch, as part of v6.5.2, breaks the in-kernel ds3000 module
> > > (for a TeVii s480 v2 DVB-S2 card, which is a PCIe card attaching two
> > > onboard TeVii s660 cards via an onboard USB2 controller (MCS9990),
> > > https://www.linuxtv.org/wiki/index.php/TeVii_S480) from loading.
> >
> > This is also broken in Linus's tree, right?
>
> Yes, HEAD as of 6.5.0-12145-g4a0fc73da97e is affected just as well.
Ok, good, thanks for confirming.
> > > [ 2.896589] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
> > > [ 2.901085] failing symbol_get of non-GPLONLY symbol ds3000_attach.
> > > [ 2.901089] DVB: Unable to find symbol ds3000_attach()
> >
> > This is odd, where is that call coming from? I don't see any call to
> > symbol_get in the dvb code, where is this happening?
> >
> > Anyway, does the patch below fix this?
>
> That change alone only moves the issue down to ts2020_attach().
>
> $ dmesg | grep -i -e dvb -e gpl -e symbol
> [ 1.464876] usb 3-1: Product: DVBS2BOX
> [ 1.482143] usb 5-1: Product: DVBS2BOX
> [ 3.692647] dvb-usb: found a 'TeVii S660 USB' in cold state, will try to load a firmware
> [ 3.692951] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw'
> [ 3.860571] dvb-usb: found a 'TeVii S660 USB' in warm state.
> [ 3.860615] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
> [ 3.860944] dvbdev: DVB: registering new adapter (TeVii S660 USB)
> [ 4.097144] dvb-usb: MAC address: 00:18:XX:XX:XX:XX
> [ 4.097272] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
> [ 4.111792] failing symbol_get of non-GPLONLY symbol ts2020_attach.
> [ 4.111795] DVB: Unable to find symbol ts2020_attach()
> [ 4.112759] usb 3-1: DVB: registering adapter 0 frontend 0 (Montage Technology DS3000)...
> [ 4.112764] dvbdev: dvb_create_media_entity: media entity 'Montage Technology DS3000' registered.
> [ 4.138938] dvb-usb: schedule remote query interval to 150 msecs.
> [ 4.138942] dvb-usb: TeVii S660 USB successfully initialized and connected.
> [ 4.138988] dvb-usb: found a 'TeVii S660 USB' in cold state, will try to load a firmware
> [ 4.139016] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw'
> [ 4.292614] dvb-usb: found a 'TeVii S660 USB' in warm state.
> [ 4.292679] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
> [ 4.293075] dvbdev: DVB: registering new adapter (TeVii S660 USB)
> [ 4.538876] dvb-usb: MAC address: 00:18:XX:XX:XX:XX
> [ 4.539113] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
> [ 4.543738] failing symbol_get of non-GPLONLY symbol ts2020_attach.
> [ 4.546349] failing symbol_get of non-GPLONLY symbol ts2020_attach.
> [ 4.546354] DVB: Unable to find symbol ts2020_attach()
> [ 4.548643] usb 5-1: DVB: registering adapter 1 frontend 0 (Montage Technology DS3000)...
> [ 4.548650] dvbdev: dvb_create_media_entity: media entity 'Montage Technology DS3000' registered.
> [ 4.549970] dvb-usb: schedule remote query interval to 150 msecs.
> [ 4.549973] dvb-usb: TeVii S660 USB successfully initialized and connected.
> [ 7.830408] ds3000_firmware_ondemand: Waiting for firmware upload (dvb-fe-ds3000.fw)...
> [ 8.367600] ds3000_firmware_ondemand: Waiting for firmware upload (dvb-fe-ds3000.fw)...
>
> Extending this to approach to ts2020_attach() does fix the problem
> for me. Searching the web for "failing symbol_get of non-GPLONLY
> symbol" suggests that there might be further instances within the
> DVB subsystem https://syzkaller.appspot.com/x/log.txt?x=11faa1eda80000
> (this was merely gathered by a passive web search, I have no contact
> to the poster or any further information about it).
Ugh, it looks like everyone that calls dvb_attach() is going to be
affected. I can make up a patch for this later today, unless Christoph
beats me to it :)
Also, in commit 8f569c0b4e6b ("media: dvb-core: add helper functions for
I2C binding"), way back in 2018, it says no one should be using this
function anymore, but given I see over 700 uses of it, that's obviously
not changing any time soon :(
> [ now fully functional with EXPORT_SYMBOL_GPL(ds3000_attach) and
> EXPORT_SYMBOL_GPL(ts2020_attach) ]
Thanks for testing this.
greg k-h
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 6.5 11/34] modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules
2023-09-08 6:46 ` Greg Kroah-Hartman
@ 2023-09-08 7:07 ` Greg Kroah-Hartman
2023-09-08 8:31 ` Christoph Hellwig
0 siblings, 1 reply; 8+ messages in thread
From: Greg Kroah-Hartman @ 2023-09-08 7:07 UTC (permalink / raw)
To: Stefan Lippers-Hollmann
Cc: stable, patches, Christoph Hellwig, Luis Chamberlain,
Mauro Carvalho Chehab, linux-media, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 5837 bytes --]
On Fri, Sep 08, 2023 at 07:46:56AM +0100, Greg Kroah-Hartman wrote:
> On Thu, Sep 07, 2023 at 10:17:37PM +0200, Stefan Lippers-Hollmann wrote:
> > Hi
> >
> > On 2023-09-07, Greg Kroah-Hartman wrote:
> > > On Thu, Sep 07, 2023 at 08:41:35AM +0200, Stefan Lippers-Hollmann wrote:
> > > > On 2023-09-04, Greg Kroah-Hartman wrote:
> > > > > 6.5-stable review patch. If anyone has any objections, please let me know.
> > > > >
> > > > > ------------------
> > > > >
> > > > > From: Christoph Hellwig <hch@lst.de>
> > > > >
> > > > > commit 9011e49d54dcc7653ebb8a1e05b5badb5ecfa9f9 upstream.
> > > > >
> > > > > It has recently come to my attention that nvidia is circumventing the
> > > > > protection added in 262e6ae7081d ("modules: inherit
> > > > > TAINT_PROPRIETARY_MODULE") by importing exports from their proprietary
> > > > > modules into an allegedly GPL licensed module and then rexporting them.
> > > > >
> > > > > Given that symbol_get was only ever intended for tightly cooperating
> > > > > modules using very internal symbols it is logical to restrict it to
> > > > > being used on EXPORT_SYMBOL_GPL and prevent nvidia from costly DMCA
> > > > > Circumvention of Access Controls law suites.
> > > > >
> > > > > All symbols except for four used through symbol_get were already exported
> > > > > as EXPORT_SYMBOL_GPL, and the remaining four ones were switched over in
> > > > > the preparation patches.
> > > >
> > > > This patch, as part of v6.5.2, breaks the in-kernel ds3000 module
> > > > (for a TeVii s480 v2 DVB-S2 card, which is a PCIe card attaching two
> > > > onboard TeVii s660 cards via an onboard USB2 controller (MCS9990),
> > > > https://www.linuxtv.org/wiki/index.php/TeVii_S480) from loading.
> > >
> > > This is also broken in Linus's tree, right?
> >
> > Yes, HEAD as of 6.5.0-12145-g4a0fc73da97e is affected just as well.
>
> Ok, good, thanks for confirming.
>
> > > > [ 2.896589] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
> > > > [ 2.901085] failing symbol_get of non-GPLONLY symbol ds3000_attach.
> > > > [ 2.901089] DVB: Unable to find symbol ds3000_attach()
> > >
> > > This is odd, where is that call coming from? I don't see any call to
> > > symbol_get in the dvb code, where is this happening?
> > >
> > > Anyway, does the patch below fix this?
> >
> > That change alone only moves the issue down to ts2020_attach().
> >
> > $ dmesg | grep -i -e dvb -e gpl -e symbol
> > [ 1.464876] usb 3-1: Product: DVBS2BOX
> > [ 1.482143] usb 5-1: Product: DVBS2BOX
> > [ 3.692647] dvb-usb: found a 'TeVii S660 USB' in cold state, will try to load a firmware
> > [ 3.692951] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw'
> > [ 3.860571] dvb-usb: found a 'TeVii S660 USB' in warm state.
> > [ 3.860615] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
> > [ 3.860944] dvbdev: DVB: registering new adapter (TeVii S660 USB)
> > [ 4.097144] dvb-usb: MAC address: 00:18:XX:XX:XX:XX
> > [ 4.097272] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
> > [ 4.111792] failing symbol_get of non-GPLONLY symbol ts2020_attach.
> > [ 4.111795] DVB: Unable to find symbol ts2020_attach()
> > [ 4.112759] usb 3-1: DVB: registering adapter 0 frontend 0 (Montage Technology DS3000)...
> > [ 4.112764] dvbdev: dvb_create_media_entity: media entity 'Montage Technology DS3000' registered.
> > [ 4.138938] dvb-usb: schedule remote query interval to 150 msecs.
> > [ 4.138942] dvb-usb: TeVii S660 USB successfully initialized and connected.
> > [ 4.138988] dvb-usb: found a 'TeVii S660 USB' in cold state, will try to load a firmware
> > [ 4.139016] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw'
> > [ 4.292614] dvb-usb: found a 'TeVii S660 USB' in warm state.
> > [ 4.292679] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
> > [ 4.293075] dvbdev: DVB: registering new adapter (TeVii S660 USB)
> > [ 4.538876] dvb-usb: MAC address: 00:18:XX:XX:XX:XX
> > [ 4.539113] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
> > [ 4.543738] failing symbol_get of non-GPLONLY symbol ts2020_attach.
> > [ 4.546349] failing symbol_get of non-GPLONLY symbol ts2020_attach.
> > [ 4.546354] DVB: Unable to find symbol ts2020_attach()
> > [ 4.548643] usb 5-1: DVB: registering adapter 1 frontend 0 (Montage Technology DS3000)...
> > [ 4.548650] dvbdev: dvb_create_media_entity: media entity 'Montage Technology DS3000' registered.
> > [ 4.549970] dvb-usb: schedule remote query interval to 150 msecs.
> > [ 4.549973] dvb-usb: TeVii S660 USB successfully initialized and connected.
> > [ 7.830408] ds3000_firmware_ondemand: Waiting for firmware upload (dvb-fe-ds3000.fw)...
> > [ 8.367600] ds3000_firmware_ondemand: Waiting for firmware upload (dvb-fe-ds3000.fw)...
> >
> > Extending this to approach to ts2020_attach() does fix the problem
> > for me. Searching the web for "failing symbol_get of non-GPLONLY
> > symbol" suggests that there might be further instances within the
> > DVB subsystem https://syzkaller.appspot.com/x/log.txt?x=11faa1eda80000
> > (this was merely gathered by a passive web search, I have no contact
> > to the poster or any further information about it).
>
> Ugh, it looks like everyone that calls dvb_attach() is going to be
> affected. I can make up a patch for this later today, unless Christoph
> beats me to it :)
>
> Also, in commit 8f569c0b4e6b ("media: dvb-core: add helper functions for
> I2C binding"), way back in 2018, it says no one should be using this
> function anymore, but given I see over 700 uses of it, that's obviously
> not changing any time soon :(
And it's over 130 symbols, attached, I'll figure out a way to script
this...
[-- Attachment #2: symbol_list --]
[-- Type: text/plain, Size: 2045 bytes --]
as102_attach
ascot2e_attach
atbm8830_attach
au8522_attach
bcm3510_attach
cx22700_attach
cx22702_attach
cx24110_attach
cx24113_attach
cx24116_attach
cx24117_attach
cx24120_attach
cx24123_attach
cxd2820r_attach
cxd2841er_attach_s
cxd2841er_attach_t_c
cxd2880_attach
ddbridge_dummy_fe_qam_attach
dib0070_attach
dib0090_fw_register
dib0090_register
dib3000mb_attach
dib3000mc_attach
dib7000m_attach
dib7000p_attach
dib8000_attach
dib9000_attach
drx39xxj_attach
drxd_attach
drxk_attach
ds3000_attach
dst_attach
dst_ca_attach
dvb_pll_attach
ec100_attach
fc0011_attach
fc0012_attach
fc0013_attach
gp8psk_fe_attach
helene_attach
helene_attach_s
horus3a_attach
isl6405_attach
isl6421_attach
isl6423_attach
itd1000_attach
ix2505v_attach
l64781_attach
lg2160_attach
lgdt3305_attach
lgdt3306a_attach
lgdt330x_attach
lgs8gxx_attach
lnbh24_attach
lnbh25_attach
lnbp21_attach
lnbp22_attach
m88ds3103_attach
m88rs2000_attach
max2165_attach
mb86a16_attach
mb86a20s_attach
mc44s803_attach
microtune_attach
mt2060_attach
mt2063_attach
mt2131_attach
mt2266_attach
mt312_attach
mt352_attach
mxl111sf_demod_attach
mxl111sf_tuner_attach
mxl5005s_attach
mxl5007t_attach
mxl5xx_attach
nxt200x_attach
nxt6000_attach
or51132_attach
or51211_attach
qt1010_attach
r820t_attach
s5h1409_attach
s5h1411_attach
s5h1420_attach
s5h1432_attach
s921_attach
si21xx_attach
simple_tuner_attach
sp8870_attach
sp887x_attach
stb0899_attach
stb6000_attach
stb6100_attach
stv0288_attach
stv0297_attach
stv0299_attach
stv0367cab_attach
stv0367ddb_attach
stv0367ter_attach
stv0900_attach
stv090x_attach
stv0910_attach
stv6110_attach
stv6110x_attach
stv6111_attach
tda10021_attach
tda10023_attach
tda10045_attach
tda10046_attach
tda10048_attach
tda10086_attach
tda18218_attach
tda18271_attach
tda18271c2dd_attach
tda665x_attach
tda8083_attach
tda8261_attach
tda826x_attach
tda827x_attach
tda829x_attach
tda9887_attach
tea5761_attach
tea5767_attach
ts2020_attach
tua6100_attach
ves1820_attach
ves1x93_attach
xc2028_attach
xc4000_attach
xc5000_attach
zl10036_attach
zl10039_attach
zl10353_attach
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 6.5 11/34] modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules
2023-09-08 7:07 ` Greg Kroah-Hartman
@ 2023-09-08 8:31 ` Christoph Hellwig
2023-09-08 8:35 ` Christoph Hellwig
0 siblings, 1 reply; 8+ messages in thread
From: Christoph Hellwig @ 2023-09-08 8:31 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Stefan Lippers-Hollmann, stable, patches, Christoph Hellwig,
Luis Chamberlain, Mauro Carvalho Chehab, linux-media,
linux-kernel
On Fri, Sep 08, 2023 at 08:07:08AM +0100, Greg Kroah-Hartman wrote:
> And it's over 130 symbols, attached, I'll figure out a way to script
> this...
Eww. Sorry for missing this, and I suspect it really should be
entirely reworked in the future. But for now the scripting sounds
right. Let me know if you'd done anything, otherwise I can look into
it this afternoon Chilean time.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 6.5 11/34] modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules
2023-09-08 8:31 ` Christoph Hellwig
@ 2023-09-08 8:35 ` Christoph Hellwig
2023-09-08 8:47 ` Greg Kroah-Hartman
0 siblings, 1 reply; 8+ messages in thread
From: Christoph Hellwig @ 2023-09-08 8:35 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Stefan Lippers-Hollmann, stable, patches, Christoph Hellwig,
Luis Chamberlain, Mauro Carvalho Chehab, linux-media,
linux-kernel
On Fri, Sep 08, 2023 at 10:31:39AM +0200, Christoph Hellwig wrote:
> On Fri, Sep 08, 2023 at 08:07:08AM +0100, Greg Kroah-Hartman wrote:
> > And it's over 130 symbols, attached, I'll figure out a way to script
> > this...
>
> Eww. Sorry for missing this, and I suspect it really should be
> entirely reworked in the future. But for now the scripting sounds
> right. Let me know if you'd done anything, otherwise I can look into
> it this afternoon Chilean time.
.. and it turns out dvb_attach has already been deprecated for 5 years
time, it's just that it still has all these users around.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 6.5 11/34] modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules
2023-09-08 8:35 ` Christoph Hellwig
@ 2023-09-08 8:47 ` Greg Kroah-Hartman
0 siblings, 0 replies; 8+ messages in thread
From: Greg Kroah-Hartman @ 2023-09-08 8:47 UTC (permalink / raw)
To: Christoph Hellwig
Cc: Stefan Lippers-Hollmann, stable, patches, Luis Chamberlain,
Mauro Carvalho Chehab, linux-media, linux-kernel
On Fri, Sep 08, 2023 at 10:35:38AM +0200, Christoph Hellwig wrote:
> On Fri, Sep 08, 2023 at 10:31:39AM +0200, Christoph Hellwig wrote:
> > On Fri, Sep 08, 2023 at 08:07:08AM +0100, Greg Kroah-Hartman wrote:
> > > And it's over 130 symbols, attached, I'll figure out a way to script
> > > this...
> >
> > Eww. Sorry for missing this, and I suspect it really should be
> > entirely reworked in the future. But for now the scripting sounds
> > right. Let me know if you'd done anything, otherwise I can look into
> > it this afternoon Chilean time.
>
> .. and it turns out dvb_attach has already been deprecated for 5 years
> time, it's just that it still has all these users around.
Yeah, apis never seem to go away. I'm scripting it now, almost done...
greg k-h
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-09-08 8:47 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20230904182948.594404081@linuxfoundation.org>
[not found] ` <20230904182949.104100132@linuxfoundation.org>
2023-09-07 6:41 ` [PATCH 6.5 11/34] modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules Stefan Lippers-Hollmann
2023-09-07 9:30 ` Greg Kroah-Hartman
2023-09-07 20:17 ` Stefan Lippers-Hollmann
2023-09-08 6:46 ` Greg Kroah-Hartman
2023-09-08 7:07 ` Greg Kroah-Hartman
2023-09-08 8:31 ` Christoph Hellwig
2023-09-08 8:35 ` Christoph Hellwig
2023-09-08 8:47 ` Greg Kroah-Hartman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox