Re: Kern ext. message "An item in the Startup Items folder...Fix"
site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com Message: 1 Date: Tue, 7 Feb 2006 12:12:14 +1100 From: Sam Vaughan <svaughan@sgi.com> Subject: Re: Kern ext. message "An item in the Startup Items folder...Fix" To: darwin-kernel@lists.apple.com Message-ID: <6EDB3480-F6EB-443F-B00E-AAB394393C6E@sgi.com> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed On 07/02/2006, at 7:02 AM, Cliff Russell <cliff_russell@atimi.com> wrote: If that's the case, why don't you put your KEXT in /System/Library/ Extensions? There are a couple circumstances where is makes sense to not put your kernel extension in /S/L/E, but to me this doesn't seem to be one of them Note that simply placing your kext in /S/L/E doesn't mean it will be loaded automatically at boot. IOKit matching can cause it to do so, but it's not the default behaviour. Sam ------------------------------ Message: 2 Date: Mon, 6 Feb 2006 21:08:52 -0800 From: Cliff Russell <cliff_russell@atimi.com> Subject: Re: Kern ext. message "An item in the Startup Items folder...Fix" To: John Davidorff Pell <jpell.lists@mac.com> Cc: Darwin Kernel List <darwin-kernel@lists.apple.com> Message-ID: <0A4A62B1-F8A6-4632-95D1-D50A12440727@atimi.com> Content-Type: text/plain; charset=ISO-8859-1; delsp=yes; format=flowed John, I don't think it's that simple. I think you'll find that a lot of third party drivers, especially authors of kernel extensions that need to participate in the boot process or driver matching will install their kernel extension in / System/Library/Extensions. In fact, in "I/O Kit Device Driver Design Guidlines" under "Packaging Drivers for Installation" you'll see a note talking about using creating a package to install your kernel extension in /System/ Library/Extensions (see <http://developer.apple.com/documentation/ DeviceDrivers/Conceptual/WritingDeviceDriver/index.html>) I can't find any Apple documentation indicating that third parties should not install their kernel extensions in /System/Library/ Extensions. Yes, /System is Apple owned, but I think this is an exception to that rule. As well Startup Items are deprecated on 10.4. (see <http:// developer.apple.com/technotes/tn2005/tn2083.html>) Alain needs to decide where his extensions needs to be installed. I think if his extension needs to run everytime the machine boots and he sets up the appropriate matching information then /System/Library/Extensions is reasonable, but perhaps there is some other requirement to his extension that I don't know about and loading from somewhere else makes sense. Yes, MyKext need to be load every time the computer start. -- Cliff On 6-Feb-06, at 7:28 PM, John Davidorff Pell wrote: Its not a dumb question to someone who doesn't know the answer, but the answer is simple: Apple owns /System. No third party should ever install anything in /System. A startup script to load an external kext is the correct way to load a kext at startup. JP On 6 Feb 2006, at 10:32, Cliff Russell wrote: Alain, This may be a dumb question with a clever answer but, if your startup scipt looks like this: #!/bin/sh /sbin/kextload /Library/StartupItems/MyKern/MyKern.kext then it seems like you want you KEXT to be loaded everytime the machine boots. If that's the case, why don't you put your KEXT in /System/Library/ Extensions? There are a couple circumstances where is makes sense to not put your kernel extension in /S/L/E, but to me this doesn't seem to be one of them -- Cliff On 6-Feb-06, at 1:28 AM, Stephane Sudre wrote: On 4 févr. 06, at 17:47, Peter Lovell wrote: On Feb 4, 2006, at 8:00 AM, Alain Birtz wrote: After the restart Mac OS X send this message dot thef the kernel extention myKern An item in the Startup Items folder ("/Library/StartupItems/ myKern") does not have the proper security settings." Options are to "Disable" or "Fix" (or "Decide Later" to change nothing). The permission, owner and group of the kernel extention files seem exactly the same after and before the "Fix". Do I miss something ? Hi Alain, I had thought, actually, that "Fix" was no longer an option. The general rules for kexts are that all items be owned by root:wheel (uid:gid is 0:0) and that nothing be writable except by root. That usually translates to mode 755 for directories and 644 for files. Starting with 10.4, I think every file/folder within the StartupItems folder need to be owned by root:wheel, not just the kext. Someone probably realized the main security flaw was not with kexts but with startup scripts... _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/cliff_russell %40atimi.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/jpell.lists% 40mac.com ---- It's all fun and games 'til someone writes to a NULL pointer! ------------------------------ Message: 3 Date: Tue, 7 Feb 2006 19:54:32 +0530 From: "Mekhala Patil" <shirke.mekhala@spsoftindia.com> Subject: how to write and override IOBlockStorageDriver??? To: <darwin-kernel@lists.apple.com> Message-ID: <WME0F0FEAB438D4a13B3E2F16CB8733969@spsoftindia.com> Content-Type: text/plain; charset="us-ascii" Hi Folks, I want to write IOBlockStorageDriver to trap/overload the read/write request. Whereas I want to write IOBlockStorageDriver for SCSI devices. Also how can my IOBlockStorageDriver gets loaded with the default IOBlockStorageDriver? Thanks in advance. Regards, Mekhala ------------------------------ Message: 4 Date: Tue, 7 Feb 2006 10:55:50 -0800 From: Mike Smith <drivers@mu.org> Subject: Re: how to write and override IOBlockStorageDriver??? To: Mekhala Patil <shirke.mekhala@spsoftindia.com> Cc: darwin-kernel@lists.apple.com Message-ID: <4587E617-9548-4EE8-AE56-840840680BA9@mu.org> Content-Type: text/plain; charset="us-ascii" On Feb 7, 2006, at 6:24 AM, Mekhala Patil wrote: I want to write IOBlockStorageDriver to trap/overload the read/ write request. I would like to know from where should I start??? I have downloaded IOATABlockStorageDriver code from Darwin site. But after going through ioregistry I came to know that IOATABlockStorageDriver is layered below IOBlockStorageDriver which converts ATA specific read/ write requests to generic read/write requests. It's not quite clear what you mean here. Are you attempting to write a driver for a SCSI controller? Or are you trying to intercept block I/Os, but only to SCSI devices? = Mike ------------------------------ _______________________________________________ Darwin-kernel mailing list Darwin-kernel@lists.apple.com http://lists.apple.com/mailman/listinfo/darwin-kernel End of Darwin-kernel Digest, Vol 3, Issue 31 ******************************************** _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... Not sure to understand: do you mean that simply placing the kext in / S/L/E wil force the kext to load automatically at boot and this without the script holding the kextload instruction ? This email sent to cliff_russell@atimi.com This email sent to jpell.lists@mac.com I would like to know from where should I start??? I have downloaded IOATABlockStorageDriver code from Darwin site. But after going through ioregistry I came to know that IOATABlockStorageDriver is layered below IOBlockStorageDriver which converts ATA specific read/write requests to generic read/write requests. Is there any code available for IOBlockStorageDriver which uses SCSI drivers as transport layer drivers?
participants (1)
-
Alain Birtz