add uncaught bug for debugging in the wild

This commit is contained in:
ІО-23 Шмуляр Олег 2024-12-17 20:56:26 +02:00
parent ace684facc
commit eb6167ae63
2 changed files with 14 additions and 3 deletions

View File

@ -2,13 +2,17 @@
ifneq ($(KERNELRELEASE),) ifneq ($(KERNELRELEASE),)
# kbuild part of makefile # kbuild part of makefile
obj-m := hello1.o hello2.o obj-m := hello1.o hello2.o
ccflags-y := -I$(obj)/inc ccflags-y := -I$(obj)/inc -g
else else
# normal makefile # normal makefile
KDIR ?= /lib/modules/`uname -r`/build KDIR ?= /lib/modules/`uname -r`/build
default: default:
$(MAKE) -C $(KDIR) M=$$PWD $(MAKE) -C $(KDIR) M=$$PWD
cp hello1.ko hello1.ko.unstripped
$(CROSS_COMPILE)strip -g hello1.ko
clean: clean:
$(MAKE) -C $(KDIR) M=$$PWD clean $(MAKE) -C $(KDIR) M=$$PWD clean
endif endif

View File

@ -45,6 +45,7 @@ struct TimingList {
}; };
static struct TimingList *tl_head; static struct TimingList *tl_head;
static unsigned int bug_generator;
static struct TimingList *write_first_node(void) static struct TimingList *write_first_node(void)
{ {
@ -59,8 +60,12 @@ static struct TimingList *insert_next_node(struct TimingList *tail)
struct TimingList *new_tl_node = kmalloc(sizeof(struct TimingList), struct TimingList *new_tl_node = kmalloc(sizeof(struct TimingList),
GFP_KERNEL); GFP_KERNEL);
tail->next = new_tl_node; if (bug_generator == 2) {
new_tl_node->next = NULL; new_tl_node = NULL;
} else {
tail->next = new_tl_node;
new_tl_node->next = NULL;
}
return new_tl_node; return new_tl_node;
} }
@ -106,6 +111,8 @@ void print_hello(int msg_count)
struct TimingList *current_tail = tl_head; struct TimingList *current_tail = tl_head;
for (i = 0; i < msg_count; i++) { for (i = 0; i < msg_count; i++) {
bug_generator = i;
current_tail = add_new_node(current_tail); current_tail = add_new_node(current_tail);
current_tail->t_before = ktime_get(); current_tail->t_before = ktime_get();