From nobody Thu Sep 11 21:25:36 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 432B1C04A94 for ; Tue, 8 Aug 2023 21:53:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232617AbjHHVxj (ORCPT ); Tue, 8 Aug 2023 17:53:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55254 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232406AbjHHVx2 (ORCPT ); Tue, 8 Aug 2023 17:53:28 -0400 Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BF0CB21E8F for ; Tue, 8 Aug 2023 10:31:57 -0700 (PDT) Received: from kwepemi500008.china.huawei.com (unknown [172.30.72.55]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4RKlyH2ThczVk75; Tue, 8 Aug 2023 16:01:43 +0800 (CST) Received: from huawei.com (10.90.53.73) by kwepemi500008.china.huawei.com (7.221.188.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Tue, 8 Aug 2023 16:03:36 +0800 From: Ruan Jinjie To: , CC: Subject: [PATCH -next] iov_iter: Use helper macro offset_in_page() Date: Tue, 8 Aug 2023 16:02:58 +0800 Message-ID: <20230808080258.2301297-1-ruanjinjie@huawei.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.90.53.73] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemi500008.china.huawei.com (7.221.188.139) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use helper macro offset_in_page() to improve code readability. No functional modification involved. Also, it fixes the following warning: WARNING: Prefer 'unsigned int' to bare use of 'unsigned' + unsigned offs =3D offset_in_page(p->bv_offset + skip); WARNING: Prefer 'unsigned int' to bare use of 'unsigned' + unsigned offset =3D offset_in_page(i->xarray_start + i->iov= _offset); Signed-off-by: Ruan Jinjie --- lib/iov_iter.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/iov_iter.c b/lib/iov_iter.c index 424737045b97..b76704c36528 100644 --- a/lib/iov_iter.c +++ b/lib/iov_iter.c @@ -1089,7 +1089,7 @@ static struct page *first_bvec_segment(const struct i= ov_iter *i, *size =3D len; skip +=3D i->bvec->bv_offset; page =3D i->bvec->bv_page + skip / PAGE_SIZE; - *start =3D skip % PAGE_SIZE; + *start =3D offset_in_page(skip); return page; } =20 @@ -1116,7 +1116,7 @@ static ssize_t __iov_iter_get_pages_alloc(struct iov_= iter *i, gup_flags |=3D FOLL_NOFAULT; =20 addr =3D first_iovec_segment(i, &maxsize); - *start =3D addr % PAGE_SIZE; + *start =3D offset_in_page(addr); addr &=3D PAGE_MASK; n =3D want_pages_array(pages, maxsize, *start, maxpages); if (!n) @@ -1280,7 +1280,7 @@ static int bvec_npages(const struct iov_iter *i, int = maxpages) int npages =3D 0; =20 for (p =3D i->bvec; size; skip =3D 0, p++) { - unsigned offs =3D (p->bv_offset + skip) % PAGE_SIZE; + unsigned int offs =3D offset_in_page(p->bv_offset + skip); size_t len =3D min(p->bv_len - skip, size); =20 size -=3D len; @@ -1306,7 +1306,7 @@ int iov_iter_npages(const struct iov_iter *i, int max= pages) if (iov_iter_is_bvec(i)) return bvec_npages(i, maxpages); if (iov_iter_is_xarray(i)) { - unsigned offset =3D (i->xarray_start + i->iov_offset) % PAGE_SIZE; + unsigned int offset =3D offset_in_page(i->xarray_start + i->iov_offset); int npages =3D DIV_ROUND_UP(offset + i->count, PAGE_SIZE); return min(npages, maxpages); } @@ -1670,7 +1670,7 @@ static ssize_t iov_iter_extract_bvec_pages(struct iov= _iter *i, =20 skip +=3D i->bvec->bv_offset; page =3D i->bvec->bv_page + skip / PAGE_SIZE; - offset =3D skip % PAGE_SIZE; + offset =3D offset_in_page(skip); *offset0 =3D offset; =20 maxpages =3D want_pages_array(pages, maxsize, offset, maxpages); @@ -1773,7 +1773,7 @@ static ssize_t iov_iter_extract_user_pages(struct iov= _iter *i, gup_flags |=3D FOLL_NOFAULT; =20 addr =3D first_iovec_segment(i, &maxsize); - *offset0 =3D offset =3D addr % PAGE_SIZE; + *offset0 =3D offset =3D offset_in_page(addr); addr &=3D PAGE_MASK; maxpages =3D want_pages_array(pages, maxsize, offset, maxpages); if (!maxpages) --=20 2.34.1