lkml.org 
[lkml]   [2007]   [Jul]   [29]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSun, 29 Jul 2007 00:16:00 -0700 (PDT)
SubjectRe: [PATCH 1/4] fix endianness bug in l2cap_sock_listen()
FromDavid Miller <>
From: Marcel Holtmann <marcel@holtmann.org>
Date: Fri, 27 Jul 2007 16:41:18 +0200

> > We loop through psm values, calling __l2cap_get_sock_by_addr(psm, ...)
> > until we get NULL; then we set ->psm of our socket to htobs(psm).
> > IOW, we find unused psm value and put it into our socket.  So far, so
> > good, but...  __l2cap_get_sock_by_addr() compares its argument with
> > ->psm of sockets.  IOW, the entire thing works correctly only on
> > little-endian.  On big-endian we'll get "no socket with such psm"
> > on the first iteration, since we won't find a socket with ->psm == 0x1001.
> > We will happily conclude that 0x1001 is unused and slap htobs(0x1001)
> > (i.e. 0x110) into ->psm of our socket.  Of course, the next time around
> > the same thing will repeat and we'll just get a fsckload of sockets
> > with the same ->psm assigned.
> > 
> > Fix: pass htobs(psm) to __l2cap_get_sock_by_addr() there.  All other
> > callers are already passing little-endian values and all places that
> > store something in ->psm are storing little-endian.
> > 
> > Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
> 
> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

Applied.

> Dave, all four patches are good and should go in sooner than later. If
> you want me to put them into my tree first, then I can do that or you
> can apply them directly. You choice.

I'll take care of these, thanks.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-07-29 09:19    [from the cache]
©2003-2008