Re: PROBLEM: serial port driver grabs occupied port

From: Russell King (rmk@arm.linux.org.uk)
Date: Sat Feb 02 2002 - 19:33:09 EST


On Sat, Feb 02, 2002 at 11:21:00PM +0000, Christoph Bartelmus wrote:
> Now the problem:
> 3. Open the /dev/ttySx for the port that is occupied by the lirc_serial
> module. rs_open() does not check the state of the serial port and returns
> no error. Now you can use setserial to hijack the port... lirc_serial
> stops working.

One of setserial's basic functions is to configure a ttyS device for a
serial port that you know is there. In this patch, you are preventing
any port that is in 'PORT_UNKNOWN' state from being changed, even if
you want to change the IRQ and IO base address. This is a different,
but nevertheless fundamental problem.

The real bug is that serial.c should allows you to change the port from
'PORT_UNKNOWN' even when it can't grab the resources for the port.
Thanks for finding it - are you able to work on this more to come up
with a better fix?

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html

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



This archive was generated by hypermail 2b29 : Thu Feb 07 2002 - 21:00:26 EST