--- initial
+++ final
@@ -1,90 +1,90 @@
 static int l1oip_socket_thread(void *data) {
   struct l1oip *hc = (struct l1oip *)data;
   int ret = 0;
   struct sockaddr_in sin_rx;
   struct kvec iov;
   struct msghdr msg = {.msg_name = &sin_rx, .msg_namelen = sizeof(sin_rx)};
   unsigned char *recvbuf;
   size_t recvbuf_size = 1500;
   int recvlen;
   struct socket *socket = NULL;
   DECLARE_COMPLETION_ONSTACK(wait);
   /* allocate buffer memory */
   recvbuf = kmalloc(recvbuf_size, GFP_KERNEL);
   if (!recvbuf) {
     printk(KERN_ERR "%s: Failed to alloc recvbuf.\n", __func__);
     ret = -ENOMEM;
     goto fail;
   }
   iov.iov_base = recvbuf;
   iov.iov_len = recvbuf_size;
   /* make daemon */
   allow_signal(SIGTERM);
   /* create socket */
   if (sock_create(PF_INET, SOCK_DGRAM, IPPROTO_UDP, &socket)) {
     printk(KERN_ERR "%s: Failed to create socket.\n", __func__);
     ret = -EIO;
     goto fail;
   }
   /* set incoming address */
   hc->sin_local.sin_family = AF_INET;
   hc->sin_local.sin_addr.s_addr = INADDR_ANY;
   hc->sin_local.sin_port = htons((unsigned short)hc->localport);
   /* set outgoing address */
   hc->sin_remote.sin_family = AF_INET;
   hc->sin_remote.sin_addr.s_addr = htonl(hc->remoteip);
   hc->sin_remote.sin_port = htons((unsigned short)hc->remoteport);
   /* bind to incoming port */
   if (socket->ops->bind(socket, (struct sockaddr *)&hc->sin_local, sizeof(hc->sin_local))) {
     printk(KERN_ERR "%s: Failed to bind socket to port %d.\n", __func__, hc->localport);
     ret = -EINVAL;
     goto fail;
   }
   /* check sk */
   if (socket->sk == NULL) {
     printk(KERN_ERR "%s: socket->sk == NULL\n", __func__);
     ret = -EIO;
     goto fail;
   }
   /* build send message */
   hc->sendmsg.msg_name = &hc->sin_remote;
   hc->sendmsg.msg_namelen = sizeof(hc->sin_remote);
   hc->sendmsg.msg_control = NULL;
   hc->sendmsg.msg_controllen = 0;
   /* give away socket */
   spin_lock(&hc->socket_lock);
   hc->socket = socket;
   spin_unlock(&hc->socket_lock);
   /* read loop */
   if (debug & DEBUG_L1OIP_SOCKET) printk(KERN_DEBUG "%s: socket created and open\n", __func__);
   while (!signal_pending(current)) {
-    iov_iter_kvec(&msg.msg_iter, READ | ITER_KVEC, &iov, 1, recvbuf_size);
+    iov_iter_kvec(&msg.msg_iter, READ, &iov, 1, recvbuf_size);
     recvlen = sock_recvmsg(socket, &msg, 0);
     if (recvlen > 0) {
       l1oip_socket_parse(hc, &sin_rx, recvbuf, recvlen);
     } else {
       if (debug & DEBUG_L1OIP_SOCKET) printk(KERN_WARNING "%s: broken pipe on socket\n", __func__);
     }
   }
   /* get socket back, check first if in use, maybe by send function */
   spin_lock(&hc->socket_lock);
   /* if hc->socket is NULL, it is in use until it is given back */
   while (!hc->socket) {
     spin_unlock(&hc->socket_lock);
     schedule_timeout(HZ / 10);
     spin_lock(&hc->socket_lock);
   }
   hc->socket = NULL;
   spin_unlock(&hc->socket_lock);
   if (debug & DEBUG_L1OIP_SOCKET) printk(KERN_DEBUG "%s: socket thread terminating\n", __func__);
 fail:
   /* free recvbuf */
   kfree(recvbuf);
   /* close socket */
   if (socket) sock_release(socket);
   /* if we got killed, signal completion */
   complete(&hc->socket_complete);
   hc->socket_thread = NULL; /* show termination of thread */
   if (debug & DEBUG_L1OIP_SOCKET) printk(KERN_DEBUG "%s: socket thread terminated\n", __func__);
   return ret;
 }<sep>@@
expression e1,e2,e3,e4,e;
@@
               iov_iter_kvec(e1,
-                              ITER_KVEC | e
+                              e
                            , e2,e3,e4)