[PATCH] nvidiafb: fix unreachable code in nv10GetConfig

STALE7234d

4 messages, 3 authors, 2006-11-12 · open the first message on its own page

[PATCH] nvidiafb: fix unreachable code in nv10GetConfig

From: Nathan Lynch <hidden>
Date: 2006-11-08 19:55:19

Fix binary/logical operator typo which leads to unreachable code.
Noticed while looking at other issues; I don't have the relevant
hardware to test this.


Signed-off-by: Nathan Lynch <redacted>
--- linux-2.6-powerpc.git.orig/drivers/video/nvidia/nv_setup.c
+++ linux-2.6-powerpc.git/drivers/video/nvidia/nv_setup.c
@@ -262,7 +262,7 @@ static void nv10GetConfig(struct nvidia_
 #endif
 
 	dev = pci_find_slot(0, 1);
-	if ((par->Chipset && 0xffff) == 0x01a0) {
+	if ((par->Chipset & 0xffff) == 0x01a0) {
 		int amt = 0;
 
 		pci_read_config_dword(dev, 0x7c, &amt);

Re: [PATCH] nvidiafb: fix unreachable code in nv10GetConfig

From: Andrew Morton <hidden>
Date: 2006-11-08 20:14:14

On Wed, 8 Nov 2006 13:55:11 -0600
Nathan Lynch [off-list ref] wrote:
quoted hunk
Fix binary/logical operator typo which leads to unreachable code.
Noticed while looking at other issues; I don't have the relevant
hardware to test this.


Signed-off-by: Nathan Lynch <redacted>
--- linux-2.6-powerpc.git.orig/drivers/video/nvidia/nv_setup.c
+++ linux-2.6-powerpc.git/drivers/video/nvidia/nv_setup.c
@@ -262,7 +262,7 @@ static void nv10GetConfig(struct nvidia_
 #endif
 
 	dev = pci_find_slot(0, 1);
-	if ((par->Chipset && 0xffff) == 0x01a0) {
+	if ((par->Chipset & 0xffff) == 0x01a0) {
 		int amt = 0;
 
 		pci_read_config_dword(dev, 0x7c, &amt);
That looks like a pretty significant bug.  It'll cause the kernel to
potentially map the wrong amount of memory for all cards except the
NV_ARCH_04 type.  Has been there for over a year though.  hmm..

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

Re: [PATCH] nvidiafb: fix unreachable code in nv10GetConfig

From: Nathan Lynch <hidden>
Date: 2006-11-08 22:04:29

Andrew Morton wrote:
On Wed, 8 Nov 2006 13:55:11 -0600
Nathan Lynch [off-list ref] wrote:
quoted
Fix binary/logical operator typo which leads to unreachable code.
Noticed while looking at other issues; I don't have the relevant
hardware to test this.


Signed-off-by: Nathan Lynch <redacted>
--- linux-2.6-powerpc.git.orig/drivers/video/nvidia/nv_setup.c
+++ linux-2.6-powerpc.git/drivers/video/nvidia/nv_setup.c
@@ -262,7 +262,7 @@ static void nv10GetConfig(struct nvidia_
 #endif
 
 	dev = pci_find_slot(0, 1);
-	if ((par->Chipset && 0xffff) == 0x01a0) {
+	if ((par->Chipset & 0xffff) == 0x01a0) {
 		int amt = 0;
 
 		pci_read_config_dword(dev, 0x7c, &amt);
That looks like a pretty significant bug.  It'll cause the kernel to
potentially map the wrong amount of memory for all cards except the
NV_ARCH_04 type.  Has been there for over a year though.  hmm..
Did some searching, and assuming that chipset == PCI device id
(dubious?), I think the bug would affect only some integrated GeForce2
cards, which are somewhat old.

It looks to me like the other devices handled by nv10GetConfig would
still be handled as intended, but I'm not familiar with this code.

Re: [PATCH] nvidiafb: fix unreachable code in nv10GetConfig

From: James Simmons <hidden>
Date: 2006-11-12 22:20:58

Andrew Morton wrote:
quoted
On Wed, 8 Nov 2006 13:55:11 -0600
Nathan Lynch [off-list ref] wrote:
quoted
Fix binary/logical operator typo which leads to unreachable code.
Noticed while looking at other issues; I don't have the relevant
hardware to test this.


Signed-off-by: Nathan Lynch <redacted>
--- linux-2.6-powerpc.git.orig/drivers/video/nvidia/nv_setup.c
+++ linux-2.6-powerpc.git/drivers/video/nvidia/nv_setup.c
@@ -262,7 +262,7 @@ static void nv10GetConfig(struct nvidia_
 #endif

 	dev = pci_find_slot(0, 1);
-	if ((par->Chipset && 0xffff) == 0x01a0) {
+	if ((par->Chipset & 0xffff) == 0x01a0) {
 		int amt = 0;

 		pci_read_config_dword(dev, 0x7c, &amt);
That looks like a pretty significant bug.  It'll cause the kernel to
potentially map the wrong amount of memory for all cards except the
NV_ARCH_04 type.  Has been there for over a year though.  hmm..
Did some searching, and assuming that chipset == PCI device id
(dubious?), I think the bug would affect only some integrated GeForce2
cards, which are somewhat old.

It looks to me like the other devices handled by nv10GetConfig would
still be handled as intended, but I'm not familiar with this code.
Your assumption is correct :-)


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help