浏览代码

[SPARC64]: Fix set/get MTU cases in sunos_ioctl()

Need to use compat struct sizes and compat_sys_ioctl().
Reported by Adrian Bunk via kernel bugzilla #2683

Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller 19 年之前
父节点
当前提交
09bbe1043a
共有 1 个文件被更改,包括 5 次插入4 次删除
  1. 5 4
      arch/sparc64/kernel/sunos_ioctl32.c

+ 5 - 4
arch/sparc64/kernel/sunos_ioctl32.c

@@ -152,11 +152,12 @@ asmlinkage int sunos_ioctl (int fd, u32 cmd, u32 arg)
 		ret = compat_sys_ioctl(fd, SIOCGIFCONF, arg);
 		ret = compat_sys_ioctl(fd, SIOCGIFCONF, arg);
 		goto out;
 		goto out;
 
 
-	case _IOW('i', 21, struct ifreq): /* SIOCSIFMTU */
-		ret = sys_ioctl(fd, SIOCSIFMTU, arg);
+	case _IOW('i', 21, struct ifreq32):
+		ret = compat_sys_ioctl(fd, SIOCSIFMTU, arg);
 		goto out;
 		goto out;
-	case _IOWR('i', 22, struct ifreq): /* SIOCGIFMTU */
-		ret = sys_ioctl(fd, SIOCGIFMTU, arg);
+
+	case _IOWR('i', 22, struct ifreq32):
+		ret = compat_sys_ioctl(fd, SIOCGIFMTU, arg);
 		goto out;
 		goto out;
 
 
 	case _IOWR('i', 23, struct ifreq32):
 	case _IOWR('i', 23, struct ifreq32):