diff options
| -rw-r--r-- | fs/afs/rxrpc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/afs/rxrpc.c b/fs/afs/rxrpc.c index d0eee5d32c94..08735948f15d 100644 --- a/fs/afs/rxrpc.c +++ b/fs/afs/rxrpc.c | |||
| @@ -41,6 +41,7 @@ int afs_open_socket(struct afs_net *net) | |||
| 41 | { | 41 | { |
| 42 | struct sockaddr_rxrpc srx; | 42 | struct sockaddr_rxrpc srx; |
| 43 | struct socket *socket; | 43 | struct socket *socket; |
| 44 | unsigned int min_level; | ||
| 44 | int ret; | 45 | int ret; |
| 45 | 46 | ||
| 46 | _enter(""); | 47 | _enter(""); |
| @@ -60,6 +61,12 @@ int afs_open_socket(struct afs_net *net) | |||
| 60 | srx.transport.sin6.sin6_family = AF_INET6; | 61 | srx.transport.sin6.sin6_family = AF_INET6; |
| 61 | srx.transport.sin6.sin6_port = htons(AFS_CM_PORT); | 62 | srx.transport.sin6.sin6_port = htons(AFS_CM_PORT); |
| 62 | 63 | ||
| 64 | min_level = RXRPC_SECURITY_ENCRYPT; | ||
| 65 | ret = kernel_setsockopt(socket, SOL_RXRPC, RXRPC_MIN_SECURITY_LEVEL, | ||
| 66 | (void *)&min_level, sizeof(min_level)); | ||
| 67 | if (ret < 0) | ||
| 68 | goto error_2; | ||
| 69 | |||
| 63 | ret = kernel_bind(socket, (struct sockaddr *) &srx, sizeof(srx)); | 70 | ret = kernel_bind(socket, (struct sockaddr *) &srx, sizeof(srx)); |
| 64 | if (ret == -EADDRINUSE) { | 71 | if (ret == -EADDRINUSE) { |
| 65 | srx.transport.sin6.sin6_port = 0; | 72 | srx.transport.sin6.sin6_port = 0; |
