Commit 8077c0d983ab276ec5f2700df56a64d671781905
Committed by
Jens Axboe
1 parent
a207f59376
Exists in
master
and in
16 other branches
bdi: test bdi_init failure
There were two places where return value from bdi_init was not tested. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Showing 3 changed files with 6 additions and 4 deletions Side-by-side Diff
fs/char_dev.c
... | ... | @@ -574,7 +574,8 @@ |
574 | 574 | void __init chrdev_init(void) |
575 | 575 | { |
576 | 576 | cdev_map = kobj_map_init(base_probe, &chrdevs_lock); |
577 | - bdi_init(&directly_mappable_cdev_bdi); | |
577 | + if (bdi_init(&directly_mappable_cdev_bdi)) | |
578 | + panic("Failed to init directly mappable cdev bdi"); | |
578 | 579 | } |
579 | 580 | |
580 | 581 |
include/linux/backing-dev.h
... | ... | @@ -109,7 +109,7 @@ |
109 | 109 | #endif |
110 | 110 | }; |
111 | 111 | |
112 | -int bdi_init(struct backing_dev_info *bdi); | |
112 | +int __must_check bdi_init(struct backing_dev_info *bdi); | |
113 | 113 | void bdi_destroy(struct backing_dev_info *bdi); |
114 | 114 | |
115 | 115 | __printf(3, 4) |
... | ... | @@ -117,7 +117,7 @@ |
117 | 117 | const char *fmt, ...); |
118 | 118 | int bdi_register_dev(struct backing_dev_info *bdi, dev_t dev); |
119 | 119 | void bdi_unregister(struct backing_dev_info *bdi); |
120 | -int bdi_setup_and_register(struct backing_dev_info *, char *, unsigned int); | |
120 | +int __must_check bdi_setup_and_register(struct backing_dev_info *, char *, unsigned int); | |
121 | 121 | void bdi_start_writeback(struct backing_dev_info *bdi, long nr_pages, |
122 | 122 | enum wb_reason reason); |
123 | 123 | void bdi_start_background_writeback(struct backing_dev_info *bdi); |
mm/swap.c
... | ... | @@ -934,7 +934,8 @@ |
934 | 934 | #ifdef CONFIG_SWAP |
935 | 935 | int i; |
936 | 936 | |
937 | - bdi_init(swapper_spaces[0].backing_dev_info); | |
937 | + if (bdi_init(swapper_spaces[0].backing_dev_info)) | |
938 | + panic("Failed to init swap bdi"); | |
938 | 939 | for (i = 0; i < MAX_SWAPFILES; i++) { |
939 | 940 | spin_lock_init(&swapper_spaces[i].tree_lock); |
940 | 941 | INIT_LIST_HEAD(&swapper_spaces[i].i_mmap_nonlinear); |