[RFC,v2,0/7] O_IGNORE_CTTY everywhere & misc fixes

Message ID 20230419160207.65988-1-bugaevc@gmail.com
Headers
Series O_IGNORE_CTTY everywhere & misc fixes |

Message

Sergey Bugaev April 19, 2023, 4:02 p.m. UTC
  Changes since v1:
* Addressed nits
* Made improvements to daemon () as discussed
* Fixed std{in,out,err} mode in csu/check_fds.c
* Tweaked the comment on O_IGNORE_CTTY

But also, I found out that opening some internal files (specifically
I have noticed this about nsswitch.conf) still triggers the
term_getctty () RPC -- and that's because they're opened with
fopen (), not plain open (). Is there anything we can do abiut this?

I suppose there's no way we're could introduce a new fopen () mode
character just for this?

Even with the fopen-using callsites left out, not making ctty RPCs in
all the other cases is still a solid improvement.

Sergey

Sergey Bugaev (7):
  misc: Convert daemon () to GNU coding style
  misc: Ignore SIGHUP in daemon () while forking
  Use O_CLOEXEC in more places (BZ #15722)
  csu: Fix standard fds' mode
  hurd: Make dl-sysdep's open () cope with O_IGNORE_CTTY
  include/fcntl.h: Define O_IGNORE_CTTY
  Use O_IGNORE_CTTY where appropriate

 catgets/open_catalog.c        |   4 +-
 csu/check_fds.c               |   6 +-
 elf/dl-load.c                 |   2 +-
 elf/dl-misc.c                 |   2 +-
 elf/dl-profile.c              |   3 +-
 gmon/gmon.c                   |   7 ++-
 iconv/gconv_cache.c           |   3 +-
 include/fcntl.h               |  15 +++++
 locale/loadarchive.c          |   7 ++-
 locale/loadlocale.c           |   4 +-
 login/openpty.c               |   2 +-
 login/utmp_file.c             |   7 ++-
 misc/daemon.c                 | 103 +++++++++++++++++++++-------------
 nss/nss_db/db-open.c          |   3 +-
 rt/shm_open.c                 |   2 +-
 shadow/lckpwdf.c              |   2 +-
 sysdeps/mach/hurd/dl-sysdep.c |   4 +-
 sysdeps/mach/hurd/opendir.c   |   2 +-
 sysdeps/pthread/sem_open.c    |   9 ++-
 sysdeps/unix/bsd/getpt.c      |   4 +-
 20 files changed, 120 insertions(+), 71 deletions(-)