[PATCH] To add NULL pointer check

From: P J P
Date: Tue Apr 02 2013 - 08:57:15 EST


Hello,

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

The patch below adds a NULL pointer check, from generic_writepages(), to avoid a possible NULL pointer dereference, in case if - mapping->a_ops->writepage - is NULL.

===
$ git diff
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 7bd22a2..9841372 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -550,9 +550,16 @@ redirty_out:
static int __f2fs_writepage(struct page *page, struct writeback_control *wbc,
void *data)
{
+ int ret = 0;
struct address_space *mapping = data;
- int ret = mapping->a_ops->writepage(page, wbc);
+
+ /* deal with chardevs and other special file */
+ if (!mapping->a_ops->writepage)
+ return ret;
+
+ ret = mapping->a_ops->writepage(page, wbc);
mapping_set_error(mapping, ret);
+
return ret;
}
===


Thank you.
--
Prasad J Pandit / Red Hat Security Response Team
DB7A 84C5 D3F9 7CD1 B5EB C939 D048 7860 3655 602B
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/