Re: Q: PTRACE_ATTACH && -EINTR

From: Roland McGrath
Date: Mon Jun 08 2009 - 13:39:57 EST


> Or even -ERESTARTNOINTR ? Or just mutex_lock() ?

-ERESTARTNOINTR is right.

There is nothing wrong with making it interruptible, and that might help
something or other overall, or even be important to avoid a deadlock or
something in some strange situation. But since the call could never return
-EINTR before, we can't make it start now.

> Or ignore this problem since nobody complained?

There has barely been time for anyone to do something strange enough to hit
it, and they would probably not have realized what was going on even if it
did hit. We know we broke the ABI contract, we have to fix it.

Note that every use of mutex_lock_interruptible and also down_interruptible
can return -EINTR. This means these really should never be used in the way
where their return value is returned directly from some system call. Every
user-visible call that gets interrupted needs to return some -ERESTART*
code and never -EINTR directly.


Thanks,
Roland
--
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/