Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp277216pxk; Thu, 17 Sep 2020 02:50:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwvOrewI+yr8wvgSDiZnKeN/O6tBhdHKGxVmswVfsrp0uhcUZMliWiEjIvkDZYgtQjiTWgp X-Received: by 2002:aa7:d059:: with SMTP id n25mr31869082edo.270.1600336218076; Thu, 17 Sep 2020 02:50:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600336218; cv=none; d=google.com; s=arc-20160816; b=DINUEByPvaxptEMjR4iMr5WoiuNtM5K2v4Xf/hQQCmjQL7bMCa9s1UoWxWxt2Ays3c xlBjgyWabUcPBN3Wo9N225jw5M5eNGcXrDxqKTZWuKyit0M+Xk0ubtS/LCrPW/vvxtpF A8ztAYK/25CwLLgvdkrsTuesdzc0fGmWHM/PQJMEsifzSNn2seOe5FA4+WUvY48AP/a/ 8NkX92cWmo+Ci7+KWWuVCmp572/w6PuhV7CfLKab/pxFJPP90vguul+MW+26cHvLOsU7 LL2BF4VZ1rmB4jSY0oXjZiyl4ukdHazIQfaL+M2B+fCUFkZMvxlXIjs0boChrFkA5os9 Z2GQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=EWVAkK9HAhFT14dUOAujUtY5YcpFnxpT4fxJHTF5BOY=; b=0ybXdsKrF/Vto0IaOMLscBdD/TULtQ7NBNV7JvuBMdUMmx/KdtgVMfoTWcZAM7lhcY Vfddp95GBDaRSZ357yHiLyQGLCXpWTrTnLLCoqu4I/6mWwlqS3oajuZ+wP3P1XLqu5sH JhXddl98aPlTaf7nFMTQbLAmbEAroGxTYDK7Ox8zwbc4ykicVOMMHf26jpFeniT/c2O2 448h0ZN6ubSUV/2sTgQCYbTqP3GUaZUo0dd6BecVLtCjGzP581jdIcEDS21QudSET+mY lJspf2JmSD76sTfQltXLjRKcj/CU82nAosW+IZt94H1sW1tm1EPoMR++CeCXYdt/w0KM Cs0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=fGUjulhI; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f9si13098291ejq.641.2020.09.17.02.49.54; Thu, 17 Sep 2020 02:50:18 -0700 (PDT) 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=@google.com header.s=20161025 header.b=fGUjulhI; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726333AbgIQJs0 (ORCPT + 99 others); Thu, 17 Sep 2020 05:48:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43352 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726552AbgIQJsV (ORCPT ); Thu, 17 Sep 2020 05:48:21 -0400 Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C0330C061756 for ; Thu, 17 Sep 2020 02:48:12 -0700 (PDT) Received: by mail-wr1-x443.google.com with SMTP id t10so1351363wrv.1 for ; Thu, 17 Sep 2020 02:48:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=EWVAkK9HAhFT14dUOAujUtY5YcpFnxpT4fxJHTF5BOY=; b=fGUjulhIB5feEidxD8CbRMQRZtBkcY74CpaCtIFwTz/c1lHbmgF+RxHQ5QcBrM2Qhd zp4X9v27+fX0syFcIXLODdzacwIEGhav/TGHLIuv5Qn0HI9t73IOD3WqeHw02rdkgOl9 TJXhDXq7erwEwkhNM3HQw/FM7wZpI4gQZGwsl6skPykaKrBpDYw4ixD7AO1mNaCGL46r txaIuynWbKRPbDWLpW0z4mLDszb2QOwKwXBlP5T05hVcaT1tOAQkVff8vgTwNIM1IN7H F9UCAGB/4LfqJk/b1VsVSHAGJkJPcGUYDf83zZKUw0VGNFpFBSRvSr3/VZ2xgg8qEfAx 7diA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=EWVAkK9HAhFT14dUOAujUtY5YcpFnxpT4fxJHTF5BOY=; b=PKsVrtUijl3lpW6vhsf3FM0XWxIikPvBDfvI24c5NHzihFzDGHoZkBt2YzTK/y/lhO 59RZDdzYUdcqa0cx2RdCOBSLUhdAMXuo7asBmgjl1HERP4t1awa/nNFP8HtH8WTNiCV7 17zEsTkrtkcP65qzgn7xvsrSkfMx1k6cvPA5MMXxHaupvKBtnyHAEs/5lx8zdET3SDjl DSdf/r9jbopzTXDN4No7MLUf8XI6oB633RjqK5xFDQ9rd4PBGATboz414AhX2AdCeX7r 8cpRu8aLmkXq1KRyhyUO8r+PnoRpucUoW/y0HClW6SrHtiKXvvKagXJsiJbfjlXQcZ4I hAMA== X-Gm-Message-State: AOAM530rg7Ccu91hQxyqchRD+ZLJx7jjg1sGJ5KMa4CSF5G6nS3kDH9F 6BetTV4o2f2md60fu+z2y1gm5Fc5FavE/2wYWsJydg== X-Received: by 2002:a5d:60d0:: with SMTP id x16mr30836644wrt.196.1600336091166; Thu, 17 Sep 2020 02:48:11 -0700 (PDT) MIME-Version: 1.0 References: <20200915132046.3332537-1-elver@google.com> <20200915132046.3332537-5-elver@google.com> In-Reply-To: From: Alexander Potapenko Date: Thu, 17 Sep 2020 11:47:59 +0200 Message-ID: Subject: Re: [PATCH v2 04/10] mm, kfence: insert KFENCE hooks for SLAB To: Christopher Lameter Cc: Marco Elver , Andrew Morton , "H. Peter Anvin" , "Paul E. McKenney" , Andrey Konovalov , Andrey Ryabinin , Andy Lutomirski , Borislav Petkov , Catalin Marinas , Dave Hansen , David Rientjes , Dmitriy Vyukov , Eric Dumazet , Greg Kroah-Hartman , Ingo Molnar , Jann Horn , Jonathan.Cameron@huawei.com, Jonathan Corbet , Joonsoo Kim , Kees Cook , Mark Rutland , Pekka Enberg , Peter Zijlstra , Qian Cai , Thomas Gleixner , Vlastimil Babka , Will Deacon , "the arch/x86 maintainers" , "open list:DOCUMENTATION" , LKML , kasan-dev , Linux ARM , Linux Memory Management List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > > static __always_inline void * > > -slab_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid, > > +slab_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid, si= ze_t orig_size, > > unsigned long caller) > > { > > The size of the object is available via a field in kmem_cache. And a > pointer to the current kmem_cache is already passed to the function. Why > is there a need to add an additional parameter? That's because we want to do our best detecting bugs on kmalloc-allocated objects. kmalloc is using size classes, so e.g. when allocating 272 bytes the object will be padded to 512. As a result, placing that object at the end of the page won't really help to detect out-of-bound accesses that are off by less than 270 bytes. We probably need to better clarify this in the patch description. --=20 Alexander Potapenko Software Engineer Google Germany GmbH Erika-Mann-Stra=C3=9Fe, 33 80636 M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Paul Manicle, Halimah DeLaine Prado Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg