netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 1/2] RDS: fix "Kernel unaligned access" on sparc64
@ 2016-04-03 12:24 Shamir Rabinovitch
  2016-04-03 12:24 ` [PATCH v3 2/2] RDS: fix congestion map corruption for PAGE_SIZE > 8k Shamir Rabinovitch
  2016-04-04 19:57 ` [PATCH v3 1/2] RDS: fix "Kernel unaligned access" on sparc64 David Miller
  0 siblings, 2 replies; 3+ messages in thread
From: Shamir Rabinovitch @ 2016-04-03 12:24 UTC (permalink / raw)
  To: rds-devel, netdev; +Cc: davem, shamir.rabinovitch

Sparc64 expect 64 bit types to be aligned to 8. This patch ensure that
memory allocated by 'rds_page_remainder_alloc' will be aligned to 8.
This patch fix issue found in 'rds_ib_cong_recv' when accessing
unaligned memory using uint64_t pointer.

Signed-off-by: Shamir Rabinovitch <shamir.rabinovitch@oracle.com>

Reviewed-by: Wengang Wang <wen.gang.wang@oracle.com>
Reviewed-by: Ajaykumar Hotchandani <ajaykumar.hotchandani@oracle.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Tested-by: Anand Bibhuti <anand.bibhuti@oracle.com>
---
 net/rds/page.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/net/rds/page.c b/net/rds/page.c
index 616f21f..4813e1f 100644
--- a/net/rds/page.c
+++ b/net/rds/page.c
@@ -135,8 +135,9 @@ int rds_page_remainder_alloc(struct scatterlist *scat, unsigned long bytes,
 			if (rem->r_offset != 0)
 				rds_stats_inc(s_page_remainder_hit);
 
-			rem->r_offset += bytes;
-			if (rem->r_offset == PAGE_SIZE) {
+			/* fix 'Kernel unaligned access' on sparc64 */
+			rem->r_offset += ALIGN(bytes, 8);
+			if (rem->r_offset >= PAGE_SIZE) {
 				__free_page(rem->r_page);
 				rem->r_page = NULL;
 			}
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-04-04 19:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-03 12:24 [PATCH v3 1/2] RDS: fix "Kernel unaligned access" on sparc64 Shamir Rabinovitch
2016-04-03 12:24 ` [PATCH v3 2/2] RDS: fix congestion map corruption for PAGE_SIZE > 8k Shamir Rabinovitch
2016-04-04 19:57 ` [PATCH v3 1/2] RDS: fix "Kernel unaligned access" on sparc64 David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).