Re: use mutex instead of semaphore in RocketPort driver

From: Arjan van de Ven
Date: Tue May 22 2007 - 13:00:48 EST


>
> - down_interruptible(&info->write_sem);
> + mutex_lock_interruptible(&info->write_mtx);
>
> #ifdef ROCKET_DEBUG_WRITE
> printk(KERN_INFO "rp_write %d chars...", count);
> @@ -1773,7 +1776,7 @@ end:
> wake_up_interruptible(&tty->poll_wait);
> #endif
> }
> - up(&info->write_sem);
> + mutex_unlock(&info->write_mtx);
> return retval

this code is very very buggy.

mutex_lock_interruptible() may not get the mutex in case a signal
happens... and yet you unlox the mutex unconditionally!!!


-
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/