summaryrefslogtreecommitdiffstats
path: root/drivers/ide
diff options
context:
space:
mode:
authorBorislav Petkov <bp@suse.de>2019-04-20 13:27:51 +0200
committerBorislav Petkov <bp@suse.de>2019-06-07 23:18:26 +0200
commitf3c74b38a55aefe1004200d15a83f109b510068c (patch)
treef93b40aeee01dc8be879b50cb1a1000133c63681 /drivers/ide
parentf2c7c76c5d0a443053e94adb9f0918fa2fb85c3a (diff)
downloadlinux-stable-f3c74b38a55aefe1004200d15a83f109b510068c.tar.gz
linux-stable-f3c74b38a55aefe1004200d15a83f109b510068c.tar.bz2
linux-stable-f3c74b38a55aefe1004200d15a83f109b510068c.zip
RAS/CEC: Fix binary search function
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>
Diffstat (limited to 'drivers/ide')
0 files changed, 0 insertions, 0 deletions