[PATCH 1/1] staging: android: Fix warning cast removes address space of expression

Camille Bordignon camille.bordignon at gmail.com
Sun Apr 20 09:10:57 UTC 2014


Fix sparse warning "cast removes address space of expression"
Add lost flag "__user" due to cast

Signed-off-by: Camille Bordignon <camille.bordignon at gmail.com>
---
diff --git a/drivers/staging/android/binder.c b/drivers/staging/android/binder.c
index cfe4bc8..952c4ae 100644
--- a/drivers/staging/android/binder.c
+++ b/drivers/staging/android/binder.c
@@ -2683,16 +2683,21 @@ static long binder_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
 		binder_free_thread(proc, thread);
 		thread = NULL;
 		break;
-	case BINDER_VERSION:
-		if (size != sizeof(struct binder_version)) {
+	case BINDER_VERSION: {
+		struct binder_version __user *bv = ubuf;
+
+		if (size != sizeof(*bv)) {
 			ret = -EINVAL;
 			goto err;
 		}
-		if (put_user(BINDER_CURRENT_PROTOCOL_VERSION, &((struct binder_version *)ubuf)->protocol_version)) {
+
+		if (put_user(BINDER_CURRENT_PROTOCOL_VERSION,
+				&bv->protocol_version)) {
 			ret = -EINVAL;
 			goto err;
 		}
 		break;
+	}
 	default:
 		ret = -EINVAL;
 		goto err;




More information about the devel mailing list