9p: saving negative to unsigned char
Subsystems (4)
PATCH 1/1 9p: saving negative to unsigned char
Saving -EINVAL as unsigned char truncates the high bits and changes it into 234 instead of -22. This breaks the test for "if (ret = -EINVAL)" in parse_opts().
Signed-off-by Dan Carpenter <[email protected]>
net/9p/client.c +3 -2
@@ -71,9 +71,10 @@ inline int p9_is_proto_dotu(struct p9_client *clnt)EXPORT_SYMBOL (p9_is_proto_dotu);/* Interpret mount option for protocol version */ -static unsigned char get_protocol_version (const substring_t *name) +static int get_protocol_version (const substring_t *name) { -unsigned char version = -EINVAL ; +int version = -EINVAL ; +if (!strncmp ("9p2000" , name->from, name->to-name->from)) { version = p9_proto_legacy;P9_DPRINTK (P9_DEBUG_9P ,"Protocol version: Legacy\n" );