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 B9003C433EF for ; Sun, 26 Jun 2022 20:19:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3CF4C8E0002; Sun, 26 Jun 2022 16:19:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 37EF48E0001; Sun, 26 Jun 2022 16:19:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 21F928E0002; Sun, 26 Jun 2022 16:19:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 0E44D8E0001 for ; Sun, 26 Jun 2022 16:19:43 -0400 (EDT) Received: from smtpin31.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id DC600335FC for ; Sun, 26 Jun 2022 20:19:42 +0000 (UTC) X-FDA: 79621502604.31.CE2ED4B Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) by imf27.hostedemail.com (Postfix) with ESMTP id 7D8374000D for ; Sun, 26 Jun 2022 20:19:42 +0000 (UTC) Received: by mail-ej1-f52.google.com with SMTP id fi2so14979996ejb.9 for ; Sun, 26 Jun 2022 13:19:42 -0700 (PDT) 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=nu9/GNmE/6Ec+yjhAIVpoKG+URCXP5VRgR+sJEJG8es=; b=GS6ies+w8dks9EOoUgtl81vz5KmxCBNl3MtTNDunbS5G09OfLVE9+pe01sIcgRSP7j y2J+Vbd+0ANVyGZFeU9/mcuuqzKgarpxGzeqzj4N4+QeDP5xIp9KeumK23Th9eQALYwY J7gFRWMFWHj8uHEIQIbQ+W5/Q2J/F6JU3i8qs= 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=nu9/GNmE/6Ec+yjhAIVpoKG+URCXP5VRgR+sJEJG8es=; b=QPV/+WQ707/0aY9SMyoxrwYO0xv3avhtq7FWr9yfXO38v9oQGhxsnGqt2j7KVCxMNg StDOvLd0lqBMPXfv0g5dsCBC5IjlfgrjexhVjsZ6Rhdzdc/D8dWqh6wTl9823V+ke+0V xiCQcCRm7PcTFwHJhFDHIVnWlzDaW6PLbQTr6/jkZRsurcoAriJ9KQU2Oqz3Tu9XlUJb TpFX7bNbXh0cDvndSwCN7QtVA6bBwH5adysY4mBRMNk4uHeS7/k7E7avgTTd/J1Zv5IU ATycnUtAif1DykiOMTAVZKAwQdPSSrRbJuoxAHO6DWxXeQ2PVpHVygCPAQdwifOS6I0d NHvg== X-Gm-Message-State: AJIora82os+vWTQwkS5iV4QNRkTsPNPee4H9WMSRXGQCljAB5ASYkG7g h0rkWxwyMXDy5C3Cr1YqlupzZDKqCW6LGiHc X-Google-Smtp-Source: AGRyM1sd7X8gQSCkiItn4Y8o+mfboZkn6yDOisYGD2dYnLLYVyesVxU4vJS+RT/2PGiZkCU+ldM7Qw== X-Received: by 2002:a17:906:519b:b0:722:e854:dfc2 with SMTP id y27-20020a170906519b00b00722e854dfc2mr9547775ejk.331.1656274780537; Sun, 26 Jun 2022 13:19:40 -0700 (PDT) Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com. [209.85.128.53]) by smtp.gmail.com with ESMTPSA id d2-20020aa7d682000000b0042dddaa8af3sm6345750edr.37.2022.06.26.13.19.38 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 26 Jun 2022 13:19:38 -0700 (PDT) Received: by mail-wm1-f53.google.com with SMTP id c130-20020a1c3588000000b0039c6fd897b4so6285451wma.4 for ; Sun, 26 Jun 2022 13:19:38 -0700 (PDT) X-Received: by 2002:a05:600c:681:b0:3a0:2da6:d173 with SMTP id a1-20020a05600c068100b003a02da6d173mr15926468wmn.68.1656274777880; Sun, 26 Jun 2022 13:19:37 -0700 (PDT) MIME-Version: 1.0 References: <20220620004233.3805-1-kent.overstreet@gmail.com> <0a5901f8460f452a89c9b0cda32fb833@AcuMS.aculab.com> <20220620150514.3tjy5dv7pv5frcwd@moria.home.lan> <53d77ae6101a0f24cfb694174d4c7699424c57e8.camel@perches.com> <20220621005752.ohiq5besmy3r5rjo@moria.home.lan> <355e912490dbaef8fe4e12df0201c3f5b439565d.camel@perches.com> In-Reply-To: <355e912490dbaef8fe4e12df0201c3f5b439565d.camel@perches.com> From: Linus Torvalds Date: Sun, 26 Jun 2022 13:19:21 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC[ Alloc in vsprintf To: Joe Perches Cc: Andrew Morton , David Laight , Petr Mladek , Steven Rostedt , Sergey Senozhatsky , Rasmus Villemoes , Matthew Wilcox , Miguel Ojeda , Kent Overstreet , Andy Shevchenko , LKML , linux-mm Content-Type: multipart/mixed; boundary="000000000000c9d81005e25f851c" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1656274782; a=rsa-sha256; cv=none; b=jH+Bx8AuDIalfeqlAfLznPgdmYgTPgXF9GyRHWU20M2ftKDic68QUzVaEot49yURVDfNpD 6/hBSlnk6S0HgJNxsf8hr2OrIow1GgIP1VT7f0/DWq7cTz3oNag7Mo3Fn4qq9cbWJbCRj+ GOKMKKPmSr4SxqzmgtkdZPJ1neEquN8= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=GS6ies+w; spf=pass (imf27.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.52 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=1656274782; 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=nu9/GNmE/6Ec+yjhAIVpoKG+URCXP5VRgR+sJEJG8es=; b=sG2OjvRR1jtJ9pfxWWgceUrRRavO3prN4kgYpTjhhHeA/eq5vfpKhmO95paDU0ADt4BGWC 57F/eeKI9ByHahX220K6zRW3OHNR4Pyn7SRUjuVLSZIq6v9t4572agVuNJYywrrrCFDQ8k pGIKkpOYBYk5oYa6HxdWavmdFqu6jJs= X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 7D8374000D Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=GS6ies+w; spf=pass (imf27.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.52 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none X-Rspam-User: X-Stat-Signature: xnw885udx4ftt6gqwq98zb535o846rfy X-HE-Tag: 1656274782-852446 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: --000000000000c9d81005e25f851c Content-Type: text/plain; charset="UTF-8" On Sun, Jun 26, 2022 at 12:53 PM Joe Perches wrote: > > In a reply to the printbufs thread, I wrote a proposal to use an > alloc to reduce stack in vsprintf when CONFIG_KALLSYMS is enabled. > > No one has replied to this but I think it's somewhat sensible. I think that's a bad idea. Those things are *literally* called from panic situations, which may be while holding core memory allocation locks, or similar. The last thing we want to do is make a hard-to-debug panic be even *harder* to debug because you get a deadlock when oopsing. (And yes, I realize that the symbol name lookup can have problems too, but thats' kind of fundamental to %pS, while a kzmalloc isn't. Now, you are correct that the stack buffer is annoying. But I think the proper way to fix that is to say "we already *have* the target buffer, let's use it". That does require teaching the sprint_symbol() functions that they need to take a "length of buffer" and return how much they used, but that would seem to be a sensible thing anyway, and what the code should always have done? It's bad policy to just pass in a buffer without length, and I think it was always broken. Nasty. That KSYM_SYMBOL_LEN is magically taking care of it all, but it's ugly as heck, wouldn't you say? NOTE! The attached patch is completely broken. I did not do that interface change to the kallsyms code. The patch is literally meant to be just an explanation of what I mean, not a working patch. Linus --000000000000c9d81005e25f851c Content-Type: text/x-patch; charset="US-ASCII"; name="patch.diff" Content-Disposition: attachment; filename="patch.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l4vr87ma0 IGxpYi92c3ByaW50Zi5jIHwgMTggKysrKysrKysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg MTEgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvdnNwcmlu dGYuYyBiL2xpYi92c3ByaW50Zi5jCmluZGV4IDNjMTg1M2E5ZDFjMC4uMDMyZmE4YmM1NzUyIDEw MDY0NAotLS0gYS9saWIvdnNwcmludGYuYworKysgYi9saWIvdnNwcmludGYuYwpAQCAtOTgxLDcg Kzk4MSw3IEBAIGNoYXIgKnN5bWJvbF9zdHJpbmcoY2hhciAqYnVmLCBjaGFyICplbmQsIHZvaWQg KnB0ciwKIHsKIAl1bnNpZ25lZCBsb25nIHZhbHVlOwogI2lmZGVmIENPTkZJR19LQUxMU1lNUwot CWNoYXIgc3ltW0tTWU1fU1lNQk9MX0xFTl07CisJdW5zaWduZWQgbG9uZyBtYXhsZW47CiAjZW5k aWYKIAogCWlmIChmbXRbMV0gPT0gJ1InKQpAQCAtOTg5LDE4ICs5ODksMjIgQEAgY2hhciAqc3lt Ym9sX3N0cmluZyhjaGFyICpidWYsIGNoYXIgKmVuZCwgdm9pZCAqcHRyLAogCXZhbHVlID0gKHVu c2lnbmVkIGxvbmcpcHRyOwogCiAjaWZkZWYgQ09ORklHX0tBTExTWU1TCisJbWF4bGVuID0gZW5k IC0gYnVmOworCWlmIChtYXhsZW4gPiBzcGVjLnByZWNpc2lvbikKKwkJbWF4bGVuID0gc3BlYy5w cmVjaXNpb247CisKIAlpZiAoKmZtdCA9PSAnQicgJiYgZm10WzFdID09ICdiJykKLQkJc3ByaW50 X2JhY2t0cmFjZV9idWlsZF9pZChzeW0sIHZhbHVlKTsKKwkJbWF4bGVuID0gc3ByaW50X2JhY2t0 cmFjZV9idWlsZF9pZChidWYsIG1heGxlbiwgdmFsdWUpOwogCWVsc2UgaWYgKCpmbXQgPT0gJ0In KQotCQlzcHJpbnRfYmFja3RyYWNlKHN5bSwgdmFsdWUpOworCQltYXhsZW4gPSBzcHJpbnRfYmFj a3RyYWNlKGJ1ZiwgbWF4bGVuLCB2YWx1ZSk7CiAJZWxzZSBpZiAoKmZtdCA9PSAnUycgJiYgKGZt dFsxXSA9PSAnYicgfHwgKGZtdFsxXSA9PSAnUicgJiYgZm10WzJdID09ICdiJykpKQotCQlzcHJp bnRfc3ltYm9sX2J1aWxkX2lkKHN5bSwgdmFsdWUpOworCQltYXhsZW4gPSBzcHJpbnRfc3ltYm9s X2J1aWxkX2lkKGJ1ZiwgbWF4bGVuLCB2YWx1ZSk7CiAJZWxzZSBpZiAoKmZtdCAhPSAncycpCi0J CXNwcmludF9zeW1ib2woc3ltLCB2YWx1ZSk7CisJCW1heGxlbiA9IHNwcmludF9zeW1ib2woYnVm LCBtYXhsZW4sIHZhbHVlKTsKIAllbHNlCi0JCXNwcmludF9zeW1ib2xfbm9fb2Zmc2V0KHN5bSwg dmFsdWUpOworCQltYXhsZW4gPSBzcHJpbnRfc3ltYm9sX25vX29mZnNldChidWYsIG1heGxlbiwg dmFsdWUpOwogCi0JcmV0dXJuIHN0cmluZ19ub2NoZWNrKGJ1ZiwgZW5kLCBzeW0sIHNwZWMpOwor CXJldHVybiB3aWRlbl9zdHJpbmcoYnVmLCBtYXhsZW4sIGVuZCwgc3BlYyk7CiAjZWxzZQogCXJl dHVybiBzcGVjaWFsX2hleF9udW1iZXIoYnVmLCBlbmQsIHZhbHVlLCBzaXplb2Yodm9pZCAqKSk7 CiAjZW5kaWYK --000000000000c9d81005e25f851c--