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 0D85CC05027 for ; Sun, 12 Feb 2023 07:17:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 51FDE6B0073; Sun, 12 Feb 2023 02:17:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4CE3B6B0074; Sun, 12 Feb 2023 02:17:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 395FA6B0075; Sun, 12 Feb 2023 02:17:48 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 2A32C6B0073 for ; Sun, 12 Feb 2023 02:17:48 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id F2EEE1C6323 for ; Sun, 12 Feb 2023 07:17:47 +0000 (UTC) X-FDA: 80457784974.05.E15B390 Received: from mail-qt1-f180.google.com (mail-qt1-f180.google.com [209.85.160.180]) by imf10.hostedemail.com (Postfix) with ESMTP id 50BB7C0003 for ; Sun, 12 Feb 2023 07:17:46 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=N8yfPYPI; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf10.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.160.180 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676186266; 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=dj/mjlSWyy8D7sem3Xq7H9aE4xWUXTvKfBZb3PK5eN0=; b=FWVPKtjnFX8+sfuhWZZ0l36xR5+DNpMHtKd6FTNkw+Y7EMDJdpAPb/VDByqD7oda0UuAaq rwH54xevG0rIbW/4wfxcoIDjKjakde1ryAsBsXd781+6K/d/l8Z9u89RKb2bk4En6Q55Q9 y9RDwgEbClxcTbwEgRuGdg/fCkT1REw= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=N8yfPYPI; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf10.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.160.180 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676186266; a=rsa-sha256; cv=none; b=mzl3ZJIipdUB99/vmfrx2SsexgOJaQwB1Q7euP8YjeTmExKtLlLk01065XWjV2kZlIeS8T MyGsuA4ug9C9/h0WAL6yG9/x6gFTP5MwDjTWXL4/T6gzdKCC2et33wp+2ZtdcNAeZm1H0W Gvh1k/0VbP1OPaLK5jvJWstdxsjbBmk= Received: by mail-qt1-f180.google.com with SMTP id cr22so10677443qtb.10 for ; Sat, 11 Feb 2023 23:17:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=dj/mjlSWyy8D7sem3Xq7H9aE4xWUXTvKfBZb3PK5eN0=; b=N8yfPYPIYoEstZAgozDt6SoDUHuyMIh27W8p77E/12OLrkhMfJ6wyLfG56qJ018uiC XgQzQALaU2C1a5vfY3cyLFdXUO9bmeO5+tbTJ30f1+s7NeCFMIAYJzuQwxECmvs3D/2H RHihEz4SUH2nk3uFpqz9JyyqJS5O+FEhabBmXH0TfkwAnVv1cKLYU9zL9zexOYMudXna iCyaNEc9n52n5A31S9WJIYbMMUR8KDCQu+en8FLt+6XC3SPSwUvoDdf+XIJGrkPCmVv+ gPlbxfH0tAwMZJOUQ57ncEgK2RbX9/B9eXtxbzLUUSlQTkIaqhFTF6H+a9ZywF/jHqKO LB+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=dj/mjlSWyy8D7sem3Xq7H9aE4xWUXTvKfBZb3PK5eN0=; b=b0qSkhj6aZ0z8KMw8fkMuJFwlFuBOGcmwT91mt88U9j894O1+NrU4RjfhqXepbf5Rc 4kw95VeZ9j42dPp5nm8QCy7IitXNYjrZcbGHYlZNmTbyqJlZuAy5YXlDFPgfZ045O9/k 2YqZj+PCju/FC2i6wvImvJaFB1sregztIQr3JOVAb6UjA+ddoFNXo10GO6KiepdcJhd6 NXmQPOuYqPqS+y1triQKCo9DBRIY45BnirkihcUx/3zFTNhgDnFhz3pw754RemLXXKz/ h63BNGV3LxKHwsYB+XKNX67TH1atYjG5EtHzRpJBEZxsolAuKIft3wyRgP3F3qgNsnFy p7Ng== X-Gm-Message-State: AO0yUKWR0Cv28ONJW44fB3JQKDAmMiDqWFiWP0iAWowirS0uwbTX//WK OatryBkUh6MXRSyvbGPucoNGCpzNpwkAWPHcegc= X-Google-Smtp-Source: AK7set83jJ9617n0phsImWW5xRUrXIZ/J7J+kM9Exrj5K8eVgkyRKc57XiunBfV99SSLOwj4nE5x5qY7MtcaFcSsUgk= X-Received: by 2002:a05:622a:610:b0:3b9:a37e:3a23 with SMTP id z16-20020a05622a061000b003b9a37e3a23mr3093912qta.418.1676186265462; Sat, 11 Feb 2023 23:17:45 -0800 (PST) MIME-Version: 1.0 References: <20230203190413.2559707-1-nphamcs@gmail.com> <20230203190413.2559707-3-nphamcs@gmail.com> <834254e6-a9c2-440c-9c67-fc5fa5ca43bc@app.fastmail.com> In-Reply-To: <834254e6-a9c2-440c-9c67-fc5fa5ca43bc@app.fastmail.com> From: Nhat Pham Date: Sat, 11 Feb 2023 23:17:34 -0800 Message-ID: Subject: Re: [PATCH v9 2/3] cachestat: implement cachestat syscall To: Arnd Bergmann Cc: Andrew Morton , Johannes Weiner , linux-mm@kvack.org, linux-kernel@vger.kernel.org, bfoster@redhat.com, Matthew Wilcox , linux-api@vger.kernel.org, kernel-team@meta.com Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 50BB7C0003 X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: 8xph67yptt5yjg5o7hye9bjhbuj8ongg X-HE-Tag: 1676186266-631824 X-HE-Meta: U2FsdGVkX19lLjZ6QqcJMulGtN2/inps5BbwR3GS6HbrMnXxBg+ZfKjCtac9h4ImCCxBDmwYIHMD/lgT1lNAfOMMM0CZBRrpD48G8cns/lM8BOkid2YbZnA13/Xrm9sf7Kn+thjY6b9kJX2yRPBX/EEk3iOfHkRKl1vYvYQd88Uo3Y7v7npomvl7Sev6bVFXY2v8SrUExhc5I9gn4+paBkPSijHFCi6PCLxDg8eDKN8luUFnmvT8hsaH5uxCHRv4031YvhTCxsnvAhcI0YmLuY4S0bE99zyA/PViRWiWGgHcEkRX37C1szAalBBIjzdql55py1zKGvHVpeNDZGnMfcvRJ+OoRBbCuRlk0z6fzpPJ5mw72f158ivD87RAe/kqHhk1o7h36nJUwWHqH7rkliGwVvXHVk77nC4fC165MrPc9glPOw7YgLoy0PXPo9tx0T/pxDMLJe/hwIYGCxo90alh75AG2ci2we50SVTRyEuxzQ2J4RMdSI9GkM3o+zDMh+S3o/b9XgdmjmCybyJcq7HbzpRE/FtCkHZbDRogpoeShJ2ekG/C13KL24XTaj9m/B4gTT7+vRYhaBI256I36uAb8dYSPYWc0AhuYHW1r7W8Ab4Bdt34PaHNtGISc2pSko39NIpnN4eoA8zG9UNEut+yideWde8zZz35XyHEjMNi4QUv51SBcT+8XNhpHGd+RTKmbKv0Dhm02vH/izXqDL5mYP8ZZv5oulb2hBfA8VVNqQ+bYWPBGh8BqdBjwIFjv+fop88dfGo9U7tdeLOXBYMmjoPVyn4pI0l95F6kidZBIRh2rhqXxgsIxrxNIjK7qrUjDvIdh+klU8hfe80bsEiMzCgSALrDtBUiZfm+GqkH9y7gCCWupms6kXFV1fQoFJ3hJxHtKJDHgj3TARpfgdSiOhdWFYU20MioKe3nqOZ6eDpZwDt0pEUGuUNtgCqxjKxfo/5cgLx3G8cPH3/ 0Hk0uN83 4lBn3OnugBQBcL4iFEQDlEXkn2XXWNV+bb+bHi33va9oXHxL8h42QDF4twrtL2Fgl6/Yq329ZRozYgZvk1YpXeFD5D3nlo1uoU75JllsGe7JJGEwbrSWYaZDzv3ZybzTkX/bMLfaECaHiUEViV80htwXjyMC426nmACL2c+u0JqHV2i5KEggi0BJfdxQARXbqZt65H+w8V1q2cZjwhdQtn/9PX7QreMy5zMbC+I0qO3N6qQXirWxWUqwdFdvWErAy3w5mdJJUXIALNwuFEFkhpRRqto8u39TdS1oES1WwAnw8bkY82syjrV1fQWVJVhVIFKo+FFgZx3asjVoVbfBwjA0R/wKOd/4tbj4dzY+UU6wIfa/D49hhPyZMIQ== 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: On Sun, Feb 5, 2023 at 1:56 AM Arnd Bergmann wrote: > > On Fri, Feb 3, 2023, at 20:04, Nhat Pham wrote: > > > +SYSCALL_DEFINE5(cachestat, unsigned int, fd, loff_t, off, size_t, len, > > + struct cachestat __user *, cstat, unsigned int, flags) > > +{ > > + return ksys_cachestat(fd, off, len, cstat, flags); > > +} > > + > > +#ifdef CONFIG_COMPAT > > +COMPAT_SYSCALL_DEFINE6(cachestat, unsigned int, fd, > > compat_arg_u64_dual(off), > > + size_t, len, struct cachestat __user *, cstat, unsigned int, flags) > > +{ > > + return ksys_cachestat(fd, compat_arg_u64_glue(off), len, cstat, > > flags); > > +} > > This still looks wrong to me, as this compat definition does not match > the native variant on architectures that require 64-bit arguments to > be passed in aligned register pairs, such as arm, mips or ppc, but > not x86, s390 or riscv. (looks like I sent the last email in the wrong format - resending this in plain text to see if the problem persists...) Oh I see - thanks for pointing that out! And the last bit means this is a non-issue for x86, s390 or riscv right? And iirc from the last thread, this is fixable via a simple reordering of the args in order to properly align the 64-bit arguments, for e.g: SYSCALL_DEFINE5(cachestat, loff_t, off, unsigned int, fd, size_t, len, struct cachestat __user *, cstat, unsigned int, flags) ... COMPAT_SYSCALL_DEFINE6(cachestat, compat_arg_u64_dual(off), unsigned int, fd, size_t, len, struct cachestat __user *, cstat, unsigned int, flags) It looks a bit odd to me that fd is not the first argument, but perhaps this is an acceptable sacrifice to avoid unused arg and keep the flags... Let me know what you think about this! > > Arnd