android_kernel_motorola_sm6225/drivers/block/drbd
Philipp Reisner 7da358625c drbd: Restore late assigning of tconn->data.sock and meta.sock
With commit from Mon Mar 28 16:33:12 2011 +0200
"drbd: drbd_connect(): Initialize struct drbd_socket before sending anything"

tconn->data.sock and tconn->meta.sock get assigned early, in
conn_connect.

The early assigning can trigger an OOPS, because it may released the socket
without acquiring the mutex protecting the socket. An other thread (worker)
might use setsockopt() on the socket while it gets free()ed.

Restored the (proven) 8.3 behavior of assigning these sockets after the two
connections are established.

Credits for reporting the issue are going to Arne Redlich.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
2012-11-08 16:58:13 +01:00
..
drbd_actlog.c drbd: fix potential spinlock deadlock 2012-11-08 16:58:09 +01:00
drbd_bitmap.c drbd: fix bitmap writeout after aborted resync 2012-11-08 16:58:04 +01:00
drbd_int.h drbd: Load balancing of read requests 2012-11-08 16:58:10 +01:00
drbd_interval.c drbd: Iterate over all overlapping intervals in a tree 2011-10-14 16:47:37 +02: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: Move list of epochs from mdev to tconn 2012-11-08 16:58:08 +01:00
drbd_nl.c drbd: Move write_ordering from mdev to tconn 2012-11-08 16:58:07 +01: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: Move list of epochs from mdev to tconn 2012-11-08 16:58:08 +01:00
drbd_receiver.c drbd: Restore late assigning of tconn->data.sock and meta.sock 2012-11-08 16:58:13 +01:00
drbd_req.c drbd: Consider that read requests could be NEG_ACKEDed 2012-11-08 16:58:12 +01:00
drbd_req.h drbd: Get rid of MR_{READ,WRITE}_SHIFT 2012-11-08 16:58:00 +01:00
drbd_state.c drbd: Log failures of connection state changes 2012-11-08 16:58:13 +01:00
drbd_state.h drbd: Improved logging of state changes 2012-11-08 16:45:06 +01:00
drbd_strings.c drbd: Allow volumes to become primary only on one side 2012-11-04 00:16:31 +01:00
drbd_vli.h Fix common misspellings 2011-03-31 11:26:23 -03:00
drbd_worker.c drbd: Fixed an obvious copy-n-paste mistake 2012-11-08 16:58:06 +01:00
drbd_wrappers.h drbd: Split off netlink mandatory attribute handling into separate file 2012-11-08 16:57:45 +01:00
Kconfig drbd: Kconfig fix 2009-12-29 17:38:28 +01:00
Makefile drbd: Split off netlink mandatory attribute handling into separate file 2012-11-08 16:57:45 +01:00