Re: Schreibzugriff auf Module unter /lib/modules/
Hallo,
Simon Brandmair wrote:
> ich habe ein bißchen mit inotify rumgespielt und darüber jetzt
> festgestellt, dass z.B. beim Nachladen des Modules usbmouse schreibend auf
> Module zugegriffen wird:
> /lib/modules/2.6.18/kernel/drivers/usb/core/usbcore.ko CLOSE_WRITE,CLOSE
Ja, ist hier auch so.
> Mir fehlt es dabei etwas am Grundlagenwissen. Wieso muss beim Laden eines
> Modules mit Schreibrechten darauf zugegriffen werden? Ich wäre um jeden
> Hinweis dankbar.
Offenbar ist dieser Code aus
module-init-tools-3.3-pre11/build-tree/module-init-tools-3.3-pre11/modprobe.c
dafür verantwortlich:
static int lock_file(const char *filename)
{
int fd = open(filename, O_RDWR, 0);
if (fd >= 0) {
struct flock lock;
lock.l_type = F_WRLCK;
lock.l_whence = SEEK_SET;
lock.l_start = 0;
lock.l_len = 1;
fcntl(fd, F_SETLKW, &lock);
} else
/* Read-only filesystem? There goes locking... */
fd = open(filename, O_RDONLY, 0);
return fd;
}
Wenn ich das richtig verstehe, wird ein Write Lock auf das Modul
gesetzt, um zu verhindern, dass das Modul während des Ladens modifiziert
wird. Dafür muss wohl die Datei R/W geöffnet werden.
hth, Wolf
--
Mein Beitrag zur Gesundheit besteht in der regelmäßigen Aktualisierung des
Patchlevels meines OS. (~til im Nurpel-Forum)
Reply to: