Commit 0c18d7a5df82524e634637c3aec24d4cba096442

Authored by Pavel Emelyanov
Committed by Linus Torvalds
1 parent 7d1e13505b

bsdacct: fix and add comments around acct_process()

Fix the one describing what this function is and add one more - about
locking absence around pid namespaces loop.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Cc: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Showing 1 changed file with 7 additions and 1 deletions Side-by-side Diff

... ... @@ -657,7 +657,8 @@
657 657 }
658 658  
659 659 /**
660   - * acct_process - now just a wrapper around do_acct_process
  660 + * acct_process - now just a wrapper around acct_process_in_ns,
  661 + * which in turn is a wrapper around do_acct_process.
661 662 *
662 663 * handles process accounting for an exiting task
663 664 */
... ... @@ -665,6 +666,11 @@
665 666 {
666 667 struct pid_namespace *ns;
667 668  
  669 + /*
  670 + * This loop is safe lockless, since current is still
  671 + * alive and holds its namespace, which in turn holds
  672 + * its parent.
  673 + */
668 674 for (ns = task_active_pid_ns(current); ns != NULL; ns = ns->parent)
669 675 acct_process_in_ns(ns);
670 676 }