Hi, Thank you for your contribution. As I consider the null pointer check, generic_writepages() originally does so. Therefore, I think f2fs_write_data_pages() is better to handle this. Please review the modified patch. Thanks, --- From d3c811a51c7062fb1b66bec910ed346447c02032 Mon Sep 17 00:00:00 2001 From: P J P <ppandit@xxxxxxxxxx> Date: Wed, 3 Apr 2013 11:38:00 +0900 Subject: [PATCH] f2fs: add NULL pointer check Cc: linux-fsdevel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx Commit - fa9150a84c - replaces a call to generic_writepages() in f2fs_write_data_pages() with write_cache_pages(), with a function pointer argument pointing to routine: __f2fs_writepage. -> https://git.kernel.org/linus/fa9150a84ca333f68127097c4fa1eda4b3913a22 This patch adds a NULL pointer check in f2fs_write_data_pages() to avoid a possible NULL pointer dereference, in case if - mapping->a_ops->writepage - is NULL. Signed-off-by: P J P <ppandit@xxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk.kim@xxxxxxxxxxx> --- fs/f2fs/data.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 47a2d7c..cf9ff5f 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -559,6 +559,10 @@ static int f2fs_write_data_pages(struct address_space *mapping, int ret; long excess_nrtw = 0, desired_nrtw; + /* deal with chardevs and other special file */ + if (!mapping->a_ops->writepage) + return 0; + if (wbc->nr_to_write < MAX_DESIRED_PAGES_WP) { desired_nrtw = MAX_DESIRED_PAGES_WP; excess_nrtw = desired_nrtw - wbc->nr_to_write; -- 1.8.1.3.566.gaa39828 -- Jaegeuk Kim Samsung
Attachment:
signature.asc
Description: This is a digitally signed message part