summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu/microcode/core.c
diff options
context:
space:
mode:
authorBorislav Petkov <bp@suse.de>2019-04-20 13:27:51 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-06-19 08:20:59 +0200
commit2da7d3ba367aecc0beeafd0a609393607a7f791e (patch)
tree915d948ca00024bbe57030a1c9782fb92b183da9 /arch/x86/kernel/cpu/microcode/core.c
parentc2d2622b4832f69ed08ca2fe103ea0fa205510f2 (diff)
downloadlinux-stable-2da7d3ba367aecc0beeafd0a609393607a7f791e.tar.gz
linux-stable-2da7d3ba367aecc0beeafd0a609393607a7f791e.tar.bz2
linux-stable-2da7d3ba367aecc0beeafd0a609393607a7f791e.zip
RAS/CEC: Fix binary search function
commit f3c74b38a55aefe1004200d15a83f109b510068c upstream. Switch to using Donald Knuth's binary search algorithm (The Art of Computer Programming, vol. 3, section 6.2.1). This should've been done from the very beginning but the author must've been smoking something very potent at the time. The problem with the current one was that it would return the wrong element index in certain situations: https://lkml.kernel.org/r/CAM_iQpVd02zkVJ846cj-Fg1yUNuz6tY5q1Vpj4LrXmE06dPYYg@mail.gmail.com and the noodling code after the loop was fishy at best. So switch to using Knuth's binary search. The final result is much cleaner and straightforward. Fixes: 011d82611172 ("RAS: Add a Corrected Errors Collector") Reported-by: Cong Wang <xiyou.wangcong@gmail.com> Signed-off-by: Borislav Petkov <bp@suse.de> Cc: Tony Luck <tony.luck@intel.com> Cc: linux-edac <linux-edac@vger.kernel.org> Cc: <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/x86/kernel/cpu/microcode/core.c')
0 files changed, 0 insertions, 0 deletions