mbox series

[0/2] EDAC/igen6: Avoid segmentation fault and add polling support

Message ID 20241101204211.414664-1-orange@aiven.io (mailing list archive)
Headers show
Series EDAC/igen6: Avoid segmentation fault and add polling support | expand

Message

Orange Kao Nov. 1, 2024, 8:41 p.m. UTC
Hello. This is Orange from Aiven Australia. I want to propose two patches to fix
a bug that affects my machine with Intel N100.

Patch 1: Avoid segmentation fault during rmmod
Patch 2: Add polling support

The detailed reproduce steps has been documented in kernel bugzilla 219360.
Summary below

I have a PC with Intel N100 (with PCI device 8086:461c, DID_ADL_N_SKU4 in
igen6_edac.c) with a BIOS/UEFI that allows me to enable IBECC and error
injection.

Interrupt seems not working in Linux, but it seems able to detect the error when
"modprobe igen6_edac". I am not sure if this is a BIOS bug or not, but I have no
access to BIOS source code. So I tried to implement polling, and it seems to
work. My proposal in patch 2.

Also "rmmod igen6_edac" can trigger segmentation fault. It seems caused by
double kfree on the same memory address. I tried to fix it in patch 1.

Thanks for considering this. I am new to this area so I could be wrong, and I
might need extra help and guidance.

Comments

Zhuo, Qiuxu Nov. 2, 2024, 6:30 a.m. UTC | #1
> From: Orange Kao <orange@aiven.io>
> [...]
> Subject: [PATCH 0/2] EDAC/igen6: Avoid segmentation fault and add polling
> support
> 
> Hello. This is Orange from Aiven Australia. I want to propose two patches to
> fix a bug that affects my machine with Intel N100.

Hi Orange, welcome! 
Feel free to propose your patches. :-)

> Patch 1: Avoid segmentation fault during rmmod Patch 2: Add polling support
> 
> The detailed reproduce steps has been documented in kernel bugzilla 219360.
> Summary below
> 
> I have a PC with Intel N100 (with PCI device 8086:461c, DID_ADL_N_SKU4 in
> igen6_edac.c) with a BIOS/UEFI that allows me to enable IBECC and error
> injection.
> 
> Interrupt seems not working in Linux, but it seems able to detect the error
> when "modprobe igen6_edac". I am not sure if this is a BIOS bug or not, but I
> have no access to BIOS source code. So I tried to implement polling, and it
> seems to work. My proposal in patch 2.

Good proposal. 

> Also "rmmod igen6_edac" can trigger segmentation fault. It seems caused by
> double kfree on the same memory address. I tried to fix it in patch 1.

Good finding. 

> Thanks for considering this. I am new to this area so I could be wrong, and I
> might need extra help and guidance.

You've already done well in this analysis and in providing patches. :-)
I'll review and add some minor comments to your patches. 
If they're OK with you, please re-send the patches after 
resolving the comments. 

Thank you for your cooperation.

-Qiuxu