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 D0486C433EF for ; Thu, 10 Feb 2022 18:04:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6282E6B0071; Thu, 10 Feb 2022 13:04:47 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5B0106B0074; Thu, 10 Feb 2022 13:04:47 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 428D66B0075; Thu, 10 Feb 2022 13:04:47 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0004.hostedemail.com [216.40.44.4]) by kanga.kvack.org (Postfix) with ESMTP id 303E86B0071 for ; Thu, 10 Feb 2022 13:04:47 -0500 (EST) Received: from smtpin07.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id E1D7E805C2 for ; Thu, 10 Feb 2022 18:04:46 +0000 (UTC) X-FDA: 79127645772.07.456F25D Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) by imf12.hostedemail.com (Postfix) with ESMTP id 896394000F for ; Thu, 10 Feb 2022 18:04:46 +0000 (UTC) Received: by mail-ed1-f47.google.com with SMTP id b13so12465662edn.0 for ; Thu, 10 Feb 2022 10:04:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Tlc50y2zvWkDNDR0F+Hwlo/MK2qUQWeFkSFZIhsrGgA=; b=iJ8wAdxK3aVPvQadvP2kQORWpqM1MwHhKRoQhinm5nXPKgnbRB25C9NdtTZR9ceJIE SBtJXEjBFGQckKrACPJtdyxbGmTclNdJbEJSeV7V7WDPuPoqREzUn2VBLtsxA4qSs5wS cyllBj95re5mmkwQjGIgS42OyNeC+S8X3neeo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Tlc50y2zvWkDNDR0F+Hwlo/MK2qUQWeFkSFZIhsrGgA=; b=mVjjLrCvh/Yyw7KiNpI7435f+hzNOiHXiYkgWnhndMkoq/rtA5TZUYhFCSP2pF2Thg zlLpD84TsptrXIAad+vcEWMq4XyM0uZH0+njJgTiBbyz9T5+9R5SXFqY8Q5vy3yLEFK6 qEaLd6drm52XOqGmIw+WqqUAKT/7S+nJEA+xbA71QXTXSr4/Cy0ap7kmqhStxO4ImaDZ 7b/lIVbDATEQehO/l7kP9IwUvR81JnL52j2RY069tLFSmwUdSiiYNKJb3GJjySDPZI5G N6+o6RjmrD7KgM6zBjcTCgvOG8PRN8iRIXXm4AwqVvZ1FKx9ABmdXuyFbArYfRo60EAf +9Mg== X-Gm-Message-State: AOAM531HSCuQLFx3vbNuK70LkZSwCct7HTcMgAFXOKAedAW7I1aunzmJ sYIVjBRBK9/JiJXuTJ5ZQBRZxLaC6VTpJ097ucA= X-Google-Smtp-Source: ABdhPJw+RLLthO/QLcSzZiJa9dNT5ecdISnUroxoN7iCr/W5flyKR8NDOEgT6yZuwcPp3PP+npo1Zg== X-Received: by 2002:a05:6402:5172:: with SMTP id d18mr9495112ede.132.1644516284987; Thu, 10 Feb 2022 10:04:44 -0800 (PST) Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com. [209.85.128.44]) by smtp.gmail.com with ESMTPSA id i5sm4253003ejh.13.2022.02.10.10.04.43 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 10 Feb 2022 10:04:44 -0800 (PST) Received: by mail-wm1-f44.google.com with SMTP id c192so3949665wma.4 for ; Thu, 10 Feb 2022 10:04:43 -0800 (PST) X-Received: by 2002:a1c:f702:: with SMTP id v2mr3105904wmh.155.1644516283317; Thu, 10 Feb 2022 10:04:43 -0800 (PST) MIME-Version: 1.0 References: <000000000000a3571605d27817b5@google.com> <0000000000001f60ef05d7a3c6ad@google.com> <20220210081125.GA4616@1wt.eu> <359ee592-747f-8610-4180-5e1d2aba1b77@iogearbox.net> <20220210174507.GK1951@kadam> <20220210175603.GL1951@kadam> In-Reply-To: <20220210175603.GL1951@kadam> From: Linus Torvalds Date: Thu, 10 Feb 2022 10:04:27 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [syzbot] WARNING: kmalloc bug in xdp_umem_create (2) To: Dan Carpenter Cc: =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= , Daniel Borkmann , Willy Tarreau , syzbot , Andrew Morton , Andrii Nakryiko , Alexei Starovoitov , =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= , bpf , David Miller , fgheet255t@gmail.com, Jesper Dangaard Brouer , John Fastabend , Jonathan Lemon , Martin KaFai Lau , KP Singh , Jakub Kicinski , LKML , Linux-MM , "Karlsson, Magnus" , mudongliangabcd@gmail.com, Netdev , Song Liu , syzkaller-bugs , Yonghong Song Content-Type: text/plain; charset="UTF-8" Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=iJ8wAdxK; dmarc=none; spf=pass (imf12.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.47 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org X-Rspamd-Server: rspam03 X-Rspam-User: X-Stat-Signature: ahftk4m99tktngb4h9up8pzyq5bejpb4 X-Rspamd-Queue-Id: 896394000F X-HE-Tag: 1644516286-631977 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 Thu, Feb 10, 2022 at 9:57 AM Dan Carpenter wrote: > > Wait that would make the allocation succeed... We don't want that. > That was a dumb idea. Forget I said that. Well, sometimes that _can_ be the right model. That said, pretty much every time this has come up, the kernel warning has shown that yes, the code was broken and there really wasn't a reason for doing allocations that big. Of course, some people would be perfectly fine with the allocation failing, they just don't want the warning. I didn't want __GFP_NOWARN to shut it up originally because I wanted people to see all those cases, but these days I think we can just say "yeah, people can shut it up explicitly by saying 'go ahead and fail this allocation, don't warn about it'". So enough time has passed that by now I'd certainly be ok with something like --- a/mm/util.c +++ b/mm/util.c @@ -587,8 +587,10 @@ void *kvmalloc_node(size_t size, return ret; /* Don't even allow crazy sizes */ - if (WARN_ON_ONCE(size > INT_MAX)) + if (unlikely(size > INT_MAX)) { + WARN_ON_ONCE(!(flags & __GFP_NOWARN)); return NULL; + } return __vmalloc_node(size, 1, flags, node, __builtin_return_address(0)); (which is obviously COMPLETELY UNTESTED as well as being whitespace-damaged, but you get the idea). If somebody tests that patch and verifies it works, and writes a little commit blurb for it, I'll apply it. Linus