Messages in this thread | | | Date | Mon, 12 May 2008 21:01:41 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH 18/18] flag parameters: check magic constants |
| |
On Mon, 12 May 2008 20:54:34 -0700 Ulrich Drepper <drepper@redhat.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Andrew Morton wrote: > >> + BUILD_BUG_ON(SOCK_NONBLOCK & SOCK_TYPE_MASK); > > > > The fifth assertion triggers with alpha allmodconfig. > > This means the simple approach won't work for alpha. > > The question is how to solve it? I suggest the following: > > - - define SOCK_NONBLOCK to some value > 16 in include/asm-alpha/socket.h > > - - add #ifndef SOCK_NONBLOCK around the definition in include/linux/net.h
With a comment, please.
> - - in sys_socket, sys_socketpair, sys_paccept > > int fflags = flags; > if (SOCK_NONBLOCK != O_NONBLOCK && (flags & SOCK_NONBLOCK)) { > fflags &= ~SOCK_NONBLOCK; > fflags |= O_NONBLOCK; > } > > and use fflags instead of flags in the places where we pass it on. > > This has no costs on platforms other than alpha. > > Shall I sent a patch?
Sounds reasonable.
| |