-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
40 lines (29 loc) · 1.24 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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