linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jim Rees <rees@umich.edu>
To: Sean Finney <sean.finney@sonyericsson.com>
Cc: linux-nfs@vger.kernel.org, bfields@fieldses.org
Subject: Re: [PATCH v2 1/2] nfs-utils: mountd: Use a dynamic buffer for storing lists of gid's
Date: Thu, 7 Apr 2011 08:22:18 -0400	[thread overview]
Message-ID: <20110407122218.GA11897@merit.edu> (raw)
In-Reply-To: <1302160948-5628-1-git-send-email-sean.finney@sonyericsson.com>

Sean Finney wrote:

  Previously, in auth_unix_gid, group lists were stored in an array of
  hard-coded length 100, and in the situation that the group lists for a
  particular call were too large, the array was swapped with a dynamically
  allocated/freed buffer.  For environments where users are commonly in
  a large number of groups, this isn't an ideal approach.
  
  Instead, make the group list static scoped to the function, and
  use malloc/realloc to grow it on an as-needed basis.

I would re-word this.  The list isn't static, the list pointer is.  I don't
think you need to mention that, it's just confusing.  "Use malloc/realloc to
grow the list on an as-needed basis."

  +		groups = malloc(sizeof(gid_t)*INITIAL_MANAGED_GROUPS);

Style nit:  Put blanks around the "*".

I was going to suggest you first call getgrouplist with groups set to 0 so
you can always alloc() the correct size list, but then I found this in the
man page:

BUGS
       In  glibc  versions  before  2.3.3, the implementation of this function
       contains a buffer-overrun bug: it returns the complete list  of  groups
       for  user  in  the array groups, even when the number of groups exceeds
       *ngroups.

  parent reply	other threads:[~2011-04-07 12:22 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-04  8:02 Fixes for NFS in environments with large group memberships Finney, Sean
     [not found] ` <A50602A820F61543B29992A418BB321B66E18F8A4A-g6SuDuYnGwoBLpZRX7oUTsm4BeyDBExM@public.gmane.org>
2011-04-05 23:35   ` J. Bruce Fields
2011-04-07  5:53     ` Finney, Sean
2011-04-07  7:22     ` [PATCH v2 1/2] nfs-utils: mountd: Use a dynamic buffer for storing lists of gid's Sean Finney
2011-04-07  7:22       ` [PATCH v2 2/2] nfs-utils: Increase the stdio file buffer size for procfs files Sean Finney
2011-04-07 12:22       ` Jim Rees [this message]
2011-04-07 14:15         ` [PATCH v2 1/2] nfs-utils: mountd: Use a dynamic buffer for storing lists of gid's Finney, Sean
2011-04-07 14:29           ` Chuck Lever
2011-04-07 15:01           ` Jim Rees

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110407122218.GA11897@merit.edu \
    --to=rees@umich.edu \
    --cc=bfields@fieldses.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=sean.finney@sonyericsson.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).