| From 3dd90d47744598928582343a8983236713007832 Mon Sep 17 00:00:00 2001 |
| From: Kinglong Mee <kinglongmee@gmail.com> |
| Date: Fri, 10 Mar 2017 09:52:20 +0800 |
| Subject: [PATCH] nfsd: map the ENOKEY to nfserr_perm for avoiding warning |
| |
| commit c952cd4e949ab3d07287efc2e80246e03727d15d upstream. |
| |
| Now that Ext4 and f2fs filesystems support encrypted directories and |
| files, attempts to access those files may return ENOKEY, resulting in |
| the following WARNING. |
| |
| Map ENOKEY to nfserr_perm instead of nfserr_io. |
| |
| [ 1295.411759] ------------[ cut here ]------------ |
| [ 1295.411787] WARNING: CPU: 0 PID: 12786 at fs/nfsd/nfsproc.c:796 nfserrno+0x74/0x80 [nfsd] |
| [ 1295.411806] nfsd: non-standard errno: -126 |
| [ 1295.411816] Modules linked in: nfsd nfs_acl auth_rpcgss nfsv4 nfs lockd fscache tun bridge stp llc fuse ip_set nfnetlink vmw_vsock_vmci_transport vsock snd_seq_midi snd_seq_midi_event coretemp crct10dif_pclmul crc32_generic crc32_pclmul snd_ens1371 gameport ghash_clmulni_intel snd_ac97_codec f2fs intel_rapl_perf ac97_bus snd_seq ppdev snd_pcm snd_rawmidi snd_timer vmw_balloon snd_seq_device snd joydev soundcore parport_pc parport nfit acpi_cpufreq tpm_tis vmw_vmci tpm_tis_core tpm shpchp i2c_piix4 grace sunrpc xfs libcrc32c vmwgfx drm_kms_helper ttm drm crc32c_intel e1000 mptspi scsi_transport_spi serio_raw mptscsih mptbase ata_generic pata_acpi fjes [last unloaded: nfs_acl] |
| [ 1295.412522] CPU: 0 PID: 12786 Comm: nfsd Tainted: G W 4.11.0-rc1+ #521 |
| [ 1295.412959] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/02/2015 |
| [ 1295.413814] Call Trace: |
| [ 1295.414252] dump_stack+0x63/0x86 |
| [ 1295.414666] __warn+0xcb/0xf0 |
| [ 1295.415087] warn_slowpath_fmt+0x5f/0x80 |
| [ 1295.415502] ? put_filp+0x42/0x50 |
| [ 1295.415927] nfserrno+0x74/0x80 [nfsd] |
| [ 1295.416339] nfsd_open+0xd7/0x180 [nfsd] |
| [ 1295.416746] nfs4_get_vfs_file+0x367/0x3c0 [nfsd] |
| [ 1295.417182] ? security_inode_permission+0x41/0x60 |
| [ 1295.417591] nfsd4_process_open2+0x9b2/0x1200 [nfsd] |
| [ 1295.418007] nfsd4_open+0x481/0x790 [nfsd] |
| [ 1295.418409] nfsd4_proc_compound+0x395/0x680 [nfsd] |
| [ 1295.418812] nfsd_dispatch+0xb8/0x1f0 [nfsd] |
| [ 1295.419233] svc_process_common+0x4d9/0x830 [sunrpc] |
| [ 1295.419631] svc_process+0xfe/0x1b0 [sunrpc] |
| [ 1295.420033] nfsd+0xe9/0x150 [nfsd] |
| [ 1295.420420] kthread+0x101/0x140 |
| [ 1295.420802] ? nfsd_destroy+0x60/0x60 [nfsd] |
| [ 1295.421199] ? kthread_park+0x90/0x90 |
| [ 1295.421598] ret_from_fork+0x2c/0x40 |
| [ 1295.421996] ---[ end trace 0d5a969cd7852e1f ]--- |
| |
| Signed-off-by: Kinglong Mee <kinglongmee@gmail.com> |
| Cc: stable@vger.kernel.org |
| Signed-off-by: J. Bruce Fields <bfields@redhat.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/fs/nfsd/nfsproc.c b/fs/nfsd/nfsproc.c |
| index e9214768cde9..460ce0d2d74b 100644 |
| --- a/fs/nfsd/nfsproc.c |
| +++ b/fs/nfsd/nfsproc.c |
| @@ -791,6 +791,7 @@ nfserrno (int errno) |
| { nfserr_toosmall, -ETOOSMALL }, |
| { nfserr_serverfault, -ESERVERFAULT }, |
| { nfserr_serverfault, -ENFILE }, |
| + { nfserr_perm, -ENOKEY }, |
| }; |
| int i; |
| |
| -- |
| 2.12.0 |
| |