Re: [PATCH 2/2] proc: fix PAGE_SIZE limit of /proc/$PID/cmdline

From: Alexey Dobriyan
Date: Thu May 28 2015 - 07:14:53 EST


On Thu, May 28, 2015 at 9:59 AM, Cyrill Gorcunov <gorcunov@xxxxxxxxx> wrote:
> On Thu, May 28, 2015 at 02:12:07AM +0300, Alexey Dobriyan wrote:
>> > > >
>> > > > Could you please explain why this down/up is needed?
>> > >
>> > > Code is written this way to get constistent snapshot of data.
>> >
>> > it does not. you fetch data into local variables which is the
>> > same as simply read them locklessly in general (because later
>> > you refer to local vars).
>>
>> It is snapshot w.r.t getting both pairs not snapshot w.r.t atomicity or
>> something (unsigned long access is atomic after all). Once down_write()
>> is used in the other place, it even becomes obviously correct code!
>
> Not at all. It is correct if and only if you're operating under lock
> taken, once you fetch the pair and left the lock it simply local copies
> of values the descriptor had when lock was taken.

Yes, and?

You do not complain that signal statistics is collected
under sighand lock but printed for /proc/*/status without, do you?
--
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/