From b3736c1b1e8c1cd0263515c79aa323de1aae07ed Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 23 May 2020 13:17:58 +0200 Subject: [PATCH] Kernel: Use a FlatPtr for the "argument" to ioctl() Since it's often used to pass pointers, it should really be a FlatPtr. --- Kernel/Devices/BXVGADevice.cpp | 2 +- Kernel/Devices/BXVGADevice.h | 2 +- Kernel/Devices/MBVGADevice.cpp | 2 +- Kernel/Devices/MBVGADevice.h | 2 +- Kernel/FileSystem/File.cpp | 2 +- Kernel/FileSystem/File.h | 2 +- Kernel/Net/IPv4Socket.cpp | 2 +- Kernel/Net/IPv4Socket.h | 2 +- Kernel/Process.cpp | 2 +- Kernel/Process.h | 2 +- Kernel/TTY/MasterPTY.cpp | 2 +- Kernel/TTY/MasterPTY.h | 2 +- Kernel/TTY/TTY.cpp | 2 +- Kernel/TTY/TTY.h | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Kernel/Devices/BXVGADevice.cpp b/Kernel/Devices/BXVGADevice.cpp index 88c0a6c91c..bf99ad094e 100644 --- a/Kernel/Devices/BXVGADevice.cpp +++ b/Kernel/Devices/BXVGADevice.cpp @@ -192,7 +192,7 @@ KResultOr BXVGADevice::mmap(Process& process, FileDescription&, Virtual return region; } -int BXVGADevice::ioctl(FileDescription&, unsigned request, unsigned arg) +int BXVGADevice::ioctl(FileDescription&, unsigned request, FlatPtr arg) { REQUIRE_PROMISE(video); switch (request) { diff --git a/Kernel/Devices/BXVGADevice.h b/Kernel/Devices/BXVGADevice.h index ccda371376..948141da3d 100644 --- a/Kernel/Devices/BXVGADevice.h +++ b/Kernel/Devices/BXVGADevice.h @@ -40,7 +40,7 @@ public: BXVGADevice(); - virtual int ioctl(FileDescription&, unsigned request, unsigned arg) override; + virtual int ioctl(FileDescription&, unsigned request, FlatPtr arg) override; virtual KResultOr mmap(Process&, FileDescription&, VirtualAddress preferred_vaddr, size_t offset, size_t, int prot, bool shared) override; private: diff --git a/Kernel/Devices/MBVGADevice.cpp b/Kernel/Devices/MBVGADevice.cpp index 989dbe6681..4f1435c9a6 100644 --- a/Kernel/Devices/MBVGADevice.cpp +++ b/Kernel/Devices/MBVGADevice.cpp @@ -73,7 +73,7 @@ KResultOr MBVGADevice::mmap(Process& process, FileDescription&, Virtual return region; } -int MBVGADevice::ioctl(FileDescription&, unsigned request, unsigned arg) +int MBVGADevice::ioctl(FileDescription&, unsigned request, FlatPtr arg) { REQUIRE_PROMISE(video); switch (request) { diff --git a/Kernel/Devices/MBVGADevice.h b/Kernel/Devices/MBVGADevice.h index ca2254fe53..3e911e8615 100644 --- a/Kernel/Devices/MBVGADevice.h +++ b/Kernel/Devices/MBVGADevice.h @@ -40,7 +40,7 @@ public: MBVGADevice(PhysicalAddress addr, size_t pitch, size_t width, size_t height); - virtual int ioctl(FileDescription&, unsigned request, unsigned arg) override; + virtual int ioctl(FileDescription&, unsigned request, FlatPtr arg) override; virtual KResultOr mmap(Process&, FileDescription&, VirtualAddress preferred_vaddr, size_t offset, size_t, int prot, bool shared) override; private: diff --git a/Kernel/FileSystem/File.cpp b/Kernel/FileSystem/File.cpp index 85d0de5a71..c12b80db5b 100644 --- a/Kernel/FileSystem/File.cpp +++ b/Kernel/FileSystem/File.cpp @@ -50,7 +50,7 @@ void File::close() { } -int File::ioctl(FileDescription&, unsigned, unsigned) +int File::ioctl(FileDescription&, unsigned, FlatPtr) { return -ENOTTY; } diff --git a/Kernel/FileSystem/File.h b/Kernel/FileSystem/File.h index bcb54f6251..0ba1fb239f 100644 --- a/Kernel/FileSystem/File.h +++ b/Kernel/FileSystem/File.h @@ -76,7 +76,7 @@ public: virtual ssize_t read(FileDescription&, size_t, u8*, ssize_t) = 0; virtual ssize_t write(FileDescription&, size_t, const u8*, ssize_t) = 0; - virtual int ioctl(FileDescription&, unsigned request, unsigned arg); + virtual int ioctl(FileDescription&, unsigned request, FlatPtr arg); virtual KResultOr mmap(Process&, FileDescription&, VirtualAddress preferred_vaddr, size_t offset, size_t size, int prot, bool shared); virtual String absolute_path(const FileDescription&) const = 0; diff --git a/Kernel/Net/IPv4Socket.cpp b/Kernel/Net/IPv4Socket.cpp index af74aa311f..922e00e81a 100644 --- a/Kernel/Net/IPv4Socket.cpp +++ b/Kernel/Net/IPv4Socket.cpp @@ -462,7 +462,7 @@ KResult IPv4Socket::getsockopt(FileDescription& description, int level, int opti } } -int IPv4Socket::ioctl(FileDescription&, unsigned request, unsigned arg) +int IPv4Socket::ioctl(FileDescription&, unsigned request, FlatPtr arg) { REQUIRE_PROMISE(inet); diff --git a/Kernel/Net/IPv4Socket.h b/Kernel/Net/IPv4Socket.h index ef06468480..2d2963734b 100644 --- a/Kernel/Net/IPv4Socket.h +++ b/Kernel/Net/IPv4Socket.h @@ -63,7 +63,7 @@ public: virtual KResult setsockopt(int level, int option, const void*, socklen_t) override; virtual KResult getsockopt(FileDescription&, int level, int option, void*, socklen_t*) override; - virtual int ioctl(FileDescription&, unsigned request, unsigned arg) override; + virtual int ioctl(FileDescription&, unsigned request, FlatPtr arg) override; bool did_receive(const IPv4Address& peer_address, u16 peer_port, KBuffer&&); diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index 1320d5ddae..c07374e6c9 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -2636,7 +2636,7 @@ int Process::sys$setpgid(pid_t specified_pid, pid_t specified_pgid) return 0; } -int Process::sys$ioctl(int fd, unsigned request, unsigned arg) +int Process::sys$ioctl(int fd, unsigned request, FlatPtr arg) { auto description = file_description(fd); if (!description) diff --git a/Kernel/Process.h b/Kernel/Process.h index 353110cadd..f24789fbdc 100644 --- a/Kernel/Process.h +++ b/Kernel/Process.h @@ -243,7 +243,7 @@ public: unsigned sys$alarm(unsigned seconds); int sys$access(const char* pathname, size_t path_length, int mode); int sys$fcntl(int fd, int cmd, u32 extra_arg); - int sys$ioctl(int fd, unsigned request, unsigned arg); + int sys$ioctl(int fd, unsigned request, FlatPtr arg); int sys$mkdir(const char* pathname, size_t path_length, mode_t mode); clock_t sys$times(tms*); int sys$utime(const char* pathname, size_t path_length, const struct utimbuf*); diff --git a/Kernel/TTY/MasterPTY.cpp b/Kernel/TTY/MasterPTY.cpp index 1f69aee4a5..ae7efb7635 100644 --- a/Kernel/TTY/MasterPTY.cpp +++ b/Kernel/TTY/MasterPTY.cpp @@ -124,7 +124,7 @@ void MasterPTY::close() } } -int MasterPTY::ioctl(FileDescription& description, unsigned request, unsigned arg) +int MasterPTY::ioctl(FileDescription& description, unsigned request, FlatPtr arg) { REQUIRE_PROMISE(tty); if (!m_slave) diff --git a/Kernel/TTY/MasterPTY.h b/Kernel/TTY/MasterPTY.h index 6fc5970b01..0dfc641d83 100644 --- a/Kernel/TTY/MasterPTY.h +++ b/Kernel/TTY/MasterPTY.h @@ -56,7 +56,7 @@ private: virtual bool can_write(const FileDescription&, size_t) const override; virtual void close() override; virtual bool is_master_pty() const override { return true; } - virtual int ioctl(FileDescription&, unsigned request, unsigned arg) override; + virtual int ioctl(FileDescription&, unsigned request, FlatPtr arg) override; virtual const char* class_name() const override { return "MasterPTY"; } RefPtr m_slave; diff --git a/Kernel/TTY/TTY.cpp b/Kernel/TTY/TTY.cpp index 6e3768aca5..1914e4e12c 100644 --- a/Kernel/TTY/TTY.cpp +++ b/Kernel/TTY/TTY.cpp @@ -279,7 +279,7 @@ void TTY::set_termios(const termios& t) #endif } -int TTY::ioctl(FileDescription&, unsigned request, unsigned arg) +int TTY::ioctl(FileDescription&, unsigned request, FlatPtr arg) { REQUIRE_PROMISE(tty); auto& process = *Process::current; diff --git a/Kernel/TTY/TTY.h b/Kernel/TTY/TTY.h index 611fbb5cce..7e7470fa8e 100644 --- a/Kernel/TTY/TTY.h +++ b/Kernel/TTY/TTY.h @@ -43,7 +43,7 @@ public: virtual ssize_t write(FileDescription&, size_t, const u8*, ssize_t) override; virtual bool can_read(const FileDescription&, size_t) const override; virtual bool can_write(const FileDescription&, size_t) const override; - virtual int ioctl(FileDescription&, unsigned request, unsigned arg) override final; + virtual int ioctl(FileDescription&, unsigned request, FlatPtr arg) override final; virtual String absolute_path(const FileDescription&) const override { return tty_name(); } virtual StringView tty_name() const = 0;