From: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
To: Roland Dreier <rdreier-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
Cc: Steven Dake <sdake-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Steven Dake <sdake-AqqL/iNfm4CbU/LNMs03Rw@public.gmane.org>
Subject: Re: [PATCH] change thread-unsafe readdir to thread-safe readdir_r calls
Date: Thu, 8 Jul 2010 12:47:01 -0600 [thread overview]
Message-ID: <20100708184701.GP4630@obsidianresearch.com> (raw)
In-Reply-To: <adalj9lzv4r.fsf-BjVyx320WGW9gfZ95n9DRSW4+XlvGpQz@public.gmane.org>
On Thu, Jul 08, 2010 at 11:27:48AM -0700, Roland Dreier wrote:
> I'm really not sure about this patch one way or another. With alloca,
> it ends up looking pretty clean, but we do introduce the tiny
> possibility of buffer overrun (since readdir_r uses a user-supplied
> buffer of poorly-specified size); the benefit is that we work within
> corosync's constraints. I honestly don't have a good feeling whether
> the benefit exceeds the cost.
>
> Jason, any opinion one way or another?
Well, my view is that this is needless churn/risk for a very bad
choice made by another project. Aliasing a perfectly thread safe
readdir() to assert is anti-social :)
I also do not think it enhances theoretical portability, as NAME_MAX
is not guarenteed to exist by POSIX and alloca is not a C or POSIX
standard function. (C99 stadardized alloca as variable sized arrays)
Frankly, as a Linux only low level library, relying on glibc behavior
to make it simpler and more correct is perfectly acceptable to me..
It isn't even the case that libibverbs is an outlier here, common
things like libcrypto even use readdir! Purging readdir from every
library your app might want to load via a plugin is a really futile
quest :(
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2010-07-08 18:47 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-07 22:14 [PATCH] change thread-unsafe readdir to thread-safe readdir_r calls Steven Dake
[not found] ` <1278540873-3857-1-git-send-email-sdake-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-07-08 18:27 ` Roland Dreier
[not found] ` <adalj9lzv4r.fsf-BjVyx320WGW9gfZ95n9DRSW4+XlvGpQz@public.gmane.org>
2010-07-08 18:47 ` Jason Gunthorpe [this message]
2010-07-21 18:06 ` Roland Dreier
[not found] ` <adak4ooogjj.fsf-BjVyx320WGW9gfZ95n9DRSW4+XlvGpQz@public.gmane.org>
2010-07-21 18:33 ` Steven Dake
-- strict thread matches above, loose matches on Subject: below --
2010-07-07 18:37 Steven Dake
[not found] ` <1278527821-14804-1-git-send-email-sdake-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-07-07 18:52 ` Jason Gunthorpe
[not found] ` <20100707185257.GJ4630-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2010-07-07 19:14 ` Steven Dake
[not found] ` <4C34D208.1000705-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-07-07 20:47 ` Jason Gunthorpe
[not found] ` <20100707204712.GK4630-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2010-07-07 21:24 ` Steven Dake
[not found] ` <4C34F09D.6080908-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-07-07 21:49 ` Jason Gunthorpe
[not found] ` <20100707214920.GN4630-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2010-07-07 22:17 ` Steven Dake
2010-07-07 18:54 ` Roland Dreier
[not found] ` <adatyobyvg7.fsf-BjVyx320WGW9gfZ95n9DRSW4+XlvGpQz@public.gmane.org>
2010-07-07 19:17 ` Steven Dake
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=20100708184701.GP4630@obsidianresearch.com \
--to=jgunthorpe-epgobjl8dl3ta4ec/59zmfatqe2ktcn/@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=rdreier-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org \
--cc=sdake-AqqL/iNfm4CbU/LNMs03Rw@public.gmane.org \
--cc=sdake-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.