Skip to content

Tracer for file operations in linux kernel 2.6.34.8 (Advanced Topics in Operating Systems assignment).

Notifications You must be signed in to change notification settings

grzegorz8/zso-tracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Grzegorz Kołakowski, gk291583

Rozwiązanie zadania 3

Nowe pliki:
    include/trace/trace_file.h
    kernel/trace/trace_file.c
    
Zmodyfikowane pliki:
    fs/open.c
    fs/read_write.c
    include/linux/fs.h
    kernel/trace/Kconfig
    kernel/trace/Makefile

W skrócie śledzenie operacji wykonywanych na plikach opiera się na
tracepointach. Odpowiednie tracepointy dodane są w definicjach wywołań
systemowych funkcji open, close, read, write, lseek.

Definicje tracepointów umieszczone są w pliku include/trace/trace_file.h.
Funkcje obsługujące tracepointy są zdefiniowane w plikach
kernel/trace/trace_file.c. 

Sam tracer definiuje jedynie dwie funkcje, wywoływane przy przełączaniu
aktywnego tracera: init, reset. W nich rejestrowne/wyrejestrowywane
są funkcje obsługujące poszczególne tracepointy: probe_file_open,
probe_file_close, probe_file_lseek, probe_file_read, probe_file_write.

Aby dodać do jądra opcję śledzenia operacji na plikach wystarczy włączyć opcję
Kernel hacking -> Tracers. File_tracer zostanie wówczas automatycznie
zaznaczony.

==============================================================================
Ocena

Sprawdzenie kodu:

1. print_data_line: brak sprawdzania wyniku z kmalloc [-0.3p]

Suma: 9.7/10 

About

Tracer for file operations in linux kernel 2.6.34.8 (Advanced Topics in Operating Systems assignment).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages