diff options
author | shamir rabinovitch <shamir.rabinovitch@oracle.com> | 2016-04-07 07:57:35 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-04-07 16:58:27 -0400 |
commit | e98499ac63977c75331b198a18979944a532c9f2 (patch) | |
tree | 209abde5dccbc9e0670334555c75f09464fa8b31 | |
parent | a0ca153f98db8cf25298565a09e11fe9d82846ad (diff) |
RDS: memory allocated must be align to 8
Fix issue in 'rds_ib_cong_recv' when accessing unaligned memory
allocated by 'rds_page_remainder_alloc' using uint64_t pointer.
Signed-off-by: Shamir Rabinovitch <shamir.rabinovitch@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/rds/page.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/rds/page.c b/net/rds/page.c index 616f21f4e7d7..e2b5a5832d3d 100644 --- a/net/rds/page.c +++ b/net/rds/page.c | |||
@@ -135,8 +135,8 @@ int rds_page_remainder_alloc(struct scatterlist *scat, unsigned long bytes, | |||
135 | if (rem->r_offset != 0) | 135 | if (rem->r_offset != 0) |
136 | rds_stats_inc(s_page_remainder_hit); | 136 | rds_stats_inc(s_page_remainder_hit); |
137 | 137 | ||
138 | rem->r_offset += bytes; | 138 | rem->r_offset += ALIGN(bytes, 8); |
139 | if (rem->r_offset == PAGE_SIZE) { | 139 | if (rem->r_offset >= PAGE_SIZE) { |
140 | __free_page(rem->r_page); | 140 | __free_page(rem->r_page); |
141 | rem->r_page = NULL; | 141 | rem->r_page = NULL; |
142 | } | 142 | } |