mirror of https://gitee.com/openkylin/linux.git
An array out-of-bounds fix from Andrew when setting the scrub rate of
the memory controller. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIcBAABAgAGBQJQh/0MAAoJEBLB8Bhh3lVKBk0P+gOad4gpZogxhZIYMzPUdomr UnJlUWam3Dx0ekIsQ5wDwE1gqbIBLC4NSiVRJzxeHsQ+Be5OYRlGJtg0TrmO7XVw iMUelGUm68gFdjFkDYyWHEVSYXoBMqc5JBQ0HjXlLGuwJPJyJ3qyxlJBW5tn4It4 2ZWGuLWJEuD4gQ51rOZV0p33+pKaoXepQbETiFOJ9uC7drMbkZqQl/d/HhuAITPp eWkSkqNQZjvdHAB1DQvIrLZgcKaRzeSgEfqZ1F/TmRtmEgY+oYq/PdjV2iH2fAHa BU/x76FklpXGBDVn9QDzN6NS6ANtXXy4ZiavWJs8n40q6nBzPPMEJtALSGXiMX+B V8VRv+B6gSuYmNC+/5HyYDOd3vXUcGFNkAoWGN6SXxTc281RWiKC5XbbLlGttjTq NZq8+9PC9+gnIMNNT5Av4L+xUKk6EZnB6BNhwqASs42Td53IrqrsfLAl6V+pVIHl Urc1fApyr77gVNW0VsHK6e8nTaBlAchxNFmUZR/XdGywPVHwqG7IPrfGy7RNA5Ml 6MVFsd8UXsFGQBsg5wmuUooJUA88Vnngg4uCRdmPK25U5Ozf6Ehpr+mRp8ZwNrCn bBB78SMNLwGpkyO5eYyCuTOxKN2/2Y7hTmtce+wVGKOkqV4pBGVaRjDDckPeZkrg 51p7qGvIqaFP2zEspqf3 =z+OZ -----END PGP SIGNATURE----- Merge tag 'edac_scrubrates_fix' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp Pull amd64_edac fix from Borislav Petkov: "An array out-of-bounds fix from Andrew when setting the scrub rate of the memory controller." * tag 'edac_scrubrates_fix' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: amd64_edac:__amd64_set_scrub_rate(): avoid overindexing scrubrates[]
This commit is contained in:
commit
144d80bed9
|
@ -170,8 +170,11 @@ static int __amd64_set_scrub_rate(struct pci_dev *ctl, u32 new_bw, u32 min_rate)
|
|||
* memory controller and apply to register. Search for the first
|
||||
* bandwidth entry that is greater or equal than the setting requested
|
||||
* and program that. If at last entry, turn off DRAM scrubbing.
|
||||
*
|
||||
* If no suitable bandwidth is found, turn off DRAM scrubbing entirely
|
||||
* by falling back to the last element in scrubrates[].
|
||||
*/
|
||||
for (i = 0; i < ARRAY_SIZE(scrubrates); i++) {
|
||||
for (i = 0; i < ARRAY_SIZE(scrubrates) - 1; i++) {
|
||||
/*
|
||||
* skip scrub rates which aren't recommended
|
||||
* (see F10 BKDG, F3x58)
|
||||
|
@ -181,12 +184,6 @@ static int __amd64_set_scrub_rate(struct pci_dev *ctl, u32 new_bw, u32 min_rate)
|
|||
|
||||
if (scrubrates[i].bandwidth <= new_bw)
|
||||
break;
|
||||
|
||||
/*
|
||||
* if no suitable bandwidth found, turn off DRAM scrubbing
|
||||
* entirely by falling back to the last element in the
|
||||
* scrubrates array.
|
||||
*/
|
||||
}
|
||||
|
||||
scrubval = scrubrates[i].scrubval;
|
||||
|
|
Loading…
Reference in New Issue