Re: [4.3-rc1 regression] modular 8250 doesn't load

From: Greg Kroah-Hartman
Date: Mon Sep 14 2015 - 17:12:48 EST


On Mon, Sep 14, 2015 at 10:42:24PM +0200, Mikael Pettersson wrote:
> Greg Kroah-Hartman writes:
> > On Mon, Sep 14, 2015 at 08:06:21PM +0200, Mikael Pettersson wrote:
> > > Greg Kroah-Hartman writes:
> > > > On Mon, Sep 14, 2015 at 07:08:10PM +0200, Mikael Pettersson wrote:
> > > > > I have CONFIG_SERIAL_8250=m. With 4.2 '/sbin/modprobe 8250' worked
> > > > > and resulted in:
> > > > >
> > > > > [ 41.354550] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
> > > > > [ 41.375156] serial8250: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
> > > > >
> > > > > With 4.3-rc1 however the command fails and logs the following:
> > > > >
> > > > > [ 34.140300] 8250_base: module license 'unspecified' taints kernel.
> > > >
> > > > Oops, need to fix that.
> > > >
> > > > > [ 34.141846] Disabling lock debugging due to kernel taint
> > > > > [ 34.143388] 8250_base: Unknown symbol uart_insert_char (err 0)
> > > > > [ 34.144908] 8250_base: Unknown symbol uart_handle_dcd_change (err 0)
> > > > > [ 34.146439] 8250_base: Unknown symbol __pm_runtime_resume (err 0)
> > > > > [ 34.147901] 8250_base: Unknown symbol tty_termios_encode_baud_rate (err 0)
> > > > > [ 34.149354] 8250_base: Unknown symbol uart_handle_cts_change (err 0)
> > > > > [ 34.150798] 8250_base: Unknown symbol __pm_runtime_suspend (err 0)
> > > > > [ 34.152240] 8250_base: Unknown symbol nr_irqs (err 0)
> > > >
> > > > Are you sure you did 'modprobe' and not 'insmod'?
> > >
> > > Yes, I used modprobe. I double-checked.
> >
> > Then your build should have failed if these functions are not being
> > exported properly by your .config. Most of these are in the serial_core
> > module, is that present/loaded?
>
> Yes, serial_core is loaded.
>
> uart_insert_char is EXPORT_SYMBOL_GPL, so could the missing license tag be preventing
> 8250_core from binding to it? (I haven't checked the other symbols but I assume they
> are also _GPL.)

Ah, crap, yes, you are right. You can test this with a simple:
MODULE_LICENSE("GPL");
line added to the 8250_base file.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/