Преглед изворни кода

qeth: fix uaccess handling and get rid of unused variable

[patch] qeth: fix uaccess handling and get rid of unused variable

drivers/s390/net/qeth_main.c: In function `qeth_process_inbound_buffer':
drivers/s390/net/qeth_main.c:2563: warning: unused variable `vlan_addr'

include/asm/uaccess.h: In function `qeth_do_ioctl':
drivers/s390/net/qeth_main.c:4847: warning:
 ignoring return value of `copy_to_user'
drivers/s390/net/qeth_main.c:4849: warning:
 ignoring return value of `copy_to_user'
drivers/s390/net/qeth_main.c:4996: warning:
 ignoring return value of `copy_to_user'

Cc: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Heiko Carstens пре 18 година
родитељ
комит
3a6b95c81c
1 измењених фајлова са 8 додато и 5 уклоњено
  1. 8 5
      drivers/s390/net/qeth_main.c

+ 8 - 5
drivers/s390/net/qeth_main.c

@@ -2560,7 +2560,6 @@ qeth_process_inbound_buffer(struct qeth_card *card,
 	int offset;
 	int offset;
 	int rxrc;
 	int rxrc;
 	__u16 vlan_tag = 0;
 	__u16 vlan_tag = 0;
-	__u16 *vlan_addr;
 
 
 	/* get first element of current buffer */
 	/* get first element of current buffer */
 	element = (struct qdio_buffer_element *)&buf->buffer->element[0];
 	element = (struct qdio_buffer_element *)&buf->buffer->element[0];
@@ -4844,9 +4843,11 @@ qeth_arp_query(struct qeth_card *card, char __user *udata)
 			   "(0x%x/%d)\n",
 			   "(0x%x/%d)\n",
 			   QETH_CARD_IFNAME(card), qeth_arp_get_error_cause(&rc),
 			   QETH_CARD_IFNAME(card), qeth_arp_get_error_cause(&rc),
 			   tmp, tmp);
 			   tmp, tmp);
-		copy_to_user(udata, qinfo.udata, 4);
+		if (copy_to_user(udata, qinfo.udata, 4))
+			rc = -EFAULT;
 	} else {
 	} else {
-		copy_to_user(udata, qinfo.udata, qinfo.udata_len);
+		if (copy_to_user(udata, qinfo.udata, qinfo.udata_len))
+			rc = -EFAULT;
 	}
 	}
 	kfree(qinfo.udata);
 	kfree(qinfo.udata);
 	return rc;
 	return rc;
@@ -4992,8 +4993,10 @@ qeth_snmp_command(struct qeth_card *card, char __user *udata)
 	if (rc)
 	if (rc)
 		PRINT_WARN("SNMP command failed on %s: (0x%x)\n",
 		PRINT_WARN("SNMP command failed on %s: (0x%x)\n",
 			   QETH_CARD_IFNAME(card), rc);
 			   QETH_CARD_IFNAME(card), rc);
-	 else
-		copy_to_user(udata, qinfo.udata, qinfo.udata_len);
+	else {
+		if (copy_to_user(udata, qinfo.udata, qinfo.udata_len))
+			rc = -EFAULT;
+	}
 
 
 	kfree(ureq);
 	kfree(ureq);
 	kfree(qinfo.udata);
 	kfree(qinfo.udata);