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 4F283C4167B for ; Sun, 3 Dec 2023 06:32:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C8F3F6B0369; Sun, 3 Dec 2023 01:32:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C3FD36B036B; Sun, 3 Dec 2023 01:32:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B2E896B036C; Sun, 3 Dec 2023 01:32: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 A21A26B0369 for ; Sun, 3 Dec 2023 01:32:52 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 72D8FC01D2 for ; Sun, 3 Dec 2023 06:32:52 +0000 (UTC) X-FDA: 81524538984.29.ED79ECE Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.7]) by imf10.hostedemail.com (Postfix) with ESMTP id 36BEDC0006 for ; Sun, 3 Dec 2023 06:32:49 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="Db/0G6TS"; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf10.hostedemail.com: domain of lkp@intel.com designates 192.198.163.7 as permitted sender) smtp.mailfrom=lkp@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701585170; a=rsa-sha256; cv=none; b=IN8bm8ak1fP5/7KFsFsQX8wRcroIZ2tmSi0OVcwhRy73lUL0Cpvyuadm2ffcFwlbCZ7/2N Yo+7DImD8CZQ87WRKjLcT9x8ywdvt5R+Xw+v33K0gJ52EE+HNueEi5Eu4GaJ89FUYPTI5e 3omvOjlEWSPzgVd24x1uUjMeH9UNfto= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b="Db/0G6TS"; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf10.hostedemail.com: domain of lkp@intel.com designates 192.198.163.7 as permitted sender) smtp.mailfrom=lkp@intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701585170; 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=YoM5HIJQEV5bfyImswzD7WQrLNV5mfy34acHmlAc2Uo=; b=FIqVck65ot9Z/uGxSL8I4b+7U9inRWfsknEEJSRbvc1irOt6594pohkYPmIy90IGnIvH8e +P1UNmDmZ5380q1wXydhNFCBXv2SOzjKJNCXV7ZgLXuWe59259zTOq/BpFDTSUQNyCKbG/ hskEanaORAtu5v22tW1V/GB4cs0MgSw= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701585170; x=1733121170; h=date:from:to:cc:subject:message-id:mime-version; bh=jwAK1+vgEWks5SA0rvcW7PGaE3RIrjYkuhw/BnP05gw=; b=Db/0G6TSB9ia0N/mVIVoXaenmSr0DM65wesqEaoIfJiuLNv5WvBFVJpv uIuG7koNx05HChjrvKYZ8qnNa3vhJHQITCknwFuPqcxym9jiYJuIS6mn/ hsaoW/c3WdqVuLLj1dpTXgKrwvyjEjojAKCQEuANhMJjvKirz/gAfPGQm w0To5fN12uVU6N8XsUpAXSCSyVqUmA79jscZl2ZAqOvtPHet7aBYKVPB6 8TtyD7R9p1SPL8VMyo6twV+UT7VXxKa9UWM9elYRTJ9yuLFrJlfZAiUtg BxMTHLMUcQDrzi+s7XC7WrRb/sBhNvaSLtt30av9BWJyERNTVnWFanUUa g==; X-IronPort-AV: E=McAfee;i="6600,9927,10912"; a="15180418" X-IronPort-AV: E=Sophos;i="6.04,246,1695711600"; d="scan'208";a="15180418" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmvoesa101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Dec 2023 22:32:49 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10912"; a="914081641" X-IronPort-AV: E=Sophos;i="6.04,246,1695711600"; d="scan'208";a="914081641" Received: from lkp-server02.sh.intel.com (HELO b07ab15da5fe) ([10.239.97.151]) by fmsmga001.fm.intel.com with ESMTP; 02 Dec 2023 22:32:46 -0800 Received: from kbuild by b07ab15da5fe with local (Exim 4.96) (envelope-from ) id 1r9g20-0006L4-0D; Sun, 03 Dec 2023 06:32:44 +0000 Date: Sun, 3 Dec 2023 14:32:01 +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: <202312031250.iX77vOYu-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 36BEDC0006 X-Stat-Signature: dby7sjmkb5ig8os8xncw37ts6pdwqb91 X-HE-Tag: 1701585169-166675 X-HE-Meta: U2FsdGVkX19s+p9gAutlQWfsyW+Hms6QEDhKGl1GdiGYPfHFRkn8oH37i5mjgGe2En2NGRcZD+lqx6OYp/pFBtfsHSeSWQsXb22OD2PceYxbqNy1uGxArghEKtlNqB6CwdJXjqEb9KLbzipuv5vQiinHXLGFM/rymkkGhAR5fwcXCPXe9fn+vzr+7qWKSGvYdhIcywXspBLcuMKnGpbaX24B1PyT94QxVdE7ekeSuR6fXuKCjZiyopCfBhzbAUq43kimrcTt0du2GQy+SGTYFfj/ARAFiCrxCTAFha5LSzdLDMQ9zVcsFXbbztUIqiospVoCRSyGDkznGCsW89Z9S8UEjB4ttXh3aOURfgqd2mXlYWYbHVY35xP+/13s1gIKbCcAeBPW3Cjppzj6JMXljO1fAgP3jW/2XHNIp5WqOOtE5EKrwR5Y/xdZPWV9eUanS832UjBUG8zwWeipfQh59yuFaVhbOnkMBMYuZ6Cz9ZiSr4zwkzqweOEQj3KbJ03wG103ejWLKQKnAGiizwIAaDbZx5N+JAPvUiUFnXa0ItNRcgP9A3FGu+2JJPBawunNI7AgmrgyKEVrybx576YKNwi80Z4W2M66WtyMVOh5qIwddGlwiO6KzmRJuFQ7w8rPiiTl6FzpqXPL633XPaYdJ3xg1URAQFJelM/LtzfCtr7vyYDhxqtca4/g30uiihuBH1DL5XiRFxpM+gk3COq84EEW29Gl5cKkmf5soBdOSC6tpm3Dh69gsc+n2Ngl4b5khX7Rn58jtlaaxW8EDakH441czQ9uP1HsJLSk0Fo1ZXfDHd5FJMOm6wYA+xkC1uOO6EXyZ1et9DALX5ju6iDiezTIeWW2rAQCG9Ak6euYe/0vW9XSAzdgYvdi08AO1p1rGtO1ryBNWJ9xFVE4+bkdqYKu3E24V0lAjrBCEXF/ks/9wAwpOtrZwtuvmS8j7/xMZ7nPWMivi39F+8rtdLZ t8YSv9m/ kLKCM/VEVwEqdiA145S/tRLMe1yLLedkO0Y00Rk5VH2k0W2jXPvgW1pydnB7kdGOcaAMmLxMZ7RcrsGXpkAwA6AaDInvZU+g+tqAoRb8mAubE55kZnJiCBJHQCBax86/KHTMdaYxxA82BXyhXzc+jyqO+eOOjngmGBIpewR0rbwbOYvi2cTm1Uo4yXi22YFifLNf7doEGYjqeYJlwWlAb/jHEM28A22jOdI2619SyWgEJQpvuKuE0QwtZC+7MVTX+REwCx3u11VvER4Q/3f/6GIKLy0Z3hMy0rC+rGKkSREYzEm2zY5VqiUZ4g19ZsUIg4+yhseyP+TOAgHavwv79FPH++2chGJnyyqUirw6tk6eQt//CQcM3VmD5SZIvLl5P1TESWdtmzVHAVGO9VBeSBdw/nLto6OcJrgb4 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: 968f35f4ab1c0966ceb39af3c89f2e24afedf878 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/20231203/202312031250.iX77vOYu-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/20231203/202312031250.iX77vOYu-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/202312031250.iX77vOYu-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