On Sat, May 28, 2016 at 11:45:38AM -0600, Bob Beck wrote:
> Another ok for this
> 
> Although I am kind of wondering outloud is pledge disklabel is needed as such
> or could be refined.. should we simply always read the disklabel outside of
> pledge, and only need this to write one?

actually that thought Is stupid..  I'm thinking this because of the hack of
hoisting all this.

which wouldn't be needed if we can fix opendev() to not be so dumb..

> 
> On Sat, May 28, 2016 at 07:33:25PM +0200, Theo Buehler wrote:
> > Another low hanging fruit of the same sort:
> > 
> > $ ktrace fsck_msdofs /dev/tty
> > Abort trap (core dumped)
> > $ kdump | tail
> >   4663 fsck_msdos RET   read 612/0x264
> >   4663 fsck_msdos CALL  read(3,0x304fdfe4000,0x4000)
> >   4663 fsck_msdos RET   read 0
> >   4663 fsck_msdos CALL  open(0x3029c121880,0x2<O_RDWR>)
> >   4663 fsck_msdos NAMI  "/dev/tty"
> >   4663 fsck_msdos RET   open 4
> >   4663 fsck_msdos CALL  ioctl(4,DIOCGPDINFO,0x7f7ffffee340)
> >   4663 fsck_msdos PLDG  ioctl, "ioctl", errno 1 Operation not permitted
> >   4663 fsck_msdos PSIG  SIGABRT SIG_DFL code <1870144632>
> >   4663 fsck_msdos NAMI  "fsck_msdos.core"
> > 
> > Right after DIOCGPDINFO comes a pledge stdio.
> > 
> > Index: main.c
> > ===================================================================
> > RCS file: /var/cvs/src/sbin/fsck_msdos/main.c,v
> > retrieving revision 1.22
> > diff -u -p -r1.22 main.c
> > --- main.c  23 Nov 2015 19:19:30 -0000      1.22
> > +++ main.c  28 May 2016 17:24:18 -0000
> > @@ -57,9 +57,6 @@ main(int argc, char *argv[])
> >  {
> >     int ch;
> >  
> > -   if (pledge("stdio rpath wpath disklabel", NULL) == -1)
> > -           err(1, "pledge");
> > -
> >     while ((ch = getopt(argc, argv, "pynf")) != -1) {
> >             switch (ch) {
> >             case 'f':
> > 

Reply via email to