From de26103de56a0c482ad21296eae9b06deefc8e62 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Tue, 23 Oct 2007 20:35:58 +0200 Subject: [PATCH] [SG] Add debug check for page alignment Suggested by Boaz Harrosh Signed-off-by: Jens Axboe --- include/linux/scatterlist.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/linux/scatterlist.h b/include/linux/scatterlist.h index 42daf5e..df7ddce 100644 --- a/include/linux/scatterlist.h +++ b/include/linux/scatterlist.h @@ -41,6 +41,11 @@ static inline void sg_set_page(struct scatterlist *sg, struct page *page) { unsigned long page_link = sg->page_link & 0x3; + /* + * In order for the low bit stealing approach to work, pages + * must be aligned at a 32-bit boundary as a minimum. + */ + BUG_ON((unsigned long) page & 0x03); #ifdef CONFIG_DEBUG_SG BUG_ON(sg->sg_magic != SG_MAGIC); #endif -- 1.8.2.3