Re: [PATCH, take4] FUTEX : new PRIVATE futexes

Andrew Morton
2007-04-07T22:16:52Z

On Sat, 7 Apr 2007 10:43:39 +0200 Eric Dumazet <dada1@cosmosbay.com> wrote:

> Hi all
>
> Updates on this take4 :
>
> - All remarks from Nick were addressed I hope
>
> - Current mm code have a problem with 64bit futexes, as spoted by Nick :
>
> get_futex_key() does a check against sizeof(u32) regardless of futex being 64bits or not.
> So it is possible a 64bit futex spans two pages of memory...
> I had to change get_futex_key() prototype to be able to do a correct test.
>

Cold we please have that in a separate patch? It's logically a part of the
64-bit-futex work, is it not?

> +
> +/**
> + * get_futex_key - Get parameters which are the keys for a futex.
> + * @uaddr: virtual address of the futex
> + * @size: size of futex (4 or 8)
> + * @shared: NULL for a PROCESS_PRIVATE futex,
> + * &current->mm->mmap_sem for a PROCESS_SHARED futex
> + * @key: address where result is stored.
> + *
> + * Returns an error code or 0
> + */
> +int get_futex_key(void __user *uaddr, int size, struct rw_semaphore *shared,
> + union futex_key *key);

Thanks for documenting the interface, but please do it in the .c file at
the function's definition site.