]> git.baikalelectronics.ru Git - kernel.git/commit
x86/gpu: Fix sign extension issue in Intel graphics stolen memory quirks
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Sun, 13 Apr 2014 09:45:03 +0000 (12:45 +0300)
committerIngo Molnar <mingo@kernel.org>
Mon, 14 Apr 2014 06:50:56 +0000 (08:50 +0200)
commit52944c6831a0d6bda02cec1b209c47ad7f9c14d2
tree9e383ae14c3ab264719ca02f4cd14a1dd0ca6fba
parent5809cee8115428a88b0abce8a1df41a6a5c914dd
x86/gpu: Fix sign extension issue in Intel graphics stolen memory quirks

Have the KB(),MB(),GB() macros produce unsigned longs to avoid
unintended sign extension issues with the gen2 memory size
detection.

What happens is first the uint8_t returned by
read_pci_config_byte() gets promoted to an int which gets
multiplied by another int from the MB() macro, and finally the
result gets sign extended to size_t.

Although this shouldn't be a problem in practice as all affected
gen2 platforms are 32bit AFAIK, so size_t will be 32 bits.

Reported-by: Bjorn Helgaas <bhelgaas@google.com>
Suggested-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: linux-kernel@vger.kernel.org
Link: http://lkml.kernel.org/r/1397382303-17525-1-git-send-email-ville.syrjala@linux.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/early-quirks.c