Define smc_socket security class.

Linux kernel commit da69a5306ab9 ("selinux: support distinctions among all
network address families") triggers a build error if a new address family
is added without defining a corresponding SELinux security class.  As a
result, the smc_socket class was added to the kernel to resolve a build
failure as part of merge commit 3051bf36c25d that introduced AF_SMC circa
Linux 4.11.  Define this security class and its access vector, add
it to the socket_class_set macro, and exclude it from webview_zygote
like other socket classes.

Test:  Policy builds

Change-Id: Idbb8139bb09c6d1c47f1a76bd10f4ce1e9d939cb
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
diff --git a/private/access_vectors b/private/access_vectors
index 0e2cf21..ad4624d 100644
--- a/private/access_vectors
+++ b/private/access_vectors
@@ -657,6 +657,9 @@
 class qipcrtr_socket
 inherits socket
 
+class smc_socket
+inherits socket
+
 class property_service
 {
 	set
diff --git a/private/security_classes b/private/security_classes
index a202c5d..ae16e54 100644
--- a/private/security_classes
+++ b/private/security_classes
@@ -127,6 +127,7 @@
 class vsock_socket
 class kcm_socket
 class qipcrtr_socket
+class smc_socket
 
 # Property service
 class property_service          # userspace
diff --git a/private/webview_zygote.te b/private/webview_zygote.te
index b2a1951..1f0d23b 100644
--- a/private/webview_zygote.te
+++ b/private/webview_zygote.te
@@ -109,7 +109,7 @@
   x25_socket rose_socket decnet_socket atmsvc_socket rds_socket irda_socket
   pppox_socket llc_socket can_socket tipc_socket bluetooth_socket iucv_socket
   rxrpc_socket isdn_socket phonet_socket ieee802154_socket caif_socket
-  alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket
+  alg_socket nfc_socket vsock_socket kcm_socket qipcrtr_socket smc_socket
 } *;
 
 # Do not allow access to Bluetooth-related system properties.