Revision 3cec638b3d793b7cacdec5b8072364b41caeb0e1 authored by Steven Rostedt (VMware) on 10 December 2018, 02:17:30 UTC, committed by Steven Rostedt (VMware) on 11 December 2018, 18:50:19 UTC
When create_event_filter() fails in set_trigger_filter(), the filter may still be allocated and needs to be freed. The caller expects the data->filter to be updated with the new filter, even if the new filter failed (we could add an error message by setting set_str parameter of create_event_filter(), but that's another update). But because the error would just exit, filter was left hanging and nothing could free it. Found by kmemleak detector. Cc: stable@vger.kernel.org Fixes: bac5fb97a173a ("tracing: Add and use generic set_trigger_filter() implementation") Reviewed-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
1 parent b61c192
btnode.h
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* btnode.h - NILFS B-tree node cache
*
* Copyright (C) 2005-2008 Nippon Telegraph and Telephone Corporation.
*
* Written by Seiji Kihara.
* Revised by Ryusuke Konishi.
*/
#ifndef _NILFS_BTNODE_H
#define _NILFS_BTNODE_H
#include <linux/types.h>
#include <linux/buffer_head.h>
#include <linux/fs.h>
#include <linux/backing-dev.h>
/**
* struct nilfs_btnode_chkey_ctxt - change key context
* @oldkey: old key of block's moving content
* @newkey: new key for block's content
* @bh: buffer head of old buffer
* @newbh: buffer head of new buffer
*/
struct nilfs_btnode_chkey_ctxt {
__u64 oldkey;
__u64 newkey;
struct buffer_head *bh;
struct buffer_head *newbh;
};
void nilfs_btnode_cache_clear(struct address_space *);
struct buffer_head *nilfs_btnode_create_block(struct address_space *btnc,
__u64 blocknr);
int nilfs_btnode_submit_block(struct address_space *, __u64, sector_t, int,
int, struct buffer_head **, sector_t *);
void nilfs_btnode_delete(struct buffer_head *);
int nilfs_btnode_prepare_change_key(struct address_space *,
struct nilfs_btnode_chkey_ctxt *);
void nilfs_btnode_commit_change_key(struct address_space *,
struct nilfs_btnode_chkey_ctxt *);
void nilfs_btnode_abort_change_key(struct address_space *,
struct nilfs_btnode_chkey_ctxt *);
#endif /* _NILFS_BTNODE_H */
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...