From owner-freebsd-scsi@freebsd.org Sun Dec 17 16:27:54 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CBD8EE8E0ED for ; Sun, 17 Dec 2017 16:27:54 +0000 (UTC) (envelope-from dan@langille.org) Received: from clavin1.langille.org (clavin.langille.org [162.208.116.86]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "clavin.langille.org", Issuer "BSD Cabal Headquarters" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id A3D2B75F0C for ; Sun, 17 Dec 2017 16:27:53 +0000 (UTC) (envelope-from dan@langille.org) Received: from (clavin1.int.langille.org (clavin1.int.unixathome.org [10.4.7.7]) (Authenticated sender: hidden) with ESMTPSA id 89E193C5F ; Sun, 17 Dec 2017 16:27:41 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\)) Subject: Re: ch(4) FreeBSD 11.1 jails From: Dan Langille In-Reply-To: <2E65031F-E39F-43FD-9D7C-25890A5ED641@samsco.org> Date: Sun, 17 Dec 2017 11:27:08 -0500 Cc: freebsd-scsi@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <746B096B-A682-4EA7-AA25-718F687E3B13@langille.org> References: <19FE523D-3A29-4EC1-BD11-71F2A9A84456@langille.org> <2E65031F-E39F-43FD-9D7C-25890A5ED641@samsco.org> To: Scott Long X-Mailer: Apple Mail (2.3445.5.20) X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Dec 2017 16:27:54 -0000 >> On Dec 16, 2017, at 3:05 PM, Dan Langille wrote: >>=20 >> I'm trying to access a tape library from within a FreeBSD 11 jail. >>=20 >> I've added this to the host system: >>=20 >> [devfsrules_jail_unhide_tapes=3D5] >> add path sa0 unhide >> add path pass0 unhide >> add path pass7 unhide mode 0600 >> add path ch0 unhide >> add path nsa0 unhide >>=20 >> add path sa1 unhide >> add path pass8 unhide >> add path pass9 unhide mode 0600 >> add path ch1 unhide >> add path nsa1 unhide >>=20 >>=20 >> [devfsrules_jail_bacula=3D6] >> 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 >>=20 >>=20 >>=20 >> The jail can see the devices, and query the tape drive, but not the = changer: >>=20 >> $ sudo mtx -f /dev/pass7 status >> cannot open SCSI device '/dev/pass7' - Operation not permitted >>=20 >> The same command in the jail host succeeds. >>=20 >> Is there something more special I'm missing about FreeBSD 11.1? This = worked for me under 10.3. >>=20 >> Thank you. >>=20 >>=20 >> --=20 >> Dan Langille - BSDCan / PGCon >> dan@langille.org >>=20 >>=20 >> _______________________________________________ >> 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" >=20 > On Dec 16, 2017, at 5:53 PM, Scott Long wrote: >=20 > Hi Dan, >=20 > 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=E2=80=99t work. >=20 > Scott >=20 > Sent from my iPhone >=20 Background: the host devices from the tape library: at scbus1 target 4 lun 0 (pass1,sa0) at scbus1 target 4 lun 1 (pass7,ch0) at scbus1 target 5 lun 0 (pass8,sa1) 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:~] $=20 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 =3D = 000001L4 =20 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=20 mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366197760 (0x800629000) issetugid() =3D 0 (0x0) lstat("/etc",{ mode=3Ddrwxr-xr-x ,inode=3D19,size=3D117,blksize=3D7680 = }) =3D 0 (0x0) lstat("/etc/libmap.conf",{ mode=3D-rw-r--r-- = ,inode=3D13724,size=3D109,blksize=3D4096 }) =3D 0 (0x0) openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) =3D 3 (0x3) fstat(3,{ mode=3D-rw-r--r-- ,inode=3D13724,size=3D109,blksize=3D4096 }) = =3D 0 (0x0) mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0) =3D 34366230528 = (0x800631000) close(3) =3D 0 (0x0) lstat("/usr",{ mode=3Ddrwxr-xr-x ,inode=3D23,size=3D15,blksize=3D4096 }) = =3D 0 (0x0) lstat("/usr/local",{ mode=3Ddrwxr-xr-x ,inode=3D214,size=3D14,blksize=3D40= 96 }) =3D 0 (0x0) lstat("/usr/local/etc",{ mode=3Ddrwxr-xr-x = ,inode=3D32826,size=3D29,blksize=3D4096 }) =3D 0 (0x0) lstat("/usr/local/etc/libmap.d",0x7fffffffc548) ERR#2 'No such file or = directory' munmap(0x800631000,109) =3D 0 (0x0) openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) =3D 3 = (0x3) read(3,"Ehnt\^A\0\0\0\M^@\0\0\0f\0\0\0\0"...,128) =3D 128 (0x80) fstat(3,{ mode=3D-r--r--r-- ,inode=3D66965,size=3D230,blksize=3D4096 }) = =3D 0 (0x0) lseek(3,0x80,SEEK_SET) =3D 128 (0x80) read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,102) =3D 102 (0x66) close(3) =3D 0 (0x0) access("/lib/libcam.so.7",F_OK) =3D 0 (0x0) openat(AT_FDCWD,"/lib/libcam.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D 3 = (0x3) fstat(3,{ mode=3D-r--r--r-- ,inode=3D141,size=3D201240,blksize=3D131072 = }) =3D 0 (0x0) mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) mmap(0x0,2297856,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34368299008 (0x80082a000) = mmap(0x80082a000,176128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCO= RE|MAP_PREFAULT_READ,3,0x0) =3D 34368299008 (0x80082a000) = mmap(0x800a54000,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x2a000) =3D 34370568192 (0x800a54000) munmap(0x800631000,4096) =3D 0 (0x0) close(3) =3D 0 (0x0) access("/lib/libc.so.7",F_OK) =3D 0 (0x0) openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D 3 = (0x3) fstat(3,{ mode=3D-r--r--r-- ,inode=3D168,size=3D1761320,blksize=3D131072 = }) =3D 0 (0x0) mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34370596864 (0x800a5b000) = mmap(0x800a5b000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOC= ORE|MAP_PREFAULT_READ,3,0x0) =3D 34370596864 (0x800a5b000) = mmap(0x800ded000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x192000) =3D 34374340608 (0x800ded000) = mmap(0x800df9000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANO= N,-1,0x0) =3D 34374389760 (0x800df9000) munmap(0x800631000,4096) =3D 0 (0x0) close(3) =3D 0 (0x0) access("/lib/libsbuf.so.6",F_OK) =3D 0 (0x0) openat(AT_FDCWD,"/lib/libsbuf.so.6",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) fstat(3,{ mode=3D-r--r--r-- ,inode=3D137,size=3D11312,blksize=3D11776 }) = =3D 0 (0x0) mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) mmap(0x0,2109440,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34374496256 (0x800e13000) = mmap(0x800e13000,12288,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCOR= E|MAP_PREFAULT_READ,3,0x0) =3D 34374496256 (0x800e13000) = mmap(0x801015000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFA= ULT_READ,3,0x2000) =3D 34376601600 (0x801015000) munmap(0x800631000,4096) =3D 0 (0x0) close(3) =3D 0 (0x0) mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366230528 (0x800631000) munmap(0x800634000,28672) =3D 0 (0x0) mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366242816 (0x800634000) sysarch(AMD64_SET_FSBASE,0x7fffffffdf08) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) readlink("/etc/malloc.conf",0x7fffffffd600,1024) ERR#2 'No such file or = directory' issetugid() =3D 0 (0x0) = __sysctl(0x7fffffffd4a0,0x2,0x7fffffffd4f0,0x7fffffffd4e8,0x800bbcc93,0xd)= =3D 0 (0x0) __sysctl(0x7fffffffd4f0,0x2,0x7fffffffd5b4,0x7fffffffd5a8,0x0,0x0) =3D 0 = (0x0) mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34376605696 (0x801016000) munmap(0x801016000,2097152) =3D 0 (0x0) mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34376605696 (0x801016000) munmap(0x801016000,2007040) =3D 0 (0x0) munmap(0x801400000,86016) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 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) =3D 63 (0x3f) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) exit(0x1) =09 process exit, rval =3D 1 [root@bacula-sd-02 ~]#=20 --=20 Dan Langille - BSDCan / PGCon dan@langille.org From owner-freebsd-scsi@freebsd.org Sun Dec 17 16:32:37 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E55AEE8E32B for ; Sun, 17 Dec 2017 16:32:37 +0000 (UTC) (envelope-from dan@langille.org) Received: from clavin1.langille.org (clavin.langille.org [162.208.116.86]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "clavin.langille.org", Issuer "BSD Cabal Headquarters" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id A9A4F76223 for ; Sun, 17 Dec 2017 16:32:37 +0000 (UTC) (envelope-from dan@langille.org) Received: from (clavin1.int.langille.org (clavin1.int.unixathome.org [10.4.7.7]) (Authenticated sender: hidden) with ESMTPSA id 1C2483C60 ; Sun, 17 Dec 2017 16:32:36 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\)) Subject: Re: ch(4) FreeBSD 11.1 jails From: Dan Langille In-Reply-To: <746B096B-A682-4EA7-AA25-718F687E3B13@langille.org> Date: Sun, 17 Dec 2017 11:32:09 -0500 Cc: freebsd-scsi@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <19FE523D-3A29-4EC1-BD11-71F2A9A84456@langille.org> <2E65031F-E39F-43FD-9D7C-25890A5ED641@samsco.org> <746B096B-A682-4EA7-AA25-718F687E3B13@langille.org> To: Scott Long X-Mailer: Apple Mail (2.3445.5.20) X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Dec 2017 16:32:38 -0000 > On Dec 17, 2017, at 11:27 AM, Dan Langille wrote: >=20 >>> On Dec 16, 2017, at 3:05 PM, Dan Langille wrote: >>>=20 >>> I'm trying to access a tape library from within a FreeBSD 11 jail. >>>=20 >>> I've added this to the host system: >>>=20 >>> [devfsrules_jail_unhide_tapes=3D5] >>> add path sa0 unhide >>> add path pass0 unhide >>> add path pass7 unhide mode 0600 >>> add path ch0 unhide >>> add path nsa0 unhide >>>=20 >>> add path sa1 unhide >>> add path pass8 unhide >>> add path pass9 unhide mode 0600 >>> add path ch1 unhide >>> add path nsa1 unhide >>>=20 >>>=20 >>> [devfsrules_jail_bacula=3D6] >>> 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 >>>=20 >>>=20 >>>=20 >>> The jail can see the devices, and query the tape drive, but not the = changer: >>>=20 >>> $ sudo mtx -f /dev/pass7 status >>> cannot open SCSI device '/dev/pass7' - Operation not permitted >>>=20 >>> The same command in the jail host succeeds. >>>=20 >>> Is there something more special I'm missing about FreeBSD 11.1? This = worked for me under 10.3. >>>=20 >>> Thank you. >>>=20 >>>=20 >>> --=20 >>> Dan Langille - BSDCan / PGCon >>> dan@langille.org >>>=20 >>>=20 >>> _______________________________________________ >>> 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" >>=20 >=20 >> On Dec 16, 2017, at 5:53 PM, Scott Long wrote: >>=20 >> Hi Dan, >>=20 >> 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=E2=80=99t work. >>=20 >> Scott >>=20 >> Sent from my iPhone >>=20 >=20 > Background: the host devices from the tape library: >=20 > at scbus1 target 4 lun 0 = (pass1,sa0) > at scbus1 target 4 lun 1 = (pass7,ch0) > at scbus1 target 5 lun 0 = (pass8,sa1) > at scbus1 target 5 lun 1 = (pass9,ch1) >=20 >=20 > The devices the jail can see: >=20 > [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:~] $=20 >=20 > This command on the host: >=20 > [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 =3D = 000001L4 =20 > 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 >=20 >=20 > Same command in the jail: >=20 > [root@bacula-sd-02 ~]# mtx -f /dev/pass7 status > cannot open SCSI device '/dev/pass7' - Operation not permitted >=20 > Same command with truss: >=20 > [root@bacula-sd-02 ~]# truss mtx -f /dev/pass7 status=20 > mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366197760 (0x800629000) > issetugid() =3D 0 (0x0) > lstat("/etc",{ mode=3Ddrwxr-xr-x ,inode=3D19,size=3D117,blksize=3D7680 = }) =3D 0 (0x0) > lstat("/etc/libmap.conf",{ mode=3D-rw-r--r-- = ,inode=3D13724,size=3D109,blksize=3D4096 }) =3D 0 (0x0) > openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) =3D 3 (0x3) > fstat(3,{ mode=3D-rw-r--r-- ,inode=3D13724,size=3D109,blksize=3D4096 = }) =3D 0 (0x0) > mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0) =3D 34366230528 = (0x800631000) > close(3) =3D 0 (0x0) > lstat("/usr",{ mode=3Ddrwxr-xr-x ,inode=3D23,size=3D15,blksize=3D4096 = }) =3D 0 (0x0) > lstat("/usr/local",{ mode=3Ddrwxr-xr-x ,inode=3D214,size=3D14,blksize=3D= 4096 }) =3D 0 (0x0) > lstat("/usr/local/etc",{ mode=3Ddrwxr-xr-x = ,inode=3D32826,size=3D29,blksize=3D4096 }) =3D 0 (0x0) > lstat("/usr/local/etc/libmap.d",0x7fffffffc548) ERR#2 'No such = file or directory' > munmap(0x800631000,109) =3D 0 (0x0) > openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) =3D = 3 (0x3) > read(3,"Ehnt\^A\0\0\0\M^@\0\0\0f\0\0\0\0"...,128) =3D 128 (0x80) > fstat(3,{ mode=3D-r--r--r-- ,inode=3D66965,size=3D230,blksize=3D4096 = }) =3D 0 (0x0) > lseek(3,0x80,SEEK_SET) =3D 128 (0x80) > read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,102) =3D 102 (0x66) > close(3) =3D 0 (0x0) > access("/lib/libcam.so.7",F_OK) =3D 0 (0x0) > openat(AT_FDCWD,"/lib/libcam.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) > fstat(3,{ mode=3D-r--r--r-- ,inode=3D141,size=3D201240,blksize=3D131072 = }) =3D 0 (0x0) > mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) > mmap(0x0,2297856,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34368299008 (0x80082a000) > = mmap(0x80082a000,176128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCO= RE|MAP_PREFAULT_READ,3,0x0) =3D 34368299008 (0x80082a000) > = mmap(0x800a54000,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x2a000) =3D 34370568192 (0x800a54000) > munmap(0x800631000,4096) =3D 0 (0x0) > close(3) =3D 0 (0x0) > access("/lib/libc.so.7",F_OK) =3D 0 (0x0) > openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D 3 = (0x3) > fstat(3,{ mode=3D-r--r--r-- ,inode=3D168,size=3D1761320,blksize=3D131072= }) =3D 0 (0x0) > mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) > mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34370596864 (0x800a5b000) > = mmap(0x800a5b000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOC= ORE|MAP_PREFAULT_READ,3,0x0) =3D 34370596864 (0x800a5b000) > = mmap(0x800ded000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x192000) =3D 34374340608 (0x800ded000) > = mmap(0x800df9000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANO= N,-1,0x0) =3D 34374389760 (0x800df9000) > munmap(0x800631000,4096) =3D 0 (0x0) > close(3) =3D 0 (0x0) > access("/lib/libsbuf.so.6",F_OK) =3D 0 (0x0) > openat(AT_FDCWD,"/lib/libsbuf.so.6",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) > fstat(3,{ mode=3D-r--r--r-- ,inode=3D137,size=3D11312,blksize=3D11776 = }) =3D 0 (0x0) > mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) > mmap(0x0,2109440,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34374496256 (0x800e13000) > = mmap(0x800e13000,12288,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCOR= E|MAP_PREFAULT_READ,3,0x0) =3D 34374496256 (0x800e13000) > = mmap(0x801015000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFA= ULT_READ,3,0x2000) =3D 34376601600 (0x801015000) > munmap(0x800631000,4096) =3D 0 (0x0) > close(3) =3D 0 (0x0) > mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366230528 (0x800631000) > munmap(0x800634000,28672) =3D 0 (0x0) > mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366242816 (0x800634000) > sysarch(AMD64_SET_FSBASE,0x7fffffffdf08) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > readlink("/etc/malloc.conf",0x7fffffffd600,1024) ERR#2 'No such file = or directory' > issetugid() =3D 0 (0x0) > = __sysctl(0x7fffffffd4a0,0x2,0x7fffffffd4f0,0x7fffffffd4e8,0x800bbcc93,0xd)= =3D 0 (0x0) > __sysctl(0x7fffffffd4f0,0x2,0x7fffffffd5b4,0x7fffffffd5a8,0x0,0x0) =3D = 0 (0x0) > mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34376605696 (0x801016000) > munmap(0x801016000,2097152) =3D 0 (0x0) > mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34376605696 (0x801016000) > munmap(0x801016000,2007040) =3D 0 (0x0) > munmap(0x801400000,86016) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 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) =3D 63 (0x3f) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > exit(0x1) =09 > process exit, rval =3D 1 > [root@bacula-sd-02 ~]#=20 >=20 >=20 I forgot to do xpt0... here it is: ALSO: Diff between the two is here: = https://gist.github.com/dlangille/b80ee804b8080e1cbf5b5ab67f0bdabe/revisio= ns =46rom the jail: [dan@bacula-sd-02:~] $ ls -l /dev/xpt0=20 crw------- 1 root operator 0x4c Dec 16 21:52 /dev/xpt0 [dan@bacula-sd-02:~] $=20 [dan@bacula-sd-02:~] $ truss mtx -f /dev/pass7 status mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366197760 (0x800629000) issetugid() =3D 0 (0x0) lstat("/etc",{ mode=3Ddrwxr-xr-x ,inode=3D19,size=3D117,blksize=3D7680 = }) =3D 0 (0x0) lstat("/etc/libmap.conf",{ mode=3D-rw-r--r-- = ,inode=3D13724,size=3D109,blksize=3D4096 }) =3D 0 (0x0) openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) =3D 3 (0x3) fstat(3,{ mode=3D-rw-r--r-- ,inode=3D13724,size=3D109,blksize=3D4096 }) = =3D 0 (0x0) mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0) =3D 34366230528 = (0x800631000) close(3) =3D 0 (0x0) lstat("/usr",{ mode=3Ddrwxr-xr-x ,inode=3D23,size=3D15,blksize=3D4096 }) = =3D 0 (0x0) lstat("/usr/local",{ mode=3Ddrwxr-xr-x ,inode=3D214,size=3D14,blksize=3D40= 96 }) =3D 0 (0x0) lstat("/usr/local/etc",{ mode=3Ddrwxr-xr-x = ,inode=3D32826,size=3D29,blksize=3D4096 }) =3D 0 (0x0) lstat("/usr/local/etc/libmap.d",0x7fffffffc608) ERR#2 'No such file or = directory' munmap(0x800631000,109) =3D 0 (0x0) openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) =3D 3 = (0x3) read(3,"Ehnt\^A\0\0\0\M^@\0\0\0f\0\0\0\0"...,128) =3D 128 (0x80) fstat(3,{ mode=3D-r--r--r-- ,inode=3D72757,size=3D230,blksize=3D4096 }) = =3D 0 (0x0) lseek(3,0x80,SEEK_SET) =3D 128 (0x80) read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,102) =3D 102 (0x66) close(3) =3D 0 (0x0) access("/lib/libcam.so.7",F_OK) =3D 0 (0x0) openat(AT_FDCWD,"/lib/libcam.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D 3 = (0x3) fstat(3,{ mode=3D-r--r--r-- ,inode=3D141,size=3D201240,blksize=3D131072 = }) =3D 0 (0x0) mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) mmap(0x0,2297856,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34368299008 (0x80082a000) = mmap(0x80082a000,176128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCO= RE|MAP_PREFAULT_READ,3,0x0) =3D 34368299008 (0x80082a000) = mmap(0x800a54000,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x2a000) =3D 34370568192 (0x800a54000) munmap(0x800631000,4096) =3D 0 (0x0) close(3) =3D 0 (0x0) access("/lib/libc.so.7",F_OK) =3D 0 (0x0) openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D 3 = (0x3) fstat(3,{ mode=3D-r--r--r-- ,inode=3D168,size=3D1761320,blksize=3D131072 = }) =3D 0 (0x0) mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34370596864 (0x800a5b000) = mmap(0x800a5b000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOC= ORE|MAP_PREFAULT_READ,3,0x0) =3D 34370596864 (0x800a5b000) = mmap(0x800ded000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x192000) =3D 34374340608 (0x800ded000) = mmap(0x800df9000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANO= N,-1,0x0) =3D 34374389760 (0x800df9000) munmap(0x800631000,4096) =3D 0 (0x0) close(3) =3D 0 (0x0) access("/lib/libsbuf.so.6",F_OK) =3D 0 (0x0) openat(AT_FDCWD,"/lib/libsbuf.so.6",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) fstat(3,{ mode=3D-r--r--r-- ,inode=3D137,size=3D11312,blksize=3D11776 }) = =3D 0 (0x0) mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) mmap(0x0,2109440,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34374496256 (0x800e13000) = mmap(0x800e13000,12288,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCOR= E|MAP_PREFAULT_READ,3,0x0) =3D 34374496256 (0x800e13000) = mmap(0x801015000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFA= ULT_READ,3,0x2000) =3D 34376601600 (0x801015000) munmap(0x800631000,4096) =3D 0 (0x0) close(3) =3D 0 (0x0) mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366230528 (0x800631000) munmap(0x800634000,28672) =3D 0 (0x0) mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366242816 (0x800634000) sysarch(AMD64_SET_FSBASE,0x7fffffffdfc8) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) readlink("/etc/malloc.conf",0x7fffffffd6c0,1024) ERR#2 'No such file or = directory' issetugid() =3D 0 (0x0) = __sysctl(0x7fffffffd560,0x2,0x7fffffffd5b0,0x7fffffffd5a8,0x800bbcc93,0xd)= =3D 0 (0x0) __sysctl(0x7fffffffd5b0,0x2,0x7fffffffd674,0x7fffffffd668,0x0,0x0) =3D 0 = (0x0) mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34376605696 (0x801016000) munmap(0x801016000,2097152) =3D 0 (0x0) mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34376605696 (0x801016000) munmap(0x801016000,2007040) =3D 0 (0x0) munmap(0x801400000,86016) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 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) =3D 57 (0x39) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) exit(0x1) =09 process exit, rval =3D 1 --=20 Dan Langille - BSDCan / PGCon dan@langille.org= From owner-freebsd-scsi@freebsd.org Sun Dec 17 16:37:35 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 76B4CE8E3EF for ; Sun, 17 Dec 2017 16:37:35 +0000 (UTC) (envelope-from dan@langille.org) Received: from clavin1.langille.org (clavin.langille.org [162.208.116.86]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "clavin.langille.org", Issuer "BSD Cabal Headquarters" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 3B0A9762A7 for ; Sun, 17 Dec 2017 16:37:34 +0000 (UTC) (envelope-from dan@langille.org) Received: from (clavin1.int.langille.org (clavin1.int.unixathome.org [10.4.7.7]) (Authenticated sender: hidden) with ESMTPSA id C93473C61 ; Sun, 17 Dec 2017 16:37:32 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\)) Subject: Re: ch(4) FreeBSD 11.1 jails From: Dan Langille In-Reply-To: <746B096B-A682-4EA7-AA25-718F687E3B13@langille.org> Date: Sun, 17 Dec 2017 11:37:06 -0500 Cc: freebsd-scsi@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <71823913-B596-42EC-84FD-5B59A0FB11FB@langille.org> References: <19FE523D-3A29-4EC1-BD11-71F2A9A84456@langille.org> <2E65031F-E39F-43FD-9D7C-25890A5ED641@samsco.org> <746B096B-A682-4EA7-AA25-718F687E3B13@langille.org> To: Scott Long X-Mailer: Apple Mail (2.3445.5.20) X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Dec 2017 16:37:35 -0000 Resending xpt0 data as it was not run as root (doh) > On Dec 17, 2017, at 11:27 AM, Dan Langille wrote: >=20 >>> On Dec 16, 2017, at 3:05 PM, Dan Langille wrote: >>>=20 >>> I'm trying to access a tape library from within a FreeBSD 11 jail. >>>=20 >>> I've added this to the host system: >>>=20 >>> [devfsrules_jail_unhide_tapes=3D5] >>> add path sa0 unhide >>> add path pass0 unhide >>> add path pass7 unhide mode 0600 >>> add path ch0 unhide >>> add path nsa0 unhide >>>=20 >>> add path sa1 unhide >>> add path pass8 unhide >>> add path pass9 unhide mode 0600 >>> add path ch1 unhide >>> add path nsa1 unhide >>>=20 >>>=20 >>> [devfsrules_jail_bacula=3D6] >>> 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 >>>=20 >>>=20 >>>=20 >>> The jail can see the devices, and query the tape drive, but not the = changer: >>>=20 >>> $ sudo mtx -f /dev/pass7 status >>> cannot open SCSI device '/dev/pass7' - Operation not permitted >>>=20 >>> The same command in the jail host succeeds. >>>=20 >>> Is there something more special I'm missing about FreeBSD 11.1? This = worked for me under 10.3. >>>=20 >>> Thank you. >>>=20 >>>=20 >>> --=20 >>> Dan Langille - BSDCan / PGCon >>> dan@langille.org >>>=20 >>>=20 >>> _______________________________________________ >>> 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" >>=20 >=20 >> On Dec 16, 2017, at 5:53 PM, Scott Long wrote: >>=20 >> Hi Dan, >>=20 >> 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=E2=80=99t work. >>=20 >> Scott >>=20 >> Sent from my iPhone >>=20 >=20 > Background: the host devices from the tape library: >=20 > at scbus1 target 4 lun 0 = (pass1,sa0) > at scbus1 target 4 lun 1 = (pass7,ch0) > at scbus1 target 5 lun 0 = (pass8,sa1) > at scbus1 target 5 lun 1 = (pass9,ch1) >=20 >=20 > The devices the jail can see: >=20 > [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:~] $=20 >=20 > This command on the host: >=20 > [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 =3D = 000001L4 =20 > 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 >=20 >=20 > Same command in the jail: >=20 > [root@bacula-sd-02 ~]# mtx -f /dev/pass7 status > cannot open SCSI device '/dev/pass7' - Operation not permitted >=20 > Same command with truss: >=20 > [root@bacula-sd-02 ~]# truss mtx -f /dev/pass7 status=20 > mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366197760 (0x800629000) > issetugid() =3D 0 (0x0) > lstat("/etc",{ mode=3Ddrwxr-xr-x ,inode=3D19,size=3D117,blksize=3D7680 = }) =3D 0 (0x0) > lstat("/etc/libmap.conf",{ mode=3D-rw-r--r-- = ,inode=3D13724,size=3D109,blksize=3D4096 }) =3D 0 (0x0) > openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) =3D 3 (0x3) > fstat(3,{ mode=3D-rw-r--r-- ,inode=3D13724,size=3D109,blksize=3D4096 = }) =3D 0 (0x0) > mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0) =3D 34366230528 = (0x800631000) > close(3) =3D 0 (0x0) > lstat("/usr",{ mode=3Ddrwxr-xr-x ,inode=3D23,size=3D15,blksize=3D4096 = }) =3D 0 (0x0) > lstat("/usr/local",{ mode=3Ddrwxr-xr-x ,inode=3D214,size=3D14,blksize=3D= 4096 }) =3D 0 (0x0) > lstat("/usr/local/etc",{ mode=3Ddrwxr-xr-x = ,inode=3D32826,size=3D29,blksize=3D4096 }) =3D 0 (0x0) > lstat("/usr/local/etc/libmap.d",0x7fffffffc548) ERR#2 'No such = file or directory' > munmap(0x800631000,109) =3D 0 (0x0) > openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) =3D = 3 (0x3) > read(3,"Ehnt\^A\0\0\0\M^@\0\0\0f\0\0\0\0"...,128) =3D 128 (0x80) > fstat(3,{ mode=3D-r--r--r-- ,inode=3D66965,size=3D230,blksize=3D4096 = }) =3D 0 (0x0) > lseek(3,0x80,SEEK_SET) =3D 128 (0x80) > read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,102) =3D 102 (0x66) > close(3) =3D 0 (0x0) > access("/lib/libcam.so.7",F_OK) =3D 0 (0x0) > openat(AT_FDCWD,"/lib/libcam.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) > fstat(3,{ mode=3D-r--r--r-- ,inode=3D141,size=3D201240,blksize=3D131072 = }) =3D 0 (0x0) > mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) > mmap(0x0,2297856,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34368299008 (0x80082a000) > = mmap(0x80082a000,176128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCO= RE|MAP_PREFAULT_READ,3,0x0) =3D 34368299008 (0x80082a000) > = mmap(0x800a54000,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x2a000) =3D 34370568192 (0x800a54000) > munmap(0x800631000,4096) =3D 0 (0x0) > close(3) =3D 0 (0x0) > access("/lib/libc.so.7",F_OK) =3D 0 (0x0) > openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D 3 = (0x3) > fstat(3,{ mode=3D-r--r--r-- ,inode=3D168,size=3D1761320,blksize=3D131072= }) =3D 0 (0x0) > mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) > mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34370596864 (0x800a5b000) > = mmap(0x800a5b000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOC= ORE|MAP_PREFAULT_READ,3,0x0) =3D 34370596864 (0x800a5b000) > = mmap(0x800ded000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x192000) =3D 34374340608 (0x800ded000) > = mmap(0x800df9000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANO= N,-1,0x0) =3D 34374389760 (0x800df9000) > munmap(0x800631000,4096) =3D 0 (0x0) > close(3) =3D 0 (0x0) > access("/lib/libsbuf.so.6",F_OK) =3D 0 (0x0) > openat(AT_FDCWD,"/lib/libsbuf.so.6",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) > fstat(3,{ mode=3D-r--r--r-- ,inode=3D137,size=3D11312,blksize=3D11776 = }) =3D 0 (0x0) > mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) > mmap(0x0,2109440,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34374496256 (0x800e13000) > = mmap(0x800e13000,12288,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCOR= E|MAP_PREFAULT_READ,3,0x0) =3D 34374496256 (0x800e13000) > = mmap(0x801015000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFA= ULT_READ,3,0x2000) =3D 34376601600 (0x801015000) > munmap(0x800631000,4096) =3D 0 (0x0) > close(3) =3D 0 (0x0) > mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366230528 (0x800631000) > munmap(0x800634000,28672) =3D 0 (0x0) > mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366242816 (0x800634000) > sysarch(AMD64_SET_FSBASE,0x7fffffffdf08) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > readlink("/etc/malloc.conf",0x7fffffffd600,1024) ERR#2 'No such file = or directory' > issetugid() =3D 0 (0x0) > = __sysctl(0x7fffffffd4a0,0x2,0x7fffffffd4f0,0x7fffffffd4e8,0x800bbcc93,0xd)= =3D 0 (0x0) > __sysctl(0x7fffffffd4f0,0x2,0x7fffffffd5b4,0x7fffffffd5a8,0x0,0x0) =3D = 0 (0x0) > mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34376605696 (0x801016000) > munmap(0x801016000,2097152) =3D 0 (0x0) > mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34376605696 (0x801016000) > munmap(0x801016000,2007040) =3D 0 (0x0) > munmap(0x801400000,86016) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 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) =3D 63 (0x3f) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > exit(0x1) =09 > process exit, rval =3D 1 > [root@bacula-sd-02 ~]#=20 >=20 >=20 I forgot to do xpt0... here it is: ALSO: pasted output here: = https://gist.github.com/dlangille/b80ee804b8080e1cbf5b5ab67f0bdabe =46rom the jail: [root@bacula-sd-02 ~]# ls -l /dev/xpt0=20 crw------- 1 root operator 0x4c Dec 16 21:52 /dev/xpt0 [root@bacula-sd-02 ~]# truss mtx -f /dev/pass7 status=20 mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366197760 (0x800629000) issetugid() =3D 0 (0x0) lstat("/etc",{ mode=3Ddrwxr-xr-x ,inode=3D19,size=3D117,blksize=3D7680 = }) =3D 0 (0x0) lstat("/etc/libmap.conf",{ mode=3D-rw-r--r-- = ,inode=3D13724,size=3D109,blksize=3D4096 }) =3D 0 (0x0) openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) =3D 3 (0x3) fstat(3,{ mode=3D-rw-r--r-- ,inode=3D13724,size=3D109,blksize=3D4096 }) = =3D 0 (0x0) mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0) =3D 34366230528 = (0x800631000) close(3) =3D 0 (0x0) lstat("/usr",{ mode=3Ddrwxr-xr-x ,inode=3D23,size=3D15,blksize=3D4096 }) = =3D 0 (0x0) lstat("/usr/local",{ mode=3Ddrwxr-xr-x ,inode=3D214,size=3D14,blksize=3D40= 96 }) =3D 0 (0x0) lstat("/usr/local/etc",{ mode=3Ddrwxr-xr-x = ,inode=3D32826,size=3D29,blksize=3D4096 }) =3D 0 (0x0) lstat("/usr/local/etc/libmap.d",0x7fffffffc548) ERR#2 'No such file or = directory' munmap(0x800631000,109) =3D 0 (0x0) openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) =3D 3 = (0x3) read(3,"Ehnt\^A\0\0\0\M^@\0\0\0f\0\0\0\0"...,128) =3D 128 (0x80) fstat(3,{ mode=3D-r--r--r-- ,inode=3D72757,size=3D230,blksize=3D4096 }) = =3D 0 (0x0) lseek(3,0x80,SEEK_SET) =3D 128 (0x80) read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,102) =3D 102 (0x66) close(3) =3D 0 (0x0) access("/lib/libcam.so.7",F_OK) =3D 0 (0x0) openat(AT_FDCWD,"/lib/libcam.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D 3 = (0x3) fstat(3,{ mode=3D-r--r--r-- ,inode=3D141,size=3D201240,blksize=3D131072 = }) =3D 0 (0x0) mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) mmap(0x0,2297856,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34368299008 (0x80082a000) = mmap(0x80082a000,176128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCO= RE|MAP_PREFAULT_READ,3,0x0) =3D 34368299008 (0x80082a000) = mmap(0x800a54000,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x2a000) =3D 34370568192 (0x800a54000) munmap(0x800631000,4096) =3D 0 (0x0) close(3) =3D 0 (0x0) access("/lib/libc.so.7",F_OK) =3D 0 (0x0) openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D 3 = (0x3) fstat(3,{ mode=3D-r--r--r-- ,inode=3D168,size=3D1761320,blksize=3D131072 = }) =3D 0 (0x0) mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34370596864 (0x800a5b000) = mmap(0x800a5b000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOC= ORE|MAP_PREFAULT_READ,3,0x0) =3D 34370596864 (0x800a5b000) = mmap(0x800ded000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x192000) =3D 34374340608 (0x800ded000) = mmap(0x800df9000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANO= N,-1,0x0) =3D 34374389760 (0x800df9000) munmap(0x800631000,4096) =3D 0 (0x0) close(3) =3D 0 (0x0) access("/lib/libsbuf.so.6",F_OK) =3D 0 (0x0) openat(AT_FDCWD,"/lib/libsbuf.so.6",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) fstat(3,{ mode=3D-r--r--r-- ,inode=3D137,size=3D11312,blksize=3D11776 }) = =3D 0 (0x0) mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) mmap(0x0,2109440,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34374496256 (0x800e13000) = mmap(0x800e13000,12288,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCOR= E|MAP_PREFAULT_READ,3,0x0) =3D 34374496256 (0x800e13000) = mmap(0x801015000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFA= ULT_READ,3,0x2000) =3D 34376601600 (0x801015000) munmap(0x800631000,4096) =3D 0 (0x0) close(3) =3D 0 (0x0) mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366230528 (0x800631000) munmap(0x800634000,28672) =3D 0 (0x0) mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366242816 (0x800634000) sysarch(AMD64_SET_FSBASE,0x7fffffffdf08) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) readlink("/etc/malloc.conf",0x7fffffffd600,1024) ERR#2 'No such file or = directory' issetugid() =3D 0 (0x0) = __sysctl(0x7fffffffd4a0,0x2,0x7fffffffd4f0,0x7fffffffd4e8,0x800bbcc93,0xd)= =3D 0 (0x0) __sysctl(0x7fffffffd4f0,0x2,0x7fffffffd5b4,0x7fffffffd5a8,0x0,0x0) =3D 0 = (0x0) mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34376605696 (0x801016000) munmap(0x801016000,2097152) =3D 0 (0x0) mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34376605696 (0x801016000) munmap(0x801016000,2007040) =3D 0 (0x0) munmap(0x801400000,86016) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 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) =3D 63 (0x3f) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) exit(0x1) =09 process exit, rval =3D 1 [root@bacula-sd-02 ~]#=20 --=20 Dan Langille - BSDCan / PGCon dan@langille.org= From owner-freebsd-scsi@freebsd.org Sun Dec 17 16:39:16 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 91BC9E8E47F for ; Sun, 17 Dec 2017 16:39:16 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5F75376311 for ; Sun, 17 Dec 2017 16:39:16 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id E1F84206B8; Sun, 17 Dec 2017 11:39:14 -0500 (EST) Received: from frontend2 ([10.202.2.161]) by compute6.internal (MEProxy); Sun, 17 Dec 2017 11:39:14 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsco.org; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; bh=MPFb/WyCVy6xcGrqlJrSQUznqjZZF KB1M6RfY6NKkdw=; b=FTu6wgMdBYs0TDPy/h0WJIQrbzjsRpXHBy7tjj5tMsHXe fa/+NkYRoAyEgOlmZMe5UzJ3EYOn4+Jel/FGuMztbuFnawBZYuo7EfquasWv+W3G lrCzn7N3bxMT6VTTcu1vEVXnScYGRqcWN86xEWKFNl/FURbmzna7lDPHpcBdk+o1 cNtMu7p8ASWKNLaxUffRruwt2zA2ZskPwPdjPcU2OCWTBVu6n98DyySq2iNupOle UL5crtweR6zp46LSLvYPndwtFWkcONQ7wLZO6uuAtI58Y6ptTGiK4gW4q1gqa5pl 5OpU+sT1WyE1XNL1ytzzBfPMTB8UWnLIXuhANRBWA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=MPFb/W yCVy6xcGrqlJrSQUznqjZZFKB1M6RfY6NKkdw=; b=g1ndeg3TUy4BbWHCaGgaNG N0748juUcKJfAHZDW6NLOpI+OpBX/Qar2zCwzZaSwgYWfgRJ32YkNRWHRinTzyMw aOHeKfLNduAojNzTgm1Bmbnh3Vduam0WKi6aEndIDR8MvSxinNBNG1T6SDIZXQOi XoxfeoBoicmoY+p3bK7PB+38k/DxtmVcPSYz9LyWzfpnLcjg4lCRn41CVqfFZEZ0 MsJe8GXASqZRfCfB4pmT3rqkCaOkqmwkpwLRqq0KhKHHthTXKIjhlBuk0twZ9FCl L0bTRnQCVLp7aPXs0MUDgwLcheSs7wMhiyauNUd+yI7K6mJB3FRDo2F7fxV6xz8Q == X-ME-Sender: Received: from [192.168.0.106] (unknown [161.97.249.191]) by mail.messagingengine.com (Postfix) with ESMTPA id 636C22442C; Sun, 17 Dec 2017 11:39:14 -0500 (EST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 11.1 \(3445.4.7\)) Subject: Re: ch(4) FreeBSD 11.1 jails From: Scott Long In-Reply-To: Date: Sun, 17 Dec 2017 09:39:12 -0700 Cc: freebsd-scsi@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <1C62DD70-910B-427B-BF90-BF02A622ABFD@samsco.org> References: <19FE523D-3A29-4EC1-BD11-71F2A9A84456@langille.org> <2E65031F-E39F-43FD-9D7C-25890A5ED641@samsco.org> <746B096B-A682-4EA7-AA25-718F687E3B13@langille.org> To: Dan Langille X-Mailer: Apple Mail (2.3445.4.7) X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Dec 2017 16:39:16 -0000 Hi Dan, I agree with you, truss definitely shows that it=E2=80=99s failing with = the open(=E2=80=9Cpass7=E2=80=9D) call. Nothing in the src/sys/cam/scsi/scsi_pass.c code that has changed regarding =E2=80=98open=E2=80=99 semantics since FreeBSD 9 in 2012. = There is a check in the code against the securelevel of the system. That code was added a=20= LONG time ago, but maybe something has changed with securelevel. I guess it=E2=80=99s worth a look on your system to look at the = kern.securelevel sysctl both inside and outside of the jail. If it=E2=80=99s 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 wrote: >=20 >=20 >=20 >=20 >> On Dec 17, 2017, at 11:27 AM, Dan Langille wrote: >>=20 >>>> On Dec 16, 2017, at 3:05 PM, Dan Langille wrote: >>>>=20 >>>> I'm trying to access a tape library from within a FreeBSD 11 jail. >>>>=20 >>>> I've added this to the host system: >>>>=20 >>>> [devfsrules_jail_unhide_tapes=3D5] >>>> add path sa0 unhide >>>> add path pass0 unhide >>>> add path pass7 unhide mode 0600 >>>> add path ch0 unhide >>>> add path nsa0 unhide >>>>=20 >>>> add path sa1 unhide >>>> add path pass8 unhide >>>> add path pass9 unhide mode 0600 >>>> add path ch1 unhide >>>> add path nsa1 unhide >>>>=20 >>>>=20 >>>> [devfsrules_jail_bacula=3D6] >>>> 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 >>>>=20 >>>>=20 >>>>=20 >>>> The jail can see the devices, and query the tape drive, but not the = changer: >>>>=20 >>>> $ sudo mtx -f /dev/pass7 status >>>> cannot open SCSI device '/dev/pass7' - Operation not permitted >>>>=20 >>>> The same command in the jail host succeeds. >>>>=20 >>>> Is there something more special I'm missing about FreeBSD 11.1? = This worked for me under 10.3. >>>>=20 >>>> Thank you. >>>>=20 >>>>=20 >>>> --=20 >>>> Dan Langille - BSDCan / PGCon >>>> dan@langille.org >>>>=20 >>>>=20 >>>> _______________________________________________ >>>> 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" >>>=20 >>=20 >>> On Dec 16, 2017, at 5:53 PM, Scott Long wrote: >>>=20 >>> Hi Dan, >>>=20 >>> 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=E2=80=99t work. >>>=20 >>> Scott >>>=20 >>> Sent from my iPhone >>>=20 >>=20 >> Background: the host devices from the tape library: >>=20 >> at scbus1 target 4 lun 0 = (pass1,sa0) >> at scbus1 target 4 lun 1 = (pass7,ch0) >> at scbus1 target 5 lun 0 = (pass8,sa1) >> at scbus1 target 5 lun 1 = (pass9,ch1) >>=20 >>=20 >> The devices the jail can see: >>=20 >> [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:~] $=20 >>=20 >> This command on the host: >>=20 >> [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 =3D = 000001L4 =20 >> 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 >>=20 >>=20 >> Same command in the jail: >>=20 >> [root@bacula-sd-02 ~]# mtx -f /dev/pass7 status >> cannot open SCSI device '/dev/pass7' - Operation not permitted >>=20 >> Same command with truss: >>=20 >> [root@bacula-sd-02 ~]# truss mtx -f /dev/pass7 status=20 >> mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366197760 (0x800629000) >> issetugid() =3D 0 (0x0) >> lstat("/etc",{ mode=3Ddrwxr-xr-x ,inode=3D19,size=3D117,blksize=3D7680 = }) =3D 0 (0x0) >> lstat("/etc/libmap.conf",{ mode=3D-rw-r--r-- = ,inode=3D13724,size=3D109,blksize=3D4096 }) =3D 0 (0x0) >> openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) =3D 3 (0x3) >> fstat(3,{ mode=3D-rw-r--r-- ,inode=3D13724,size=3D109,blksize=3D4096 = }) =3D 0 (0x0) >> mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0) =3D 34366230528 = (0x800631000) >> close(3) =3D 0 (0x0) >> lstat("/usr",{ mode=3Ddrwxr-xr-x ,inode=3D23,size=3D15,blksize=3D4096 = }) =3D 0 (0x0) >> lstat("/usr/local",{ mode=3Ddrwxr-xr-x = ,inode=3D214,size=3D14,blksize=3D4096 }) =3D 0 (0x0) >> lstat("/usr/local/etc",{ mode=3Ddrwxr-xr-x = ,inode=3D32826,size=3D29,blksize=3D4096 }) =3D 0 (0x0) >> lstat("/usr/local/etc/libmap.d",0x7fffffffc548) ERR#2 'No such = file or directory' >> munmap(0x800631000,109) =3D 0 (0x0) >> openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) =3D = 3 (0x3) >> read(3,"Ehnt\^A\0\0\0\M^@\0\0\0f\0\0\0\0"...,128) =3D 128 (0x80) >> fstat(3,{ mode=3D-r--r--r-- ,inode=3D66965,size=3D230,blksize=3D4096 = }) =3D 0 (0x0) >> lseek(3,0x80,SEEK_SET) =3D 128 (0x80) >> read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,102) =3D 102 (0x66) >> close(3) =3D 0 (0x0) >> access("/lib/libcam.so.7",F_OK) =3D 0 (0x0) >> openat(AT_FDCWD,"/lib/libcam.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) >> fstat(3,{ mode=3D-r--r--r-- ,inode=3D141,size=3D201240,blksize=3D131072= }) =3D 0 (0x0) >> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >> mmap(0x0,2297856,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34368299008 (0x80082a000) >> = mmap(0x80082a000,176128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCO= RE|MAP_PREFAULT_READ,3,0x0) =3D 34368299008 (0x80082a000) >> = mmap(0x800a54000,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x2a000) =3D 34370568192 (0x800a54000) >> munmap(0x800631000,4096) =3D 0 (0x0) >> close(3) =3D 0 (0x0) >> access("/lib/libc.so.7",F_OK) =3D 0 (0x0) >> openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) >> fstat(3,{ mode=3D-r--r--r-- ,inode=3D168,size=3D1761320,blksize=3D13107= 2 }) =3D 0 (0x0) >> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >> mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34370596864 (0x800a5b000) >> = mmap(0x800a5b000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOC= ORE|MAP_PREFAULT_READ,3,0x0) =3D 34370596864 (0x800a5b000) >> = mmap(0x800ded000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x192000) =3D 34374340608 (0x800ded000) >> = mmap(0x800df9000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANO= N,-1,0x0) =3D 34374389760 (0x800df9000) >> munmap(0x800631000,4096) =3D 0 (0x0) >> close(3) =3D 0 (0x0) >> access("/lib/libsbuf.so.6",F_OK) =3D 0 (0x0) >> openat(AT_FDCWD,"/lib/libsbuf.so.6",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D= 3 (0x3) >> fstat(3,{ mode=3D-r--r--r-- ,inode=3D137,size=3D11312,blksize=3D11776 = }) =3D 0 (0x0) >> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >> mmap(0x0,2109440,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34374496256 (0x800e13000) >> = mmap(0x800e13000,12288,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCOR= E|MAP_PREFAULT_READ,3,0x0) =3D 34374496256 (0x800e13000) >> = mmap(0x801015000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFA= ULT_READ,3,0x2000) =3D 34376601600 (0x801015000) >> munmap(0x800631000,4096) =3D 0 (0x0) >> close(3) =3D 0 (0x0) >> mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366230528 (0x800631000) >> munmap(0x800634000,28672) =3D 0 (0x0) >> mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366242816 (0x800634000) >> sysarch(AMD64_SET_FSBASE,0x7fffffffdf08) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> readlink("/etc/malloc.conf",0x7fffffffd600,1024) ERR#2 'No such file = or directory' >> issetugid() =3D 0 (0x0) >> = __sysctl(0x7fffffffd4a0,0x2,0x7fffffffd4f0,0x7fffffffd4e8,0x800bbcc93,0xd)= =3D 0 (0x0) >> __sysctl(0x7fffffffd4f0,0x2,0x7fffffffd5b4,0x7fffffffd5a8,0x0,0x0) =3D = 0 (0x0) >> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34376605696 (0x801016000) >> munmap(0x801016000,2097152) =3D 0 (0x0) >> mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34376605696 (0x801016000) >> munmap(0x801016000,2007040) =3D 0 (0x0) >> munmap(0x801400000,86016) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 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) =3D 63 (0x3f) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> exit(0x1) =09 >> process exit, rval =3D 1 >> [root@bacula-sd-02 ~]#=20 >>=20 >>=20 > I forgot to do xpt0... here it is: >=20 > ALSO: Diff between the two is here: = https://gist.github.com/dlangille/b80ee804b8080e1cbf5b5ab67f0bdabe/revisio= ns >=20 > =46rom the jail: >=20 > [dan@bacula-sd-02:~] $ ls -l /dev/xpt0=20 > crw------- 1 root operator 0x4c Dec 16 21:52 /dev/xpt0 > [dan@bacula-sd-02:~] $=20 >=20 >=20 > [dan@bacula-sd-02:~] $ truss mtx -f /dev/pass7 status > mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366197760 (0x800629000) > issetugid() =3D 0 (0x0) > lstat("/etc",{ mode=3Ddrwxr-xr-x ,inode=3D19,size=3D117,blksize=3D7680 = }) =3D 0 (0x0) > lstat("/etc/libmap.conf",{ mode=3D-rw-r--r-- = ,inode=3D13724,size=3D109,blksize=3D4096 }) =3D 0 (0x0) > openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) =3D 3 (0x3) > fstat(3,{ mode=3D-rw-r--r-- ,inode=3D13724,size=3D109,blksize=3D4096 = }) =3D 0 (0x0) > mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0) =3D 34366230528 = (0x800631000) > close(3) =3D 0 (0x0) > lstat("/usr",{ mode=3Ddrwxr-xr-x ,inode=3D23,size=3D15,blksize=3D4096 = }) =3D 0 (0x0) > lstat("/usr/local",{ mode=3Ddrwxr-xr-x ,inode=3D214,size=3D14,blksize=3D= 4096 }) =3D 0 (0x0) > lstat("/usr/local/etc",{ mode=3Ddrwxr-xr-x = ,inode=3D32826,size=3D29,blksize=3D4096 }) =3D 0 (0x0) > lstat("/usr/local/etc/libmap.d",0x7fffffffc608) ERR#2 'No such = file or directory' > munmap(0x800631000,109) =3D 0 (0x0) > openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) =3D = 3 (0x3) > read(3,"Ehnt\^A\0\0\0\M^@\0\0\0f\0\0\0\0"...,128) =3D 128 (0x80) > fstat(3,{ mode=3D-r--r--r-- ,inode=3D72757,size=3D230,blksize=3D4096 = }) =3D 0 (0x0) > lseek(3,0x80,SEEK_SET) =3D 128 (0x80) > read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,102) =3D 102 (0x66) > close(3) =3D 0 (0x0) > access("/lib/libcam.so.7",F_OK) =3D 0 (0x0) > openat(AT_FDCWD,"/lib/libcam.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) > fstat(3,{ mode=3D-r--r--r-- ,inode=3D141,size=3D201240,blksize=3D131072 = }) =3D 0 (0x0) > mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) > mmap(0x0,2297856,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34368299008 (0x80082a000) > = mmap(0x80082a000,176128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCO= RE|MAP_PREFAULT_READ,3,0x0) =3D 34368299008 (0x80082a000) > = mmap(0x800a54000,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x2a000) =3D 34370568192 (0x800a54000) > munmap(0x800631000,4096) =3D 0 (0x0) > close(3) =3D 0 (0x0) > access("/lib/libc.so.7",F_OK) =3D 0 (0x0) > openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D 3 = (0x3) > fstat(3,{ mode=3D-r--r--r-- ,inode=3D168,size=3D1761320,blksize=3D131072= }) =3D 0 (0x0) > mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) > mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34370596864 (0x800a5b000) > = mmap(0x800a5b000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOC= ORE|MAP_PREFAULT_READ,3,0x0) =3D 34370596864 (0x800a5b000) > = mmap(0x800ded000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x192000) =3D 34374340608 (0x800ded000) > = mmap(0x800df9000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANO= N,-1,0x0) =3D 34374389760 (0x800df9000) > munmap(0x800631000,4096) =3D 0 (0x0) > close(3) =3D 0 (0x0) > access("/lib/libsbuf.so.6",F_OK) =3D 0 (0x0) > openat(AT_FDCWD,"/lib/libsbuf.so.6",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) > fstat(3,{ mode=3D-r--r--r-- ,inode=3D137,size=3D11312,blksize=3D11776 = }) =3D 0 (0x0) > mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) > mmap(0x0,2109440,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34374496256 (0x800e13000) > = mmap(0x800e13000,12288,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCOR= E|MAP_PREFAULT_READ,3,0x0) =3D 34374496256 (0x800e13000) > = mmap(0x801015000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFA= ULT_READ,3,0x2000) =3D 34376601600 (0x801015000) > munmap(0x800631000,4096) =3D 0 (0x0) > close(3) =3D 0 (0x0) > mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366230528 (0x800631000) > munmap(0x800634000,28672) =3D 0 (0x0) > mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366242816 (0x800634000) > sysarch(AMD64_SET_FSBASE,0x7fffffffdfc8) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > readlink("/etc/malloc.conf",0x7fffffffd6c0,1024) ERR#2 'No such file = or directory' > issetugid() =3D 0 (0x0) > = __sysctl(0x7fffffffd560,0x2,0x7fffffffd5b0,0x7fffffffd5a8,0x800bbcc93,0xd)= =3D 0 (0x0) > __sysctl(0x7fffffffd5b0,0x2,0x7fffffffd674,0x7fffffffd668,0x0,0x0) =3D = 0 (0x0) > mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34376605696 (0x801016000) > munmap(0x801016000,2097152) =3D 0 (0x0) > mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34376605696 (0x801016000) > munmap(0x801016000,2007040) =3D 0 (0x0) > munmap(0x801400000,86016) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 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) =3D 57 (0x39) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) > sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) > exit(0x1) =09 > process exit, rval =3D 1 >=20 > --=20 > Dan Langille - BSDCan / PGCon > dan@langille.org From owner-freebsd-scsi@freebsd.org Sun Dec 17 16:49:48 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 43186E8E8AB for ; Sun, 17 Dec 2017 16:49:48 +0000 (UTC) (envelope-from dan@langille.org) Received: from clavin1.langille.org (clavin.langille.org [162.208.116.86]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "clavin.langille.org", Issuer "BSD Cabal Headquarters" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 07167767AD for ; Sun, 17 Dec 2017 16:49:47 +0000 (UTC) (envelope-from dan@langille.org) Received: from (clavin1.int.langille.org (clavin1.int.unixathome.org [10.4.7.7]) (Authenticated sender: hidden) with ESMTPSA id 36FA13C62 ; Sun, 17 Dec 2017 16:49:45 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\)) Subject: Re: ch(4) FreeBSD 11.1 jails From: Dan Langille In-Reply-To: <1C62DD70-910B-427B-BF90-BF02A622ABFD@samsco.org> Date: Sun, 17 Dec 2017 11:49:17 -0500 Cc: freebsd-scsi@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <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> <1C62DD70-910B-427B-BF90-BF02A622ABFD@samsco.org> To: Scott Long X-Mailer: Apple Mail (2.3445.5.20) X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Dec 2017 16:49:48 -0000 Scott, On the host:=20 [dan@r710-01:~] $ sysctl kern.securelevel kern.securelevel: -1 On the jail: [dan@bacula-sd-01:~] $ sysctl kern.securelevel kern.securelevel: -1 If it's something else, who should I consult? --=20 Dan Langille - BSDCan / PGCon dan@langille.org > On Dec 17, 2017, at 11:39 AM, Scott Long wrote: >=20 > Hi Dan, >=20 > I agree with you, truss definitely shows that it=E2=80=99s failing = with the open(=E2=80=9Cpass7=E2=80=9D) > call. Nothing in the src/sys/cam/scsi/scsi_pass.c code that has = changed > regarding =E2=80=98open=E2=80=99 semantics since FreeBSD 9 in 2012. = There is a check in > the code against the securelevel of the system. That code was added a=20= > LONG time ago, but maybe something has changed with securelevel. I > guess it=E2=80=99s worth a look on your system to look at the = kern.securelevel > sysctl both inside and outside of the jail. If it=E2=80=99s not that = then something > outside of CAM, either in devfs or in the syscall layer, has changed. >=20 > Scott >=20 >=20 >> On Dec 17, 2017, at 9:32 AM, Dan Langille wrote: >>=20 >>=20 >>=20 >>=20 >>> On Dec 17, 2017, at 11:27 AM, Dan Langille wrote: >>>=20 >>>>> On Dec 16, 2017, at 3:05 PM, Dan Langille = wrote: >>>>>=20 >>>>> I'm trying to access a tape library from within a FreeBSD 11 jail. >>>>>=20 >>>>> I've added this to the host system: >>>>>=20 >>>>> [devfsrules_jail_unhide_tapes=3D5] >>>>> add path sa0 unhide >>>>> add path pass0 unhide >>>>> add path pass7 unhide mode 0600 >>>>> add path ch0 unhide >>>>> add path nsa0 unhide >>>>>=20 >>>>> add path sa1 unhide >>>>> add path pass8 unhide >>>>> add path pass9 unhide mode 0600 >>>>> add path ch1 unhide >>>>> add path nsa1 unhide >>>>>=20 >>>>>=20 >>>>> [devfsrules_jail_bacula=3D6] >>>>> 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 >>>>>=20 >>>>>=20 >>>>>=20 >>>>> The jail can see the devices, and query the tape drive, but not = the changer: >>>>>=20 >>>>> $ sudo mtx -f /dev/pass7 status >>>>> cannot open SCSI device '/dev/pass7' - Operation not permitted >>>>>=20 >>>>> The same command in the jail host succeeds. >>>>>=20 >>>>> Is there something more special I'm missing about FreeBSD 11.1? = This worked for me under 10.3. >>>>>=20 >>>>> Thank you. >>>>>=20 >>>>>=20 >>>>> --=20 >>>>> Dan Langille - BSDCan / PGCon >>>>> dan@langille.org >>>>>=20 >>>>>=20 >>>>> _______________________________________________ >>>>> 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" >>>>=20 >>>=20 >>>> On Dec 16, 2017, at 5:53 PM, Scott Long wrote: >>>>=20 >>>> Hi Dan, >>>>=20 >>>> 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=E2=80=99t work. >>>>=20 >>>> Scott >>>>=20 >>>> Sent from my iPhone >>>>=20 >>>=20 >>> Background: the host devices from the tape library: >>>=20 >>> at scbus1 target 4 lun 0 = (pass1,sa0) >>> at scbus1 target 4 lun 1 = (pass7,ch0) >>> at scbus1 target 5 lun 0 = (pass8,sa1) >>> at scbus1 target 5 lun 1 = (pass9,ch1) >>>=20 >>>=20 >>> The devices the jail can see: >>>=20 >>> [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:~] $=20 >>>=20 >>> This command on the host: >>>=20 >>> [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 =3D = 000001L4 =20 >>> 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 >>>=20 >>>=20 >>> Same command in the jail: >>>=20 >>> [root@bacula-sd-02 ~]# mtx -f /dev/pass7 status >>> cannot open SCSI device '/dev/pass7' - Operation not permitted >>>=20 >>> Same command with truss: >>>=20 >>> [root@bacula-sd-02 ~]# truss mtx -f /dev/pass7 status=20 >>> mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366197760 (0x800629000) >>> issetugid() =3D 0 (0x0) >>> lstat("/etc",{ mode=3Ddrwxr-xr-x ,inode=3D19,size=3D117,blksize=3D7680= }) =3D 0 (0x0) >>> lstat("/etc/libmap.conf",{ mode=3D-rw-r--r-- = ,inode=3D13724,size=3D109,blksize=3D4096 }) =3D 0 (0x0) >>> openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) =3D 3 = (0x3) >>> fstat(3,{ mode=3D-rw-r--r-- ,inode=3D13724,size=3D109,blksize=3D4096 = }) =3D 0 (0x0) >>> mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0) =3D 34366230528 = (0x800631000) >>> close(3) =3D 0 (0x0) >>> lstat("/usr",{ mode=3Ddrwxr-xr-x ,inode=3D23,size=3D15,blksize=3D4096 = }) =3D 0 (0x0) >>> lstat("/usr/local",{ mode=3Ddrwxr-xr-x = ,inode=3D214,size=3D14,blksize=3D4096 }) =3D 0 (0x0) >>> lstat("/usr/local/etc",{ mode=3Ddrwxr-xr-x = ,inode=3D32826,size=3D29,blksize=3D4096 }) =3D 0 (0x0) >>> lstat("/usr/local/etc/libmap.d",0x7fffffffc548) ERR#2 'No such = file or directory' >>> munmap(0x800631000,109) =3D 0 (0x0) >>> openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) =3D = 3 (0x3) >>> read(3,"Ehnt\^A\0\0\0\M^@\0\0\0f\0\0\0\0"...,128) =3D 128 (0x80) >>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D66965,size=3D230,blksize=3D4096 = }) =3D 0 (0x0) >>> lseek(3,0x80,SEEK_SET) =3D 128 (0x80) >>> read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,102) =3D 102 (0x66) >>> close(3) =3D 0 (0x0) >>> access("/lib/libcam.so.7",F_OK) =3D 0 (0x0) >>> openat(AT_FDCWD,"/lib/libcam.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D= 3 (0x3) >>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D141,size=3D201240,blksize=3D13107= 2 }) =3D 0 (0x0) >>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >>> mmap(0x0,2297856,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D= 34368299008 (0x80082a000) >>> = mmap(0x80082a000,176128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCO= RE|MAP_PREFAULT_READ,3,0x0) =3D 34368299008 (0x80082a000) >>> = mmap(0x800a54000,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x2a000) =3D 34370568192 (0x800a54000) >>> munmap(0x800631000,4096) =3D 0 (0x0) >>> close(3) =3D 0 (0x0) >>> access("/lib/libc.so.7",F_OK) =3D 0 (0x0) >>> openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) >>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D168,size=3D1761320,blksize=3D1310= 72 }) =3D 0 (0x0) >>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >>> mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D= 34370596864 (0x800a5b000) >>> = mmap(0x800a5b000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOC= ORE|MAP_PREFAULT_READ,3,0x0) =3D 34370596864 (0x800a5b000) >>> = mmap(0x800ded000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x192000) =3D 34374340608 (0x800ded000) >>> = mmap(0x800df9000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANO= N,-1,0x0) =3D 34374389760 (0x800df9000) >>> munmap(0x800631000,4096) =3D 0 (0x0) >>> close(3) =3D 0 (0x0) >>> access("/lib/libsbuf.so.6",F_OK) =3D 0 (0x0) >>> openat(AT_FDCWD,"/lib/libsbuf.so.6",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = =3D 3 (0x3) >>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D137,size=3D11312,blksize=3D11776 = }) =3D 0 (0x0) >>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >>> mmap(0x0,2109440,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D= 34374496256 (0x800e13000) >>> = mmap(0x800e13000,12288,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCOR= E|MAP_PREFAULT_READ,3,0x0) =3D 34374496256 (0x800e13000) >>> = mmap(0x801015000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFA= ULT_READ,3,0x2000) =3D 34376601600 (0x801015000) >>> munmap(0x800631000,4096) =3D 0 (0x0) >>> close(3) =3D 0 (0x0) >>> mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366230528 (0x800631000) >>> munmap(0x800634000,28672) =3D 0 (0x0) >>> mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366242816 (0x800634000) >>> sysarch(AMD64_SET_FSBASE,0x7fffffffdf08) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> readlink("/etc/malloc.conf",0x7fffffffd600,1024) ERR#2 'No such file = or directory' >>> issetugid() =3D 0 (0x0) >>> = __sysctl(0x7fffffffd4a0,0x2,0x7fffffffd4f0,0x7fffffffd4e8,0x800bbcc93,0xd)= =3D 0 (0x0) >>> __sysctl(0x7fffffffd4f0,0x2,0x7fffffffd5b4,0x7fffffffd5a8,0x0,0x0) =3D= 0 (0x0) >>> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D= 34376605696 (0x801016000) >>> munmap(0x801016000,2097152) =3D 0 (0x0) >>> mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D= 34376605696 (0x801016000) >>> munmap(0x801016000,2007040) =3D 0 (0x0) >>> munmap(0x801400000,86016) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D= 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) =3D 63 (0x3f) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> exit(0x1) =09 >>> process exit, rval =3D 1 >>> [root@bacula-sd-02 ~]#=20 >>>=20 >>>=20 >> I forgot to do xpt0... here it is: >>=20 >> ALSO: Diff between the two is here: = https://gist.github.com/dlangille/b80ee804b8080e1cbf5b5ab67f0bdabe/revisio= ns >>=20 >> =46rom the jail: >>=20 >> [dan@bacula-sd-02:~] $ ls -l /dev/xpt0=20 >> crw------- 1 root operator 0x4c Dec 16 21:52 /dev/xpt0 >> [dan@bacula-sd-02:~] $=20 >>=20 >>=20 >> [dan@bacula-sd-02:~] $ truss mtx -f /dev/pass7 status >> mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366197760 (0x800629000) >> issetugid() =3D 0 (0x0) >> lstat("/etc",{ mode=3Ddrwxr-xr-x ,inode=3D19,size=3D117,blksize=3D7680 = }) =3D 0 (0x0) >> lstat("/etc/libmap.conf",{ mode=3D-rw-r--r-- = ,inode=3D13724,size=3D109,blksize=3D4096 }) =3D 0 (0x0) >> openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) =3D 3 (0x3) >> fstat(3,{ mode=3D-rw-r--r-- ,inode=3D13724,size=3D109,blksize=3D4096 = }) =3D 0 (0x0) >> mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0) =3D 34366230528 = (0x800631000) >> close(3) =3D 0 (0x0) >> lstat("/usr",{ mode=3Ddrwxr-xr-x ,inode=3D23,size=3D15,blksize=3D4096 = }) =3D 0 (0x0) >> lstat("/usr/local",{ mode=3Ddrwxr-xr-x = ,inode=3D214,size=3D14,blksize=3D4096 }) =3D 0 (0x0) >> lstat("/usr/local/etc",{ mode=3Ddrwxr-xr-x = ,inode=3D32826,size=3D29,blksize=3D4096 }) =3D 0 (0x0) >> lstat("/usr/local/etc/libmap.d",0x7fffffffc608) ERR#2 'No such = file or directory' >> munmap(0x800631000,109) =3D 0 (0x0) >> openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) =3D = 3 (0x3) >> read(3,"Ehnt\^A\0\0\0\M^@\0\0\0f\0\0\0\0"...,128) =3D 128 (0x80) >> fstat(3,{ mode=3D-r--r--r-- ,inode=3D72757,size=3D230,blksize=3D4096 = }) =3D 0 (0x0) >> lseek(3,0x80,SEEK_SET) =3D 128 (0x80) >> read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,102) =3D 102 (0x66) >> close(3) =3D 0 (0x0) >> access("/lib/libcam.so.7",F_OK) =3D 0 (0x0) >> openat(AT_FDCWD,"/lib/libcam.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) >> fstat(3,{ mode=3D-r--r--r-- ,inode=3D141,size=3D201240,blksize=3D131072= }) =3D 0 (0x0) >> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >> mmap(0x0,2297856,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34368299008 (0x80082a000) >> = mmap(0x80082a000,176128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCO= RE|MAP_PREFAULT_READ,3,0x0) =3D 34368299008 (0x80082a000) >> = mmap(0x800a54000,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x2a000) =3D 34370568192 (0x800a54000) >> munmap(0x800631000,4096) =3D 0 (0x0) >> close(3) =3D 0 (0x0) >> access("/lib/libc.so.7",F_OK) =3D 0 (0x0) >> openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) >> fstat(3,{ mode=3D-r--r--r-- ,inode=3D168,size=3D1761320,blksize=3D13107= 2 }) =3D 0 (0x0) >> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >> mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34370596864 (0x800a5b000) >> = mmap(0x800a5b000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOC= ORE|MAP_PREFAULT_READ,3,0x0) =3D 34370596864 (0x800a5b000) >> = mmap(0x800ded000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x192000) =3D 34374340608 (0x800ded000) >> = mmap(0x800df9000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANO= N,-1,0x0) =3D 34374389760 (0x800df9000) >> munmap(0x800631000,4096) =3D 0 (0x0) >> close(3) =3D 0 (0x0) >> access("/lib/libsbuf.so.6",F_OK) =3D 0 (0x0) >> openat(AT_FDCWD,"/lib/libsbuf.so.6",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D= 3 (0x3) >> fstat(3,{ mode=3D-r--r--r-- ,inode=3D137,size=3D11312,blksize=3D11776 = }) =3D 0 (0x0) >> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >> mmap(0x0,2109440,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D = 34374496256 (0x800e13000) >> = mmap(0x800e13000,12288,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCOR= E|MAP_PREFAULT_READ,3,0x0) =3D 34374496256 (0x800e13000) >> = mmap(0x801015000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFA= ULT_READ,3,0x2000) =3D 34376601600 (0x801015000) >> munmap(0x800631000,4096) =3D 0 (0x0) >> close(3) =3D 0 (0x0) >> mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366230528 (0x800631000) >> munmap(0x800634000,28672) =3D 0 (0x0) >> mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366242816 (0x800634000) >> sysarch(AMD64_SET_FSBASE,0x7fffffffdfc8) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> readlink("/etc/malloc.conf",0x7fffffffd6c0,1024) ERR#2 'No such file = or directory' >> issetugid() =3D 0 (0x0) >> = __sysctl(0x7fffffffd560,0x2,0x7fffffffd5b0,0x7fffffffd5a8,0x800bbcc93,0xd)= =3D 0 (0x0) >> __sysctl(0x7fffffffd5b0,0x2,0x7fffffffd674,0x7fffffffd668,0x0,0x0) =3D = 0 (0x0) >> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34376605696 (0x801016000) >> munmap(0x801016000,2097152) =3D 0 (0x0) >> mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34376605696 (0x801016000) >> munmap(0x801016000,2007040) =3D 0 (0x0) >> munmap(0x801400000,86016) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 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) =3D 57 (0x39) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >> exit(0x1) =09 >> process exit, rval =3D 1 >>=20 >> --=20 >> Dan Langille - BSDCan / PGCon >> dan@langille.org >=20 From owner-freebsd-scsi@freebsd.org Sun Dec 17 17:03:44 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2E150E8EEF3 for ; Sun, 17 Dec 2017 17:03:44 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EE8E176E72 for ; Sun, 17 Dec 2017 17:03:43 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 7B57A206E0; Sun, 17 Dec 2017 12:03:42 -0500 (EST) Received: from frontend2 ([10.202.2.161]) by compute6.internal (MEProxy); Sun, 17 Dec 2017 12:03:42 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsco.org; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; bh=3Vq36w5oxbEYxgJCqnUTusJSpnLr7 8l/A+e/DjxPvkk=; b=LqmRKywB4lktPWx8rm4b4LhzPyUmJyU4W9TCl66Dh3Ahv A3A+Z8hJuzsx74+ykVXtIKK1/iFzrCg5WsHJ4Eyas/ygh/j/BCHCTPDOws9BAQWS qqE44uHBi4dpKlOzmUnNlpYhr6ZvqXYBkhJMajkHkWkR2VFhKb5TukVX2uUUAIPo aAX6V4zsGYti5HBEVWaOH79rNwHSL2273LwJWKs7R+jnFS9uQuAEPRRb7N90GObk c1S7nuTsEa6Tp2NoX98DnYgjLeB8+i2nkPpDHJHUb3urWlV9Cuzhz2+iRZNo0HB1 8kUMGnzjCuD1rx8pUqKcOd1+8LRK5dponDURCh+ew== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=3Vq36w 5oxbEYxgJCqnUTusJSpnLr78l/A+e/DjxPvkk=; b=lfUS8D4yPmBNJsfP4aTIGx b/L916AB6eyCuJtv9LcPb4tdiFvdP7lKa3WVUT/gpAhYEBqxsitZkhTZjXRNQxHb GuK1SbHMSNTEFirO0n3x2yQwHiBRkYoZdnucNp0AAsEd0GyV4q3ZsjlVtjHtOkM3 XDOvw7He9ofYUs0msXFRx5Asexon/PTvXzJCxw70K/3v3FBpt6KLSafUHvezbgvY WDNWLhs0OXMhdBWMxRfhOJ9boqF2ofyPPlxYaE3I/NnWjbUCy6cVPs8nfiiRoX5k SNuUtGQMcqe69ez1sk2Ye7rgGqus76oR2xEXK0LtcHHx1TOkkZKhwXgGI3xbPllw == X-ME-Sender: Received: from [192.168.0.106] (unknown [161.97.249.191]) by mail.messagingengine.com (Postfix) with ESMTPA id DABCB24512; Sun, 17 Dec 2017 12:03:41 -0500 (EST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 11.1 \(3445.4.7\)) Subject: Re: ch(4) FreeBSD 11.1 jails From: Scott Long In-Reply-To: <27C03467-BEB4-4257-BBA1-974F21D136C2@langille.org> Date: Sun, 17 Dec 2017 10:03:39 -0700 Cc: freebsd-scsi@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <5F8857E2-C953-4F12-B833-435145B1EE52@samsco.org> References: <19FE523D-3A29-4EC1-BD11-71F2A9A84456@langille.org> <2E65031F-E39F-43FD-9D7C-25890A5ED641@samsco.org> <746B096B-A682-4EA7-AA25-718F687E3B13@langille.org> <1C62DD70-910B-427B-BF90-BF02A622ABFD@samsco.org> <27C03467-BEB4-4257-BBA1-974F21D136C2@langille.org> To: Dan Langille X-Mailer: Apple Mail (2.3445.4.7) X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Dec 2017 17:03:44 -0000 Hi Dan, I noticed this in the openat(2) man page: In capsicum(4) capability mode, open() is not permitted. The path argument to openat() must be strictly relative to a file descriptor = fd, as defined in sys/kern/vfs_lookup.c. path must not be an absolute = path and must not contain ".." components. Additionally, no symbolic = link in path may contain ".." components either. fd must not be AT_FDCWD. Truss shows that your app is doing this: openat(AT_FDCWD,"/dev/pass7",O_RDWR|O_EXCL,00) ERR#1 'Operation not = permitted=E2=80=99 I don=E2=80=99t know a whole lot about capsicum, but maybe this is = related? Scott > On Dec 17, 2017, at 9:49 AM, Dan Langille wrote: >=20 > Scott, >=20 >=20 > On the host:=20 >=20 > [dan@r710-01:~] $ sysctl kern.securelevel > kern.securelevel: -1 >=20 >=20 > On the jail: >=20 > [dan@bacula-sd-01:~] $ sysctl kern.securelevel > kern.securelevel: -1 >=20 >=20 > If it's something else, who should I consult? >=20 > --=20 > Dan Langille - BSDCan / PGCon > dan@langille.org >=20 >=20 >> On Dec 17, 2017, at 11:39 AM, Scott Long wrote: >>=20 >> Hi Dan, >>=20 >> I agree with you, truss definitely shows that it=E2=80=99s failing = with the open(=E2=80=9Cpass7=E2=80=9D) >> call. Nothing in the src/sys/cam/scsi/scsi_pass.c code that has = changed >> regarding =E2=80=98open=E2=80=99 semantics since FreeBSD 9 in 2012. = There is a check in >> the code against the securelevel of the system. That code was added = a=20 >> LONG time ago, but maybe something has changed with securelevel. I >> guess it=E2=80=99s worth a look on your system to look at the = kern.securelevel >> sysctl both inside and outside of the jail. If it=E2=80=99s not that = then something >> outside of CAM, either in devfs or in the syscall layer, has changed. >>=20 >> Scott >>=20 >>=20 >>> On Dec 17, 2017, at 9:32 AM, Dan Langille wrote: >>>=20 >>>=20 >>>=20 >>>=20 >>>> On Dec 17, 2017, at 11:27 AM, Dan Langille = wrote: >>>>=20 >>>>>> On Dec 16, 2017, at 3:05 PM, Dan Langille = wrote: >>>>>>=20 >>>>>> I'm trying to access a tape library from within a FreeBSD 11 = jail. >>>>>>=20 >>>>>> I've added this to the host system: >>>>>>=20 >>>>>> [devfsrules_jail_unhide_tapes=3D5] >>>>>> add path sa0 unhide >>>>>> add path pass0 unhide >>>>>> add path pass7 unhide mode 0600 >>>>>> add path ch0 unhide >>>>>> add path nsa0 unhide >>>>>>=20 >>>>>> add path sa1 unhide >>>>>> add path pass8 unhide >>>>>> add path pass9 unhide mode 0600 >>>>>> add path ch1 unhide >>>>>> add path nsa1 unhide >>>>>>=20 >>>>>>=20 >>>>>> [devfsrules_jail_bacula=3D6] >>>>>> 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 >>>>>>=20 >>>>>>=20 >>>>>>=20 >>>>>> The jail can see the devices, and query the tape drive, but not = the changer: >>>>>>=20 >>>>>> $ sudo mtx -f /dev/pass7 status >>>>>> cannot open SCSI device '/dev/pass7' - Operation not permitted >>>>>>=20 >>>>>> The same command in the jail host succeeds. >>>>>>=20 >>>>>> Is there something more special I'm missing about FreeBSD 11.1? = This worked for me under 10.3. >>>>>>=20 >>>>>> Thank you. >>>>>>=20 >>>>>>=20 >>>>>> --=20 >>>>>> Dan Langille - BSDCan / PGCon >>>>>> dan@langille.org >>>>>>=20 >>>>>>=20 >>>>>> _______________________________________________ >>>>>> 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" >>>>>=20 >>>>=20 >>>>> On Dec 16, 2017, at 5:53 PM, Scott Long wrote: >>>>>=20 >>>>> Hi Dan, >>>>>=20 >>>>> 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=E2=80=99t work. >>>>>=20 >>>>> Scott >>>>>=20 >>>>> Sent from my iPhone >>>>>=20 >>>>=20 >>>> Background: the host devices from the tape library: >>>>=20 >>>> at scbus1 target 4 lun 0 = (pass1,sa0) >>>> at scbus1 target 4 lun 1 = (pass7,ch0) >>>> at scbus1 target 5 lun 0 = (pass8,sa1) >>>> at scbus1 target 5 lun 1 = (pass9,ch1) >>>>=20 >>>>=20 >>>> The devices the jail can see: >>>>=20 >>>> [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:~] $=20 >>>>=20 >>>> This command on the host: >>>>=20 >>>> [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 =3D= 000001L4 =20 >>>> 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 >>>>=20 >>>>=20 >>>> Same command in the jail: >>>>=20 >>>> [root@bacula-sd-02 ~]# mtx -f /dev/pass7 status >>>> cannot open SCSI device '/dev/pass7' - Operation not permitted >>>>=20 >>>> Same command with truss: >>>>=20 >>>> [root@bacula-sd-02 ~]# truss mtx -f /dev/pass7 status=20 >>>> mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366197760 (0x800629000) >>>> issetugid() =3D 0 (0x0) >>>> lstat("/etc",{ mode=3Ddrwxr-xr-x ,inode=3D19,size=3D117,blksize=3D768= 0 }) =3D 0 (0x0) >>>> lstat("/etc/libmap.conf",{ mode=3D-rw-r--r-- = ,inode=3D13724,size=3D109,blksize=3D4096 }) =3D 0 (0x0) >>>> openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) =3D 3 = (0x3) >>>> fstat(3,{ mode=3D-rw-r--r-- ,inode=3D13724,size=3D109,blksize=3D4096 = }) =3D 0 (0x0) >>>> mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0) =3D 34366230528 = (0x800631000) >>>> close(3) =3D 0 (0x0) >>>> lstat("/usr",{ mode=3Ddrwxr-xr-x ,inode=3D23,size=3D15,blksize=3D4096= }) =3D 0 (0x0) >>>> lstat("/usr/local",{ mode=3Ddrwxr-xr-x = ,inode=3D214,size=3D14,blksize=3D4096 }) =3D 0 (0x0) >>>> lstat("/usr/local/etc",{ mode=3Ddrwxr-xr-x = ,inode=3D32826,size=3D29,blksize=3D4096 }) =3D 0 (0x0) >>>> lstat("/usr/local/etc/libmap.d",0x7fffffffc548) ERR#2 'No such = file or directory' >>>> munmap(0x800631000,109) =3D 0 (0x0) >>>> openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) =3D= 3 (0x3) >>>> read(3,"Ehnt\^A\0\0\0\M^@\0\0\0f\0\0\0\0"...,128) =3D 128 (0x80) >>>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D66965,size=3D230,blksize=3D4096 = }) =3D 0 (0x0) >>>> lseek(3,0x80,SEEK_SET) =3D 128 (0x80) >>>> read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,102) =3D 102 (0x66) >>>> close(3) =3D 0 (0x0) >>>> access("/lib/libcam.so.7",F_OK) =3D 0 (0x0) >>>> openat(AT_FDCWD,"/lib/libcam.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = =3D 3 (0x3) >>>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D141,size=3D201240,blksize=3D1310= 72 }) =3D 0 (0x0) >>>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >>>> mmap(0x0,2297856,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = =3D 34368299008 (0x80082a000) >>>> = mmap(0x80082a000,176128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCO= RE|MAP_PREFAULT_READ,3,0x0) =3D 34368299008 (0x80082a000) >>>> = mmap(0x800a54000,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x2a000) =3D 34370568192 (0x800a54000) >>>> munmap(0x800631000,4096) =3D 0 (0x0) >>>> close(3) =3D 0 (0x0) >>>> access("/lib/libc.so.7",F_OK) =3D 0 (0x0) >>>> openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) >>>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D168,size=3D1761320,blksize=3D131= 072 }) =3D 0 (0x0) >>>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >>>> mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = =3D 34370596864 (0x800a5b000) >>>> = mmap(0x800a5b000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOC= ORE|MAP_PREFAULT_READ,3,0x0) =3D 34370596864 (0x800a5b000) >>>> = mmap(0x800ded000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x192000) =3D 34374340608 (0x800ded000) >>>> = mmap(0x800df9000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANO= N,-1,0x0) =3D 34374389760 (0x800df9000) >>>> munmap(0x800631000,4096) =3D 0 (0x0) >>>> close(3) =3D 0 (0x0) >>>> access("/lib/libsbuf.so.6",F_OK) =3D 0 (0x0) >>>> openat(AT_FDCWD,"/lib/libsbuf.so.6",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = =3D 3 (0x3) >>>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D137,size=3D11312,blksize=3D11776= }) =3D 0 (0x0) >>>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >>>> mmap(0x0,2109440,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = =3D 34374496256 (0x800e13000) >>>> = mmap(0x800e13000,12288,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCOR= E|MAP_PREFAULT_READ,3,0x0) =3D 34374496256 (0x800e13000) >>>> = mmap(0x801015000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFA= ULT_READ,3,0x2000) =3D 34376601600 (0x801015000) >>>> munmap(0x800631000,4096) =3D 0 (0x0) >>>> close(3) =3D 0 (0x0) >>>> mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366230528 (0x800631000) >>>> munmap(0x800634000,28672) =3D 0 (0x0) >>>> mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D= 34366242816 (0x800634000) >>>> sysarch(AMD64_SET_FSBASE,0x7fffffffdf08) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> readlink("/etc/malloc.conf",0x7fffffffd600,1024) ERR#2 'No such = file or directory' >>>> issetugid() =3D 0 (0x0) >>>> = __sysctl(0x7fffffffd4a0,0x2,0x7fffffffd4f0,0x7fffffffd4e8,0x800bbcc93,0xd)= =3D 0 (0x0) >>>> __sysctl(0x7fffffffd4f0,0x2,0x7fffffffd5b4,0x7fffffffd5a8,0x0,0x0) = =3D 0 (0x0) >>>> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = =3D 34376605696 (0x801016000) >>>> munmap(0x801016000,2097152) =3D 0 (0x0) >>>> mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = =3D 34376605696 (0x801016000) >>>> munmap(0x801016000,2007040) =3D 0 (0x0) >>>> munmap(0x801400000,86016) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = =3D 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) =3D 63 (0x3f) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> exit(0x1) =09 >>>> process exit, rval =3D 1 >>>> [root@bacula-sd-02 ~]#=20 >>>>=20 >>>>=20 >>> I forgot to do xpt0... here it is: >>>=20 >>> ALSO: Diff between the two is here: = https://gist.github.com/dlangille/b80ee804b8080e1cbf5b5ab67f0bdabe/revisio= ns >>>=20 >>> =46rom the jail: >>>=20 >>> [dan@bacula-sd-02:~] $ ls -l /dev/xpt0=20 >>> crw------- 1 root operator 0x4c Dec 16 21:52 /dev/xpt0 >>> [dan@bacula-sd-02:~] $=20 >>>=20 >>>=20 >>> [dan@bacula-sd-02:~] $ truss mtx -f /dev/pass7 status >>> mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366197760 (0x800629000) >>> issetugid() =3D 0 (0x0) >>> lstat("/etc",{ mode=3Ddrwxr-xr-x ,inode=3D19,size=3D117,blksize=3D7680= }) =3D 0 (0x0) >>> lstat("/etc/libmap.conf",{ mode=3D-rw-r--r-- = ,inode=3D13724,size=3D109,blksize=3D4096 }) =3D 0 (0x0) >>> openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) =3D 3 = (0x3) >>> fstat(3,{ mode=3D-rw-r--r-- ,inode=3D13724,size=3D109,blksize=3D4096 = }) =3D 0 (0x0) >>> mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0) =3D 34366230528 = (0x800631000) >>> close(3) =3D 0 (0x0) >>> lstat("/usr",{ mode=3Ddrwxr-xr-x ,inode=3D23,size=3D15,blksize=3D4096 = }) =3D 0 (0x0) >>> lstat("/usr/local",{ mode=3Ddrwxr-xr-x = ,inode=3D214,size=3D14,blksize=3D4096 }) =3D 0 (0x0) >>> lstat("/usr/local/etc",{ mode=3Ddrwxr-xr-x = ,inode=3D32826,size=3D29,blksize=3D4096 }) =3D 0 (0x0) >>> lstat("/usr/local/etc/libmap.d",0x7fffffffc608) ERR#2 'No such = file or directory' >>> munmap(0x800631000,109) =3D 0 (0x0) >>> openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) =3D = 3 (0x3) >>> read(3,"Ehnt\^A\0\0\0\M^@\0\0\0f\0\0\0\0"...,128) =3D 128 (0x80) >>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D72757,size=3D230,blksize=3D4096 = }) =3D 0 (0x0) >>> lseek(3,0x80,SEEK_SET) =3D 128 (0x80) >>> read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,102) =3D 102 (0x66) >>> close(3) =3D 0 (0x0) >>> access("/lib/libcam.so.7",F_OK) =3D 0 (0x0) >>> openat(AT_FDCWD,"/lib/libcam.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D= 3 (0x3) >>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D141,size=3D201240,blksize=3D13107= 2 }) =3D 0 (0x0) >>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >>> mmap(0x0,2297856,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D= 34368299008 (0x80082a000) >>> = mmap(0x80082a000,176128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCO= RE|MAP_PREFAULT_READ,3,0x0) =3D 34368299008 (0x80082a000) >>> = mmap(0x800a54000,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x2a000) =3D 34370568192 (0x800a54000) >>> munmap(0x800631000,4096) =3D 0 (0x0) >>> close(3) =3D 0 (0x0) >>> access("/lib/libc.so.7",F_OK) =3D 0 (0x0) >>> openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) >>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D168,size=3D1761320,blksize=3D1310= 72 }) =3D 0 (0x0) >>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >>> mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D= 34370596864 (0x800a5b000) >>> = mmap(0x800a5b000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOC= ORE|MAP_PREFAULT_READ,3,0x0) =3D 34370596864 (0x800a5b000) >>> = mmap(0x800ded000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x192000) =3D 34374340608 (0x800ded000) >>> = mmap(0x800df9000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANO= N,-1,0x0) =3D 34374389760 (0x800df9000) >>> munmap(0x800631000,4096) =3D 0 (0x0) >>> close(3) =3D 0 (0x0) >>> access("/lib/libsbuf.so.6",F_OK) =3D 0 (0x0) >>> openat(AT_FDCWD,"/lib/libsbuf.so.6",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = =3D 3 (0x3) >>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D137,size=3D11312,blksize=3D11776 = }) =3D 0 (0x0) >>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >>> mmap(0x0,2109440,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D= 34374496256 (0x800e13000) >>> = mmap(0x800e13000,12288,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCOR= E|MAP_PREFAULT_READ,3,0x0) =3D 34374496256 (0x800e13000) >>> = mmap(0x801015000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFA= ULT_READ,3,0x2000) =3D 34376601600 (0x801015000) >>> munmap(0x800631000,4096) =3D 0 (0x0) >>> close(3) =3D 0 (0x0) >>> mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366230528 (0x800631000) >>> munmap(0x800634000,28672) =3D 0 (0x0) >>> mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366242816 (0x800634000) >>> sysarch(AMD64_SET_FSBASE,0x7fffffffdfc8) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> readlink("/etc/malloc.conf",0x7fffffffd6c0,1024) ERR#2 'No such file = or directory' >>> issetugid() =3D 0 (0x0) >>> = __sysctl(0x7fffffffd560,0x2,0x7fffffffd5b0,0x7fffffffd5a8,0x800bbcc93,0xd)= =3D 0 (0x0) >>> __sysctl(0x7fffffffd5b0,0x2,0x7fffffffd674,0x7fffffffd668,0x0,0x0) =3D= 0 (0x0) >>> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D= 34376605696 (0x801016000) >>> munmap(0x801016000,2097152) =3D 0 (0x0) >>> mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D= 34376605696 (0x801016000) >>> munmap(0x801016000,2007040) =3D 0 (0x0) >>> munmap(0x801400000,86016) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D= 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) =3D 57 (0x39) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> exit(0x1) =09 >>> process exit, rval =3D 1 >>>=20 >>> --=20 >>> Dan Langille - BSDCan / PGCon >>> dan@langille.org >>=20 >=20 From owner-freebsd-scsi@freebsd.org Sun Dec 17 21:59:13 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CCE8AE9780E for ; Sun, 17 Dec 2017 21:59:13 +0000 (UTC) (envelope-from dan@langille.org) Received: from clavin2.langille.org (clavin2.langille.org [199.233.228.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "clavin.langille.org", Issuer "BSD Cabal Headquarters" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 94CB080413 for ; Sun, 17 Dec 2017 21:59:13 +0000 (UTC) (envelope-from dan@langille.org) Received: from (clavin2.int.langille.org (clavin2.int.unixathome.org [10.4.7.7]) (Authenticated sender: hidden) with ESMTPSA id 178401FABA ; Sun, 17 Dec 2017 21:59:11 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\)) Subject: Re: ch(4) FreeBSD 11.1 jails From: Dan Langille In-Reply-To: <27C03467-BEB4-4257-BBA1-974F21D136C2@langille.org> Date: Sun, 17 Dec 2017 16:58:45 -0500 Cc: freebsd-scsi@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <45DB2E52-B7C7-4AF6-B332-34FB7289EB12@langille.org> References: <19FE523D-3A29-4EC1-BD11-71F2A9A84456@langille.org> <2E65031F-E39F-43FD-9D7C-25890A5ED641@samsco.org> <746B096B-A682-4EA7-AA25-718F687E3B13@langille.org> <1C62DD70-910B-427B-BF90-BF02A622ABFD@samsco.org> <27C03467-BEB4-4257-BBA1-974F21D136C2@langille.org> To: Scott Long X-Mailer: Apple Mail (2.3445.5.20) X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Dec 2017 21:59:13 -0000 Scott: it was me. See below. > On Dec 17, 2017, at 11:49 AM, Dan Langille wrote: >=20 > Scott, >=20 >=20 > On the host:=20 >=20 > [dan@r710-01:~] $ sysctl kern.securelevel > kern.securelevel: -1 >=20 >=20 > On the jail: >=20 > [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=3D1 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=20 Storage Changer /dev/pass7:2 Drives, 47 Slots ( 0 Import/Export ) Data Transfer Element 0:Full (Storage Element 1 Loaded):VolumeTag =3D = 000001L4 =20 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.h= tml >=20 >=20 > If it's something else, who should I consult? >=20 > --=20 > Dan Langille - BSDCan / PGCon > dan@langille.org >=20 >=20 >> On Dec 17, 2017, at 11:39 AM, Scott Long wrote: >>=20 >> Hi Dan, >>=20 >> I agree with you, truss definitely shows that it=E2=80=99s failing = with the open(=E2=80=9Cpass7=E2=80=9D) >> call. Nothing in the src/sys/cam/scsi/scsi_pass.c code that has = changed >> regarding =E2=80=98open=E2=80=99 semantics since FreeBSD 9 in 2012. = There is a check in >> the code against the securelevel of the system. That code was added = a=20 >> LONG time ago, but maybe something has changed with securelevel. I >> guess it=E2=80=99s worth a look on your system to look at the = kern.securelevel >> sysctl both inside and outside of the jail. If it=E2=80=99s not that = then something >> outside of CAM, either in devfs or in the syscall layer, has changed. >>=20 >> Scott >>=20 >>=20 >>> On Dec 17, 2017, at 9:32 AM, Dan Langille wrote: >>>=20 >>>=20 >>>=20 >>>=20 >>>> On Dec 17, 2017, at 11:27 AM, Dan Langille = wrote: >>>>=20 >>>>>> On Dec 16, 2017, at 3:05 PM, Dan Langille = wrote: >>>>>>=20 >>>>>> I'm trying to access a tape library from within a FreeBSD 11 = jail. >>>>>>=20 >>>>>> I've added this to the host system: >>>>>>=20 >>>>>> [devfsrules_jail_unhide_tapes=3D5] >>>>>> add path sa0 unhide >>>>>> add path pass0 unhide >>>>>> add path pass7 unhide mode 0600 >>>>>> add path ch0 unhide >>>>>> add path nsa0 unhide >>>>>>=20 >>>>>> add path sa1 unhide >>>>>> add path pass8 unhide >>>>>> add path pass9 unhide mode 0600 >>>>>> add path ch1 unhide >>>>>> add path nsa1 unhide >>>>>>=20 >>>>>>=20 >>>>>> [devfsrules_jail_bacula=3D6] >>>>>> 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 >>>>>>=20 >>>>>>=20 >>>>>>=20 >>>>>> The jail can see the devices, and query the tape drive, but not = the changer: >>>>>>=20 >>>>>> $ sudo mtx -f /dev/pass7 status >>>>>> cannot open SCSI device '/dev/pass7' - Operation not permitted >>>>>>=20 >>>>>> The same command in the jail host succeeds. >>>>>>=20 >>>>>> Is there something more special I'm missing about FreeBSD 11.1? = This worked for me under 10.3. >>>>>>=20 >>>>>> Thank you. >>>>>>=20 >>>>>>=20 >>>>>> --=20 >>>>>> Dan Langille - BSDCan / PGCon >>>>>> dan@langille.org >>>>>>=20 >>>>>>=20 >>>>>> _______________________________________________ >>>>>> 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" >>>>>=20 >>>>=20 >>>>> On Dec 16, 2017, at 5:53 PM, Scott Long wrote: >>>>>=20 >>>>> Hi Dan, >>>>>=20 >>>>> 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=E2=80=99t work. >>>>>=20 >>>>> Scott >>>>>=20 >>>>> Sent from my iPhone >>>>>=20 >>>>=20 >>>> Background: the host devices from the tape library: >>>>=20 >>>> at scbus1 target 4 lun 0 = (pass1,sa0) >>>> at scbus1 target 4 lun 1 = (pass7,ch0) >>>> at scbus1 target 5 lun 0 = (pass8,sa1) >>>> at scbus1 target 5 lun 1 = (pass9,ch1) >>>>=20 >>>>=20 >>>> The devices the jail can see: >>>>=20 >>>> [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:~] $=20 >>>>=20 >>>> This command on the host: >>>>=20 >>>> [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 =3D= 000001L4 =20 >>>> 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 >>>>=20 >>>>=20 >>>> Same command in the jail: >>>>=20 >>>> [root@bacula-sd-02 ~]# mtx -f /dev/pass7 status >>>> cannot open SCSI device '/dev/pass7' - Operation not permitted >>>>=20 >>>> Same command with truss: >>>>=20 >>>> [root@bacula-sd-02 ~]# truss mtx -f /dev/pass7 status=20 >>>> mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366197760 (0x800629000) >>>> issetugid() =3D 0 (0x0) >>>> lstat("/etc",{ mode=3Ddrwxr-xr-x ,inode=3D19,size=3D117,blksize=3D768= 0 }) =3D 0 (0x0) >>>> lstat("/etc/libmap.conf",{ mode=3D-rw-r--r-- = ,inode=3D13724,size=3D109,blksize=3D4096 }) =3D 0 (0x0) >>>> openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) =3D 3 = (0x3) >>>> fstat(3,{ mode=3D-rw-r--r-- ,inode=3D13724,size=3D109,blksize=3D4096 = }) =3D 0 (0x0) >>>> mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0) =3D 34366230528 = (0x800631000) >>>> close(3) =3D 0 (0x0) >>>> lstat("/usr",{ mode=3Ddrwxr-xr-x ,inode=3D23,size=3D15,blksize=3D4096= }) =3D 0 (0x0) >>>> lstat("/usr/local",{ mode=3Ddrwxr-xr-x = ,inode=3D214,size=3D14,blksize=3D4096 }) =3D 0 (0x0) >>>> lstat("/usr/local/etc",{ mode=3Ddrwxr-xr-x = ,inode=3D32826,size=3D29,blksize=3D4096 }) =3D 0 (0x0) >>>> lstat("/usr/local/etc/libmap.d",0x7fffffffc548) ERR#2 'No such = file or directory' >>>> munmap(0x800631000,109) =3D 0 (0x0) >>>> openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) =3D= 3 (0x3) >>>> read(3,"Ehnt\^A\0\0\0\M^@\0\0\0f\0\0\0\0"...,128) =3D 128 (0x80) >>>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D66965,size=3D230,blksize=3D4096 = }) =3D 0 (0x0) >>>> lseek(3,0x80,SEEK_SET) =3D 128 (0x80) >>>> read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,102) =3D 102 (0x66) >>>> close(3) =3D 0 (0x0) >>>> access("/lib/libcam.so.7",F_OK) =3D 0 (0x0) >>>> openat(AT_FDCWD,"/lib/libcam.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = =3D 3 (0x3) >>>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D141,size=3D201240,blksize=3D1310= 72 }) =3D 0 (0x0) >>>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >>>> mmap(0x0,2297856,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = =3D 34368299008 (0x80082a000) >>>> = mmap(0x80082a000,176128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCO= RE|MAP_PREFAULT_READ,3,0x0) =3D 34368299008 (0x80082a000) >>>> = mmap(0x800a54000,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x2a000) =3D 34370568192 (0x800a54000) >>>> munmap(0x800631000,4096) =3D 0 (0x0) >>>> close(3) =3D 0 (0x0) >>>> access("/lib/libc.so.7",F_OK) =3D 0 (0x0) >>>> openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) >>>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D168,size=3D1761320,blksize=3D131= 072 }) =3D 0 (0x0) >>>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >>>> mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = =3D 34370596864 (0x800a5b000) >>>> = mmap(0x800a5b000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOC= ORE|MAP_PREFAULT_READ,3,0x0) =3D 34370596864 (0x800a5b000) >>>> = mmap(0x800ded000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x192000) =3D 34374340608 (0x800ded000) >>>> = mmap(0x800df9000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANO= N,-1,0x0) =3D 34374389760 (0x800df9000) >>>> munmap(0x800631000,4096) =3D 0 (0x0) >>>> close(3) =3D 0 (0x0) >>>> access("/lib/libsbuf.so.6",F_OK) =3D 0 (0x0) >>>> openat(AT_FDCWD,"/lib/libsbuf.so.6",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = =3D 3 (0x3) >>>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D137,size=3D11312,blksize=3D11776= }) =3D 0 (0x0) >>>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >>>> mmap(0x0,2109440,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) = =3D 34374496256 (0x800e13000) >>>> = mmap(0x800e13000,12288,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCOR= E|MAP_PREFAULT_READ,3,0x0) =3D 34374496256 (0x800e13000) >>>> = mmap(0x801015000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFA= ULT_READ,3,0x2000) =3D 34376601600 (0x801015000) >>>> munmap(0x800631000,4096) =3D 0 (0x0) >>>> close(3) =3D 0 (0x0) >>>> mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366230528 (0x800631000) >>>> munmap(0x800634000,28672) =3D 0 (0x0) >>>> mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D= 34366242816 (0x800634000) >>>> sysarch(AMD64_SET_FSBASE,0x7fffffffdf08) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> readlink("/etc/malloc.conf",0x7fffffffd600,1024) ERR#2 'No such = file or directory' >>>> issetugid() =3D 0 (0x0) >>>> = __sysctl(0x7fffffffd4a0,0x2,0x7fffffffd4f0,0x7fffffffd4e8,0x800bbcc93,0xd)= =3D 0 (0x0) >>>> __sysctl(0x7fffffffd4f0,0x2,0x7fffffffd5b4,0x7fffffffd5a8,0x0,0x0) = =3D 0 (0x0) >>>> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = =3D 34376605696 (0x801016000) >>>> munmap(0x801016000,2097152) =3D 0 (0x0) >>>> mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = =3D 34376605696 (0x801016000) >>>> munmap(0x801016000,2007040) =3D 0 (0x0) >>>> munmap(0x801400000,86016) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = =3D 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) =3D 63 (0x3f) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>>> exit(0x1) =09 >>>> process exit, rval =3D 1 >>>> [root@bacula-sd-02 ~]#=20 >>>>=20 >>>>=20 >>> I forgot to do xpt0... here it is: >>>=20 >>> ALSO: Diff between the two is here: = https://gist.github.com/dlangille/b80ee804b8080e1cbf5b5ab67f0bdabe/revisio= ns >>>=20 >>> =46rom the jail: >>>=20 >>> [dan@bacula-sd-02:~] $ ls -l /dev/xpt0=20 >>> crw------- 1 root operator 0x4c Dec 16 21:52 /dev/xpt0 >>> [dan@bacula-sd-02:~] $=20 >>>=20 >>>=20 >>> [dan@bacula-sd-02:~] $ truss mtx -f /dev/pass7 status >>> mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366197760 (0x800629000) >>> issetugid() =3D 0 (0x0) >>> lstat("/etc",{ mode=3Ddrwxr-xr-x ,inode=3D19,size=3D117,blksize=3D7680= }) =3D 0 (0x0) >>> lstat("/etc/libmap.conf",{ mode=3D-rw-r--r-- = ,inode=3D13724,size=3D109,blksize=3D4096 }) =3D 0 (0x0) >>> openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) =3D 3 = (0x3) >>> fstat(3,{ mode=3D-rw-r--r-- ,inode=3D13724,size=3D109,blksize=3D4096 = }) =3D 0 (0x0) >>> mmap(0x0,109,PROT_READ,MAP_PRIVATE,3,0x0) =3D 34366230528 = (0x800631000) >>> close(3) =3D 0 (0x0) >>> lstat("/usr",{ mode=3Ddrwxr-xr-x ,inode=3D23,size=3D15,blksize=3D4096 = }) =3D 0 (0x0) >>> lstat("/usr/local",{ mode=3Ddrwxr-xr-x = ,inode=3D214,size=3D14,blksize=3D4096 }) =3D 0 (0x0) >>> lstat("/usr/local/etc",{ mode=3Ddrwxr-xr-x = ,inode=3D32826,size=3D29,blksize=3D4096 }) =3D 0 (0x0) >>> lstat("/usr/local/etc/libmap.d",0x7fffffffc608) ERR#2 'No such = file or directory' >>> munmap(0x800631000,109) =3D 0 (0x0) >>> openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) =3D = 3 (0x3) >>> read(3,"Ehnt\^A\0\0\0\M^@\0\0\0f\0\0\0\0"...,128) =3D 128 (0x80) >>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D72757,size=3D230,blksize=3D4096 = }) =3D 0 (0x0) >>> lseek(3,0x80,SEEK_SET) =3D 128 (0x80) >>> read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,102) =3D 102 (0x66) >>> close(3) =3D 0 (0x0) >>> access("/lib/libcam.so.7",F_OK) =3D 0 (0x0) >>> openat(AT_FDCWD,"/lib/libcam.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D= 3 (0x3) >>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D141,size=3D201240,blksize=3D13107= 2 }) =3D 0 (0x0) >>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >>> mmap(0x0,2297856,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D= 34368299008 (0x80082a000) >>> = mmap(0x80082a000,176128,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCO= RE|MAP_PREFAULT_READ,3,0x0) =3D 34368299008 (0x80082a000) >>> = mmap(0x800a54000,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x2a000) =3D 34370568192 (0x800a54000) >>> munmap(0x800631000,4096) =3D 0 (0x0) >>> close(3) =3D 0 (0x0) >>> access("/lib/libc.so.7",F_OK) =3D 0 (0x0) >>> openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) =3D = 3 (0x3) >>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D168,size=3D1761320,blksize=3D1310= 72 }) =3D 0 (0x0) >>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >>> mmap(0x0,3899392,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D= 34370596864 (0x800a5b000) >>> = mmap(0x800a5b000,1646592,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOC= ORE|MAP_PREFAULT_READ,3,0x0) =3D 34370596864 (0x800a5b000) >>> = mmap(0x800ded000,49152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREF= AULT_READ,3,0x192000) =3D 34374340608 (0x800ded000) >>> = mmap(0x800df9000,106496,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANO= N,-1,0x0) =3D 34374389760 (0x800df9000) >>> munmap(0x800631000,4096) =3D 0 (0x0) >>> close(3) =3D 0 (0x0) >>> access("/lib/libsbuf.so.6",F_OK) =3D 0 (0x0) >>> openat(AT_FDCWD,"/lib/libsbuf.so.6",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = =3D 3 (0x3) >>> fstat(3,{ mode=3D-r--r--r-- ,inode=3D137,size=3D11312,blksize=3D11776 = }) =3D 0 (0x0) >>> mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) =3D = 34366230528 (0x800631000) >>> mmap(0x0,2109440,PROT_NONE,MAP_PRIVATE|MAP_ANON|MAP_NOCORE,-1,0x0) =3D= 34374496256 (0x800e13000) >>> = mmap(0x800e13000,12288,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCOR= E|MAP_PREFAULT_READ,3,0x0) =3D 34374496256 (0x800e13000) >>> = mmap(0x801015000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFA= ULT_READ,3,0x2000) =3D 34376601600 (0x801015000) >>> munmap(0x800631000,4096) =3D 0 (0x0) >>> close(3) =3D 0 (0x0) >>> mmap(0x0,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366230528 (0x800631000) >>> munmap(0x800634000,28672) =3D 0 (0x0) >>> mmap(0x0,102400,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D = 34366242816 (0x800634000) >>> sysarch(AMD64_SET_FSBASE,0x7fffffffdfc8) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> readlink("/etc/malloc.conf",0x7fffffffd6c0,1024) ERR#2 'No such file = or directory' >>> issetugid() =3D 0 (0x0) >>> = __sysctl(0x7fffffffd560,0x2,0x7fffffffd5b0,0x7fffffffd5a8,0x800bbcc93,0xd)= =3D 0 (0x0) >>> __sysctl(0x7fffffffd5b0,0x2,0x7fffffffd674,0x7fffffffd668,0x0,0x0) =3D= 0 (0x0) >>> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D= 34376605696 (0x801016000) >>> munmap(0x801016000,2097152) =3D 0 (0x0) >>> mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D= 34376605696 (0x801016000) >>> munmap(0x801016000,2007040) =3D 0 (0x0) >>> munmap(0x801400000,86016) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) =3D= 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) =3D 57 (0x39) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> sigprocmask(SIG_BLOCK,{ = SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTS= TP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF= |SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) =3D 0 (0x0) >>> sigprocmask(SIG_SETMASK,{ },0x0) =3D 0 (0x0) >>> exit(0x1) =09 >>> process exit, rval =3D 1 >>>=20 >>> --=20 >>> Dan Langille - BSDCan / PGCon >>> dan@langille.org >>=20 >=20 > _______________________________________________ > 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" From owner-freebsd-scsi@freebsd.org Mon Dec 18 07:15:12 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 043A9EA3C05 for ; Mon, 18 Dec 2017 07:15:12 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E5EA36EB78 for ; Mon, 18 Dec 2017 07:15:11 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id vBI7FBjE078645 for ; Mon, 18 Dec 2017 07:15:11 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-scsi@FreeBSD.org Subject: [Bug 224064] [nvme][hang][resume] nvme_ctrlr_wait_for_ready called with desired_val = 0 but cc.en =1 Date: Mon, 18 Dec 2017 07:15:11 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: CURRENT X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: dch@freebsd.org X-Bugzilla-Status: In Progress X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-scsi@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_status Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Dec 2017 07:15:12 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D224064 Dave Cottlehuber changed: What |Removed |Added ---------------------------------------------------------------------------- Status|New |In Progress --- Comment #9 from Dave Cottlehuber --- early days but I've not had a repeat hang with this patch (yay). I'll close this later in the week if I don't have a recurrence. thanks! --=20 You are receiving this mail because: You are the assignee for the bug.= From owner-freebsd-scsi@freebsd.org Tue Dec 19 16:10:12 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A9428E8CAAE for ; Tue, 19 Dec 2017 16:10:12 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 963937F033 for ; Tue, 19 Dec 2017 16:10:12 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id vBJGACaa061368 for ; Tue, 19 Dec 2017 16:10:12 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-scsi@FreeBSD.org Subject: [Bug 224064] [nvme][hang][resume] nvme_ctrlr_wait_for_ready called with desired_val = 0 but cc.en =1 Date: Tue, 19 Dec 2017 16:10:12 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: CURRENT X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: dch@freebsd.org X-Bugzilla-Status: In Progress X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-scsi@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Dec 2017 16:10:12 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D224064 --- Comment #10 from Dave Cottlehuber --- LGTM, no issues reported at all, no quirk hacks needed. My perception is th= at resume time is super fast now as well. --=20 You are receiving this mail because: You are the assignee for the bug.= From owner-freebsd-scsi@freebsd.org Tue Dec 19 16:14:07 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E2496E8CFAE for ; Tue, 19 Dec 2017 16:14:07 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D046E7F3BC for ; Tue, 19 Dec 2017 16:14:07 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id vBJGE7jC076922 for ; Tue, 19 Dec 2017 16:14:07 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-scsi@FreeBSD.org Subject: [Bug 224064] [nvme][hang][resume] nvme_ctrlr_wait_for_ready called with desired_val = 0 but cc.en =1 Date: Tue, 19 Dec 2017 16:14:07 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: CURRENT X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: dch@freebsd.org X-Bugzilla-Status: Closed X-Bugzilla-Resolution: FIXED X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-scsi@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_status resolution Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Dec 2017 16:14:08 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D224064 Dave Cottlehuber changed: What |Removed |Added ---------------------------------------------------------------------------- Status|In Progress |Closed Resolution|--- |FIXED --- Comment #11 from Dave Cottlehuber --- closed via https://reviews.freebsd.org/rS326937 / https://svnweb.freebsd.org/base?view=3Drevision&revision=3D326937 --=20 You are receiving this mail because: You are the assignee for the bug.= From owner-freebsd-scsi@freebsd.org Tue Dec 19 19:30:24 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7A373E9A567 for ; Tue, 19 Dec 2017 19:30:24 +0000 (UTC) (envelope-from rebecca@bluestop.org) Received: from muon.bluestop.org (muon.bluestop.org [IPv6:2605:7700:0:8:1:0:4a32:3323]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5E2856768B for ; Tue, 19 Dec 2017 19:30:24 +0000 (UTC) (envelope-from rebecca@bluestop.org) Received: from muon.bluestop.org (localhost [127.0.0.1]) by muon.bluestop.org (Postfix) with ESMTP id 2D2203B29F for ; Tue, 19 Dec 2017 19:30:23 +0000 (UTC) Received: from muon.bluestop.org ([127.0.0.1]) by muon.bluestop.org (muon.bluestop.org [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id L3yVWFFCDYtm for ; Tue, 19 Dec 2017 19:30:22 +0000 (UTC) Received: from [IPv6:2603:3026:480::a14e] (unknown [IPv6:2603:3026:480::a14e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by muon.bluestop.org (Postfix) with ESMTPSA for ; Tue, 19 Dec 2017 19:30:22 +0000 (UTC) To: freebsd-scsi@freebsd.org From: Rebecca Cran Subject: FreeBSD 11 not sending repeated TURs until good status returned? Message-ID: <87ad0e0a-0183-d123-d7f3-2735c8cf854e@bluestop.org> Date: Tue, 19 Dec 2017 12:30:22 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Dec 2017 19:30:24 -0000 I've been asked about a bug report at $work for a SAS drive, which is failing to be detected when hot-plugged under FreeBSD 11 since I used to be a FreeBSD developer. Not being being familiar with the *scsi* code however, I thought people on this mailing list might have a better idea! From the report: "[the affected drive] is more closely conforming to the T10 spec as a Mode Sense command does not require media access." "The proper thing for the system to do is send repeated TURs to the drive until good status is returned. After that moment, the drive can properly do I/O." The log file contains:   READ(10). CDB: 28 00 2e 93 90 af 00 00 01 00   CAM status: SCSI Status Error   SCSI status: Check Condition   SCSI sense: NOT READY asc:4,1 (Logical unit is in process of becoming ready)   Progress: 0% (2/65536) complete   Polling device for readiness   mpssas_prepare_remove: Sending reset for target ID 123 da12 at mps0 bus 0 scbus0 target 123 lun 0 ... Does this sound like a valid bug? -- Rebecca Cran brucec@freebsd.org From owner-freebsd-scsi@freebsd.org Wed Dec 20 00:29:15 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7BCCEE85CD0 for ; Wed, 20 Dec 2017 00:29:15 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-lf0-x235.google.com (mail-lf0-x235.google.com [IPv6:2a00:1450:4010:c07::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id F33D572FE6 for ; Wed, 20 Dec 2017 00:29:14 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-lf0-x235.google.com with SMTP id g63so75013lfl.11 for ; Tue, 19 Dec 2017 16:29:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=kRiBNQ2cNUpZ3yl/pEjSdTE+8VDqcfpBSzxs3uUPkOw=; b=clxylIeZZjGS5Q9tiIol5WSp02fBhcmwOwRCURokeGmjDIbrbOmz2SkBiUNRkqT4qv MxMy5+gYwpH4N3Wdr5WuhZXyB725RWUeWqkXEsocK74xbUTBlpgpFemBFDt+aVkDcRIU +oA7fTLduWn3fv9KFT/nxDn3SQSmBfgPhV7Eh6xkCF9EN8RZ/YnWIakaIMTGHQiYK9QF DctMm72xkkYaGSodyVUxk30pz2aC3nfzgFmIvVnJhUZYsnIOXnZXZJ6Oa+Ec6IaqxlGW kRkt9JC9ALB19VEK3WNQNGtVFvcu8pMmphvqpmDdlRgKDizKjAVb+G7YzTxPFclo5s7R uJwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=kRiBNQ2cNUpZ3yl/pEjSdTE+8VDqcfpBSzxs3uUPkOw=; b=dtMx9wy5PFseZgkIVREs/HUwNUV11V6CjNDKkIysHerYSea6FI/kegsxKq4sLcAQXk pOmnGb5qTXR8algtggp5cBzrC4tfxLe230p/JaTPevAnZW6Q5jHRinXfW6hifrd1Lwfj GjnDvQcnIY5spCiXA6htFy2UxyFZcNuWH093xLYmobhiHztUfEJ1ftLaOQOR22VSv9Br zh7Z3K5EiYZG8FCgBzii7lM4VzXVaNmjCjQOjII2IoX//yYtuxdzhaT7t25GWXzQ9YAD 1nzu7lUl0pzORyVm8Mdty+uYbunB1IEXOpmopZ2n85PBuF/xdv0IY4Mce5gowFAOEbCZ 3Nfw== X-Gm-Message-State: AKGB3mKzIkT8RN8hn2AXGoNE0ePDarlKwmYrQnEPKsu7IQUXsZrQs6Kk Dt8fcpzw8KdvU/KTUWSxgMh0JtolOg927AEeJT0= X-Google-Smtp-Source: ACJfBovoxDl3HNOYkVWyXqsZlzqKyJO2FXiJRYslHHbas7SICrRdwasce9Wq8nk5m2xMuQpIDllgIira7M2nW9seBCI= X-Received: by 10.25.221.131 with SMTP id w3mr3405204lfi.90.1513729751749; Tue, 19 Dec 2017 16:29:11 -0800 (PST) MIME-Version: 1.0 Sender: asomers@gmail.com Received: by 10.179.76.19 with HTTP; Tue, 19 Dec 2017 16:29:11 -0800 (PST) In-Reply-To: <87ad0e0a-0183-d123-d7f3-2735c8cf854e@bluestop.org> References: <87ad0e0a-0183-d123-d7f3-2735c8cf854e@bluestop.org> From: Alan Somers Date: Tue, 19 Dec 2017 17:29:11 -0700 X-Google-Sender-Auth: SDuHZD9humuwCg-LCrU1G3T-c0I Message-ID: Subject: Re: FreeBSD 11 not sending repeated TURs until good status returned? To: Rebecca Cran Cc: FreeBSD-scsi Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.25 X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Dec 2017 00:29:15 -0000 On Tue, Dec 19, 2017 at 12:30 PM, Rebecca Cran wrote: > I've been asked about a bug report at $work for a SAS drive, which is > failing to be detected when hot-plugged under FreeBSD 11 since I used to be > a FreeBSD developer. Not being being familiar with the *scsi* code however, > I thought people on this mailing list might have a better idea! > > From the report: > > "[the affected drive] is more closely conforming to the T10 spec as a Mode > Sense command does not require media access." > > "The proper thing for the system to do is send repeated TURs to the drive > until good status is returned. After that moment, the drive can properly do > I/O." > > > > The log file contains: > > READ(10). CDB: 28 00 2e 93 90 af 00 00 01 00 > > CAM status: SCSI Status Error > > SCSI status: Check Condition > > SCSI sense: NOT READY asc:4,1 (Logical unit is in process of becoming > ready) > > Progress: 0% (2/65536) complete > > Polling device for readiness > > mpssas_prepare_remove: Sending reset for target ID 123 > > da12 at mps0 bus 0 scbus0 target 123 lun 0 > > ... > > > Does this sound like a valid bug? > What's the problem exactly? Does FreeBSD poll the device or not? Does FreeBSD give up too soon, or poll with the wrong command, or what? And if you don't mind me asking, what sort of drive is this that takes so long to come ready? -Alan From owner-freebsd-scsi@freebsd.org Wed Dec 20 00:53:36 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B93F5E8706B for ; Wed, 20 Dec 2017 00:53:36 +0000 (UTC) (envelope-from rebecca@bluestop.org) Received: from muon.bluestop.org (muon.bluestop.org [IPv6:2605:7700:0:8:1:0:4a32:3323]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 99CCD7400D; Wed, 20 Dec 2017 00:53:36 +0000 (UTC) (envelope-from rebecca@bluestop.org) Received: from muon.bluestop.org (localhost [127.0.0.1]) by muon.bluestop.org (Postfix) with ESMTP id 36FEA3B4FB; Wed, 20 Dec 2017 00:53:35 +0000 (UTC) Received: from muon.bluestop.org ([127.0.0.1]) by muon.bluestop.org (muon.bluestop.org [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id xHiBW7fhuFSf; Wed, 20 Dec 2017 00:53:34 +0000 (UTC) Received: from [IPv6:2603:3026:480::a14e] (unknown [IPv6:2603:3026:480::a14e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by muon.bluestop.org (Postfix) with ESMTPSA; Wed, 20 Dec 2017 00:53:34 +0000 (UTC) Subject: Re: FreeBSD 11 not sending repeated TURs until good status returned? To: Alan Somers Cc: FreeBSD-scsi References: <87ad0e0a-0183-d123-d7f3-2735c8cf854e@bluestop.org> From: Rebecca Cran Message-ID: <30772d0e-2456-a90e-54a2-7575987b25b4@bluestop.org> Date: Tue, 19 Dec 2017 17:53:34 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.25 X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Dec 2017 00:53:36 -0000 On 12/19/2017 05:29 PM, Alan Somers wrote: > > What's the problem exactly?  Does FreeBSD poll the device or not?   > Does FreeBSD give up too soon, or poll with the wrong command, or > what?  And if you don't mind me asking, what sort of drive is this > that takes so long to come ready? FreeBSD thinks the device is ready before it really is, and ends up issuing read commands that fail, resulting in the device being removed. The drive is a SAS SSD, and I don't know why it takes longer than most to become read. -- Rebecca Cran From owner-freebsd-scsi@freebsd.org Wed Dec 20 16:10:03 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A5F5BE92346 for ; Wed, 20 Dec 2017 16:10:03 +0000 (UTC) (envelope-from ken@freebsd.org) Received: from mithlond.kdm.org (mithlond.kdm.org [96.89.93.250]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "A1-33714", Issuer "A1-33714" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 68F4475363; Wed, 20 Dec 2017 16:10:03 +0000 (UTC) (envelope-from ken@freebsd.org) Received: from [10.0.0.26] (mbp2013.int.kdm.org [10.0.0.26]) (authenticated bits=0) by mithlond.kdm.org (8.15.2/8.14.9) with ESMTPSA id vBKG9sBm055937 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 20 Dec 2017 11:09:55 -0500 (EST) (envelope-from ken@freebsd.org) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\)) Subject: Re: FreeBSD 11 not sending repeated TURs until good status returned? From: Ken Merry In-Reply-To: <30772d0e-2456-a90e-54a2-7575987b25b4@bluestop.org> Date: Wed, 20 Dec 2017 11:09:52 -0500 Cc: Alan Somers , FreeBSD-scsi Content-Transfer-Encoding: quoted-printable Message-Id: <9209CA38-750D-4966-911F-342092309DDF@freebsd.org> References: <87ad0e0a-0183-d123-d7f3-2735c8cf854e@bluestop.org> <30772d0e-2456-a90e-54a2-7575987b25b4@bluestop.org> To: Rebecca Cran X-Mailer: Apple Mail (2.3445.5.20) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mithlond.kdm.org [96.89.93.250]); Wed, 20 Dec 2017 11:09:55 -0500 (EST) X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Dec 2017 16:10:03 -0000 > On Dec 19, 2017, at 7:53 PM, Rebecca Cran = wrote: >=20 > On 12/19/2017 05:29 PM, Alan Somers wrote: >=20 >>=20 >> What's the problem exactly? Does FreeBSD poll the device or not? = Does FreeBSD give up too soon, or poll with the wrong command, or what? = And if you don't mind me asking, what sort of drive is this that takes = so long to come ready? >=20 > FreeBSD thinks the device is ready before it really is, and ends up = issuing read commands that fail, resulting in the device being removed. > The drive is a SAS SSD, and I don't know why it takes longer than most = to become read. >=20 I have seen this behavior on some HGST SSDs. I haven=E2=80=99t had a = chance to fully chase it down. The polling code is in there and is active in this case. You can tell = because of this message: >=20 > Polling device for readiness It will send a TUR every half second for a minute to wait for the device = to become ready, and then retry the read if the TURs succeeded. I = *think* (I=E2=80=99d have to look more closely), it=E2=80=99ll retry the = READ four more times, and will go through the 1 minute TUR sequence each = time. But the mpssas_prepare_remove message indicates that this disk (or = another one) is getting removed by the controller. IMO, the sense data probably means the SSD is doing something wrong. = They should become ready before they turn on the SAS port. The = initiator is going to try sending commands as soon as the port comes = active. And if an SSD can=E2=80=99t come ready in a minute (spinning = drives take ~10 seconds to spin up), something is wrong. We=E2=80=99ll probably need full logs to get a better idea of what is = going on. Ken =E2=80=94=20 Ken Merry ken@FreeBSD.ORG From owner-freebsd-scsi@freebsd.org Wed Dec 20 16:37:35 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BCA62E93AB4 for ; Wed, 20 Dec 2017 16:37:35 +0000 (UTC) (envelope-from rebecca@bluestop.org) Received: from muon.bluestop.org (muon.bluestop.org [IPv6:2605:7700:0:8:1:0:4a32:3323]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9CA627617A; Wed, 20 Dec 2017 16:37:35 +0000 (UTC) (envelope-from rebecca@bluestop.org) Received: from muon.bluestop.org (localhost [127.0.0.1]) by muon.bluestop.org (Postfix) with ESMTP id 9B9693CA8B; Wed, 20 Dec 2017 16:37:34 +0000 (UTC) Received: from muon.bluestop.org ([127.0.0.1]) by muon.bluestop.org (muon.bluestop.org [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id xTJBnY-w4uuZ; Wed, 20 Dec 2017 16:37:33 +0000 (UTC) Received: from [IPv6:2603:3026:480::a14e] (unknown [IPv6:2603:3026:480::a14e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by muon.bluestop.org (Postfix) with ESMTPSA; Wed, 20 Dec 2017 16:37:33 +0000 (UTC) Subject: Re: FreeBSD 11 not sending repeated TURs until good status returned? To: Ken Merry Cc: Alan Somers , FreeBSD-scsi References: <87ad0e0a-0183-d123-d7f3-2735c8cf854e@bluestop.org> <30772d0e-2456-a90e-54a2-7575987b25b4@bluestop.org> <9209CA38-750D-4966-911F-342092309DDF@freebsd.org> From: Rebecca Cran Message-ID: <9d73844e-582f-3e08-3944-cada11a9c768@bluestop.org> Date: Wed, 20 Dec 2017 09:37:32 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <9209CA38-750D-4966-911F-342092309DDF@freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Dec 2017 16:37:35 -0000 On 12/20/2017 09:09 AM, Ken Merry wrote: > I have seen this behavior on some HGST SSDs. I haven’t had a chance to fully chase it down. You're right, this is one of those drives. > We’ll probably need full logs to get a better idea of what is going on. Thanks, I've forwarded your email to the people working on it. -- Rebecca Cran From owner-freebsd-scsi@freebsd.org Wed Dec 20 16:44:46 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EF2BFE942B8 for ; Wed, 20 Dec 2017 16:44:46 +0000 (UTC) (envelope-from ken@freebsd.org) Received: from mithlond.kdm.org (mithlond.kdm.org [96.89.93.250]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "A1-33714", Issuer "A1-33714" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id B3B3E76598; Wed, 20 Dec 2017 16:44:46 +0000 (UTC) (envelope-from ken@freebsd.org) Received: from [10.0.0.26] (mbp2013.int.kdm.org [10.0.0.26]) (authenticated bits=0) by mithlond.kdm.org (8.15.2/8.14.9) with ESMTPSA id vBKGih1c056475 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 20 Dec 2017 11:44:44 -0500 (EST) (envelope-from ken@freebsd.org) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\)) Subject: Re: FreeBSD 11 not sending repeated TURs until good status returned? From: Ken Merry In-Reply-To: <9d73844e-582f-3e08-3944-cada11a9c768@bluestop.org> Date: Wed, 20 Dec 2017 11:44:41 -0500 Cc: Alan Somers , FreeBSD-scsi Content-Transfer-Encoding: quoted-printable Message-Id: <46D9E004-E980-4864-B981-0A21B3AE2857@freebsd.org> References: <87ad0e0a-0183-d123-d7f3-2735c8cf854e@bluestop.org> <30772d0e-2456-a90e-54a2-7575987b25b4@bluestop.org> <9209CA38-750D-4966-911F-342092309DDF@freebsd.org> <9d73844e-582f-3e08-3944-cada11a9c768@bluestop.org> To: Rebecca Cran X-Mailer: Apple Mail (2.3445.5.20) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mithlond.kdm.org [96.89.93.250]); Wed, 20 Dec 2017 11:44:44 -0500 (EST) X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Dec 2017 16:44:47 -0000 > On Dec 20, 2017, at 11:37 AM, Rebecca Cran = wrote: >=20 > On 12/20/2017 09:09 AM, Ken Merry wrote: >=20 >> I have seen this behavior on some HGST SSDs. I haven=E2=80=99t had a = chance to fully chase it down. >=20 > You're right, this is one of those drives. Looks like you have it plugged in to a 6Gb controller. Try plugging it = in to a 12Gb expander and 12Gb controller and see what happens. We have = some of those that refuse to probe at all when they=E2=80=99re attached = to a 12Gb topology. 6Gb works ok, I think, but we do get those = messages. One of my co-workers is doing the debugging on that one, so = I=E2=80=99m not sure whether some or all of the drives are having = issues. >=20 >> We=E2=80=99ll probably need full logs to get a better idea of what is = going on. >=20 > Thanks, I've forwarded your email to the people working on it. >=20 Ok. Ken =E2=80=94=20 Ken Merry ken@FreeBSD.ORG