+1
−0
Loading
When indx_create_allocate() fails after attr_allocate_clusters() succeeds, run_deallocate() frees the disk clusters but never frees the memory allocated by run_add_entry() via kvmalloc() for the runs_tree structure. Fix this by adding run_close() at the out: label to free the run.runs memory on all error paths. The success path is unaffected as it returns 0 directly without going through out:, transferring ownership of the run memory to indx->alloc_run via memcpy(). Reported-by:<syzbot+7adcddaeeb860e5d3f2f@syzkaller.appspotmail.com> Closes: https://syzkaller.appspot.com/bug?extid=7adcddaeeb860e5d3f2f Signed-off-by:
Deepanshu Kartikey <Kartikey406@gmail.com> Signed-off-by:
Konstantin Komarov <almaz.alexandrovich@paragon-software.com>