View Single Post
Old 06-15-10, 10:09 PM   #5
ShiningArcanine
Registered User
 
Join Date: Aug 2006
Posts: 106
Default Re: nvidia-190.53-2.6.33.patch has a bug in it

Quote:
Originally Posted by dtor View Post
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)
#else
#error "NV_ACPI_WALK_NAMESPACE_ARGUMENT_COUNT value unrecognized!"
#endif

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.
ShiningArcanine is offline   Reply With Quote