Re: [PATCH] cifs: fix build by selecting CONFIG_KEYS

From: Steve French
Date: Mon Jul 01 2019 - 17:05:03 EST


I had already merged the attached (similar) fix into cifs-2.6.git for-next


On Sun, Jun 30, 2019 at 10:24 PM Sergey Senozhatsky
<sergey.senozhatsky.work@xxxxxxxxx> wrote:
>
> CONFIG_CIFS_ACL had a dependency "depends on KEYS" which was
> dropped with the removal of CONFIG_CIFS_ACL. This breaks the
> build on systems which don't have CONFIG_KEYS in .config:
>
> cifsacl.c:37:15: error: variable âcifs_idmap_key_aclâ has
> initializer but incomplete type
> 37 | static struct key_acl cifs_idmap_key_acl = {
> | ^~~~~~~
> cifsacl.c:38:3: error: âstruct key_aclâ has no member
> named âusageâ
> 38 | .usage = REFCOUNT_INIT(1),
> | ^~~~~
> [..]
>
> Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
> ---
> fs/cifs/Kconfig | 1 +
> fs/cifs/cifsacl.c | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/fs/cifs/Kconfig b/fs/cifs/Kconfig
> index 3eee73449bdd..5912751e6f09 100644
> --- a/fs/cifs/Kconfig
> +++ b/fs/cifs/Kconfig
> @@ -17,6 +17,7 @@ config CIFS
> select CRYPTO_ECB
> select CRYPTO_AES
> select CRYPTO_DES
> + select KEYS
> help
> This is the client VFS module for the SMB3 family of NAS protocols,
> (including support for the most recent, most secure dialect SMB3.1.1)
> diff --git a/fs/cifs/cifsacl.c b/fs/cifs/cifsacl.c
> index 78eed72f3af0..8ca479caf902 100644
> --- a/fs/cifs/cifsacl.c
> +++ b/fs/cifs/cifsacl.c
> @@ -24,6 +24,7 @@
> #include <linux/fs.h>
> #include <linux/slab.h>
> #include <linux/string.h>
> +#include <linux/key.h>
> #include <linux/keyctl.h>
> #include <linux/key-type.h>
> #include <keys/user-type.h>
> --
> 2.22.0
>


--
Thanks,

Steve
From 275e35152e713cb186338bd257139ed28d498726 Mon Sep 17 00:00:00 2001
From: Steve French <stfrench@xxxxxxxxxxxxx>
Date: Sun, 30 Jun 2019 18:00:41 -0500
Subject: [PATCH] CIFS: Fix module dependency

KEYS is required not that CONFIG_CIFS_ACL is always on
and the ifdef for it removed.

Signed-off-by: Steve French <stfrench@xxxxxxxxxxxxx>
---
fs/cifs/Kconfig | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/fs/cifs/Kconfig b/fs/cifs/Kconfig
index cb3096fabbbe..e39c15267bb4 100644
--- a/fs/cifs/Kconfig
+++ b/fs/cifs/Kconfig
@@ -17,6 +17,7 @@ config CIFS
select CRYPTO_ECB
select CRYPTO_AES
select CRYPTO_DES
+ select KEYS
help
This is the client VFS module for the SMB3 family of NAS protocols,
(including support for the most recent, most secure dialect SMB3.1.1)
@@ -110,7 +111,7 @@ config CIFS_WEAK_PW_HASH

config CIFS_UPCALL
bool "Kerberos/SPNEGO advanced session setup"
- depends on CIFS && KEYS
+ depends on CIFS
select DNS_RESOLVER
help
Enables an upcall mechanism for CIFS which accesses userspace helper
@@ -177,7 +178,7 @@ config CIFS_DEBUG_DUMP_KEYS

config CIFS_DFS_UPCALL
bool "DFS feature support"
- depends on CIFS && KEYS
+ depends on CIFS
select DNS_RESOLVER
help
Distributed File System (DFS) support is used to access shares
--
2.20.1