Thread (13 messages) 13 messages, 3 authors, 2009-10-13

Re: [resend][PATCH] Added PR_SET_PROCTITLE_AREA option for prctl()

flat view

From: Andrew Morton <hidden>
Date: 2009-10-10 06:40:47
Also in: lkml

On Sat, 10 Oct 2009 15:32:35 +0900 KOSAKI Motohiro [off-list ref] wrote:
quoted
quoted
quoted
The solution is to use the seqlock to detect this, and prevent the
secret information from ever making it back to process B's userspace.
Note that it's not enough to just recheck arg_start, as process A may
reassign the proctitle area back to its original position after having
it somewhere else for a while.
Well seqlock is _a_ solution. __Another is to use a mutex or an rwsem
around the whole operation.

With the code as you propose it, what happens if a process sits in a
tight loop running setproctitle? __Do other processes running `ps' get
stuck in a livelock until the offending process gets scheduled out?
It does seem like a maximum spin count should be put in there - and
maybe a timeout as well (since with FUSE etc it's possible to engineer
page faults that take arbitrarily long).
Also, it occurs to me that:
makes sense.
I like maximum spin rather than timeout.
Start simple.  What's wrong with mutex_lock() on the reader and writer
sides?  rwsems might be OK too.

In both cases we should think about whether persistent readers can
block the writer excessively though.
--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help