From 74158740ea6bf9acbb63fa7744e56a0aacc5ca9e Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 6 Jan 2006 19:15:13 +0000 Subject: [PATCH] [BZ #2114] * ncsd/aicache.c: Don't use sendfile for records on the stack. * nscd/grpcache.c: Likewise. * nscd/hstcache.c: Likewise. * nscd/initgrcache.c: Likewise. * nscd/pwdcache.c: Likewise. Patch by dmueller@suse.com. --- ChangeLog | 8 ++++++++ nscd/aicache.c | 4 ++-- nscd/grpcache.c | 4 ++-- nscd/hstcache.c | 4 ++-- nscd/initgrcache.c | 4 ++-- nscd/pwdcache.c | 4 ++-- 6 files changed, 18 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index ab9c7fe..6d6ca4b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2006-01-06 Ulrich Drepper + [BZ #2114] + * ncsd/aicache.c: Don't use sendfile for records on the stack. + * nscd/grpcache.c: Likewise. + * nscd/hstcache.c: Likewise. + * nscd/initgrcache.c: Likewise. + * nscd/pwdcache.c: Likewise. + Patch by dmueller@suse.com. + * sysdeps/unix/sysv/linux/alpha/bits/mman.h: Define MADV_REMOVE. * sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise. * sysdeps/unix/sysv/linux/ia64/bits/mman.h: Likewise. diff --git a/nscd/aicache.c b/nscd/aicache.c index 6f24daa..4640b4d 100644 --- a/nscd/aicache.c +++ b/nscd/aicache.c @@ -1,5 +1,5 @@ /* Cache handling for host lookup. - Copyright (C) 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2004. @@ -368,7 +368,7 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req, assert (fd != -1); #ifdef HAVE_SENDFILE - if (__builtin_expect (db->mmap_used, 1)) + if (__builtin_expect (db->mmap_used, 1) && !alloca_used) { assert (db->wr_fd != -1); assert ((char *) &dataset->resp > (char *) db->data); diff --git a/nscd/grpcache.c b/nscd/grpcache.c index d38a928..4bc9977 100644 --- a/nscd/grpcache.c +++ b/nscd/grpcache.c @@ -1,5 +1,5 @@ /* Cache handling for group lookup. - Copyright (C) 1998-2002, 2003, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1998-2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -296,7 +296,7 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req, assert (fd != -1); #ifdef HAVE_SENDFILE - if (__builtin_expect (db->mmap_used, 1)) + if (__builtin_expect (db->mmap_used, 1) && !alloca_used) { assert (db->wr_fd != -1); assert ((char *) &dataset->resp > (char *) db->data); diff --git a/nscd/hstcache.c b/nscd/hstcache.c index a7d981a..e27ece5 100644 --- a/nscd/hstcache.c +++ b/nscd/hstcache.c @@ -1,5 +1,5 @@ /* Cache handling for host lookup. - Copyright (C) 1998-2002, 2003, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1998-2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -330,7 +330,7 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req, assert (fd != -1); #ifdef HAVE_SENDFILE - if (__builtin_expect (db->mmap_used, 1)) + if (__builtin_expect (db->mmap_used, 1) && !alloca_used) { assert (db->wr_fd != -1); assert ((char *) &dataset->resp > (char *) db->data); diff --git a/nscd/initgrcache.c b/nscd/initgrcache.c index 423dbbe..f2ff03a 100644 --- a/nscd/initgrcache.c +++ b/nscd/initgrcache.c @@ -1,5 +1,5 @@ /* Cache handling for host lookup. - Copyright (C) 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2004. @@ -347,7 +347,7 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req, assert (fd != -1); #ifdef HAVE_SENDFILE - if (__builtin_expect (db->mmap_used, 1)) + if (__builtin_expect (db->mmap_used, 1) && !alloca_used) { assert (db->wr_fd != -1); assert ((char *) &dataset->resp > (char *) db->data); diff --git a/nscd/pwdcache.c b/nscd/pwdcache.c index 529c707..2daff79 100644 --- a/nscd/pwdcache.c +++ b/nscd/pwdcache.c @@ -1,5 +1,5 @@ /* Cache handling for passwd lookup. - Copyright (C) 1998-2002, 2003, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1998-2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1998. @@ -291,7 +291,7 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req, assert (fd != -1); #ifdef HAVE_SENDFILE - if (__builtin_expect (db->mmap_used, 1)) + if (__builtin_expect (db->mmap_used, 1) && !alloca_used) { assert (db->wr_fd != -1); assert ((char *) &dataset->resp > (char *) db->data); -- 2.7.4