audit: incorrect ref counting in audit tree tag_chunk

tag_chunk has bad exit paths in which the inotify ref counting is wrong.
At the top of the function we found &old_watch using inotify_find_watch().
inotify_find_watch takes a reference to the watch. This is never dropped
on an error path.

Signed-off-by: Eric Paris <eparis@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

authored by Eric Paris and committed by Al Viro 318b6d3d 6d208da8

+2
+2
kernel/audit_tree.c
··· 385 385 mutex_lock(&inode->inotify_mutex); 386 386 if (inotify_clone_watch(&old->watch, &chunk->watch) < 0) { 387 387 mutex_unlock(&inode->inotify_mutex); 388 + put_inotify_watch(&old->watch); 388 389 free_chunk(chunk); 389 390 return -ENOSPC; 390 391 } ··· 395 394 chunk->dead = 1; 396 395 inotify_evict_watch(&chunk->watch); 397 396 mutex_unlock(&inode->inotify_mutex); 397 + put_inotify_watch(&old->watch); 398 398 put_inotify_watch(&chunk->watch); 399 399 return 0; 400 400 }