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 D43ABC4167B for ; Sun, 3 Dec 2023 06:07:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 21FA66B0329; Sun, 3 Dec 2023 01:07:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 15C536B032B; Sun, 3 Dec 2023 01:07:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EC8B36B0358; Sun, 3 Dec 2023 01:07:52 -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 D985D6B0329 for ; Sun, 3 Dec 2023 01:07:52 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id A91A6401CB for ; Sun, 3 Dec 2023 06:07:52 +0000 (UTC) X-FDA: 81524475984.30.9628AE4 Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.136]) by imf02.hostedemail.com (Postfix) with ESMTP id A6B6680003 for ; Sun, 3 Dec 2023 06:07:50 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=M6gNfuSg; spf=pass (imf02.hostedemail.com: domain of lkp@intel.com designates 192.55.52.136 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701583670; 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: references:dkim-signature; bh=O2c2ZcpLzImPZ7erKpVy1KVp4dGawMExVZW136U4oNE=; b=HaJpPPGrzMzWeQmx8c0n9ApINsbgLP+ha5SKPPMUC2K6hc8poumhQp7OgD+dyrYlGQV30Z 80i5ieapV+5vFooLba6A0rF8P0pWDjTd310LM0rF4lMvmhw4JubeYYZC651Fbjq6FAYjMR wjeGfCOnScHGyOcq+eY0on22i4Dq1Z4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701583670; a=rsa-sha256; cv=none; b=1TTdEfEfZ3c07VcvXQT8xnGCHurXex/hMM2V2g3DbLzxYzp3jiEOBaISyNVu5f4JDU9Xr8 Kvrm4OUur/z4ZpbI/KMP3+qgLp7+O0Cq47QNqTto4g8vnw88E5NyEeVWz0O3kfN6C1+fZY +k4eKq/PDPQq3gLSopc3Q2URRSRuytw= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=M6gNfuSg; spf=pass (imf02.hostedemail.com: domain of lkp@intel.com designates 192.55.52.136 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701583670; x=1733119670; h=date:from:to:cc:subject:message-id:mime-version; bh=OIFQCS8L757AxAPDyMhAY7hznLFvAEiZ3v2yO7c2P2M=; b=M6gNfuSgSDCu9oVGUHZcH/wjPoHizSdFrrtYAnVwjyyMlwZzVZuZophx DAjHnmVWNMiKzLhoOe6I1CK0vNOA0Out7WV4bkoqlJV45SOFdz6zQWSGt CS/YXRsAZF9b7D4sU6dBa476wjwSe6PhvZO9yzyhzafHvHFYLM6NA2h9I 7609sJbX8An2pKakGpVglZoyAf7O11w6q0H83HQuVtIQCqk5ZHw1Rgzz7 o4nxIs5sWqMoBkeXuKG4CWtHMTDhnyzodYEHZEq5k4gR8Ic2gvY2itcLg IZp8Zx2PNT81tei3YvAD39PWKelKblpeti6BfOPNYfTstNlJ9JTNJxVUQ A==; X-IronPort-AV: E=McAfee;i="6600,9927,10912"; a="373049298" X-IronPort-AV: E=Sophos;i="6.04,246,1695711600"; d="scan'208";a="373049298" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2023 22:07:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10912"; a="770187873" X-IronPort-AV: E=Sophos;i="6.04,246,1695711600"; d="scan'208";a="770187873" Received: from lkp-server02.sh.intel.com (HELO b07ab15da5fe) ([10.239.97.151]) by orsmga002.jf.intel.com with ESMTP; 02 Dec 2023 22:07:43 -0800 Received: from kbuild by b07ab15da5fe with local (Exim 4.96) (envelope-from ) id 1r9fdk-0006IA-39; Sun, 03 Dec 2023 06:07:40 +0000 Date: Sun, 3 Dec 2023 14:07:07 +0800 From: kernel test robot To: Calvin Owens Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org, Kees Cook , Andrew Morton , Linux Memory Management List Subject: fs/proc/base.c:1980:25: sparse: sparse: cast to restricted fmode_t Message-ID: <202312021548.6AW6t0c8-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspamd-Queue-Id: A6B6680003 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: xw1nf7p438jaigbrprnb6mg5jok4bhhx X-HE-Tag: 1701583670-315118 X-HE-Meta: U2FsdGVkX19Vw/vJd3r9RAlLKOj2vVbEV3Zobd6PX77gvcCs5gyi0zhTYIlvWqUZ99fO1opulpBcai8ZrO3eWzZtg5pxg+PpZcwA2JLrqsefi/rEH/0AXlwA5vHTZEykvQZ4zO3H/gkKp+H286JcnBUeYG7TiFUokif9bygdIRbrEBupma9nrwd2TcsoxYjuSu1LNZLMHDzduvJZk00Y016zuL32elqZnRRZ77r8Vn31jSbMzniOwjoxs8bq6ShTwManQAuaIvjg2a9pAWU0g25ITqelNK0zzHJlIReUA9qq//+A+TS8ZK0+IbeIIlsVqfnvri9iMgBklU2Dx2c/Gf7rjoRNfYfJdpSJHVE2TxTfTbjDCqdt6Hr0NwQOxwHDGFb6DMkInrK61PfhpbxhfPyOsl5s41Mjzpah86O+3xRGa0ZBGDMbEkX8NSYK77fankJ2D5ZMtJTOB1niD/QNpLMJgTp2mhn8G7i1/Iyys/3kWKKYSCEXYqI001dl4vEXaUNA675YMTjfapEHpUH7YYOPaNze4WoPccrt7uNxUbMkVYVS9pzZ0iRF81gEAegMkoEyGjSAmJ3rmyUG7JYprtzPkpPNW+QJuhHHh2psL/Y1gQQ+HqHCLb3U9hLywDbCVfXKFLtxlkobxO8PZEhPWpJYs/4kaObmNtd3MjM1GxFvTO+ke8BK/ylCYD0NJIV3JufyjaCKu5KqMIDcx6KrSwCnmeL2qq4FFtaNrveYtFVl7egHYWbiJUitxubSy/cCUu2L5GdmH9tzyswuU6OncVP/MhTEa+I+h95HY+SEoTLU0wW1reNawuODtu+60J7GO8VkdXOLYkt0WZea513bSd/nCxY286fq6R/8WH2buXwvmd4e7w5t67I/VTD3WOk83WHOka63Urx5NZTFYEi+fdbE+6SjmKTqyjBQC1aSRakB1G+evpSHmIkB0CHiACUfn2oSDu/+izQkWROA66d cvfxjcVb EnQli0JmTKSR4MUGyhlAAYJv+wSYTHkbDcwTYS0ycYD3/3gO08axOysE9d4sxhMSrjByi7RYs6sh3qWP2LFWGFBrpgbg4g8cAm928PsXua0pJ2zcBXPMK829t1VXVtkfHNrAJWAfMWVRWcskuA/OoVVhbl33oXxxtUmvQeIDznUKfVb4ijQIHR3yKyK7PdI8xvxHlOwZjNjvNHaHWTJpXrw2CE82n1GvyseeIcQY50/SBU6cWiVJFvaIMyIYVUwI54a6wNLonDwD5elOU84bT/udL4PGQaO3AA45egJ+4QztVKRlFyxeQpgrlpTGQV1lMjIOZ7LbYKMJMVpbnFR0Ji5W1TJYUw7vfQ18G0ISqutXiV5Es43fzNNszaItMk+v0hnKrTTo0ttoFHW9QQrwybfDNaekRNGaLeXUh 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: tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 815fb87b753055df2d9e50f6cd80eb10235fe3e9 commit: bdb4d100afe9818aebd1d98ced575c5ef143456c procfs: always expose /proc//map_files/ and make it readable date: 8 years ago config: x86_64-alldefconfig (https://download.01.org/0day-ci/archive/20231202/202312021548.6AW6t0c8-lkp@intel.com/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231202/202312021548.6AW6t0c8-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202312021548.6AW6t0c8-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> fs/proc/base.c:1980:25: sparse: sparse: cast to restricted fmode_t >> fs/proc/base.c:2039:42: sparse: sparse: cast from restricted fmode_t fs/proc/base.c:2138:48: sparse: sparse: cast from restricted fmode_t fs/proc/base.c:1033:24: sparse: sparse: context imbalance in 'oom_adj_read' - different lock contexts for basic block fs/proc/base.c:1136:24: sparse: sparse: context imbalance in 'oom_score_adj_read' - different lock contexts for basic block fs/proc/base.c:2166:13: sparse: sparse: context imbalance in 'timers_start' - wrong count at exit fs/proc/base.c:2192:36: sparse: sparse: context imbalance in 'timers_stop' - unexpected unlock fs/proc/base.c:3290:19: sparse: sparse: self-comparison always evaluates to false In file included from include/linux/kobject.h:21, from include/linux/device.h:17, from include/linux/node.h:17, from include/linux/swap.h:10, from fs/proc/base.c:66: include/linux/sysfs.h: In function 'sysfs_get_dirent': include/linux/sysfs.h:496:44: warning: pointer targets in passing argument 2 of 'kernfs_find_and_get' differ in signedness [-Wpointer-sign] 496 | return kernfs_find_and_get(parent, name); | ^~~~ | | | const unsigned char * In file included from include/linux/cgroup.h:19, from include/linux/memcontrol.h:22, from include/linux/swap.h:8: include/linux/kernfs.h:424:57: note: expected 'const char *' but argument is of type 'const unsigned char *' 424 | kernfs_find_and_get(struct kernfs_node *kn, const char *name) | ~~~~~~~~~~~~^~~~ In file included from fs/proc/base.c:94: fs/proc/internal.h: In function 'name_to_int': fs/proc/internal.h:117:28: warning: pointer targets in initialization of 'const char *' from 'const unsigned char *' differ in signedness [-Wpointer-sign] 117 | const char *name = qstr->name; | ^~~~ In file included from include/linux/fs.h:7, from include/linux/proc_fs.h:8, from fs/proc/base.c:54: fs/proc/base.c: In function 'proc_fill_cache': fs/proc/base.c:1814:39: warning: pointer targets in initialization of 'const unsigned char *' from 'const char *' differ in signedness [-Wpointer-sign] 1814 | struct qstr qname = QSTR_INIT(name, len); | ^~~~ include/linux/dcache.h:54:52: note: in definition of macro 'QSTR_INIT' 54 | #define QSTR_INIT(n,l) { { { .len = l } }, .name = n } | ^ fs/proc/base.c:1814:39: note: (near initialization for 'qname.name') 1814 | struct qstr qname = QSTR_INIT(name, len); | ^~~~ include/linux/dcache.h:54:52: note: in definition of macro 'QSTR_INIT' 54 | #define QSTR_INIT(n,l) { { { .len = l } }, .name = n } | ^ fs/proc/base.c: In function 'dname_to_vma_addr': fs/proc/base.c:1846:34: warning: pointer targets in passing argument 1 of 'sscanf' differ in signedness [-Wpointer-sign] 1846 | if (sscanf(dentry->d_name.name, "%lx-%lx", start, end) != 2) | ~~~~~~~~~~~~~~^~~~~ | | | const unsigned char * In file included from include/asm-generic/bug.h:13, from arch/x86/include/asm/bug.h:35, from include/linux/bug.h:4, from include/linux/thread_info.h:11, from arch/x86/include/asm/uaccess.h:8, from fs/proc/base.c:50: include/linux/kernel.h:418:12: note: expected 'const char *' but argument is of type 'const unsigned char *' 418 | int sscanf(const char *, const char *, ...); | ^~~~~~~~~~~~ fs/proc/base.c: In function 'proc_map_files_readdir': fs/proc/base.c:2123:49: warning: pointer targets in passing argument 1 of 'snprintf' differ in signedness [-Wpointer-sign] 2123 | info.len = snprintf(info.name, | ~~~~^~~~~ | | | unsigned char * include/linux/kernel.h:405:20: note: expected 'char *' but argument is of type 'unsigned char *' 405 | int snprintf(char *buf, size_t size, const char *fmt, ...); | ~~~~~~^~~ fs/proc/base.c:2135:40: warning: pointer targets in passing argument 3 of 'proc_fill_cache' differ in signedness [-Wpointer-sign] 2135 | p->name, p->len, | ~^~~~~~ | | | unsigned char * fs/proc/base.c:1810:21: note: expected 'const char *' but argument is of type 'unsigned char *' 1810 | const char *name, int len, | ~~~~~~~~~~~~^~~~ fs/proc/base.c: In function 'proc_flush_task_mnt': fs/proc/base.c:2876:19: warning: pointer targets in assignment from 'char *' to 'const unsigned char *' differ in signedness [-Wpointer-sign] 2876 | name.name = buf; | ^ fs/proc/base.c:2888:19: warning: pointer targets in assignment from 'char *' to 'const unsigned char *' differ in signedness [-Wpointer-sign] 2888 | name.name = buf; | ^ fs/proc/base.c:2894:19: warning: pointer targets in assignment from 'char *' to 'const unsigned char *' differ in signedness [-Wpointer-sign] 2894 | name.name = "task"; | ^ fs/proc/base.c:2895:31: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness [-Wpointer-sign] 2895 | name.len = strlen(name.name); | ~~~~^~~~~ | | | const unsigned char * In file included from arch/x86/include/asm/string.h:4, from include/linux/string.h:17, from include/linux/dynamic_debug.h:111, from include/linux/printk.h:277, from include/linux/kernel.h:13: arch/x86/include/asm/string_64.h:64:27: note: expected 'const char *' but argument is of type 'const unsigned char *' 64 | size_t strlen(const char *s); | ~~~~~~~~~~~~^ fs/proc/base.c:2900:19: warning: pointer targets in assignment from 'char *' to 'const unsigned char *' differ in signedness [-Wpointer-sign] vim +1980 fs/proc/base.c bdb4d100afe981 Calvin Owens 2015-09-09 1975 c52a47ace7ef58 Al Viro 2013-06-15 1976 static int 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1977 proc_map_files_instantiate(struct inode *dir, struct dentry *dentry, 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1978 struct task_struct *task, const void *ptr) 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1979 { 7b540d0646ce12 Al Viro 2012-08-27 @1980 fmode_t mode = (fmode_t)(unsigned long)ptr; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1981 struct proc_inode *ei; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1982 struct inode *inode; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1983 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1984 inode = proc_pid_make_inode(dir->i_sb, task); 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1985 if (!inode) c52a47ace7ef58 Al Viro 2013-06-15 1986 return -ENOENT; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1987 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1988 ei = PROC_I(inode); 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1989 ei->op.proc_get_link = proc_map_files_get_link; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1990 bdb4d100afe981 Calvin Owens 2015-09-09 1991 inode->i_op = &proc_map_files_link_inode_operations; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1992 inode->i_size = 64; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1993 inode->i_mode = S_IFLNK; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1994 7b540d0646ce12 Al Viro 2012-08-27 1995 if (mode & FMODE_READ) 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1996 inode->i_mode |= S_IRUSR; 7b540d0646ce12 Al Viro 2012-08-27 1997 if (mode & FMODE_WRITE) 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1998 inode->i_mode |= S_IWUSR; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 1999 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2000 d_set_d_op(dentry, &tid_map_files_dentry_operations); 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2001 d_add(dentry, inode); 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2002 c52a47ace7ef58 Al Viro 2013-06-15 2003 return 0; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2004 } 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2005 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2006 static struct dentry *proc_map_files_lookup(struct inode *dir, 00cd8dd3bf95f2 Al Viro 2012-06-10 2007 struct dentry *dentry, unsigned int flags) 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2008 { 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2009 unsigned long vm_start, vm_end; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2010 struct vm_area_struct *vma; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2011 struct task_struct *task; c52a47ace7ef58 Al Viro 2013-06-15 2012 int result; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2013 struct mm_struct *mm; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2014 c52a47ace7ef58 Al Viro 2013-06-15 2015 result = -ENOENT; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2016 task = get_proc_task(dir); 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2017 if (!task) 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2018 goto out; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2019 c52a47ace7ef58 Al Viro 2013-06-15 2020 result = -EACCES; eb94cd96e05d6c Cyrill Gorcunov 2012-05-17 2021 if (!ptrace_may_access(task, PTRACE_MODE_READ)) 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2022 goto out_put_task; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2023 c52a47ace7ef58 Al Viro 2013-06-15 2024 result = -ENOENT; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2025 if (dname_to_vma_addr(dentry, &vm_start, &vm_end)) eb94cd96e05d6c Cyrill Gorcunov 2012-05-17 2026 goto out_put_task; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2027 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2028 mm = get_task_mm(task); 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2029 if (!mm) eb94cd96e05d6c Cyrill Gorcunov 2012-05-17 2030 goto out_put_task; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2031 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2032 down_read(&mm->mmap_sem); 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2033 vma = find_exact_vma(mm, vm_start, vm_end); 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2034 if (!vma) 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2035 goto out_no_vma; 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2036 05f564849d4949 Stanislav Kinsbursky 2012-11-26 2037 if (vma->vm_file) 7b540d0646ce12 Al Viro 2012-08-27 2038 result = proc_map_files_instantiate(dir, dentry, task, 7b540d0646ce12 Al Viro 2012-08-27 @2039 (void *)(unsigned long)vma->vm_file->f_mode); 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2040 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2041 out_no_vma: 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2042 up_read(&mm->mmap_sem); 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2043 mmput(mm); 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2044 out_put_task: 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2045 put_task_struct(task); 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2046 out: c52a47ace7ef58 Al Viro 2013-06-15 2047 return ERR_PTR(result); 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2048 } 640708a2cff7f8 Pavel Emelyanov 2012-01-10 2049 :::::: The code at line 1980 was first introduced by commit :::::: 7b540d0646ce122f0ba4520412be91e530719742 proc_map_files_readdir(): don't bother with grabbing files :::::: TO: Al Viro :::::: CC: Al Viro -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki