Hi Yu,
Thanks for your catch.

Regards,
Gu
On 07/07/2014 09:39 AM, Chao Yu wrote:

> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=75861
> 
> Denis 2014-05-10 11:28:59 UTC reported:
> "F2FS-fs (mmcblk0p28): mounting..
>  Unable to handle kernel NULL pointer dereference at virtual address 00000018
>  ...
>  [<c0a2f678>] (_raw_spin_lock+0x3c/0x70) from [<c03a0330>] 
> (issue_flush_thread+0x50/0x17c)
>  [<c03a0330>] (issue_flush_thread+0x50/0x17c) from [<c01b4064>] 
> (kthread+0x98/0xa4)
>  [<c01b4064>] (kthread+0x98/0xa4) from [<c0108060>] 
> (kernel_thread_exit+0x0/0x8)"
> 
> This patch assign cmd_control_info in sm_info before issue_flush_thread is 
> being
> created, so this make sure that issue flush thread will have no chance to 
> access
> invalid info in fcc.
> 
> Signed-off-by: Chao Yu <chao2...@samsung.com>

Reviewed-by: Gu Zheng <guz.f...@cn.fujitsu.com>

> ---
>  fs/f2fs/segment.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
> index bb5980d..a4f8375 100644
> --- a/fs/f2fs/segment.c
> +++ b/fs/f2fs/segment.c
> @@ -272,14 +272,15 @@ int create_flush_cmd_control(struct f2fs_sb_info *sbi)
>               return -ENOMEM;
>       spin_lock_init(&fcc->issue_lock);
>       init_waitqueue_head(&fcc->flush_wait_queue);
> +     sbi->sm_info->cmd_control_info = fcc;
>       fcc->f2fs_issue_flush = kthread_run(issue_flush_thread, sbi,
>                               "f2fs_flush-%u:%u", MAJOR(dev), MINOR(dev));
>       if (IS_ERR(fcc->f2fs_issue_flush)) {
>               err = PTR_ERR(fcc->f2fs_issue_flush);
>               kfree(fcc);
> +             sbi->sm_info->cmd_control_info = NULL;
>               return err;
>       }
> -     sbi->sm_info->cmd_control_info = fcc;
>  
>       return err;
>  }



------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to