• C
    kernel/auditfilter.c: tree and watch will memory leak when failure occurs · 373e0f34
    Chen Gang 提交于
    In audit_data_to_entry() when a failure occurs we must check and free
    the tree and watch to avoid a memory leak.
    
      test:
        plan:
          test command:
            "auditctl -a exit,always -w /etc -F auid=-1"
            (on fedora17, need modify auditctl to let "-w /etc" has effect)
          running:
            under fedora17 x86_64, 2 CPUs 3.20GHz, 2.5GB RAM.
            let 15 auditctl processes continue running at the same time.
          monitor command:
            watch -d -n 1 "cat /proc/meminfo | awk '{print \$2}' \
              | head -n 4 | xargs \
              | awk '{print \"used \",\$1 - \$2 - \$3 - \$4}'"
    
        result:
          for original version:
            will use up all memory, within 3 hours.
            kill all auditctl, the memory still does not free.
          for new version (apply this patch):
            after 14 hours later, not find issues.
    Signed-off-by: NChen Gang <gang.chen@asianux.com>
    Cc: Eric Paris <eparis@redhat.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    373e0f34
auditfilter.c 36.3 KB