Received: by 2002:a05:7412:da14:b0:e2:908c:2ebd with SMTP id fe20csp1709399rdb; Sun, 8 Oct 2023 23:15:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGRrQvODjJPbxZB5zCJHSxnmNnGbBwQKb9o2hsJFufwsjhYubB3e0KIILK/lTU/7jfqJKZ7 X-Received: by 2002:a05:6870:6111:b0:1d0:e0c9:f33d with SMTP id s17-20020a056870611100b001d0e0c9f33dmr18879825oae.46.1696832126404; Sun, 08 Oct 2023 23:15:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696832126; cv=none; d=google.com; s=arc-20160816; b=lr1mE/FTLGB440jJtsBx5CDBWdzGPW1M023Vk/G8Gk+sCdTOWUHBwLfDLyFbT+E7Lk /FOVIdJGYqoKpbMJvI2Sk2G6QsnCailMI8ILRPdipYxSpCXZ6jBnxnAm0Sj+PKzb6z59 UkEtET+tW6lisro+OwAfLChaHtjZAX1KUzzuTqIbOfz5655ABCbWZsVBbEB+uxyYUtIH 0kabqUeAQ/3menFILXmAMwWnW5usvzyFwjZY0nXunZfxnrXTy9loHbIpzOCPQt9rD0Rv +c9MiQvw/uxwEeZ0lG0poXjiPwtpbpDlbXKmqAsfDN0HxVeI0pUjAcDOWkg9sI/gx2kE ge5A== 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=P23SOHfgTa3e7Ak8Wub57wHs43gpPbuk/YCIa0JR4k8=; fh=uyUWPxjYS0/3SbkDyygAQY2x7TabusfAeO09rIxENpw=; b=uHLklbXRdsjmnq0ELiyssaHRRR3dZxEb7zUYhcfghfeCJ7DQTWskK5gFUkqx2LarDN tnCsK1eDBRXEBMNswwJvmzNdf1QDucKSPsYKMrySjh4tIn9rfSYDJVoO/g9L4dksi7F2 rr1XAN5vdIqgUqnB+xX0XpKaYDFHRsadRWFMuvZogwjIpJmSSd0VEypKMLgoQvhgQQY3 DYYF1sKyx3Zi66aYxZjp5O95ciUKBWhZxU3vbNOTX6kkaDV4v/CuXI4nSiUJWRYdEkVI lG4SNg7+cmmavZtVI0xFXp1+IqQSOTcnwcyZ+B8ruN2R/PMyoeV5AJa7NKfVSJgGL2+W vYtQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=i2scqwCv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id fa8-20020a056a002d0800b006933746d6edsi7017064pfb.22.2023.10.08.23.15.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Oct 2023 23:15:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=i2scqwCv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id DDCAC8092488; Sun, 8 Oct 2023 23:15:12 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345189AbjJIGPD (ORCPT + 99 others); Mon, 9 Oct 2023 02:15:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58914 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345176AbjJIGPB (ORCPT ); Mon, 9 Oct 2023 02:15:01 -0400 Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com [IPv6:2a00:1450:4864:20::635]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 965AEAB for ; Sun, 8 Oct 2023 23:14:58 -0700 (PDT) Received: by mail-ej1-x635.google.com with SMTP id a640c23a62f3a-99357737980so720703866b.2 for ; Sun, 08 Oct 2023 23:14:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696832097; x=1697436897; darn=vger.kernel.org; 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=P23SOHfgTa3e7Ak8Wub57wHs43gpPbuk/YCIa0JR4k8=; b=i2scqwCvW11zGtYa9YlkIJYeoduJcaxgkCP9345YIKfrvchxywKGNwNbSq/sD39mul UgL9yFAqhCDWUnrwR1gg+bqHLecec0f5cp8jjqlRlxiTT6Lfdta2m+d8W4U8xtt/41a+ IXZhtugmO7DAaMccfZQ4DJXfq1u1qn3LjVmzV9O33dUGBnd2Dr/nMXk82jSZAqFpI4K5 9DZTjzqmYkjETJCJzxUg7O5NGkNV9m7CNgRiyTAz5kTLEHb2llSrd/aoS1duevDGvZI5 KcXhdBSNwv/DaoTZv6QduZ5vJViUvlpefLxXyXJbGNaM8MR9jiUTQGIyMD5udA9XiaRO c9pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696832097; x=1697436897; 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=P23SOHfgTa3e7Ak8Wub57wHs43gpPbuk/YCIa0JR4k8=; b=BfsR/DvQHYSXJVcn4JZJWd8wAOj1IDmoEbPv+cAiDiKc5mjCI5syqM70bEfhaZQMDl KUxkSnZsadpZf+mt9kJeNO+atWltwod0fwV2QJ8UJJrE13QlU7Dg6HJbcPACsbOXTmmF 9g2u4UnxXprfIg2bbDCfWoWzLx/N8f6SPO3sr8IuLQBP1FFPCL/qEXUn72+J9VJoJd1N Ajr+WyqAJ9gPVT1zguCt9z28Zkoyo1vLDTOYXRLWutTq5dMs+dI2+QVecUrbf0eKNl7H VSRszMo9QPk6Zcpw7mKQNOLtT7Le+ent8wAJELdCpPdsCNzYcSW/Iuh3L+zFTDpSJgHI GYuQ== X-Gm-Message-State: AOJu0YwtQ89BvSjk+EsQu6axQOUG2eFYDnujkmn0GB044oGBchY5Pjte yaoHcG9KsPGF1KqjyfMWwM6M3kDc4A== X-Received: by 2002:a17:906:30db:b0:9b2:f941:6916 with SMTP id b27-20020a17090630db00b009b2f9416916mr13677295ejb.17.1696832096832; Sun, 08 Oct 2023 23:14:56 -0700 (PDT) Received: from p183 ([46.53.254.83]) by smtp.gmail.com with ESMTPSA id f16-20020a1709062c5000b00992e94bcfabsm6261019ejh.167.2023.10.08.23.14.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Oct 2023 23:14:55 -0700 (PDT) Date: Mon, 9 Oct 2023 09:14:53 +0300 From: Alexey Dobriyan To: Andrew Morton Cc: linux-kernel@vger.kernel.org, shuah@kernel.org, hughd@google.com, swarupkotikalapudi@gmail.com Subject: Re: + selftests-proc-add-proc-pid-statm-output-validation.patch added to mm-nonmm-unstable branch Message-ID: <9ce82fc2-4e09-40c4-b5a5-a9a049c2f493@p183> References: <20231004201701.87CB5C433C7@smtp.kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20231004201701.87CB5C433C7@smtp.kernel.org> X-Spam-Status: No, score=3.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_SBL_CSS, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Sun, 08 Oct 2023 23:15:13 -0700 (PDT) X-Spam-Level: ** On Wed, Oct 04, 2023 at 01:17:00PM -0700, Andrew Morton wrote: > > The patch titled > Subject: selftests: proc: add /proc/$(pid)/statm output validation > has been added to the -mm mm-nonmm-unstable branch. Its filename is > selftests-proc-add-proc-pid-statm-output-validation.patch > > This patch will shortly appear at > https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/selftests-proc-add-proc-pid-statm-output-validation.patch > > This patch will later appear in the mm-nonmm-unstable branch at > git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm > > Before you just go and hit "reply", please: > a) Consider who else should be cc'ed > b) Prefer to cc a suitable mailing list as well > c) Ideally: find the original patch on the mailing list and do a > reply-to-all to that, adding suitable additional cc's > > *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** > > The -mm tree is included into linux-next via the mm-everything > branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm > and is updated there every 2-3 working days > > ------------------------------------------------------ > From: Swarup Laxman Kotiaklapudi > Subject: selftests: proc: add /proc/$(pid)/statm output validation > Date: Wed, 4 Oct 2023 01:13:19 +0530 > > Add /proc/${pid}/statm validation > > /proc/$(pid)/statm output is expected to be: > "0 0 0 * 0 0 0\n" > Here * can be any value > > Read output of /proc/$(pid)/statm and check except for 4th position, all > other positions have value zero. > > Link: https://lkml.kernel.org/r/20231003194319.602646-1-swarupkotikalapudi@gmail.com > Signed-off-by: Swarup Laxman Kotiaklapudi > Cc: Alexey Dobriyan > Cc: Hugh Dickins > Cc: Shuah Khan > Signed-off-by: Andrew Morton > --- > > tools/testing/selftests/proc/proc-empty-vm.c | 57 +++++++++++++++-- > 1 file changed, 52 insertions(+), 5 deletions(-) > > --- a/tools/testing/selftests/proc/proc-empty-vm.c~selftests-proc-add-proc-pid-statm-output-validation > +++ a/tools/testing/selftests/proc/proc-empty-vm.c > @@ -303,6 +303,56 @@ static int test_proc_pid_smaps_rollup(pi > } > } > > +static int test_proc_pid_statm(pid_t pid) > +{ > + char buf[4096]; > + char *tok; > + char *string; > + int non_zero_value_indx = 4; > + int i = 1; > + > + snprintf(buf, sizeof(buf), "/proc/%u/statm", pid); > + > + /* > + * Output can be "0 0 0 2 0 0 0\n" where "2" can be anything. > + */ > + int fd = open(buf, O_RDONLY); > + > + if (fd == -1) { > + if (errno == ENOENT) { > + /* > + * /proc/${pid}/statm is under CONFIG_PROC_PAGE_MONITOR, > + * it doesn't necessarily exist. > + */ > + return EXIT_SUCCESS; > + } > + perror("open /proc/${pid}/statm"); > + return EXIT_FAILURE; > + } else { > + ssize_t rv = read(fd, buf, sizeof(buf)); > + > + close(fd); > + assert(rv); > + string = buf; > + > + while ((tok = strsep(&string, " ")) != NULL) { This is unreliable too. read() doesn't terminate the buffer so this relies on termination from snprintf(buf, sizeof(buf), "/proc/%u/statm", pid); Buggy kernel could return a lot of data and overwrite it.