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 8ABE6D711BF for ; Wed, 20 Nov 2024 16:14:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 257EC6B0096; Wed, 20 Nov 2024 11:14:19 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 207BD6B0098; Wed, 20 Nov 2024 11:14:19 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0A8A56B0099; Wed, 20 Nov 2024 11:14:19 -0500 (EST) 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 DE6476B0096 for ; Wed, 20 Nov 2024 11:14:18 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 671FB40C0C for ; Wed, 20 Nov 2024 16:14:18 +0000 (UTC) X-FDA: 82806969084.24.6F87E15 Received: from mail-qk1-f180.google.com (mail-qk1-f180.google.com [209.85.222.180]) by imf16.hostedemail.com (Postfix) with ESMTP id F11C4180015 for ; Wed, 20 Nov 2024 16:13:24 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=soleen-com.20230601.gappssmtp.com header.s=20230601 header.b=xCVKLk06; spf=pass (imf16.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.222.180 as permitted sender) smtp.mailfrom=pasha.tatashin@soleen.com; dmarc=pass (policy=none) header.from=soleen.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732119074; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=36mHAHuOoczvUZMevzRpdY4PbCa8tx9CNRg6h+RZgJg=; b=hZs5KXW1/b2tDncf5ZUqivvKJQDztZggBo/SFz0/BDZIv1WXvq6QRWDqDKl8x6D690lfiS haULBgbWRgiX4KbZEWAnMAbG3gZQH3SidD+V0cCjXthBkn46AM21wmvC3nnVUxKG2D4Gn8 1QLhZifG3VfDOK6PBg6IsUQpFyMuxOg= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=soleen-com.20230601.gappssmtp.com header.s=20230601 header.b=xCVKLk06; spf=pass (imf16.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.222.180 as permitted sender) smtp.mailfrom=pasha.tatashin@soleen.com; dmarc=pass (policy=none) header.from=soleen.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732119074; a=rsa-sha256; cv=none; b=TFGPXhUHTFwvQOWGAFSfsG8WtVYIVT5CJPAQJTWICZf6GXIwGs37BpgqpVqz9iXT4E+zSa ycGd43pcpYyx9mA3L5wEc/F6lm8OTGXqhmTDncgG11U5yy4QIPYpo1oQkTgQZYsIpETx+A RwVwVXi46cqNKwBhofYnIkbK8UVWXMc= Received: by mail-qk1-f180.google.com with SMTP id af79cd13be357-7b158542592so304683585a.2 for ; Wed, 20 Nov 2024 08:14:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen-com.20230601.gappssmtp.com; s=20230601; t=1732119255; x=1732724055; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=36mHAHuOoczvUZMevzRpdY4PbCa8tx9CNRg6h+RZgJg=; b=xCVKLk069cndUT+JOuiQCV9sGBQF/fK+7ckTdkrgOm4jebTCZfjLmwaSTvuMvVGBbg Xh1Jldcb3WvwLVlu8SVQNFXzkPiU8KRH5d73iOWs+Wa0JDlwYcDwMOzfW34M/zYxQNa+ Jnn5ergdUKMG63c9X7f81WK+YR1WxXq0CA5cVtIaChzSdOLiXTi7WwnbUBzUsPPzN6Sv ApKImeGKXiwB6HI803fe2oUJtK/s6fThRCnpGVmNWBg0aF2pRMlgfgIhnB7zn1Ej5GGt yr4BnY6mND0fx91gdC2uiyRVCi1KejZeC+Pq/50EuHyi/2kxxi3bqPLEiaBSJITcLiWT WMWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732119255; x=1732724055; h=content-transfer-encoding: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=36mHAHuOoczvUZMevzRpdY4PbCa8tx9CNRg6h+RZgJg=; b=ez4P7iX+cqC151QHDnKdJOeHrEamDGhtmw0kFVqUvQBjJcR/QkqkrIw7I58NV+0HOe tRop5EXhTCZT7pwgHC3GgFsTZjHVH6ryRLAVncrJ+fjyj1JlMxL53LQaQFVQbngyyXXv q54FijfOZ62OeLoHQmTsVTFZbB9mGTEdFCkzptznL2xgGGqJuea5BQLJ1QK0wwRlrMhp I6m/iK9tUnKpIC4m8muJH9xM7LFQdpb/Ig5GIW75OE8Mj+0YRRKpByLpsJeWajPioIhh H7NW2JpzUfnDCvzmETkNaCUs/fau21XTE6K8FwNHmEoAG+yZUlGVNUAU0gyhSuvkAgKj dF4Q== X-Forwarded-Encrypted: i=1; AJvYcCXWz4x7g/WU7371pPkpbDAs7X5k90IY8szBIdLB83z2ikK+PXvR1b43ZArVTGC5emXvPZYKgBiOqA==@kvack.org X-Gm-Message-State: AOJu0Yy+ob6e9FSlGy/pa2r1U7thbr87jpQI4Wvq/komN4jT2vuZmxt+ zGaYWBR2rnALSltVwK2PAZkJSUbRb4BJ1M0iLzNu3X0Lq15RN98Tj9vrnjU/Zcm0Ob4Yxv/4f8W o8T3IGeXVtpwjtNDSOuuCtuw8VOKwie8XuprDdreNtXSHf5g1uNRE4g== X-Google-Smtp-Source: AGHT+IFt7Yq3qdxAOZPq5rfspDx9bBIP2Xc48nqDhvTlFobjMOD2awIarz0pB2lJFk6Gsup7XNJxHXCOtbCvhDGq3MA= X-Received: by 2002:a05:622a:14d2:b0:458:5ed8:628 with SMTP id d75a77b69052e-464777e2232mr41870841cf.2.1732119255280; Wed, 20 Nov 2024 08:14:15 -0800 (PST) MIME-Version: 1.0 References: <20241116175922.3265872-1-pasha.tatashin@soleen.com> <2024111938-anointer-kooky-d4f9@gregkh> In-Reply-To: From: Pasha Tatashin Date: Wed, 20 Nov 2024 11:13:37 -0500 Message-ID: Subject: Re: [RFCv1 0/6] Page Detective To: Yosry Ahmed Cc: Roman Gushchin , Greg KH , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, cgroups@vger.kernel.org, linux-kselftest@vger.kernel.org, akpm@linux-foundation.org, corbet@lwn.net, derek.kiernan@amd.com, dragan.cvetic@amd.com, arnd@arndb.de, viro@zeniv.linux.org.uk, brauner@kernel.org, jack@suse.cz, tj@kernel.org, hannes@cmpxchg.org, mhocko@kernel.org, shakeel.butt@linux.dev, muchun.song@linux.dev, Liam.Howlett@oracle.com, lorenzo.stoakes@oracle.com, vbabka@suse.cz, jannh@google.com, shuah@kernel.org, vegard.nossum@oracle.com, vattunuru@marvell.com, schalla@marvell.com, david@redhat.com, willy@infradead.org, osalvador@suse.de, usama.anjum@collabora.com, andrii@kernel.org, ryan.roberts@arm.com, peterx@redhat.com, oleg@redhat.com, tandersen@netflix.com, rientjes@google.com, gthelen@google.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: F11C4180015 X-Stat-Signature: 63wffxt5h6wxa7zyx6cdz9r5yxxqyc66 X-Rspam-User: X-HE-Tag: 1732119204-11389 X-HE-Meta: U2FsdGVkX1+qgdy5MVQInSE46zTHJtlmiuFS+9ZP420CNM7Tan3GgSw8DiKz93zTu7LpoPCbCAIs8snjQGlBiCu2Uxq0EA+EW5xQwprJJzk3x9XqEferF7tQgDgZdvz8DBomOGB9FFxJKTm8WYBb2kxkX+IrGh+dIWrgdAC4IfRiu5HTZ7Jdt22AKhc31V8p1C/MMw7/m3uG8ZBkg31dBMmXXaTk1Fxt0glxoyrW+gTBkFIQ7R0NtuuAAwI57HfodCdenJqT4zUFQzrNrzwGbBwRoczDbg4HMBJcsKgdWiGXf0CM8aD/U1J15JYEtIeIB/GWEmRPiHZFlCrM/k/OfFYqYAnEOqUfy/+ErVBJiOC6WQ0axs56qMvCbZIiJ2JxQ3dfFoSfEX9iILyDp0CGFYyYO3O35Ln//YnoNt0S7SUtyDu1w3twAK5FK2oEnR8qMDTclCToKORaDmwaE+Q+ufU97NlbQkfnv3fFV+fe/VtCD0Y8ckDfgFBlscCCkiC9Xnrc1xI42Sf9n4OsZCHf04gt5zcK8TXJQP5AEpiC7wqDCwgJg9ymmi11hSiWTgw1W1WT7pM1nD/K3uwTjaceMScfNK7r+CsGHBv9lf1cwXo8P7JN+EzfCCO7uNKPx6Nr2Pjnwp6r0W6FZDmdiuGzKJ9KR3xwNaRzZIzUGEniDkF0USFuzX9bgXMKU27Rg4cob1sIctrKPXRfOE8w+0GUmKKx6X7D6fi1KNJEuTvE0G9Ee7U+c5pfSLaN00HVt+4yalDmCBSs3Mgtcggnr4Vm9mSf9yd6LUasrk/LtVhty9EH8VyOz89YykuX6UzpfqKcyqNfzucLxF/hoyIPrKW+kAq4qz63681ENuTIxO1HvRSsScTKzduW3dzoq3Mw2LVMfOssp8SD60RCjo/oqgen7VqrtZRKL/iJkgsMLWi+VMw59NudYHgpaJ5kyFO+g5fnafrY+oUX/QBPnl+xUyD H1a4WpIw x1BOMIEGEe77N4if2HHwYOoE305N/spHHqccIwWGJFf9icsaamuWYc/Od7WTpyznEev3KTd1jYqqy+QwnIJcVXYp6LGU1c/o1QI3WbQFRAG06xgnF8gEhKWkQztXe0p2nTTKqNmZwy9zjV5MwCDfMIEEaJNIAxEgkzwAoOxIvjkJsWX9aKEEExpgtWjQ1Lz5l1u2xq/kkzjIHJO0DIHWoQ5Bi4hdxXFDCdy5Z9/plB98qfJkwvXpVlqzijWbtGlLWByg9MtaiPgylsUPKHKhyHFIe8Uj3NL54TZkqANG+DfjFsPoN6dUQSTjkP7Su4i0lt8KmkE68p/VMiy3iez49bC3K1lyNht5RBoFUJq8NHbbSAaElGtJcgvk73Oeeh4zxoi3yaG63GLfTzy8= 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: List-Subscribe: List-Unsubscribe: On Tue, Nov 19, 2024 at 2:36=E2=80=AFPM Yosry Ahmed = wrote: > > On Tue, Nov 19, 2024 at 11:30=E2=80=AFAM Pasha Tatashin > wrote: > > > > On Tue, Nov 19, 2024 at 1:23=E2=80=AFPM Roman Gushchin wrote: > > > > > > On Tue, Nov 19, 2024 at 10:08:36AM -0500, Pasha Tatashin wrote: > > > > On Mon, Nov 18, 2024 at 8:09=E2=80=AFPM Greg KH wrote: > > > > > > > > > > On Mon, Nov 18, 2024 at 05:08:42PM -0500, Pasha Tatashin wrote: > > > > > > Additionally, using crash/drgn is not feasible for us at this t= ime, it > > > > > > requires keeping external tools on our hosts, also it requires > > > > > > approval and a security review for each script before deploymen= t in > > > > > > our fleet. > > > > > > > > > > So it's ok to add a totally insecure kernel feature to your fleet > > > > > instead? You might want to reconsider that policy decision :) > > > > > > > > Hi Greg, > > > > > > > > While some risk is inherent, we believe the potential for abuse her= e > > > > is limited, especially given the existing CAP_SYS_ADMIN requiremen= t. > > > > But, even with root access compromised, this tool presents a smalle= r > > > > attack surface than alternatives like crash/drgn. It exposes less > > > > sensitive information, unlike crash/drgn, which could potentially > > > > allow reading all of kernel memory. > > > > > > The problem here is with using dmesg for output. No security-sensitiv= e > > > information should go there. Even exposing raw kernel pointers is not > > > considered safe. > > > > I am OK in writing the output to a debugfs file in the next version, > > the only concern I have is that implies that dump_page() would need to > > be basically duplicated, as it now outputs everything via printk's. > > Perhaps you can refactor the code in dump_page() to use a seq_buf, > then have dump_page() printk that seq_buf using seq_buf_do_printk(), > and have page detective output that seq_buf to the debugfs file? Good idea, I will look into modifying it this way. > We do something very similar with memory_stat_format(). We use the void mem_cgroup_print_oom_meminfo(struct mem_cgroup *memcg) { /* Use static buffer, for the caller is holding oom_lock. */ static char buf[PAGE_SIZE]; .... seq_buf_init(&s, buf, sizeof(buf)); memory_stat_format(memcg, &s); seq_buf_do_printk(&s, KERN_INFO); } This is a callosal stack allocation, given that our fleet only has 8K stacks. :-) > same function to generate the memcg stats in a seq_buf, then we use > that seq_buf to output the stats to memory.stat as well as the OOM > log.