[PATCH 3/5] FS: Export poll_select_copy_remaining and rename poll_select_copy_remaining in compat.c so it does not pick the wrong copy.

Catalin Marinas catalin.marinas at arm.com
Fri Sep 13 05:53:47 EDT 2013


On Wed, Sep 11, 2013 at 10:00:14PM +0100, Andrew Pinski wrote:
> On Wed, Sep 11, 2013 at 4:09 AM, Catalin Marinas
> <catalin.marinas at arm.com> wrote:
> > On Mon, Sep 09, 2013 at 10:32:57PM +0100, Andrew Pinski wrote:
> >>   The ILP32 ABI in ARM64 uses a slightly different pselect from either
> >>   the compat or even the native LP64 ABI.  We would want to reuse some
> >>   of the code path that are used as the size of the timespec is the
> >>   same, so this patch exports poll_select_copy_remaining from
> >>   fs/select.c and renames the copy in fs/compat.c to make sure that it
> >>   is not being used.
> >>
> >> Signed-off-by: Andrew Pinski <apinski at cavium.com>
> >
> > I think this patch has to wait until we review the ILP32 ABI for arm64.
> > When I looked at this some time ago I thought we can just use the native
> > arm64 pselect6 and ppoll. Once we agree that's not possible we can push
> > this patch. On its own it doesn't have much value.
> 
> Since fd_set is defined by XPG4.2  to be a struct of an array of
> "long"'s, we cannot change the definition in user space.
> 
> I tried using the native ppoll/pselect for the ABI first.  It worked
> for little-endian just fine but failed hard when big-endian.
> If we only care about little-endian arm64 at this point, I can remove
> this part of the patch and keep it for when we (Cavium) submits the
> big-endian patches.

I see the issue now. I think for the initial set of patches we can
assume little endian. We need a lot more testing, at least for AArch32
mode (we can kick off some tests here once these patches get closer to
merging).

-- 
Catalin



More information about the linux-arm-kernel mailing list