@@ -33,9 +33,10 @@ func checkPtmxHandle(ptmx *os.File) error {
3333 if stat .Ino != PTMX_INO {
3434 return fmt .Errorf ("ptmx handle has wrong inode number: %v" , stat .Ino )
3535 }
36- if stat .Mode & unix .S_IFMT != unix .S_IFCHR || stat .Rdev != unix .Mkdev (PTMX_MAJOR , PTMX_MINOR ) {
36+ rdev := uint64 (stat .Rdev ) //nolint:unconvert // Rdev is uint32 on MIPS.
37+ if stat .Mode & unix .S_IFMT != unix .S_IFCHR || rdev != unix .Mkdev (PTMX_MAJOR , PTMX_MINOR ) {
3738 return fmt .Errorf ("ptmx handle is not a real char ptmx device: ftype %#x %d:%d" ,
38- stat .Mode & unix .S_IFMT , unix .Major (stat . Rdev ), unix .Minor (stat . Rdev ))
39+ stat .Mode & unix .S_IFMT , unix .Major (rdev ), unix .Minor (rdev ))
3940 }
4041 return nil
4142 })
@@ -79,9 +80,10 @@ func getPtyPeer(pty console.Console, unsafePeerPath string, flags int) (*os.File
7980 if statfs .Type != unix .DEVPTS_SUPER_MAGIC {
8081 return fmt .Errorf ("pty peer handle is not on a real devpts mount: super magic is %#x" , statfs .Type )
8182 }
82- if stat .Mode & unix .S_IFMT != unix .S_IFCHR || stat .Rdev != wantPeerDev {
83+ rdev := uint64 (stat .Rdev ) //nolint:unconvert // Rdev is uint32 on MIPS.
84+ if stat .Mode & unix .S_IFMT != unix .S_IFCHR || rdev != wantPeerDev {
8385 return fmt .Errorf ("pty peer handle is not the real char device for pty %d: ftype %#x %d:%d" ,
84- peerNum , stat .Mode & unix .S_IFMT , unix .Major (stat . Rdev ), unix .Minor (stat . Rdev ))
86+ peerNum , stat .Mode & unix .S_IFMT , unix .Major (rdev ), unix .Minor (rdev ))
8587 }
8688 return nil
8789 }); err != nil {
0 commit comments