Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp645702ybi; Fri, 21 Jun 2019 05:56:09 -0700 (PDT) X-Google-Smtp-Source: APXvYqz2Ow3b5Gc8ARMyBS0+VdiuGL+WYQHLBRiYCzsDhPzauGFodM+k7sw1GK+UmYQTqtyhqBUC X-Received: by 2002:a63:4605:: with SMTP id t5mr18050072pga.20.1561121769776; Fri, 21 Jun 2019 05:56:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561121769; cv=none; d=google.com; s=arc-20160816; b=UvV4AxyWKTATAJETgD8Izx3gkhgS86zoNGGHJTt1TwLgB2WIrqwzV4DcNvdxbsbqT1 AYBxAdCoYjZzB/XeYSXGf7TWXvP7j0ecz9TfZjyoPon/DKzJP/xvECz+D68DznCtumJr j1/t5roeQHUmIPsPEdBVo7lDjiI4zQ8HRMDeldmwM4LRMLlI/YyacLUWesZuWdO5u6Qg Psi3GPOWoc4fSzDXjr3ugfiZGBYigeMiRi3BrR//1hj7nyb2bXtlAc0wmhZ6BjDoVgWi gEA4Jmhpw4+0Mygm9ghFufroDTPVudGrJTi3BTYrJ3mVIGADSFnihQEgFBkjIGY/rhO9 Iw4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:date:cc:to:from:subject:message-id :dkim-signature; bh=AmV2+dUM73e06WwcPyFpqf/fAKS1T6gQn0zr0KXsJgU=; b=TWipZbD3PMKKDr3heL4TN+hCCbRKfHQdmawoi61iQYQLY29icYM7H86pIMZxfUWNsJ 4H7P2Gl7v8ALI3Lqfx0ZPPKA2i5uNNRzjbg2m6YJOn8kDdL7QFdH6oP1BInYF+C/a0CW 70EFw/IN135ZCGXZ0LhcY102Ro2qLHnWx8+01PZeu8OFPclcIrVv/Vy/vPzYqcSE6Oln vFh3WyvGvcZYnBPA8bGPrcvPSwcPMeyDum+0WSSFV+W1Ac0su/0wSOcFyEg6c+kUO+Wp 1rShHMVfAdyaXdclqgpd/zOqRnS9683cR4VCo8d5j9yO4U5yWl2ZGA8B7z9Ipj97Iyc8 96HQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lca.pw header.s=google header.b=AKwtxhlE; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f72si2755503pfa.67.2019.06.21.05.55.54; Fri, 21 Jun 2019 05:56:09 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@lca.pw header.s=google header.b=AKwtxhlE; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726668AbfFUMzt (ORCPT + 99 others); Fri, 21 Jun 2019 08:55:49 -0400 Received: from mail-qt1-f194.google.com ([209.85.160.194]:44474 "EHLO mail-qt1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726299AbfFUMzs (ORCPT ); Fri, 21 Jun 2019 08:55:48 -0400 Received: by mail-qt1-f194.google.com with SMTP id x47so6718295qtk.11 for ; Fri, 21 Jun 2019 05:55:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lca.pw; s=google; h=message-id:subject:from:to:cc:date:in-reply-to:references :mime-version:content-transfer-encoding; bh=AmV2+dUM73e06WwcPyFpqf/fAKS1T6gQn0zr0KXsJgU=; b=AKwtxhlES3SluAiJmC4fHfZzQIZr6NUzu5K2S/r8+Waw+ZGRthsBAeI1/X4Gu6crZ4 JmrOO4AwR4dG9YlWuzlGGy2YsbTZ5bGzbzL75yCIwMHnO6BfWAP99qnS3GgfU0ZYrKU3 vWMr3E5+Fq6n8AWz3bMC+W8M9NsOrWUpHx+zfGdjPcjEiqnWLlGoDTvJ+7lKdMnzMAI1 hXGhqSCU/T+DZpcUps3hUkMzUP+Q2QHL6p+rCtNwhLT5ZRCUhoGTfy6Zy4AiRCsxK3mq YU/egKBKFASfeIdn/ARK6dxlL5tC3murZmI2bBh8Iq7M/VtjSv6QfohJHzLTWXLmphlk 4fqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:mime-version:content-transfer-encoding; bh=AmV2+dUM73e06WwcPyFpqf/fAKS1T6gQn0zr0KXsJgU=; b=M4/xb1aQF/kEjc80zj2SJ9JZuC93Wl1+Cb6WpwkNCXn81+E+cc5Uid4RbTgloPgapF AkR5Cx3SbX0wJnTTfWMn1yfknvCeFWY5lbelBwCZXnUhJL4CQCn8XzQaWCStohr3z0Lq XZd4iHwCTCaMDpUB1HjHss3bTu1s5F8poos6HZuVCDFxv+IEsQD0cSSeWv84O53ZRGm+ eGV0DIaAdjVPOdE2RDya9hyQuOYVdJCZuDrh7UR2k3h+lhhE85iqZ1G2yIpsNkupo7ju slqDTAJ/2ytsPpeskeK4ull5nDbAiJBkVNjwRdyyk9kg1ewYfMLB3kDsvKlraTGKAnFl NniA== X-Gm-Message-State: APjAAAX9JokK2tiQsA0VXynPPAqU3okpjxnUbFIzFwBK3aZnqUoOCMAN +f5QYsyxD6fK2VFJzlHaxXzAbg== X-Received: by 2002:ac8:282b:: with SMTP id 40mr86139772qtq.49.1561121747830; Fri, 21 Jun 2019 05:55:47 -0700 (PDT) Received: from dhcp-41-57.bos.redhat.com (nat-pool-bos-t.redhat.com. [66.187.233.206]) by smtp.gmail.com with ESMTPSA id s130sm1209636qke.104.2019.06.21.05.55.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 21 Jun 2019 05:55:47 -0700 (PDT) Message-ID: <1561121745.5154.37.camel@lca.pw> Subject: Re: [PATCH -next] slub: play init_on_free=1 well with SLAB_RED_ZONE From: Qian Cai To: Kees Cook Cc: akpm@linux-foundation.org, glider@google.com, cl@linux.com, penberg@kernel.org, rientjes@google.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Date: Fri, 21 Jun 2019 08:55:45 -0400 In-Reply-To: <201906201818.6C90BC875@keescook> References: <1561058881-9814-1-git-send-email-cai@lca.pw> <201906201812.8B49A36@keescook> <201906201818.6C90BC875@keescook> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.22.6 (3.22.6-10.el7) Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2019-06-20 at 18:19 -0700, Kees Cook wrote: > On Thu, Jun 20, 2019 at 06:14:33PM -0700, Kees Cook wrote: > > On Thu, Jun 20, 2019 at 03:28:01PM -0400, Qian Cai wrote: > > > diff --git a/mm/slub.c b/mm/slub.c > > > index a384228ff6d3..787971d4fa36 100644 > > > --- a/mm/slub.c > > > +++ b/mm/slub.c > > > @@ -1437,7 +1437,7 @@ static inline bool slab_free_freelist_hook(struct > > > kmem_cache *s, > > >   do { > > >   object = next; > > >   next = get_freepointer(s, object); > > > - memset(object, 0, s->size); > > > + memset(object, 0, s->object_size); > > > > I think this should be more dynamic -- we _do_ want to wipe all > > of object_size in the case where it's just alignment and padding > > adjustments. If redzones are enabled, let's remove that portion only. > > (Sorry, I meant: all of object's "size", not object_size.) > I suppose Alexander is going to revise the series anyway, so he can probably take care of the issue here in the new version as well. Something like this, memset(object, 0, s->object_size); memset(object, 0, s->size - s->inuse);