On Wed, 2015-11-25 at 21:49 +0800, Geliang Tang wrote: > Use offset_in_page macro instead of (addr & ~PAGE_MASK). > > Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> > --- > drivers/target/target_core_user.c | 2 +- > drivers/target/tcm_fc/tfc_io.c | 8 ++++---- > 2 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/target/target_core_user.c > b/drivers/target/target_core_user.c > index 937cebf..d5477c0 100644 > --- a/drivers/target/target_core_user.c > +++ b/drivers/target/target_core_user.c > @@ -194,7 +194,7 @@ static struct tcmu_cmd *tcmu_alloc_cmd(struct se_cmd > *se_cmd) > > static inline void tcmu_flush_dcache_range(void *vaddr, size_t size) > { > - unsigned long offset = (unsigned long) vaddr & ~PAGE_MASK; > + unsigned long offset = offset_in_page(vaddr); > > size = round_up(size+offset, PAGE_SIZE); > vaddr -= offset; > diff --git a/drivers/target/tcm_fc/tfc_io.c b/drivers/target/tcm_fc/tfc_io.c > index 847c1aa..6f7c65a 100644 > --- a/drivers/target/tcm_fc/tfc_io.c > +++ b/drivers/target/tcm_fc/tfc_io.c > @@ -154,9 +154,9 @@ int ft_queue_data_in(struct se_cmd *se_cmd) > BUG_ON(!page); > from = kmap_atomic(page + (mem_off >> PAGE_SHIFT)); > page_addr = from; > - from += mem_off & ~PAGE_MASK; > + from += offset_in_page(mem_off); > tlen = min(tlen, (size_t)(PAGE_SIZE - > - (mem_off & ~PAGE_MASK))); > + offset_in_page(mem_off))); > memcpy(to, from, tlen); > kunmap_atomic(page_addr); > to += tlen; > @@ -314,9 +314,9 @@ void ft_recv_write_data(struct ft_cmd *cmd, struct > fc_frame *fp) > > to = kmap_atomic(page + (mem_off >> PAGE_SHIFT)); > page_addr = to; > - to += mem_off & ~PAGE_MASK; > + to += offset_in_page(mem_off); > tlen = min(tlen, (size_t)(PAGE_SIZE - > - (mem_off & ~PAGE_MASK))); > + offset_in_page(mem_off))); > memcpy(to, from, tlen); > kunmap_atomic(page_addr); > Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html