Originally Posted by dtor
Heh, not only community patch has a bug in it, but it looks like Nvidia made the same error in their official driver:
#if defined(KERNEL_2_4) || \
(NV_ACPI_WALK_NAMESPACE_ARGUMENT_COUNT == 6)
#define NV_ACPI_WALK_NAMESPACE(type, args...) acpi_walk_namespace(type, args)
#elif (NV_ACPI_WALK_NAMESPACE_ARGUMENT_COUNT == 7)
#define NV_ACPI_WALK_NAMESPACE(type, args...) \
acpi_walk_namespace(type, args, NULL)
#error "NV_ACPI_WALK_NAMESPACE_ARGUMENT_COUNT value unrecognized!"
As you can see, in the case if 7 arguments NULL is added as the last argument to acpi_walk_namespace().
In all fairness, the bug will only manifest when compiling with DEBUG since the other call site uses NULLs for context and return value arguments as well.
I wish I had seen this several months ago. It would have saved me a great deal of grief and frustration trying to isolate the cause of an issue on my system
. I had thought that this issue had been fixed in newer drivers, so I did not bother to check to see if it was the cause, even though it was a perfect candidate.
Assuming you are still reading this, are you sure that this bug will only occurs when compiling with DEBUG options? I ask because I have a Gentoo Linux system where all debug options are supposed to be disabled, I seem to be affected by this issue with all versions of unpatched versions of nvidia's drivers that work with the Linux 2.6.33 kernel.