Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp434406pxb; Wed, 18 Nov 2020 08:11:52 -0800 (PST) X-Google-Smtp-Source: ABdhPJzGs9GgRYnjxeUGjDJ4tcYGr+PTXH3DfG+4WyPJbehFVSfzm6HL08LGSpT8T2k3HPysxPLE X-Received: by 2002:aa7:d787:: with SMTP id s7mr25615438edq.205.1605715912292; Wed, 18 Nov 2020 08:11:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605715912; cv=none; d=google.com; s=arc-20160816; b=zTszGtSl12YE+dkuSiswhqcOww2gBX/YD6bE3dYxwA1h4dHWfdHsikpnZkorUB4XAD JSROooycj5AST9D6ASlUFupgWqm5HLKGqre8t6GkmVIDGL4fcwc51K369Hwpxf4CgeYE ek0+KbHvrQIvLF5JCFHS3weEOk71+Vkj5TsL1v88VmZktU33Dlih+r/C8Px5LHdI6x3I QifMd179nQLgHbdY2+5PXVIwwBGmVlRFEZk0N6K6GkbBDqGn2zIipHO2ILbxAabmzDrO +xoX+6ePxccQgUwBS8MQkyvwX751jP/s2SAFIVO9hmk3CF0mukfjYms+nC1zM9rFIcF5 OckA== 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=ikA7PYEQ/L2cKfevJds4p4NjydPxn3K6IT3FVnbYGLo=; b=sBrAgoR4FYo8SdmdqKCkW4o8c+/g0bEXZmtgk7PBNyqnW4Gmd2ZVIeV8HCZSYn2Tho 17EsZ266TNt6JRRRsQBh+qpneM/lhcgEjf/e5UcrIt55AHAJZpxgb0kEfh/0RfGJllsb Xi03GLC/N2xeZzAYy19+9IqjCUqUvfB7Q7Vx0KjuKXHbMZJGfavCspH+U6c6QLx0Js3S KPJgS//Q+fwIz79RSuTUtK1Ld8OatzzbUupGvNi/LbTZ1r9M7LuYVyWznRV9SUZiQUON xoK03Bz00t8pp1mC/PAWF8w3GtsYkDFdIkI4cUL48Q0vWDILEBcFqt5C97IXjGUYnepp W/Rw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b="Ga/ygbCV"; 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 pv12si15245259ejb.613.2020.11.18.08.10.57; Wed, 18 Nov 2020 08:11:52 -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=@google.com header.s=20161025 header.b="Ga/ygbCV"; 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 S1726184AbgKRQIA (ORCPT + 99 others); Wed, 18 Nov 2020 11:08:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54372 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725970AbgKRQIA (ORCPT ); Wed, 18 Nov 2020 11:08:00 -0500 Received: from mail-qv1-xf44.google.com (mail-qv1-xf44.google.com [IPv6:2607:f8b0:4864:20::f44]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EB072C0613D4 for ; Wed, 18 Nov 2020 08:07:58 -0800 (PST) Received: by mail-qv1-xf44.google.com with SMTP id y11so1244998qvu.10 for ; Wed, 18 Nov 2020 08:07:58 -0800 (PST) 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=ikA7PYEQ/L2cKfevJds4p4NjydPxn3K6IT3FVnbYGLo=; b=Ga/ygbCVw0SJLI6Sg1BiEo9a8aJcvDsfyOV6zv//+nmL8wUHPjIgTaZ/XXtUrQ9+Vi 0ffXudpc5ulLW+lwF+Jmkk/Gx3u73hALEFcCPRqp+P81LRFZD9lH19U6aqkMKKHfLGBk KeiSiz3xMTfElx0KVlj1tKlk5d1nYhc1IsGwQIymI7lRn1R5BA6fXQiMNA+rl1OOsSol JoeD/ieNbCmL2i1jbpj0rRQlqEh1laM4/OWKSrTcx1ptdhFEkcHqFefSH2c4YkTJHu+5 A8KfLpOi3FjwQwz5DKUNOum4/mkUkKH2PTRIE5TOk1xJHkp6MVCBvs9+RI+lyMMvwMbB xe4w== 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=ikA7PYEQ/L2cKfevJds4p4NjydPxn3K6IT3FVnbYGLo=; b=bRgVDq1qSwn8R5Nr2oHTiM8vFrruwn3WPsfbgPc5qMGZqGpQCzV50F52GgoqGdmufV zjegu1fN5WU00DLAmdahK4wQVP26pvuhsPloJ13WCENQNLaomCQc+ijqUwMaWCLTwGQv MgRg2KEEEeIr3ciyq7KE10K6obg6AOuGLYjNZ1Jv++CJlqa+WQZuD+qiI0fkIGg1TyTV DCtQR2FgbN7TOqNBWaxB0boqVDCP9nuEgB/YgKZExhVu3Ir+PPXnZCvl0JbJKfV2CilA G7q2gjEjR/zZ760qOy6t2/McTEng81qZgONUQBcKbrUuPCbdlxRQONI9k5s7Trqy1jdq 8h8g== X-Gm-Message-State: AOAM531qQrsWwyWEhxwqDEdB3q+6YX2SHipCGyb52M5IwscYbu2wnKXV Eb353cpDygJbd9nPraIhpDVIHY2jORcHIfibDNjjYg== X-Received: by 2002:a0c:9e53:: with SMTP id z19mr5497551qve.23.1605715677182; Wed, 18 Nov 2020 08:07:57 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Alexander Potapenko Date: Wed, 18 Nov 2020 17:07:45 +0100 Message-ID: Subject: Re: [PATCH mm v10 31/42] kasan, mm: untag page address in free_reserved_area To: Andrey Konovalov Cc: Andrew Morton , Catalin Marinas , Will Deacon , Vincenzo Frascino , Dmitry Vyukov , Andrey Ryabinin , Marco Elver , Evgenii Stepanov , Branislav Rankov , Kevin Brodsky , kasan-dev , Linux ARM , Linux Memory Management List , LKML Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Nov 13, 2020 at 11:17 PM Andrey Konovalov w= rote: > > From: Vincenzo Frascino > > free_reserved_area() memsets the pages belonging to a given memory area. > As that memory hasn't been allocated via page_alloc, the KASAN tags that > those pages have are 0x00. As the result the memset might result in a tag > mismatch. > > Untag the address to avoid spurious faults. > > Cc: Andrew Morton > Signed-off-by: Vincenzo Frascino > Signed-off-by: Andrey Konovalov Reviewed-by: Alexander Potapenko > --- > Change-Id: If12b4944383575b8bbd7d971decbd7f04be6748b > --- > mm/page_alloc.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 855627e52f81..4a69fef13ac7 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -7653,6 +7653,11 @@ unsigned long free_reserved_area(void *start, void= *end, int poison, const char > * alias for the memset(). > */ > direct_map_addr =3D page_address(page); > + /* > + * Perform a kasan-unchecked memset() since this memory > + * has not been initialized. > + */ > + direct_map_addr =3D kasan_reset_tag(direct_map_addr); > if ((unsigned int)poison <=3D 0xFF) > memset(direct_map_addr, poison, PAGE_SIZE); > > -- > 2.29.2.299.gdc1121823c-goog > --=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