diff mbox series

db/malloc: Use posix_memalign instead of deprecated valloc

Message ID 20190506210326.29581-1-rosenp@gmail.com (mailing list archive)
State Deferred, archived
Headers show
Series db/malloc: Use posix_memalign instead of deprecated valloc | expand

Commit Message

Rosen Penev May 6, 2019, 9:03 p.m. UTC
valloc is not available with uClibc-ng as well as being deprecated, which
causes compilation errors. aligned_alloc is not available before C11 so
used posix_memalign.'

Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 db/malloc.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Eric Sandeen May 6, 2019, 10:20 p.m. UTC | #1
On 5/6/19 4:03 PM, Rosen Penev wrote:
> valloc is not available with uClibc-ng as well as being deprecated, which
> causes compilation errors. aligned_alloc is not available before C11 so
> used posix_memalign.'
> 
> Signed-off-by: Rosen Penev <rosenp@gmail.com>
> ---
>  db/malloc.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/db/malloc.c b/db/malloc.c
> index 77b3e022..38fe0b05 100644
> --- a/db/malloc.c
> +++ b/db/malloc.c
> @@ -44,8 +44,7 @@ xmalloc(
>  {
>  	void	*ptr;
>  
> -	ptr = valloc(size);
> -	if (ptr)
> +	if(!posix_memalign(&ptr, sysconf(_SC_PAGESIZE), size))


I'll stick a space after the 'if' but otherwise, seems fine, thanks.

Reviewed-by: Eric Sandeen <sandeen@redhat.com>


>  		return ptr;
>  	badmalloc();
>  	/* NOTREACHED */
>
Dave Chinner May 6, 2019, 10:51 p.m. UTC | #2
On Mon, May 06, 2019 at 05:20:11PM -0500, Eric Sandeen wrote:
> 
> 
> On 5/6/19 4:03 PM, Rosen Penev wrote:
> > valloc is not available with uClibc-ng as well as being deprecated, which
> > causes compilation errors. aligned_alloc is not available before C11 so
> > used posix_memalign.'
> > 
> > Signed-off-by: Rosen Penev <rosenp@gmail.com>
> > ---
> >  db/malloc.c | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/db/malloc.c b/db/malloc.c
> > index 77b3e022..38fe0b05 100644
> > --- a/db/malloc.c
> > +++ b/db/malloc.c
> > @@ -44,8 +44,7 @@ xmalloc(
> >  {
> >  	void	*ptr;
> >  
> > -	ptr = valloc(size);
> > -	if (ptr)
> > +	if(!posix_memalign(&ptr, sysconf(_SC_PAGESIZE), size))
> 
> 
> I'll stick a space after the 'if' but otherwise, seems fine, thanks.
> 
> Reviewed-by: Eric Sandeen <sandeen@redhat.com>

Can we just get rid of db/malloc.[ch]? They are just a set
of wrappers that exit() when malloc fails, largely used by the
deprecated xfs_check functionality we still have hidden inside
xfs_db. Be a useful code self-documentation exercise to get rid
of them to indicate that the callers don't actually handle malloc
failures at all....

Cheers,

Dave.
diff mbox series

Patch

diff --git a/db/malloc.c b/db/malloc.c
index 77b3e022..38fe0b05 100644
--- a/db/malloc.c
+++ b/db/malloc.c
@@ -44,8 +44,7 @@  xmalloc(
 {
 	void	*ptr;
 
-	ptr = valloc(size);
-	if (ptr)
+	if(!posix_memalign(&ptr, sysconf(_SC_PAGESIZE), size))
 		return ptr;
 	badmalloc();
 	/* NOTREACHED */