Messages in this thread | | | Date | Thu, 28 May 2015 14:14:41 +0300 | Subject | Re: [PATCH 2/2] proc: fix PAGE_SIZE limit of /proc/$PID/cmdline | From | Alexey Dobriyan <> |
| |
On Thu, May 28, 2015 at 9:59 AM, Cyrill Gorcunov <gorcunov@gmail.com> 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?
| |