blk-core: Fix memory corruption if blkcg_init_queue fails
Mikulas Patocka authored
commit fff4996b upstream.

If blkcg_init_queue fails, blk_alloc_queue_node doesn't call bdi_destroy
to clean up structures allocated by the backing dev.

------------[ cut here ]------------
WARNING: at lib/debugobjects.c:260 debug_print_object+0x85/0xa0()
ODEBUG: free active (active state 0) object type: percpu_counter hint:           (null)
Modules linked in: dm_loop dm_mod ip6table_filter ip6_tables uvesafb cfbcopyarea cfbimgblt cfbfillrect fbcon font bitblit fbcon_rotate fbcon_cw fbcon_ud fbcon_ccw softcursor fb fbdev ipt_MASQUERADE iptable_nat nf_nat_ipv4 msr nf_conntrack_ipv4 nf_defrag_ipv4 xt_state ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp llc tun ipv6 cpufreq_userspace cpufreq_stats cpufreq_powersave cpufreq_ondemand cpufreq_conservative spadfs fuse hid_generic usbhid hid raid0 md_mod dmi_sysfs nf_nat_ftp nf_nat nf_conntrack_ftp nf_conntrack lm85 hwmon_vid snd_usb_audio snd_pcm_oss snd...
78530a1a
Name Last commit Last update
..
partitions LDM: Fix reassembly of extended VBLKs.
Kconfig move fs/partitions to block/
Kconfig.iosched blk-cgroup: config options re-arrangement
Makefile separate partition format handling from generic code
blk-cgroup.c Merge branch 'for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
blk-cgroup.h block: fix a typo in the blk-cgroup.h file
blk-core.c blk-core: Fix memory corruption if blkcg_init_queue fails
blk-exec.c block: add missing blk_queue_dead() checks
blk-flush.c blk-flush: move the queue kick into
blk-integrity.c block: add export.h to files using EXPORT_SYMBOL/THIS_MODULE macros
blk-ioc.c block: fix ioc leak in put_io_context
blk-iopoll.c tree-wide: fix assorted typos all over the place
blk-lib.c block: fix patch import error in max_discard_sectors check
blk-map.c block: re-use existing 'reading' variable instead of checking direction again
blk-merge.c block: separate out blk_rq_merge_ok() and blk_try_merge() from elevator functions
blk-settings.c block: properly stack underlying max_segment_size to DM device
blk-softirq.c sched, block: Unify cache detection
blk-sysfs.c block: avoid using uninitialized value in from queue_var_store
blk-tag.c block: fix blk_queue_end_tag()
blk-throttle.c block: use lockdep_assert_held for queue locking
blk-timeout.c block: fix race between request completion and timeout handling
blk.h Merge branch 'linus' into sched/core
bsg-lib.c block: Change module.h -> export.h in bsg-lib.c
bsg.c bsg: fix sysfs link remove warning
cfq-iosched.c block: Make cfq_target_latency tunable through sysfs.
cfq.h blk-cgroup: Add unaccounted time to timeslice_used.
compat_ioctl.c block: Add BLKROTATIONAL ioctl
deadline-iosched.c block, cfq: move icq cache management to block core
elevator.c elevator: acquire q->sysfs_lock in elevator_change()
genhd.c block: do not pass disk names as format strings
ioctl.c Merge branch 'for-3.3/core' of git://git.kernel.dk/linux-block
noop-iosched.c block, cfq: move icq cache management to block core
partition-generic.c block: fix ext_devt_idr handling
scsi_ioctl.c scsi: Silence unnecessary warnings about ioctl to partition