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 4BC62C021AA for ; Thu, 20 Feb 2025 00:40:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BC58E28027C; Wed, 19 Feb 2025 19:40:04 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B4E3B280276; Wed, 19 Feb 2025 19:40:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9C8AA28027C; Wed, 19 Feb 2025 19:40:04 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 78F4A280276 for ; Wed, 19 Feb 2025 19:40:04 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 03C4B1C758C for ; Thu, 20 Feb 2025 00:40:03 +0000 (UTC) X-FDA: 83138465928.14.37C0F01 Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) by imf21.hostedemail.com (Postfix) with ESMTP id D1BA91C000E for ; Thu, 20 Feb 2025 00:40:01 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=FJYNAGvq; spf=pass (imf21.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.48 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740012002; a=rsa-sha256; cv=none; b=7V9t5lx0zHOBZONcR/ULik4WQDtzG4Tnqt3ae3aLsh7S8Y0gHXbJQjbSSRBR49+KKDe/OR 9VRAvFtoEI/1zETxyXv5nzHSkjzfxdNks9jkMHuDm00/HM5zSwLdclkqKoUk+cdXlvqEtg /6TDLq1hMYDplmcVDaFD84ZcSdIgkv8= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=FJYNAGvq; spf=pass (imf21.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.48 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740012002; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=5bX5q6XO7RyF4eoxd1NJpEY9bnTw/y/W8pyoru60AG0=; b=OOt1Va2dPVCrLWJnFH96Z8z4hnGojFTA36BAeH1RN4TDy7npz8ThRGTMVjcRZ6xbl4tWrj EaLanQdOaJ1+WRciEbLBVz5c95ZPs96H13erCejITvdyTato66De9xlF75kzlBHnKqCX0j Iv1demmFQ7fdsnruQF48NRmyKY2BMzk= Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-aaec111762bso93180966b.2 for ; Wed, 19 Feb 2025 16:40:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1740012000; x=1740616800; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=5bX5q6XO7RyF4eoxd1NJpEY9bnTw/y/W8pyoru60AG0=; b=FJYNAGvqyRzkL1DA7grio+vjYa+sB2+KhP4sA9TSQmftiaNzeEcmjODyt5v6VnJtVD rVAPnc0DqaLJuBcR1kRL04ortAnvz/KjXtWzTAQgqM3naPRISPvHURz+rouCOPIXMwA3 3of10jL7V1mkweBlDkpv/SHn+HRw2msW/4V9w= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740012000; x=1740616800; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=5bX5q6XO7RyF4eoxd1NJpEY9bnTw/y/W8pyoru60AG0=; b=R3R4wut3UQwRHIIbUH95lD2f9tYsPcyaQ9T5UH18WSbesglGcJTphMhvDj05s7NSLE SLsZppGcaNZo2AvT9GieCLtKAcODpc4WSeU+N6LNh9m5lAKLVgcph5n1mG+hGWJuMKQ8 6sgC5LHTN9IPK09Ql9+cPm3/jR5MYRk3xtOIDRZmLh7XgqX8t4EYd8JRqYG1AopNTMzS 0jt+UgZ14Kd5eG90Bl2TQPz5D2EXIS3k8oWC/ZpOJB3NVB211Jn+dgIwj06JiUK+8EBT vmnGKURQLYG5bf1EkdfDg+e1albKlWqYHaMsoWNztJbDJ2DMVc8Is2B3aibsAxWiRRQM Z7yw== X-Forwarded-Encrypted: i=1; AJvYcCVqxS+Pzca+p7opgkjUgIsTlRltdJ08eji+fnVZH/E2xd+QoHnr1gXg0HqsIqqisi020kwS/rNt9A==@kvack.org X-Gm-Message-State: AOJu0Yw3wfflqUIHnQ0uBzLItaDCSkXklSjXwpiXjRMAL8xMOz/wkMNx rxxRq8flyubsZ8N0oYnELGeNN99zfkQ1ngQ4/PDOXUaMRN+NMSArwp5TssMUypY/nU5n0wc4smt mDOI= X-Gm-Gg: ASbGnct7TfgG3fxCEoqE7VZZh8kxoAhuuJ34YJCtTo+VibBY/hN+2G+f1PXZpJduiop LOc+fv/fJq0jbQnrAPHt2w2R10jDYG8qk47O3GV1UeGnVtaJLigBnlWWX+viliqxDOrkUTjHNoe QEQrYhucbzxnuaqtQmCfXyqhBtxwmssAryeZgpTYeNtuhnGuoIhB6Kl1ois4eqL/f+JROTSVwCe Jqau6IQbCToIz1WuhXP1Ji7XT/1Ulri94wG5itss3jTvbRKNIVL8m+CggxGT9bNebY2stDokgu1 yfdjQjlCO7P3cMaBzjCrztsLt6btrCsx2ALf2oBPCvrr/e5GYS8Ax8XfPX61ydfKRg== X-Google-Smtp-Source: AGHT+IEtQ9h66F0naeJiskIrj2t+nyt/LF0s2kaBkAYwPX2in/h0ifq/4j2fYSC5gOH3rSYFdk72YA== X-Received: by 2002:a17:907:868c:b0:ab7:5c14:d13 with SMTP id a640c23a62f3a-abbcd0d491fmr557209166b.53.1740011999967; Wed, 19 Feb 2025 16:39:59 -0800 (PST) Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com. [209.85.218.49]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-abb94329614sm748938266b.180.2025.02.19.16.39.58 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 19 Feb 2025 16:39:58 -0800 (PST) Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-abb97e15bcbso78204966b.0 for ; Wed, 19 Feb 2025 16:39:58 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCWceAPKOOigXuTp/sMm5dUyYrTscD1aG+XrZ0L5J21bAV4kZo9debzgm417qd851sCwERrL/R2efg==@kvack.org X-Received: by 2002:a17:907:7744:b0:ab7:c43f:8382 with SMTP id a640c23a62f3a-abbccf1013cmr573598466b.31.1740011997709; Wed, 19 Feb 2025 16:39:57 -0800 (PST) MIME-Version: 1.0 References: <036CD6AE-C560-4FC7-9B02-ADD08E380DC9@juniper.net> <20250218085407.61126-1-michael@stapelberg.de> <39FC2866-DFF3-43C9-9D40-E8FF30A218BD@juniper.net> <202502191134.CC80931AC9@keescook> In-Reply-To: <202502191134.CC80931AC9@keescook> From: Linus Torvalds Date: Wed, 19 Feb 2025 16:39:41 -0800 X-Gmail-Original-Message-ID: X-Gm-Features: AWEUYZlyX3Ars0jVy2kh6EWta3z2VTRB7NefiwUH34z96MyiOgY5ii4BnshdGmo Message-ID: Subject: Re: [PATCH v3] binfmt_elf: Dump smaller VMAs first in ELF cores To: Kees Cook Cc: Jan Kara , Michael Stapelberg , Brian Mak , Christian Brauner , "Eric W. Biederman" , "linux-fsdevel@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , Oleg Nesterov , Alexander Viro Content-Type: text/plain; charset="UTF-8" X-Stat-Signature: 7bznq4dbr8j89dtrr8orkon4epgouy4x X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: D1BA91C000E X-Rspam-User: X-HE-Tag: 1740012001-808625 X-HE-Meta: U2FsdGVkX189URAcYIiGaoUlMHnLfz6gA8Qiup3x79LLXGm0S4GrLHmPr3NVPgFUY5buzwMqjNs0xER5RefreJ1yBISU6Ch2B5uFn0CV7bDPMu8Z0jCoMQniFyYTGIXLfnEsM/A5DyCPJlK9sW7gkZjBOBlAwm3Nv7C7Qo2Wi57JLm2F4MQobL2GAuhGndwx1Efc+KWTdHCZ2TMbQducfsu1OeZs4pziByYeLdis2yQgsFvBq0Tokn/+wsyk6bDlOElv37ORoDljabAcRklX6XOKYvvqJauGDDT/EE1iwGicyUGkffn+Gpg7NEWiCiJAYzxJpjyREc3jv3Fe//DJRVC7W1HjV/berOdSvORYH5XxI/tI5+Zj6P+mF/yVtVHUiMo+XeohEhBNjv1/QyAJeiGyBBbpRnzV882PhU7PNSp92+j8md0bSwPG4vzNQm3nChkVVyF/Ab5lx3ixg7xtmPF5LV2Px6ZkOopvYn6s9PGsifcGS/AbF+DTSRPq47tH3z9weW05whgl2Ei8B7H/voZeRirHuxhX5bHmBpElYmhtiQMRrCiBZDqJLbGgH625ygiRn2nATrOYdxJ5licb2Zq8IQMs9qPeKrbSyYRIyNPHhFZhwFc75KbDVrQJ2lPr4nByyDvUSHXl1F73hAmRu7rzLPnO4y54H7AZ/cn6KdxQi0W4UOrtMf09w6kuxVERNdyEEr7oYHrppOYnDTKzXni7+6x+vAwO3oXnoGdAG47EaV4yL8AqsQbOvw0igdhK0ygwj3eX6btFS6FzoNoNJeYfl07vXavlk/tkegEheak3nNr0xoQZi3YoubRm5HTdiw0hz7EoQvF2/ZuAREWyN5fMbw0Zohoi//kdNhVrvQQ1TGPBG9xywn0cZZiHxsM9akYMiQfGYtAgIKtFsve0LJ5mX5Xte7OM6P9rFT09p718geequ/3d6GGJbiyw2PH960rgTje1bUI/QTReE/+ eGWOOiLC sWBppnY4MwXkGfax39JFs4zCoNU/jphwbe5Wt3OJzDsFf6RX1OLVfFEYXw3Xqb0D/8o1rx0mswWxXzKsTbYKKVC52cuubKfqqTwaDSuNTa/Y7Uy7wP7B2cFbhSTmCc/vcOPYRRN2MXFqnkRoZmLZ6iOX0JYhAw/lWErHg3cfTFSi8flOR/sjPAxjWoNqSJT1EpgBtweAWwvj7rA9hVQAXa5qXi7M9lxJldh86y+K++6cHeR72JDsTe1haa52DfAkq8Z/Fq6nPeErOnrmOMnmptSBBhRG7LjHYqZ4aVpeHZAzlAYJcGeZbjqwn9LDyJulBeg7K+i/2XcDZmmoOK/p4NylLNwhLaIMaTg8/+hCF7d08qYcYkJIbZA5U0aVLt+eJc870/wxWnhWKsHBnqbLdMSwiClLN4nfq6GYIrgd03pgNkgtwecjlK5mBJKGgYXjQImVJI/BtRyQXuEdhbRUXkk4QFONuh3SlubUgi2xTDhfeiZK+GqDcMwDelysHFBa54n8tKjM3PvTlsclqUe2PD9gnt8XkEzpimW9DcBCnvhrAyHKLhNlPAepHjZ9/zxB4hMwGUHEltr8ge3BlTBlyURyboiRNhAKz29ny6Qgf9MNn2N2tSGvDi3t3UA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.049933, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Wed, 19 Feb 2025 at 11:52, Kees Cook wrote: > > Yeah, I think we need to make this a tunable. Updating the kernel breaks > elftools, which isn't some weird custom corner case. :P I wonder if we could also make the default be "no sorting" if the vma's are all fairly small... IOW, only trigger the new behavior when nity actually *matters*. We already have the code to count how big the core dump is, it's that cprm->vma_data_size += m->dump_size; in dump_vma_snapshot() thing, so I think this could all basically be a one-liner that does the sort() call only if that vma_data_size is larger than the core-dump limit, or something like that? That way, the normal case could basically work for everybody, and the system tunable would be only for people who want to force a certain situation. Something trivial like this (ENTIRELY UNTESTED) patch, perhaps: --- a/fs/coredump.c +++ b/fs/coredump.c @@ -1256,6 +1256,10 @@ static bool dump_vma_snapshot(struct coredump_params *cprm) cprm->vma_data_size += m->dump_size; } + /* Only sort the vmas by size if they don't all fit in the core dump */ + if (cprm->vma_data_size < cprm->limit) + return true; + sort(cprm->vma_meta, cprm->vma_count, sizeof(*cprm->vma_meta), cmp_vma_size, NULL); Hmm? Linus