Messages in this thread | | | Date | Fri, 20 Sep 2019 13:45:32 +0100 | From | Al Viro <> | Subject | Re: [PATCH] jffs2:freely allocate memory when parameters are invalid |
| |
On Fri, Sep 20, 2019 at 08:21:53PM +0800, Xiaoming Ni wrote: > > > On 2019/9/20 19:43, Al Viro wrote: > > On Fri, Sep 20, 2019 at 02:54:38PM +0800, Xiaoming Ni wrote: > >> Use kzalloc() to allocate memory in jffs2_fill_super(). > >> Freeing memory when jffs2_parse_options() fails will cause > >> use-after-free and double-free in jffs2_kill_sb() > > > > ... so we are not freeing it there. What's the problem? > > No code logic issues, no memory leaks > > But there is too much code logic between memory allocation and free, > which is difficult to understand.
Er? An instance of jffs2 superblock might have a related object attached to it; it is created in jffs2 superblock constructor and freed in destructor.
> The modified code is easier to understand.
You are making the cleanup logics harder to follow.
| |