|
本帖最后由 axlrose 于 2012-9-26 16:16 编辑
http://git.kernel.org/?p=linux/k ... 4ed3beeffbbff869285linux kernel 3.5.4 修复 UBI 内存释放的严重 BUG
- diff --git a/drivers/mtd/ubi/vtbl.c b/drivers/mtd/ubi/vtbl.c
- index 437bc19..568307c 100644 (file)
- --- a/drivers/mtd/ubi/vtbl.c
- +++ b/drivers/mtd/ubi/vtbl.c
- @@ -340,7 +340,7 @@ retry:
- * of this LEB as it will be deleted and freed in 'ubi_add_to_av()'.
- */
- err = ubi_add_to_av(ubi, ai, new_aeb->pnum, new_aeb->ec, vid_hdr, 0);
- - kfree(new_aeb);
- + kmem_cache_free(ai->aeb_slab_cache, new_aeb);
- ubi_free_vid_hdr(ubi, vid_hdr);
- return err;
- @@ -353,7 +353,7 @@ write_error:
- list_add(&new_aeb->u.list, &ai->erase);
- goto retry;
- }
- - kfree(new_aeb);
- + kmem_cache_free(ai->aeb_slab_cache, new_aeb);
- out_free:
- ubi_free_vid_hdr(ubi, vid_hdr);
- return err;
复制代码
|
|