diff options
Diffstat (limited to 'net/iucv/af_iucv.c')
-rw-r--r-- | net/iucv/af_iucv.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c index 29f7baa25110..af3192d2a5a3 100644 --- a/net/iucv/af_iucv.c +++ b/net/iucv/af_iucv.c | |||
@@ -8,6 +8,9 @@ | |||
8 | * Author(s): Jennifer Hunt <jenhunt@us.ibm.com> | 8 | * Author(s): Jennifer Hunt <jenhunt@us.ibm.com> |
9 | */ | 9 | */ |
10 | 10 | ||
11 | #define KMSG_COMPONENT "af_iucv" | ||
12 | #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt | ||
13 | |||
11 | #include <linux/module.h> | 14 | #include <linux/module.h> |
12 | #include <linux/types.h> | 15 | #include <linux/types.h> |
13 | #include <linux/list.h> | 16 | #include <linux/list.h> |
@@ -616,6 +619,8 @@ static int iucv_sock_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
616 | struct iucv_sock *iucv = iucv_sk(sk); | 619 | struct iucv_sock *iucv = iucv_sk(sk); |
617 | struct sk_buff *skb; | 620 | struct sk_buff *skb; |
618 | struct iucv_message txmsg; | 621 | struct iucv_message txmsg; |
622 | char user_id[9]; | ||
623 | char appl_id[9]; | ||
619 | int err; | 624 | int err; |
620 | 625 | ||
621 | err = sock_error(sk); | 626 | err = sock_error(sk); |
@@ -651,8 +656,15 @@ static int iucv_sock_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
651 | err = iucv_message_send(iucv->path, &txmsg, 0, 0, | 656 | err = iucv_message_send(iucv->path, &txmsg, 0, 0, |
652 | (void *) skb->data, skb->len); | 657 | (void *) skb->data, skb->len); |
653 | if (err) { | 658 | if (err) { |
654 | if (err == 3) | 659 | if (err == 3) { |
655 | printk(KERN_ERR "AF_IUCV msg limit exceeded\n"); | 660 | user_id[8] = 0; |
661 | memcpy(user_id, iucv->dst_user_id, 8); | ||
662 | appl_id[8] = 0; | ||
663 | memcpy(appl_id, iucv->dst_name, 8); | ||
664 | pr_err("Application %s on z/VM guest %s" | ||
665 | " exceeds message limit\n", | ||
666 | user_id, appl_id); | ||
667 | } | ||
656 | skb_unlink(skb, &iucv->send_skb_q); | 668 | skb_unlink(skb, &iucv->send_skb_q); |
657 | err = -EPIPE; | 669 | err = -EPIPE; |
658 | goto fail; | 670 | goto fail; |
@@ -1190,7 +1202,8 @@ static int __init afiucv_init(void) | |||
1190 | int err; | 1202 | int err; |
1191 | 1203 | ||
1192 | if (!MACHINE_IS_VM) { | 1204 | if (!MACHINE_IS_VM) { |
1193 | printk(KERN_ERR "AF_IUCV connection needs VM as base\n"); | 1205 | pr_err("The af_iucv module cannot be loaded" |
1206 | " without z/VM\n"); | ||
1194 | err = -EPROTONOSUPPORT; | 1207 | err = -EPROTONOSUPPORT; |
1195 | goto out; | 1208 | goto out; |
1196 | } | 1209 | } |