Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3310597pxb; Mon, 24 Jan 2022 07:04:21 -0800 (PST) X-Google-Smtp-Source: ABdhPJzoVPHXwkvRhwep3nSvsdRKaBFeNdpB6Zz+SjrIw8mQIYNQnoKHcvHdDqE84Sh9lykEmi/r X-Received: by 2002:a17:902:a404:b0:148:c0e0:423f with SMTP id p4-20020a170902a40400b00148c0e0423fmr14600828plq.90.1643036661412; Mon, 24 Jan 2022 07:04:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643036661; cv=none; d=google.com; s=arc-20160816; b=U5SaxUhUsNxgc2a4xWxn7A4Yrl/JlFZ6t5phC7atjNlMslbHdlDaE7tBjYvupssEng /08Dfn7mQDSjiqCrg7b4cLtJK8RoUjeKm3kVrxtB5oTRUYr8yPi1fU7KNO8ifPpOQjAJ nWJEkKRnd+2/I44vkcK7cD1FwCrnrPUlwc9GmVUPyi9MNfkLu/Ne8i5dKFemiUQTvVx3 l0FYS7lZ0ZXvxPb7bvOjpEuIZ12Skk9HRiArH+fOJBY2V0E0RL0IZflAgIuEqEOQGk6c ldwn5MS/++Vda6krq9E6inaU2X5KgpOxP7cwDzKbqO0YMnAj+feKY35cEdMlA8bQeoau 0/GQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=lqXWavTkFHTwHNA0w3WvjMfW+IsP3exTdwmOO6UQPEk=; b=G9d6F2aVu7dOcHWzQvEk4V27NqRYrjsuWm4H0LZ4Zd6byG8PnuefSXwWBxcRXdkBy3 +/eIO/b19Z2E5l0DHrZ0DN3Q7v1++F3xy6lIR9SFlDl6eW3dUV5JIgTGMcVWYIx8l/Us y1CxSHlOvX6Mq//Bnsi3fo1Ph5SF6mpgpad/FFcM3rFVQoQr8SnA4upLEZ1zvEeUsOvv XRwxgdT4o+pnD9QRnSnnXQkwn1mj0KRtxpj4CeLEINLqs89nUzouEUNIzmi/VzQUvcHP YHM5frsUeDrq11tTXEav94qSdDN/6GCErD5SPbfvA7BLdMH4Zat5djlJAsYHB9bWAI4T +t1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=EcbWGnPw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id pi3si23048760pjb.156.2022.01.24.07.04.08; Mon, 24 Jan 2022 07:04:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=EcbWGnPw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240722AbiAXBau (ORCPT + 99 others); Sun, 23 Jan 2022 20:30:50 -0500 Received: from mga12.intel.com ([192.55.52.136]:50683 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238668AbiAXBat (ORCPT ); Sun, 23 Jan 2022 20:30:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642987849; x=1674523849; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=Ey+n2vpf3UL7JY06ddv7LGT5N6OBRc7eHh0eSLSCsF4=; b=EcbWGnPwXvkFL8z5O85aKzV0/KOLYNbdwrng4TxLEihUEEvpn8MgOpwL S6aWmQkkudwWShnkQ8QmfOZCY2BXkytKjkMTGRgMz+OFMDPdT2BiJT7vm 4xMGp23wT5LxXRMrTgO6wRLtqOYH2BjVpZvlnFqbhq2Qnzz0yLUZwl7iN +fJaUoew5UxZ3PKHux6nSmxCqsGHrGdEsN7Qi5kR5stTKISHGQmiAHh3m YOGFO8fY+ZIf2BP7+1OwxYIdJPydnC+YUSd5kY7Sj3473c33SaVetLjQv wt9QJ2RXxsuJe1Ax5lHKmXaBvVyu5K2/BOXdj+WRjhX/sf3BwIGjb7bTM w==; X-IronPort-AV: E=McAfee;i="6200,9189,10236"; a="225920905" X-IronPort-AV: E=Sophos;i="5.88,311,1635231600"; d="scan'208";a="225920905" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jan 2022 17:30:49 -0800 X-IronPort-AV: E=Sophos;i="5.88,311,1635231600"; d="scan'208";a="627316501" Received: from iweiny-desk2.sc.intel.com (HELO localhost) ([10.3.52.147]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jan 2022 17:30:48 -0800 From: ira.weiny@intel.com To: Andrew Morton Cc: Ira Weiny , linux-kernel@vger.kernel.org Subject: [PATCH] highmem: Document kunmap_local() Date: Sun, 23 Jan 2022 17:30:44 -0800 Message-Id: <20220124013045.806718-1-ira.weiny@intel.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ira Weiny Some users of kmap() add an offset to the kmap() address to be used during the mapping. When converting to kmap_local_page() the base address does not need to be stored because any address within the page can be used in kunmap_local(). However, this was not clear from the documentation and caused some questions.[1] Document that any address in the page can be used in kunmap_local() to clarify this for future users. [1] https://lore.kernel.org/lkml/20211213154543.GM3538886@iweiny-DESK2.sc.intel.com/ Signed-off-by: Ira Weiny --- include/linux/highmem-internal.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/linux/highmem-internal.h b/include/linux/highmem-internal.h index 0a0b2b09b1b8..fb2d3e033c01 100644 --- a/include/linux/highmem-internal.h +++ b/include/linux/highmem-internal.h @@ -246,6 +246,17 @@ do { \ __kunmap_atomic(__addr); \ } while (0) +/** + * kunmap_local - Unmap a page mapped via kmap_local_page(). + * @__addr: An address within the page mapped + * + * __addr is often an address returned from kmap_local_page(). However, + * this address can be any address within the mapped page. It does not need to + * be the exact address returned from kmap_local_page() + * + * Unmapping should be done in the reverse order of the mapping. See + * kmap_local_page() for details. + */ #define kunmap_local(__addr) \ do { \ BUILD_BUG_ON(__same_type((__addr), struct page *)); \ -- 2.31.1