[dm-devel] [PATCH 4/4] bdi: test bdi_init failure
Mikulas Patocka
mpatocka at redhat.com
Mon Oct 14 16:14:13 UTC 2013
There were two places where return value from bdi_init was not tested.
Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>
---
fs/char_dev.c | 3 ++-
include/linux/backing-dev.h | 4 ++--
mm/swap.c | 3 ++-
3 files changed, 6 insertions(+), 4 deletions(-)
Index: linux-2.6/include/linux/backing-dev.h
===================================================================
--- linux-2.6.orig/include/linux/backing-dev.h 2013-10-11 19:54:12.000000000 +0200
+++ linux-2.6/include/linux/backing-dev.h 2013-10-11 22:39:14.000000000 +0200
@@ -109,7 +109,7 @@ struct backing_dev_info {
#endif
};
-int bdi_init(struct backing_dev_info *bdi);
+int __must_check bdi_init(struct backing_dev_info *bdi);
void bdi_destroy(struct backing_dev_info *bdi);
__printf(3, 4)
@@ -117,7 +117,7 @@ int bdi_register(struct backing_dev_info
const char *fmt, ...);
int bdi_register_dev(struct backing_dev_info *bdi, dev_t dev);
void bdi_unregister(struct backing_dev_info *bdi);
-int bdi_setup_and_register(struct backing_dev_info *, char *, unsigned int);
+int __must_check bdi_setup_and_register(struct backing_dev_info *, char *, unsigned int);
void bdi_start_writeback(struct backing_dev_info *bdi, long nr_pages,
enum wb_reason reason);
void bdi_start_background_writeback(struct backing_dev_info *bdi);
Index: linux-2.6/fs/char_dev.c
===================================================================
--- linux-2.6.orig/fs/char_dev.c 2013-10-11 19:54:12.000000000 +0200
+++ linux-2.6/fs/char_dev.c 2013-10-11 22:39:14.000000000 +0200
@@ -574,7 +574,8 @@ static struct kobject *base_probe(dev_t
void __init chrdev_init(void)
{
cdev_map = kobj_map_init(base_probe, &chrdevs_lock);
- bdi_init(&directly_mappable_cdev_bdi);
+ if (bdi_init(&directly_mappable_cdev_bdi))
+ panic("Failed to init directly mappable cdev bdi");
}
Index: linux-2.6/mm/swap.c
===================================================================
--- linux-2.6.orig/mm/swap.c 2013-10-11 19:54:12.000000000 +0200
+++ linux-2.6/mm/swap.c 2013-10-11 22:39:14.000000000 +0200
@@ -934,7 +934,8 @@ void __init swap_setup(void)
#ifdef CONFIG_SWAP
int i;
- bdi_init(swapper_spaces[0].backing_dev_info);
+ if (bdi_init(swapper_spaces[0].backing_dev_info))
+ panic("Failed to init swap bdi");
for (i = 0; i < MAX_SWAPFILES; i++) {
spin_lock_init(&swapper_spaces[i].tree_lock);
INIT_LIST_HEAD(&swapper_spaces[i].i_mmap_nonlinear);
More information about the dm-devel
mailing list