diff mbox

9p: fix min_t() casting

Message ID 20110115203539.GF2721@bicker
State Not Applicable, archived
Delegated to: David Miller
Headers show

Commit Message

Dan Carpenter Jan. 15, 2011, 8:35 p.m. UTC
The intent here was to cap the length to USHRT_MAX, but what the
code actually does is it just casts the return from strlen() to
unsigned short and truncates the significant bits away.

Signed-off-by: Dan Carpenter <error27@gmail.com>

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

David Miller Jan. 16, 2011, 4:52 a.m. UTC | #1
From: Dan Carpenter <error27@gmail.com>
Date: Sat, 15 Jan 2011 23:35:39 +0300

> The intent here was to cap the length to USHRT_MAX, but what the
> code actually does is it just casts the return from strlen() to
> unsigned short and truncates the significant bits away.
> 
> Signed-off-by: Dan Carpenter <error27@gmail.com>

If you want me to apply this, it doesn't apply cleanly to net-2.6
at all.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Dan Carpenter Jan. 16, 2011, 11:45 a.m. UTC | #2
On Sat, Jan 15, 2011 at 08:52:08PM -0800, David Miller wrote:
> From: Dan Carpenter <error27@gmail.com>
> Date: Sat, 15 Jan 2011 23:35:39 +0300
> 
> > The intent here was to cap the length to USHRT_MAX, but what the
> > code actually does is it just casts the return from strlen() to
> > unsigned short and truncates the significant bits away.
> > 
> > Signed-off-by: Dan Carpenter <error27@gmail.com>
> 
> If you want me to apply this, it doesn't apply cleanly to net-2.6
> at all.

Sorry.  I screwed up.

This was on top of a patch from M. Mohan Kumar <mohan@in.ibm.com>
that hasn't hit net-2.6 yet.  Mohan wasn't included on the CC
list because get_maintainer.pl changed and I didn't notice and 
I wasn't careful.

Eric, could Mohan just fix his patch before it gets merged or is it
better to send these as two patches?

regards,
dan carpenter

Ps:  Mohon the patch is here:
http://marc.info/?l=linux-netdev&m=129512381528034&w=2
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Eric Van Hensbergen Jan. 16, 2011, 4:33 p.m. UTC | #3
The patch has already made it upstream via the v9fs pull.  I'll pull
in your fix Dan and request a second pull by Linus.
Thanks for catching this.

      -eric


On Sun, Jan 16, 2011 at 5:45 AM, Dan Carpenter <error27@gmail.com> wrote:
> On Sat, Jan 15, 2011 at 08:52:08PM -0800, David Miller wrote:
>> From: Dan Carpenter <error27@gmail.com>
>> Date: Sat, 15 Jan 2011 23:35:39 +0300
>>
>> > The intent here was to cap the length to USHRT_MAX, but what the
>> > code actually does is it just casts the return from strlen() to
>> > unsigned short and truncates the significant bits away.
>> >
>> > Signed-off-by: Dan Carpenter <error27@gmail.com>
>>
>> If you want me to apply this, it doesn't apply cleanly to net-2.6
>> at all.
>
> Sorry.  I screwed up.
>
> This was on top of a patch from M. Mohan Kumar <mohan@in.ibm.com>
> that hasn't hit net-2.6 yet.  Mohan wasn't included on the CC
> list because get_maintainer.pl changed and I didn't notice and
> I wasn't careful.
>
> Eric, could Mohan just fix his patch before it gets merged or is it
> better to send these as two patches?
>
> regards,
> dan carpenter
>
> Ps:  Mohon the patch is here:
> http://marc.info/?l=linux-netdev&m=129512381528034&w=2
>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/net/9p/protocol.c b/net/9p/protocol.c
index 1e308f2..0422581 100644
--- a/net/9p/protocol.c
+++ b/net/9p/protocol.c
@@ -403,7 +403,7 @@  p9pdu_vwritef(struct p9_fcall *pdu, int proto_version, const char *fmt,
 				const char *sptr = va_arg(ap, const char *);
 				uint16_t len = 0;
 				if (sptr)
-					len = min_t(uint16_t, strlen(sptr),
+					len = min_t(size_t, strlen(sptr),
 								USHRT_MAX);
 
 				errcode = p9pdu_writef(pdu, proto_version,