lkml.org 
[lkml]   [2004]   [Jan]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: NGROUPS 2.6.2rc2
    Tim Hockin <thockin@sun.com> wrote:
    >
    > Attached is a patch to remove the NGROUPS limit (again).

    +/* export the group_info to a user-space array */
    +static int groups_to_user(gid_t *grouplist, struct group_info __user *info)
    +{
    + int i;
    + int count = info->ngroups;
    +
    + for (i = 0; i < info->nblocks; i++) {
    + int cp_count = min(NGROUPS_BLOCK, count);
    + int off = i * NGROUPS_BLOCK;
    + int len = cp_count * sizeof(*grouplist);
    +
    + if (copy_to_user(grouplist+off, info->blocks[i], len))
    + return -EFAULT;
    +

    This had me thorougly confused for a while ;) The __user tag here should
    apply to grouplist, not to info.


    +static int groups16_to_user(old_gid_t __user *grouplist,
    + struct group_info *info)
    +{
    + int i;
    + old_gid_t group;
    +
    + if (info->ngroups > TASK_SIZE/sizeof(group))
    + return -EFAULT;
    + if (!access_ok(VERIFY_WRITE, grouplist, info->ngroups * sizeof(group)))
    + return -EFAULT;

    Why are many functions playing with TASK_SIZE?

    --- 1.2/fs/nfsd/auth.c Tue Jun 17 16:31:29 2003
    +++ edited/fs/nfsd/auth.c Tue Jan 27 12:40:02 2004
    @@ -10,12 +10,15 @@
    #include <linux/sunrpc/svcauth.h>
    #include <linux/nfsd/nfsd.h>

    +extern asmlinkage long sys_setgroups(int gidsetsize, gid_t *grouplist);
    +

    rant. We have soooo many syscalls declared in .c files. We had a bug due
    to this a while back. Problem is, we have no anointed header in which to
    place them. include/linux/syscalls.h would suit. And unistd.h for
    arch-specific syscalls. But that's not appropriate to this patch.

    -
    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: 2005-03-22 14:00    [W:0.040 / U:32.452 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site