Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Dec 2017 16:58:45 -0500
From:      Dan Langille <dan@langille.org>
To:        Scott Long <scottl@samsco.org>
Cc:        freebsd-scsi@freebsd.org
Subject:   Re: ch(4) FreeBSD 11.1 jails
Message-ID:  <45DB2E52-B7C7-4AF6-B332-34FB7289EB12@langille.org>
In-Reply-To: <27C03467-BEB4-4257-BBA1-974F21D136C2@langille.org>
References:  <19FE523D-3A29-4EC1-BD11-71F2A9A84456@langille.org> <2E65031F-E39F-43FD-9D7C-25890A5ED641@samsco.org> <746B096B-A682-4EA7-AA25-718F687E3B13@langille.org> <A0C165C9-2062-4374-9225-7313227CD766@langille.org> <1C62DD70-910B-427B-BF90-BF02A622ABFD@samsco.org> <27C03467-BEB4-4257-BBA1-974F21D136C2@langille.org>

index | next in thread | previous in thread | raw e-mail

Scott: it was me.  See below.


> On Dec 17, 2017, at 11:49 AM, Dan Langille <dan@langille.org> wrote:
> 
> Scott,
> 
> 
> On the host: 
> 
> [dan@r710-01:~] $ sysctl kern.securelevel
> kern.securelevel: -1
> 
> 
> On the jail:
> 
> [dan@bacula-sd-01:~] $ sysctl kern.securelevel
> kern.securelevel: -1

Yes, that's a jail.

The wrong jail.

The right jail is bacula-sd-02.  On that jail, we have:

[root@bacula-sd-02 ~]# sysctl kern.securelevel
kern.securelevel: 2


After going back into the host, I set:

$ sudo iocage set securelevel=1 bacula-sd-02
Property: securelevel has been updated to 1

After restarting the jail and getting back into it:

Success.

[root@bacula-sd-02 ~]# sysctl kern.securelevel
kern.securelevel: 1

[root@bacula-sd-02 ~]# mtx -f /dev/pass7 status 
  Storage Changer /dev/pass7:2 Drives, 47 Slots ( 0 Import/Export )
Data Transfer Element 0:Full (Storage Element 1 Loaded):VolumeTag = 000001L4                       
Data Transfer Element 1:Empty
      Storage Element 1:Empty
      Storage Element 2:Empty

Sorry for the noise which would have been reduced if I'd gotten my sysctl on the right host.

FYI, Warner Losh got me through it by issuing dtrace commands on the jail host:

dtrace -n 'fbt::securelevel_gt:return {print(args[1];)}'

re https://lists.freebsd.org/pipermail/freebsd-current/2017-December/067884.html


> 
> 
> If it's something else, who should I consult?
> 
> -- 
> Dan Langille - BSDCan / PGCon
> dan@langille.org
> 
> 
>> On Dec 17, 2017, at 11:39 AM, Scott Long <scottl@samsco.org> wrote:
>> 
>> Hi Dan,
>> 
>> I agree with you, truss definitely shows that it’s failing with the open(“pass7”)
>> call.  Nothing in the src/sys/cam/scsi/scsi_pass.c code that has changed
>> regarding ‘open’ semantics since FreeBSD 9 in 2012.  There is a check in
>> the code against the securelevel of the system.  That code was added a 
>> LONG time ago, but maybe something has changed with securelevel.  I
>> guess it’s worth a look on your system to look at the kern.securelevel
>> sysctl both inside and outside of the jail.  If it’s not that then something
>> outside of CAM, either in devfs or in the syscall layer, has changed.
>> 
>> Scott
>> 
>> 
>>> On Dec 17, 2017, at 9:32 AM, Dan Langille <dan@langille.org> wrote:
>>> 
>>> 
>>> 
>>> 
>>>> On Dec 17, 2017, at 11:27 AM, Dan Langille <dan@langille.org> wrote:
>>>> 
>>>>>> On Dec 16, 2017, at 3:05 PM, Dan Langille <dan@langille.org> wrote:
>>>>>> 
>>>>>> I'm trying to access a tape library from within a FreeBSD 11 jail.
>>>>>> 
>>>>>> I've added this to the host system:
>>>>>> 
>>>>>> [devfsrules_jail_unhide_tapes=5]
>>>>>> add path sa0    unhide
>>>>>> add path pass0  unhide
>>>>>> add path pass7  unhide mode 0600
>>>>>> add path ch0    unhide
>>>>>> add path nsa0   unhide
>>>>>> 
>>>>>> add path sa1    unhide
>>>>>> add path pass8  unhide
>>>>>> add path pass9  unhide mode 0600
>>>>>> add path ch1    unhide
>>>>>> add path nsa1   unhide
>>>>>> 
>>>>>> 
>>>>>> [devfsrules_jail_bacula=6]
>>>>>> add include $devfsrules_hide_all
>>>>>> add include $devfsrules_unhide_basic
>>>>>> add include $devfsrules_unhide_login
>>>>>> add path zfs unhide
>>>>>> add include $devfsrules_jail_unhide_tapes
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> The jail can see the devices, and query the tape drive, but not the changer:
>>>>>> 
>>>>>> $ sudo mtx -f /dev/pass7 status
>>>>>> cannot open SCSI device '/dev/pass7' - Operation not permitted
>>>>>> 
>>>>>> The same command in the jail host succeeds.
>>>>>> 
>>>>>> Is there something more special I'm missing about FreeBSD 11.1? This worked for me under 10.3.
>>>>>> 
>>>>>> Thank you.
>>>>>> 
>>>>>> 
>>>>>> -- 
>>>>>> Dan Langille - BSDCan / PGCon
>>>>>> dan@langille.org
>>>>>> 
>>>>>> 
>>>>>> _______________________________________________
>>>>>> freebsd-scsi@freebsd.org mailing list
>>>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-scsi
>>>>>> To unsubscribe, send any mail to "freebsd-scsi-unsubscribe@freebsd.org"
>>>>> 
>>>> 
>>>>> On Dec 16, 2017, at 5:53 PM, Scott Long <scottl@samsco.org> wrote:
>>>>> 
>>>>> Hi Dan,
>>>>> 
>>>>> Try unhiding and giving permissions to /dev/xpt0.  Not sure if something changed there between 10.x and 11.x, but I suspect that it would be necessary regardless.  A truss/ktrace output will be necessary if that doesn’t work.
>>>>> 
>>>>> Scott
>>>>> 
>>>>> Sent from my iPhone
>>>>> 
>>>> 
>>>> Background: the host devices from the tape library:
>>>> 
>>>> <IBM ULT3580-HH4 C7Q1>             at scbus1 target 4 lun 0 (pass1,sa0)
>>>> <IBM 3573-TL B.60>                 at scbus1 target 4 lun 1 (pass7,ch0)
>>>> <IBM ULT3580-HH4 C7Q1>             at scbus1 target 5 lun 0 (pass8,sa1)
>>>> <IBM 3573-TL B.60>                 at scbus1 target 5 lun 1 (pass9,ch1)
>>>> 
>>>> 
>>>> The devices the jail can see:
>>>> 
>>>> [dan@bacula-sd-02:~] $ ls -l /dev
>>>> total 1
>>>> crw-------  1 root  operator  0x6b Dec 16 21:52 ch0
>>>> crw-------  1 root  operator  0x6c Dec 16 21:52 ch1
>>>> dr-xr-xr-x  2 root  wheel      512 Dec 16 21:52 fd
>>>> lrwxr-xr-x  1 root  wheel       14 Dec 16 22:02 log -> ../var/run/log
>>>> crw-rw----  1 root  operator  0x65 Dec 16 21:52 nsa0
>>>> crw-rw----  1 root  operator  0x69 Dec 16 21:52 nsa1
>>>> crw-rw-rw-  1 root  wheel     0x1b Dec 17 16:16 null
>>>> crw-------  1 root  operator  0x6d Dec 16 21:52 pass0
>>>> crw-------  1 root  operator  0x74 Dec 16 21:52 pass7
>>>> crw-------  1 root  operator  0x75 Dec 16 21:52 pass8
>>>> crw-------  1 root  operator  0x76 Dec 16 21:52 pass9
>>>> dr-xr-xr-x  2 root  wheel      512 Dec 17 16:16 pts
>>>> crw-r--r--  1 root  wheel      0x7 Dec 16 21:52 random
>>>> crw-rw----  1 root  operator  0x64 Dec 16 21:52 sa0
>>>> crw-rw----  1 root  operator  0x68 Dec 16 21:52 sa1
>>>> lrwxr-xr-x  1 root  wheel        4 Dec 16 22:02 stderr -> fd/2
>>>> lrwxr-xr-x  1 root  wheel        4 Dec 16 22:02 stdin -> fd/0
>>>> lrwxr-xr-x  1 root  wheel        4 Dec 16 22:02 stdout -> fd/1
>>>> lrwxr-xr-x  1 root  wheel        6 Dec 16 22:02 urandom -> random
>>>> crw-rw-rw-  1 root  wheel     0x1c Dec 16 21:52 zero
>>>> crw-rw-rw-  1 root  operator  0x48 Dec 16 21:52 zfs
>>>> [dan@bacula-sd-02:~] $ 
>>>> 
>>>> This command on the host:
>>>> 
>>>> [root@r710-01:~] # mtx -f /dev/pass7 status | head
>>>> Storage Changer /dev/pass7:2 Drives, 47 Slots ( 0 Import/Export )
>>>> Data Transfer Element 0:Full (Storage Element 1 Loaded):VolumeTag = 000001L4                       
>>>> Data Transfer Element 1:Empty
>>>>   Storage Element 1:Empty
>>>>   Storage Element 2:Empty
>>>>   Storage Element 3:Empty
>>>>   Storage Element 4:Empty
>>>>   Storage Element 5:Empty
>>>>   Storage Element 6:Empty
>>>>   Storage Element 7:Empty
>>>> 
>>>> 
>>>> Same command in the jail:
>>>> 
>>>> [root@bacula-sd-02 ~]# mtx -f /dev/pass7 status
>>>> cannot open SCSI device '/dev/pass7' - Operation not permitted
>>>> 
>>>> Same command with truss:
>>>> 
>>>> [root@bacula-sd-02 ~]# truss mtx -f /dev/pass7 status 
>>>> mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366197760 (0x800629000)
>>>> issetugid()					 = 0 (0x0)
>>>> lstat("/etc",{ mode=drwxr-xr-x ,inode=19,size=117,blksize=7680 }) = 0 (0x0)
>>>> lstat("/etc/libmap.conf",{ mode=-rw-r--r-- ,inode=13724,size=109,blksize=4096 }) = 0 (0x0)
>>>> openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
>>>> fstat(3,{ mode=-rw-r--r-- ,inode=13724,size=109,blksize=4096 }) = 0 (0x0)
>>>> mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0)	 = 34366230528 (0x800631000)
>>>> close(3)					 = 0 (0x0)
>>>> lstat("/usr",{ mode=drwxr-xr-x ,inode=23,size=15,blksize=4096 }) = 0 (0x0)
>>>> lstat("/usr/local",{ mode=drwxr-xr-x ,inode=214,size=14,blksize=4096 }) = 0 (0x0)
>>>> lstat("/usr/local/etc",{ mode=drwxr-xr-x ,inode=32826,size=29,blksize=4096 }) = 0 (0x0)
>>>> lstat("/usr/local/etc/libmap.d",0x7fffffffc548)	 ERR#2 'No such file or directory'
>>>> munmap(0x800631000,109)				 = 0 (0x0)
>>>> openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
>>>> read(3,"Ehnt\^A\0\0\0\M^@\0\0\0f\0\0\0\0"...,128) = 128 (0x80)
>>>> fstat(3,{ mode=-r--r--r-- ,inode=66965,size=230,blksize=4096 }) = 0 (0x0)
>>>> lseek(3,0x80,SEEK_SET)				 = 128 (0x80)
>>>> read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,102) = 102 (0x66)
>>>> close(3)					 = 0 (0x0)
>>>> access("/lib/libcam.so.7",F_OK)			 = 0 (0x0)
>>>> openat(AT_FDCWD,"/lib/libcam.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
>>>> fstat(3,{ mode=-r--r--r-- ,inode=141,size=201240,blksize=131072 }) = 0 (0x0)
>>>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34366230528 (0x800631000)
>>>> mmap(0x0,2297856,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34368299008 (0x80082a000)
>>>> mmap(0x80082a000,176128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34368299008 (0x80082a000)
>>>> mmap(0x800a54000,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x2a000) = 34370568192 (0x800a54000)
>>>> munmap(0x800631000,4096)			 = 0 (0x0)
>>>> close(3)					 = 0 (0x0)
>>>> access("/lib/libc.so.7",F_OK)			 = 0 (0x0)
>>>> openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
>>>> fstat(3,{ mode=-r--r--r-- ,inode=168,size=1761320,blksize=131072 }) = 0 (0x0)
>>>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34366230528 (0x800631000)
>>>> mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34370596864 (0x800a5b000)
>>>> mmap(0x800a5b000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34370596864 (0x800a5b000)
>>>> mmap(0x800ded000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x192000) = 34374340608 (0x800ded000)
>>>> mmap(0x800df9000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34374389760 (0x800df9000)
>>>> munmap(0x800631000,4096)			 = 0 (0x0)
>>>> close(3)					 = 0 (0x0)
>>>> access("/lib/libsbuf.so.6",F_OK)		 = 0 (0x0)
>>>> openat(AT_FDCWD,"/lib/libsbuf.so.6",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
>>>> fstat(3,{ mode=-r--r--r-- ,inode=137,size=11312,blksize=11776 }) = 0 (0x0)
>>>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34366230528 (0x800631000)
>>>> mmap(0x0,2109440,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34374496256 (0x800e13000)
>>>> mmap(0x800e13000,12288,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34374496256 (0x800e13000)
>>>> mmap(0x801015000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x2000) = 34376601600 (0x801015000)
>>>> munmap(0x800631000,4096)			 = 0 (0x0)
>>>> close(3)					 = 0 (0x0)
>>>> mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366230528 (0x800631000)
>>>> munmap(0x800634000,28672)			 = 0 (0x0)
>>>> mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366242816 (0x800634000)
>>>> sysarch(AMD64_SET_FSBASE,0x7fffffffdf08)	 = 0 (0x0)
>>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>>> readlink("/etc/malloc.conf",0x7fffffffd600,1024) ERR#2 'No such file or directory'
>>>> issetugid()					 = 0 (0x0)
>>>> __sysctl(0x7fffffffd4a0,0x2,0x7fffffffd4f0,0x7fffffffd4e8,0x800bbcc93,0xd) = 0 (0x0)
>>>> __sysctl(0x7fffffffd4f0,0x2,0x7fffffffd5b4,0x7fffffffd5a8,0x0,0x0) = 0 (0x0)
>>>> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34376605696 (0x801016000)
>>>> munmap(0x801016000,2097152)			 = 0 (0x0)
>>>> mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34376605696 (0x801016000)
>>>> munmap(0x801016000,2007040)			 = 0 (0x0)
>>>> munmap(0x801400000,86016)			 = 0 (0x0)
>>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>>> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34380709888 (0x801400000)
>>>> openat(AT_FDCWD,"/dev/pass7",O_RDWR|O_EXCL,00)	 ERR#1 'Operation not permitted'
>>>> stat("/usr/share/nls/C/libc.cat",0x7fffffffdea8) ERR#2 'No such file or directory'
>>>> stat("/usr/share/nls/libc/C",0x7fffffffdea8)	 ERR#2 'No such file or directory'
>>>> stat("/usr/local/share/nls/C/libc.cat",0x7fffffffdea8) ERR#2 'No such file or directory'
>>>> stat("/usr/local/share/nls/libc/C",0x7fffffffdea8) ERR#2 'No such file or directory'
>>>> cannot open SCSI device '/dev/pass7' - Operation not permitted
>>>> write(2,"cannot open SCSI device '/dev/pa"...,63) = 63 (0x3f)
>>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>>> exit(0x1)					
>>>> process exit, rval = 1
>>>> [root@bacula-sd-02 ~]# 
>>>> 
>>>> 
>>> I forgot to do xpt0... here it is:
>>> 
>>> ALSO: Diff between the two is here: https://gist.github.com/dlangille/b80ee804b8080e1cbf5b5ab67f0bdabe/revisions
>>> 
>>> From the jail:
>>> 
>>> [dan@bacula-sd-02:~] $ ls -l /dev/xpt0 
>>> crw-------  1 root  operator  0x4c Dec 16 21:52 /dev/xpt0
>>> [dan@bacula-sd-02:~] $ 
>>> 
>>> 
>>> [dan@bacula-sd-02:~] $ truss mtx -f /dev/pass7 status
>>> mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366197760 (0x800629000)
>>> issetugid()					 = 0 (0x0)
>>> lstat("/etc",{ mode=drwxr-xr-x ,inode=19,size=117,blksize=7680 }) = 0 (0x0)
>>> lstat("/etc/libmap.conf",{ mode=-rw-r--r-- ,inode=13724,size=109,blksize=4096 }) = 0 (0x0)
>>> openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
>>> fstat(3,{ mode=-rw-r--r-- ,inode=13724,size=109,blksize=4096 }) = 0 (0x0)
>>> mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0)	 = 34366230528 (0x800631000)
>>> close(3)					 = 0 (0x0)
>>> lstat("/usr",{ mode=drwxr-xr-x ,inode=23,size=15,blksize=4096 }) = 0 (0x0)
>>> lstat("/usr/local",{ mode=drwxr-xr-x ,inode=214,size=14,blksize=4096 }) = 0 (0x0)
>>> lstat("/usr/local/etc",{ mode=drwxr-xr-x ,inode=32826,size=29,blksize=4096 }) = 0 (0x0)
>>> lstat("/usr/local/etc/libmap.d",0x7fffffffc608)	 ERR#2 'No such file or directory'
>>> munmap(0x800631000,109)				 = 0 (0x0)
>>> openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
>>> read(3,"Ehnt\^A\0\0\0\M^@\0\0\0f\0\0\0\0"...,128) = 128 (0x80)
>>> fstat(3,{ mode=-r--r--r-- ,inode=72757,size=230,blksize=4096 }) = 0 (0x0)
>>> lseek(3,0x80,SEEK_SET)				 = 128 (0x80)
>>> read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,102) = 102 (0x66)
>>> close(3)					 = 0 (0x0)
>>> access("/lib/libcam.so.7",F_OK)			 = 0 (0x0)
>>> openat(AT_FDCWD,"/lib/libcam.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
>>> fstat(3,{ mode=-r--r--r-- ,inode=141,size=201240,blksize=131072 }) = 0 (0x0)
>>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34366230528 (0x800631000)
>>> mmap(0x0,2297856,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34368299008 (0x80082a000)
>>> mmap(0x80082a000,176128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34368299008 (0x80082a000)
>>> mmap(0x800a54000,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x2a000) = 34370568192 (0x800a54000)
>>> munmap(0x800631000,4096)			 = 0 (0x0)
>>> close(3)					 = 0 (0x0)
>>> access("/lib/libc.so.7",F_OK)			 = 0 (0x0)
>>> openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
>>> fstat(3,{ mode=-r--r--r-- ,inode=168,size=1761320,blksize=131072 }) = 0 (0x0)
>>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34366230528 (0x800631000)
>>> mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34370596864 (0x800a5b000)
>>> mmap(0x800a5b000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34370596864 (0x800a5b000)
>>> mmap(0x800ded000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x192000) = 34374340608 (0x800ded000)
>>> mmap(0x800df9000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34374389760 (0x800df9000)
>>> munmap(0x800631000,4096)			 = 0 (0x0)
>>> close(3)					 = 0 (0x0)
>>> access("/lib/libsbuf.so.6",F_OK)		 = 0 (0x0)
>>> openat(AT_FDCWD,"/lib/libsbuf.so.6",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
>>> fstat(3,{ mode=-r--r--r-- ,inode=137,size=11312,blksize=11776 }) = 0 (0x0)
>>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34366230528 (0x800631000)
>>> mmap(0x0,2109440,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = 34374496256 (0x800e13000)
>>> mmap(0x800e13000,12288,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34374496256 (0x800e13000)
>>> mmap(0x801015000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x2000) = 34376601600 (0x801015000)
>>> munmap(0x800631000,4096)			 = 0 (0x0)
>>> close(3)					 = 0 (0x0)
>>> mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366230528 (0x800631000)
>>> munmap(0x800634000,28672)			 = 0 (0x0)
>>> mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366242816 (0x800634000)
>>> sysarch(AMD64_SET_FSBASE,0x7fffffffdfc8)	 = 0 (0x0)
>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>> readlink("/etc/malloc.conf",0x7fffffffd6c0,1024) ERR#2 'No such file or directory'
>>> issetugid()					 = 0 (0x0)
>>> __sysctl(0x7fffffffd560,0x2,0x7fffffffd5b0,0x7fffffffd5a8,0x800bbcc93,0xd) = 0 (0x0)
>>> __sysctl(0x7fffffffd5b0,0x2,0x7fffffffd674,0x7fffffffd668,0x0,0x0) = 0 (0x0)
>>> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34376605696 (0x801016000)
>>> munmap(0x801016000,2097152)			 = 0 (0x0)
>>> mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34376605696 (0x801016000)
>>> munmap(0x801016000,2007040)			 = 0 (0x0)
>>> munmap(0x801400000,86016)			 = 0 (0x0)
>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34380709888 (0x801400000)
>>> openat(AT_FDCWD,"/dev/pass7",O_RDWR|O_EXCL,00)	 ERR#13 'Permission denied'
>>> stat("/usr/share/nls/C/libc.cat",0x7fffffffdf68) ERR#2 'No such file or directory'
>>> stat("/usr/share/nls/libc/C",0x7fffffffdf68)	 ERR#2 'No such file or directory'
>>> stat("/usr/local/share/nls/C/libc.cat",0x7fffffffdf68) ERR#2 'No such file or directory'
>>> stat("/usr/local/share/nls/libc/C",0x7fffffffdf68) ERR#2 'No such file or directory'
>>> cannot open SCSI device '/dev/pass7' - Permission denied
>>> write(2,"cannot open SCSI device '/dev/pa"...,57) = 57 (0x39)
>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>> sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
>>> sigprocmask(SIG_SETMASK,{ },0x0)		 = 0 (0x0)
>>> exit(0x1)					
>>> process exit, rval = 1
>>> 
>>> -- 
>>> Dan Langille - BSDCan / PGCon
>>> dan@langille.org
>> 
> 
> _______________________________________________
> freebsd-scsi@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-scsi
> To unsubscribe, send any mail to "freebsd-scsi-unsubscribe@freebsd.org"



help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45DB2E52-B7C7-4AF6-B332-34FB7289EB12>