forked from Minki/linux
RDS: fix congestion map corruption for PAGE_SIZE > 4k
When PAGE_SIZE > 4k single page can contain 2 RDS fragments. If 'rds_ib_cong_recv' ignore the RDS fragment offset in to the page it then read the data fragment as far congestion map update and lead to corruption of the RDS connection far congestion map. Signed-off-by: Shamir Rabinovitch <shamir.rabinovitch@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e98499ac63
commit
579ba85552
@ -796,7 +796,7 @@ static void rds_ib_cong_recv(struct rds_connection *conn,
|
||||
|
||||
addr = kmap_atomic(sg_page(&frag->f_sg));
|
||||
|
||||
src = addr + frag_off;
|
||||
src = addr + frag->f_sg.offset + frag_off;
|
||||
dst = (void *)map->m_page_addrs[map_page] + map_off;
|
||||
for (k = 0; k < to_copy; k += 8) {
|
||||
/* Record ports that became uncongested, ie
|
||||
|
Loading…
Reference in New Issue
Block a user