mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-24 09:13:20 -05:00
4b9c2edaf7
bvec_set_page has the following signature:
static inline void bvec_set_page(struct bio_vec *bv, struct page *page,
unsigned int len, unsigned int offset)
However, the usage in DRBD swaps the len and offset parameters. This
leads to a bvec with length=0 instead of the intended length=4096, which
causes sock_sendmsg to return -EIO.
This leaves DRBD unable to transmit any pages and thus completely
broken.
Swapping the parameters fixes the regression.
Fixes:
|
||
---|---|---|
.. | ||
drbd_actlog.c | ||
drbd_bitmap.c | ||
drbd_buildtag.c | ||
drbd_debugfs.c | ||
drbd_debugfs.h | ||
drbd_int.h | ||
drbd_interval.c | ||
drbd_interval.h | ||
drbd_main.c | ||
drbd_nl.c | ||
drbd_nla.c | ||
drbd_nla.h | ||
drbd_polymorph_printk.h | ||
drbd_proc.c | ||
drbd_protocol.h | ||
drbd_receiver.c | ||
drbd_req.c | ||
drbd_req.h | ||
drbd_state.c | ||
drbd_state.h | ||
drbd_state_change.h | ||
drbd_strings.c | ||
drbd_strings.h | ||
drbd_vli.h | ||
drbd_worker.c | ||
Kconfig | ||
Makefile |