linux-stable/drivers/block/drbd
Lars Ellenberg a3f8f7dc7a drbd: validate resync_after dependency on attach already
We validated resync_after dependencies, if changed via disk-options.
But we did not validate them when first created via attach.
We also did not check or cleanup dependencies that used to be correct,
but now point to meanwhile removed minor devices.

If the drbd_resync_after_valid() validation in disk-options tried to
follow a dependency chain in this way, this could lead to NULL pointer
dereference.

Validate resync_after settings in drbd_adm_attach() already, as well as
in drbd_adm_disk_opts(), and and only reject dependency loops.
Depending on non-existing disks is allowed and equivalent to no dependency.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2013-03-28 10:10:25 -06:00
..
drbd_actlog.c drbd: consolidate as many updates as possible into one AL transaction 2013-03-22 22:18:09 -06:00
drbd_bitmap.c drbd: cleanup ondisk meta data layout calculations and defines 2013-03-22 18:13:59 -06:00
drbd_int.h drbd: consolidate as many updates as possible into one AL transaction 2013-03-22 22:18:09 -06:00
drbd_interval.c Merge branch 'drbd-8.4_ed6' into for-3.8-drivers-drbd-8.4_ed6 2012-11-09 14:20:23 +01:00
drbd_interval.h drbd: Iterate over all overlapping intervals in a tree 2011-10-14 16:47:37 +02:00
drbd_main.c drbd: fix memory leak 2013-03-28 10:10:25 -06:00
drbd_nl.c drbd: validate resync_after dependency on attach already 2013-03-28 10:10:25 -06:00
drbd_nla.c drbd: Split off netlink mandatory attribute handling into separate file 2012-11-08 16:57:45 +01:00
drbd_nla.h drbd: Split off netlink mandatory attribute handling into separate file 2012-11-08 16:57:45 +01:00
drbd_proc.c drbd: introduce stop-sector to online verify 2012-11-09 14:05:32 +01:00
drbd_receiver.c drbd: reset ap_in_flight counter for new connections 2013-03-28 10:10:24 -06:00
drbd_req.c drbd: only fail empty flushes if no good data is reachable 2013-03-28 10:10:25 -06:00
drbd_req.h drbd: only fail empty flushes if no good data is reachable 2013-03-28 10:10:25 -06:00
drbd_state.c drbd: Fix disconnect to keep the peer disk state if connection breaks during operation 2013-03-28 10:10:25 -06:00
drbd_state.h drbd: Improved logging of state changes 2012-11-08 16:45:06 +01:00
drbd_strings.c drbd: Fix disconnect to keep the peer disk state if connection breaks during operation 2013-03-28 10:10:25 -06:00
drbd_vli.h Fix common misspellings 2011-03-31 11:26:23 -03:00
drbd_worker.c drbd: validate resync_after dependency on attach already 2013-03-28 10:10:25 -06:00
drbd_wrappers.h drbd: Split off netlink mandatory attribute handling into separate file 2012-11-08 16:57:45 +01:00
Kconfig drbd: update Kconfig to match current dependencies 2012-12-06 13:08:29 +01:00
Makefile drbd: Split off netlink mandatory attribute handling into separate file 2012-11-08 16:57:45 +01:00