From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kay Sievers Date: Mon, 13 Sep 2004 01:23:58 +0000 Subject: Re: udevstart badly broken in udev 031 Message-Id: <1095038638.3537.22.camel@localhost.localdomain> MIME-Version: 1 Content-Type: multipart/mixed; boundary="=-7DCg2uKB4XwbK1Ugdztc" List-Id: References: <20040912235611.GA2326@wonderland.linux.it> In-Reply-To: <20040912235611.GA2326@wonderland.linux.it> To: linux-hotplug@vger.kernel.org --=-7DCg2uKB4XwbK1Ugdztc Content-Type: text/plain Content-Transfer-Encoding: 7bit On Mon, 2004-09-13 at 01:56 +0200, Marco d'Itri wrote: > Starting from udev 031, the %-arguments passed to PROGRAMs are not > correct when the new udevstart code is being used. > > KERNEL="event[0-9]*", NAME="input/%k", PROGRAM="/etc/udev/inputdev.sh %k %n %M %m", RESULT="inputdev", MODE="0664", GROUP="video" > > generates this log (just echo $*): > > event0 0 13 64 > event0 0 13 64 > event0 0 13 64 > > while the correct log (generated using the old shell script instead of > udevstart) would be: > > event0 0 13 64 > event1 1 13 65 > event2 2 13 66 Yes, I can simulate this, please try the attached patch. I expect, that it fixes it, cause we better not mangle the parsed config while matching the rules. Thanks, Kay --=-7DCg2uKB4XwbK1Ugdztc Content-Disposition: inline; filename=udevstart-fix-01.patch Content-Type: text/x-patch; name=udevstart-fix-01.patch; charset=utf-8 Content-Transfer-Encoding: 7bit ===== namedev.c 1.144 vs edited ===== --- 1.144/namedev.c 2004-09-07 12:50:10 +02:00 +++ edited/namedev.c 2004-09-13 03:15:56 +02:00 @@ -813,10 +813,12 @@ /* execute external program */ if (dev->program[0] != '\0') { + char program[PROGRAM_SIZE]; + dbg("check " FIELD_PROGRAM); - apply_format(udev, dev->program, sizeof(dev->program), - class_dev, sysfs_device); - if (execute_program(dev->program, udev->program_result, NAME_SIZE) != 0) { + strfieldcpy(program, dev->program); + apply_format(udev, program, sizeof(program), class_dev, sysfs_device); + if (execute_program(program, udev->program_result, NAME_SIZE) != 0) { dbg(FIELD_PROGRAM " returned nonzero"); goto try_parent; } else { --=-7DCg2uKB4XwbK1Ugdztc-- ------------------------------------------------------- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel