From mboxrd@z Thu Jan 1 00:00:00 1970 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D5635C54EAA for ; Thu, 26 Jan 2023 11:21:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 614738E0001; Thu, 26 Jan 2023 06:21:19 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 59D696B0075; Thu, 26 Jan 2023 06:21:19 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 43F248E0001; Thu, 26 Jan 2023 06:21:19 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 2F66F6B0073 for ; Thu, 26 Jan 2023 06:21:19 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 00A5680B2E for ; Thu, 26 Jan 2023 11:21:18 +0000 (UTC) X-FDA: 80396709078.17.547045B Received: from gentwo.de (gentwo.de [161.97.139.209]) by imf23.hostedemail.com (Postfix) with ESMTP id F20CC140018 for ; Thu, 26 Jan 2023 11:21:16 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gentwo.de header.s=default header.b=HpMrgwHj; spf=pass (imf23.hostedemail.com: domain of cl@gentwo.de designates 161.97.139.209 as permitted sender) smtp.mailfrom=cl@gentwo.de; dmarc=pass (policy=none) header.from=gentwo.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674732077; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Sl6iXRTiBqPTjyOISnvvgW3+fMlH9QemL0yle5p+a6Y=; b=hKxIusHMS73UjJu4cWX93YkA5YMGYKP6QzaaY+Q6cxwaVXgmuaU3JMQb8bywnfYagS2vRX /XinkUiRzs1xVy0GAO/6FwfkA2gP3AWkvMLVI9dZeJ6pCrWkl2wtlTkmaVy928EFUAZ5SM Ah5jgE/TaptbubtCIMl8UUmxRRPgBZ0= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gentwo.de header.s=default header.b=HpMrgwHj; spf=pass (imf23.hostedemail.com: domain of cl@gentwo.de designates 161.97.139.209 as permitted sender) smtp.mailfrom=cl@gentwo.de; dmarc=pass (policy=none) header.from=gentwo.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674732077; a=rsa-sha256; cv=none; b=ZFwq3ZxI9HEGDO3p4wY/rcaZrRzQHCRkPGl6yq4ZWF/9uV3q5K3sUDF+uszR98ICBq6Icj /gi2zopk+fhbR9KbYr8Dam0Qa/D0P/9Tu1rge+HuUeYZ/az8hbOGLcPmLBxhpnx4UmiRTT +jgMZrcPV0SrVwgfoKfRBhpRluIDFg4= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gentwo.de; s=default; t=1674732074; bh=9OAbb+6Iby7ioZj2GSSudmr2Eanm/bGeive3un3bnO8=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=HpMrgwHjh/rRJnbGwExJkLnSMk1A3L9738oqNYw4K/Jzj2CeLC+ZtJ8f1G568ZN3a dQRbzbetlbHFUH+BpqI3NC2eGyzIqNY8rBj5fj3WwOqz7ZUm39lesHTDjYJ/v8issc iXttVG0uDOIxcVIEfDAk3nGHoeIIiWFI8iO3WaVqJ2pgjnViCIXwD+qEdRajU/fZ9f QXTQXng2LxWW8vWcNhDke+z+006jV+GW/nhBXT6n00K39TbRSxlhQ3g47fOns2erXC pvEfaUe9OuKw4+QFbrBhVazSTqQJt0Ycqbu1tC7Cclv8QzpQIBBRaOoFrIiieI5+vO NkCo3wy+Hjzhg== Received: by gentwo.de (Postfix, from userid 1001) id A067FB0028E; Thu, 26 Jan 2023 12:21:14 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by gentwo.de (Postfix) with ESMTP id 9B095B00137; Thu, 26 Jan 2023 12:21:14 +0100 (CET) Date: Thu, 26 Jan 2023 12:21:14 +0100 (CET) From: Christoph Lameter To: George Prekas cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Catalin Marinas , Andrew Morton , Pekka Enberg , David Rientjes , Joonsoo Kim , Vlastimil Babka , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Thomas Gleixner , "Eric W. Biederman" , Sebastian Andrzej Siewior , Andy Lutomirski , Peter Zijlstra , "Liam R. Howlett" , Fenghua Yu , Andrei Vagin Subject: Re: [PATCH 9/9] mm: kmemleak: fix undetected leaks for page aligned objects In-Reply-To: <20230123170419.7292-10-george@enfabrica.net> Message-ID: References: <20230123170419.7292-1-george@enfabrica.net> <20230123170419.7292-10-george@enfabrica.net> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: F20CC140018 X-Stat-Signature: 9am9smc1bed3tbxnbrtmwpifz35pi3kf X-Rspam-User: X-HE-Tag: 1674732076-651032 X-HE-Meta: U2FsdGVkX1/ra8nIrBwagfoFg/u5V8gl9HomNz6VNZAJU1zEz+tQJmV9RH7hp3QY1N0WNvn5tCPaeqHuuRxYZqVRWOr71/KLl04a6ZKBlps6pBVFS4FIsApnoHd2KvoAwYm8yk03pfeZPI5c0u4sYvuGw5FZxlVHgoaB0nK+5Pxu60l/cpV+bfVlY2nKE2MJxh+qN/OsR37RSKYJgYsq+6gKsxZwYbf4wezK9qT4Y8RCo8IAU6NvHBLqhwST42AuIAB72QhJwI0Ws3aNPJV7iVq6u2De9ZsNCBKMaXEf/THglH2ekmyL1RpKlvFgsu714mCzrTDb3Y0yB/9Ag8lyZfeH1+qAUVhlROIsIvnB3BSiV3QrxcJEfqI+rna68ZsFuDbNCDMsUFoB2THhZzJ/Z13t8S7v6pPiIdiiARKjvBQ0i6XkCaZKMDIL2zeV3pgcahpiV56rvYLbbjf/mx8LkVTSjVIfORbGwHqXRxtjX65gVOkHQ6BN5XC8loZNhN+p5XvU1HU7YCB2cI5a7PPMXL5KgGoT15FdLFWd0ixI8eOQKazdd34CF2Ewhf5smVMhRrJ3MRJBlE/DV+V+UskrFSZRwtd2aVnv8w5Czil6x/rGC/TRbqbgkhKUYG2wm0bLScD19LwX9tKWgvrG6NuiWtKhZFNjavt+r7biHK5l91ShPcPwJZsmjO8r7r0qz15VNuSyTE5bI5HPqti75sCi7/BxddFY7pDvkZ52LNAYR1hscq+pL3aDH5o3SMOX/yWRdHsmh8A4Zt+4MqAz9BuZ9AiJ8UJRJN4ef9+iclU0zL26ZkGfAA3VZ2BZ65J3NLr2ydlVwDjTpv9rOUAUgG4Lu+IsH5Vw8U6IV0UCND1Md67jZUbwp+f6AsjQZYx7GQObJnCrHi8zIYADcDwDHDbg3Q89rTT/0Dth8LV52lw8lW90ZjGux6IX1supktJrWgLOklh/POfXmUnc4ZYrnqS xtgzi2yy QDH4+btz7XenX9jHqceCsPAjuEU/Y4OgsoBqqQRNY9knaIaLjCnbqJ94bc+rSh3nHfVqFiE/e6tV2gIYYYHzxcb/inj4Z69CGP1gqPcPQmuEWP1N2QRLTJFHpV78Oji/i7lH7qw5iBjVPq3EyG/+X5YgYJfd1jxEeGvH1HlLASviL7oowJK9vVI8zNZp83lff7zCUg3caWukG2txgDCx4iVzZhnr0M9XD9mChPHW6xDMfTfs= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Mon, 23 Jan 2023, George Prekas wrote: > If kmalloc returns a page aligned object, then the object has 2 > references: the pointer returned by kmalloc and page->s_mem of the first > page of the object. Account for this extra reference, so that kmemleak > can correctly detect leaks for page aligned objects. s_mem is a reference to the array of slab objects in a SLAB page. It is not referring to a particular object. s_mem allows access to the Nth object in a slab page. See the function index_to_obj() in slab.c static inline void *index_to_obj(struct kmem_cache *cache, const struct slab *slab, unsigned int idx) { return slab->s_mem + cache->size * idx; }