DragonFlyBSD Kernel Audit
DF-2166 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/linux_shmem.c b/sys/dev/drm/linux_shmem.c
--- a/sys/dev/drm/linux_shmem.c
+++ b/sys/dev/drm/linux_shmem.c
@@ -99,7 +99,10 @@
 pagecache_write_begin(struct vm_object *obj, struct address_space *mapping,
     loff_t pos, unsigned len, unsigned flags, struct page **pagep, void **fsdata)
 {
-	*pagep = shmem_read_mapping_page(obj, OFF_TO_IDX(pos));
+	struct page *page = shmem_read_mapping_page(obj, OFF_TO_IDX(pos));
+	if (IS_ERR(page))
+		return PTR_ERR(page);
+	*pagep = page;
 
 	return 0;
 }