From nobody Fri Apr 3 11:02:29 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 41AE8C54EE9 for ; Wed, 14 Sep 2022 02:00:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230144AbiINCAY (ORCPT ); Tue, 13 Sep 2022 22:00:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56754 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230124AbiINCAT (ORCPT ); Tue, 13 Sep 2022 22:00:19 -0400 Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7EC2B3123D for ; Tue, 13 Sep 2022 19:00:13 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-3496e668a5dso49910607b3.5 for ; Tue, 13 Sep 2022 19:00:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:mime-version:message-id:date:from:to:cc:subject :date; bh=p6qCghWQbcRewzTnBFceTKv/Y60AI2F5NEC8++qJ2MI=; b=FZxg7ZQVvBz9WmQks3L0S9UYycRMX6FNxeIoQWOixAv/JrYVUeom0YA+u4RqWdG96c UwdDLEZHnTU9I9fz0Z4OhTcqYz8IgZPUx6E7lVUPz12DOMT5Zcg2kV0JLqQRW/Cp6/qK X48Ieg6gkbDHfOqruPwUwzv/U/9v40R+iLCA+WAA6lhXI7bkNeyefyLGfffTwIcxRSCL wQ6N8BDNCkqqQGI3bgOhAVcQHeGXF0u6Q97uk9y2UnlTFRG+43WFmAJpo2znrD/CzVAQ hMun9nt9+jT4b7CdL/NtNJjSBK+19f/WqTZqzIlXWaWjGWXvHNqCFIFKmH/pwWgkPEbn A7OA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:mime-version:message-id:date:x-gm-message-state :from:to:cc:subject:date; bh=p6qCghWQbcRewzTnBFceTKv/Y60AI2F5NEC8++qJ2MI=; b=iCHTBKRPtXPy3vjDOjdxuTqLTVKPORQfQy9Kvmy6xG5Y1gmMYOCxwWifXIqIGPs5iY NINYIUuWDpqm3JVey96B71cULBSK70PSRVGcQxE6dMC7Zj+CeoIL12HpIFLH/1mUsrRo DFjUl3LEoLE0fyklPBRv4P9KdhmagD5hN5KGljyNQ5xxsuD2LxzTzmKWup7qEbWz78vn ZzokVGpZuaiG27J9CVN6qeTfscannoPcXp6vb0t2cw0tFJZBs8k0o6mlRPDLblgl8kT5 bcftung/0L4djKaWxRv5e0ErIBp0sDeRqvAjzhqMraAgBul0NuJIpFdh2q0acvLBBPeE P0xA== X-Gm-Message-State: ACgBeo3yL6hzcc4F2fygKlylDYPWf7clxSIT1MrftTComrQbOtqIFmbh UZLMeA/jyt2i646ALWYsyoAS4Lg= X-Google-Smtp-Source: AA6agR4W0NwqBv0embkoehNEbFKrl95x/EFmpO/GESuyJ3JThH+BHAW+2aaI7Tl4bgr20j3mzjFMNac= X-Received: from pcc-desktop.svl.corp.google.com ([2620:15c:2ce:200:370d:f9c3:6198:7768]) (user=pcc job=sendgmr) by 2002:a25:2687:0:b0:6a8:e551:b9d8 with SMTP id m129-20020a252687000000b006a8e551b9d8mr29117452ybm.472.1663120812652; Tue, 13 Sep 2022 19:00:12 -0700 (PDT) Date: Tue, 13 Sep 2022 19:00:01 -0700 Message-Id: <20220914020001.2846018-1-pcc@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.37.2.789.g6183377224-goog Subject: [PATCH] kasan: call kasan_malloc() from __kmalloc_*track_caller() From: Peter Collingbourne To: Andrey Konovalov , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Andrew Morton Cc: Peter Collingbourne , linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" We were failing to call kasan_malloc() from __kmalloc_*track_caller() which was causing us to sometimes fail to produce KASAN error reports for allocations made using e.g. devm_kcalloc(), as the KASAN poison was not being initialized. Fix it. Signed-off-by: Peter Collingbourne Cc: # 5.15 --- The same problem is being fixed upstream in: https://lore.kernel.org/all/20220817101826.236819-6-42.hyeyoo@gmail.com/ as part of a larger patch series, but this more targeted fix seems more suitable for the stable kernel. Hyeonggon, maybe you can add this patch to the start of your series and it can be picked up by the stable maintainers. mm/slub.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mm/slub.c b/mm/slub.c index 862dbd9af4f5..875c569c5cbe 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -4926,6 +4926,8 @@ void *__kmalloc_track_caller(size_t size, gfp_t gfpfl= ags, unsigned long caller) /* Honor the call site pointer we received. */ trace_kmalloc(caller, ret, s, size, s->size, gfpflags); =20 + ret =3D kasan_kmalloc(s, ret, size, gfpflags); + return ret; } EXPORT_SYMBOL(__kmalloc_track_caller); @@ -4957,6 +4959,8 @@ void *__kmalloc_node_track_caller(size_t size, gfp_t = gfpflags, /* Honor the call site pointer we received. */ trace_kmalloc_node(caller, ret, s, size, s->size, gfpflags, node); =20 + ret =3D kasan_kmalloc(s, ret, size, gfpflags); + return ret; } EXPORT_SYMBOL(__kmalloc_node_track_caller); --=20 2.37.2.789.g6183377224-goog