Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp2975097rwi; Fri, 21 Oct 2022 09:58:28 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5B+UjzR2RZl6Gi7zzAaP9luHWbwske1oyEFWqIk6EEZF+HMDbwhUJ3WJh4d80UX9gFnoUb X-Received: by 2002:a17:907:2c4b:b0:78d:bb0c:4a42 with SMTP id hf11-20020a1709072c4b00b0078dbb0c4a42mr16633133ejc.546.1666371508210; Fri, 21 Oct 2022 09:58:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666371508; cv=none; d=google.com; s=arc-20160816; b=VajUjp3zsZgEVcCMc35Skw33yL9AU31DZAPBQAQZ5IfCS7gHREgazCBlG9fZQ5SSoC l6Nu5+X2LVJIf/DAm/4lebM4v0FtLEGHMek3u97+xA7k2meLoAVrM7pmKwNpPLl4l3lO G6R7csME1gise5MI4J8RgpHO42+xupCLiU6wqCQLsrnC3n4VVZhsQI3CYpNyRj1jayhp pV7Mtzr/CeZ7pqMC2e1kSDaytMuz9a0mloTo9p1BvZ5IrYx7mF07kECJvOuBuFaU+vbK aRTUeqP4f7cdSQy/ThMpbRGcNbLdXCeSfsVfmVoVIIytgoZYp+KeQtT2ZjWNjkR6HLGA 3itA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=FDqnpfZF/Nba9iYmW6afwPV/BMJnF3T8pQZy3ug2lYs=; b=VirqAp1wPEyrH0Rux4fOCoHLMh6UGEcqUaIf8lrbgV/XIAhFYJFrpHIQ4Zo/h38BqY avN4+hCr98BaD3fgyN3xaH3G7EANenM7Ug7dDvCkJxrdjb/rPV0+omGGF0o32EtA7Dtq kNv/5Ea65vaUFMZaCG/5/6Clr9skFnSlUieT0ZbC4dralb4CU583KvFvSBco4WCb6kxZ 7RZelkxeAWbgKkdnxVY/3ZvZAgXrwufuI68NNngyJZvr2St3an3Y+broeXPpBbdAPLa5 mgAw3fE14b4q7xR3gQwlD5FRO4s5nUv70kfSjC2RucPvaLYvg21F20yujxic3rSU1byh fU+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=VhgDsydI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s4-20020a056402520400b0044615ee1b6fsi23213636edd.218.2022.10.21.09.58.03; Fri, 21 Oct 2022 09:58:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=VhgDsydI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229959AbiJUQKd (ORCPT + 99 others); Fri, 21 Oct 2022 12:10:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54898 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230086AbiJUQK3 (ORCPT ); Fri, 21 Oct 2022 12:10:29 -0400 Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com [IPv6:2607:f8b0:4864:20::1036]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8F8111A3E32 for ; Fri, 21 Oct 2022 09:10:24 -0700 (PDT) Received: by mail-pj1-x1036.google.com with SMTP id i3-20020a17090a3d8300b00212cf2e2af9so2156982pjc.1 for ; Fri, 21 Oct 2022 09:10:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=FDqnpfZF/Nba9iYmW6afwPV/BMJnF3T8pQZy3ug2lYs=; b=VhgDsydIsST92Z8iLWFT8d537teN8JdhwWV9Y5XaFP3t43g8INhBSMM4r2y9VtiyqJ KcVTFWIpbQ9V8f1FNT9bkfza/ITvG0mrZmI1U4ngEjEenk8ZvFon0Ny8Qj8gR2aheBFM PLhy3siwCWSHxwLVevJILDvYx1txt2fYHVIdk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=FDqnpfZF/Nba9iYmW6afwPV/BMJnF3T8pQZy3ug2lYs=; b=oQmQprBvk+pyQTb+SQUdqkcLvH8v1FIGEWIIYI82rQiigfxZp49ElAOd7L85Kx5Ufa 3/wpMWNnt3KprtNpgi8Tw/Z2ahOgK9V5VxoXLIeTkOG2dzGK1ufNcZtumCFsgHV5EVea h2KgRElQFNvWBHODupx9MwMRYlnm8kBYXuwN2NSEoOkGeiF4ec4saihvn8ZR6fL+vVQR j1TS9Z0P2NUpb9vLU6pB+hMYmEIj+NcQWWZgmaTjsmI5fkfjSpggX82cOejyB0d3TmYo r8UwUN7vsi8rOPADOeQ8+BHBcVNaUnoYsf8h5TeMvHw237fx7W3YlRh6pJUTjwvtohkQ EyFw== X-Gm-Message-State: ACrzQf3GN8tnF/dgXj9z2b49em5Rp9BZ/2sCkuSowORdiExN338I9guD Tqbh1PSI761TlVvAgCz9ZnlijA== X-Received: by 2002:a17:902:cf01:b0:186:810c:d994 with SMTP id i1-20020a170902cf0100b00186810cd994mr2366202plg.151.1666368622967; Fri, 21 Oct 2022 09:10:22 -0700 (PDT) Received: from www.outflux.net (smtp.outflux.net. [198.145.64.163]) by smtp.gmail.com with ESMTPSA id o125-20020a62cd83000000b00561c179e17dsm15345794pfg.76.2022.10.21.09.10.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Oct 2022 09:10:22 -0700 (PDT) Date: Fri, 21 Oct 2022 09:10:21 -0700 From: Kees Cook To: Paolo Abeni Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , netdev@vger.kernel.org, Greg Kroah-Hartman , Nick Desaulniers , David Rientjes , Vlastimil Babka , Pavel Begunkov , Menglong Dong , linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org Subject: Re: [PATCH v3][next] skbuff: Proactively round up to kmalloc bucket size Message-ID: <202210210909.76CDB7A2@keescook> References: <20221018093005.give.246-kees@kernel.org> <0ea1fc165a6c6117f982f4f135093e69cb884930.camel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <0ea1fc165a6c6117f982f4f135093e69cb884930.camel@redhat.com> X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Oct 20, 2022 at 10:42:47AM +0200, Paolo Abeni wrote: > > size = SKB_DATA_ALIGN(size); > > size += SKB_DATA_ALIGN(sizeof(struct skb_shared_info)); > > - data = kmalloc_reserve(size, gfp_mask, node, &pfmemalloc); > > - if (unlikely(!data)) > > - goto nodata; > > I'm sorry for not noticing the above in the previous iteration, but I > think this revision will produce worse code than the V1, as > kmalloc_reserve() now pollutes an additional register. > > Why did you prefer adding an additional parameter to kmalloc_reserve()? > I think computing the alloc_size in the caller is even more readable. > > Additionally, as a matter of personal preference, I would not introduce > an additional variable for alloc_size, just: > > // ... > size = kmalloc_size_roundup(size); > data = kmalloc_reserve(size, gfp_mask, node, &pfmemalloc); > > The rationale is smaller diff, and consistent style with the existing > code where 'size' is already adjusted multiple times icrementally. Sure, I can do that. I will respin it. :) -- Kees Cook