From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261863AbTILVOJ (ORCPT ); Fri, 12 Sep 2003 17:14:09 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261878AbTILVOJ (ORCPT ); Fri, 12 Sep 2003 17:14:09 -0400 Received: from gprs144-244.eurotel.cz ([160.218.144.244]:1408 "EHLO amd.ucw.cz") by vger.kernel.org with ESMTP id S261863AbTILVOG (ORCPT ); Fri, 12 Sep 2003 17:14:06 -0400 Date: Fri, 12 Sep 2003 23:13:06 +0200 From: Pavel Machek To: Vojtech Pavlik Cc: Raphael Assenat , kernel list Subject: Re: [PATCH] ioctl entries for joystick in compat_ioctl.h Message-ID: <20030912211306.GA444@elf.ucw.cz> References: <20030912112557.C10099@raphnet.net> <20030912184145.GB5805@elf.ucw.cz> <20030912200148.GA7711@ucw.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030912200148.GA7711@ucw.cz> X-Warning: Reading this can be dangerous to your mental health. User-Agent: Mutt/1.5.3i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Hi! > > > I wanted to use a joystick on my sparc64 workstation, and discovered that the > > > joystick driver uses simple ioclt that are safe to pass from 32bit user space > > > to 64bit kernel space. My patch adds the necessary entries in compat_ioctl.h. > > > > > > There is only one missing ioctl in the patch. The ioctl is defined like this: > > > #define JSIOCGNAME(len) _IOC(_IOC_READ, 'j', 0x13, len) > > > so the command does not have a fixed value. I dont know how to handle this one, > > > but it is only used to get the joystick name, all the applications I tried work > > > well even if this ioctl fails. > > > > Well, whoever invented that JSIOCGNAME should be shot. That is not > > single ioctl, its 2^14 of them! > > Well, who could ever have known that this will be a problem in 1998? > It's not the only ioctl done this way. So it was you? :-) I believe ultrasparcs were around in '98. Anyway, what are other ioctls doing this? They look pretty problematic from compat_ioctl perspective. We could do better by pushing compat handler down to the drivers for ugly cases like this... Pavel -- When do you have a heart between your knees? [Johanka's followup: and *two* hearts?]