jbd2: fix use after free in jbd2_journal_start_reserved()
If start_this_handle() fails then it leads to a use after free of "handle". Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Cc: stable@vger.kernel.org
This commit is contained in:
parent
19ea806037
commit
92e3b40537
|
@ -514,11 +514,13 @@ int jbd2_journal_start_reserved(handle_t *handle, unsigned int type,
|
|||
* similarly constrained call sites
|
||||
*/
|
||||
ret = start_this_handle(journal, handle, GFP_NOFS);
|
||||
if (ret < 0)
|
||||
if (ret < 0) {
|
||||
jbd2_journal_free_reserved(handle);
|
||||
return ret;
|
||||
}
|
||||
handle->h_type = type;
|
||||
handle->h_line_no = line_no;
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(jbd2_journal_start_reserved);
|
||||
|
||||
|
|
Loading…
Reference in New Issue