From ae8d966f5af0bba9978a1aedac64038ef65a4cc9 Mon Sep 17 00:00:00 2001 From: Kevin Krakauer Date: Thu, 11 Feb 2021 11:06:56 -0800 Subject: Assign controlling terminal when tty is opened and support NOCTTY PiperOrigin-RevId: 357015186 --- pkg/sentry/fs/tty/master.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'pkg/sentry/fs/tty/master.go') diff --git a/pkg/sentry/fs/tty/master.go b/pkg/sentry/fs/tty/master.go index b91184b1b..1cf869b62 100644 --- a/pkg/sentry/fs/tty/master.go +++ b/pkg/sentry/fs/tty/master.go @@ -153,7 +153,7 @@ func (mf *masterFileOperations) Write(ctx context.Context, _ *fs.File, src userm } // Ioctl implements fs.FileOperations.Ioctl. -func (mf *masterFileOperations) Ioctl(ctx context.Context, _ *fs.File, io usermem.IO, args arch.SyscallArguments) (uintptr, error) { +func (mf *masterFileOperations) Ioctl(ctx context.Context, file *fs.File, io usermem.IO, args arch.SyscallArguments) (uintptr, error) { t := kernel.TaskFromContext(ctx) if t == nil { // ioctl(2) may only be called from a task goroutine. @@ -189,7 +189,7 @@ func (mf *masterFileOperations) Ioctl(ctx context.Context, _ *fs.File, io userme case linux.TIOCSCTTY: // Make the given terminal the controlling terminal of the // calling process. - return 0, mf.t.setControllingTTY(ctx, args, true /* isMaster */) + return 0, mf.t.setControllingTTY(ctx, args, true /* isMaster */, file.Flags().Read) case linux.TIOCNOTTY: // Release this process's controlling terminal. return 0, mf.t.releaseControllingTTY(ctx, args, true /* isMaster */) -- cgit v1.2.3