summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/fs/tty/replica.go
diff options
context:
space:
mode:
authorKevin Krakauer <krakauer@google.com>2021-02-11 11:06:56 -0800
committergVisor bot <gvisor-bot@google.com>2021-02-11 11:09:22 -0800
commitae8d966f5af0bba9978a1aedac64038ef65a4cc9 (patch)
treec6540f92ac18e178dcd0189302ee94e13c12b3d6 /pkg/sentry/fs/tty/replica.go
parent192780946fdf584c5e504b24f47dbd9bd411a3a6 (diff)
Assign controlling terminal when tty is opened and support NOCTTY
PiperOrigin-RevId: 357015186
Diffstat (limited to 'pkg/sentry/fs/tty/replica.go')
-rw-r--r--pkg/sentry/fs/tty/replica.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/pkg/sentry/fs/tty/replica.go b/pkg/sentry/fs/tty/replica.go
index 385d230fb..0e3eea3bd 100644
--- a/pkg/sentry/fs/tty/replica.go
+++ b/pkg/sentry/fs/tty/replica.go
@@ -138,7 +138,7 @@ func (sf *replicaFileOperations) Write(ctx context.Context, _ *fs.File, src user
}
// Ioctl implements fs.FileOperations.Ioctl.
-func (sf *replicaFileOperations) Ioctl(ctx context.Context, _ *fs.File, io usermem.IO, args arch.SyscallArguments) (uintptr, error) {
+func (sf *replicaFileOperations) 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.
@@ -167,7 +167,7 @@ func (sf *replicaFileOperations) Ioctl(ctx context.Context, _ *fs.File, io userm
case linux.TIOCSCTTY:
// Make the given terminal the controlling terminal of the
// calling process.
- return 0, sf.si.t.setControllingTTY(ctx, args, false /* isMaster */)
+ return 0, sf.si.t.setControllingTTY(ctx, args, false /* isMaster */, file.Flags().Read)
case linux.TIOCNOTTY:
// Release this process's controlling terminal.
return 0, sf.si.t.releaseControllingTTY(ctx, args, false /* isMaster */)