Date: Sat, 3 Nov 2001 20:40:03 -0800 (PST)
From: "Andrew R. Reiter" <arr@FreeBSD.org>
To: freebsd-bugs@FreeBSD.org
Subject: Re: kern/31742: open("/dev/null", O_TRUNC) broken on -current
Message-ID: <200111040440.fA44e3N50704@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/31742; it has been noted by GNATS.
From: "Andrew R. Reiter" <arr@FreeBSD.org>
To: Jos@lizzy.bugworks.com,
"Backus <@lizzy.bugworks.com Jos Backus" <josb@cncdsl.com>
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: kern/31742: open("/dev/null", O_TRUNC) broken on -current
Date: Sat, 3 Nov 2001 23:31:17 -0500 (EST)
I was unable to reproduce this. Used the same code and:
root@rakahanga:(test)$ ls -dl /dev
drwxr-xr-x 4 root wheel 0 Nov 3 18:00 /dev
root@rakahanga:(test)$ ls -al /dev/null
crw-rw-rw- 1 root wheel 2, 2 Nov 3 21:29 /dev/null
root@rakahanga:(test)$
root@rakahanga:(test)$ ./devnull-perm 1
root@rakahanga:(test)$
uid=1000
andrewr@rakahanga:(test)$ ./devnull-perm 1
andrewr@rakahanga:(test)$
any thoughts?
Andrew
On 4 Nov 2001, Jos Backus wrote:
:
:>Number: 31742
:>Category: kern
:>Synopsis: open("/dev/null", O_TRUNC) broken on -current
:>Confidential: no
:>Severity: serious
:>Priority: high
:>Responsible: freebsd-bugs
:>State: open
:>Quarter:
:>Keywords:
:>Date-Required:
:>Class: sw-bug
:>Submitter-Id: current-users
:>Arrival-Date: Sat Nov 03 17:10:01 PST 2001
:>Closed-Date:
:>Last-Modified:
:>Originator: Jos Backus
:>Release: FreeBSD 5.0-CURRENT i386
:>Organization:
:none
:>Environment:
:System: FreeBSD lizzy.bugworks.com 5.0-CURRENT FreeBSD 5.0-CURRENT #17: Sat Nov 3 15:04:31 PST 2001 jos@lizzy.bugworks.com:/disk0/usr/obj/usr/src/sys/LIZZY i386
:
:lizzy:/tmp% ls -ld /dev
:dr-xr-xr-x 4 root wheel 0 Nov 3 07:15 /dev
:lizzy:/tmp% ls -l /dev/null
:crw-rw-rw- 1 root wheel 2, 2 Nov 3 17:04 /dev/null
:lizzy:/tmp%
:
:>Description:
:
: open("/dev/null", O_TRUNC) fails with EPERM.
:
:>How-To-Repeat:
:
:lizzy:/tmp% cat c.c
:#include <stdio.h>
:#include <fcntl.h>
:
:int
:main(int argc, char *argv[])
:{
: char *s = "string";
: int fd;
: int flag = 0;
:
: if (argc > 1) flag = O_TRUNC;
: if ((fd = open("/dev/null", O_CREAT|O_WRONLY|flag)) == -1)
: err(1, "open");
: write(fd, s, strlen(s));
: close(fd);
: exit(0);
:}
:lizzy:/tmp% make c
:cc -O -pipe -march=pentiumpro c.c -o c
:lizzy:/tmp% ./c
:lizzy:/tmp% ./c 1
:c: open: Operation not permitted
:lizzy:/tmp%
:
:>Fix:
:>Release-Note:
:>Audit-Trail:
:>Unformatted:
:
:To Unsubscribe: send mail to majordomo@FreeBSD.org
:with "unsubscribe freebsd-bugs" in the body of the message
:
--
Andrew R. Reiter
arr@watson.org
arr@FreeBSD.org
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200111040440.fA44e3N50704>
