https://github.com/torvalds/linux
Revision a25ce4270bfdd522207b02f81a594c7d1746b697 authored by Kaike Wan on 17 June 2017, 17:37:26 UTC, committed by Doug Ledford on 20 July 2017, 15:20:50 UTC
Current computation of qp->timeout_jiffies in rvt_modify_qp() will cause overflow due to the fact that the input to the function usecs_to_jiffies is only 32-bit ( unsigned int). Overflow will occur when attr->timeout is equal to or greater than 30. The consequence is unnecessarily excessive retry and thus degradation of the system performance. This patch fixes the problem by limiting the input to 5-bit and calling usecs_to_jiffies() before multiplying the scaling factor. Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by: Kaike Wan <kaike.wan@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
1 parent 266098b
Tip revision: a25ce4270bfdd522207b02f81a594c7d1746b697 authored by Kaike Wan on 17 June 2017, 17:37:26 UTC
IB/rdmavt: Setting of QP timeout can overflow jiffies computation
IB/rdmavt: Setting of QP timeout can overflow jiffies computation
Tip revision: a25ce42
File | Mode | Size |
---|---|---|
basic | ||
coccinelle | ||
dtc | ||
gcc-plugins | ||
gdb | ||
genksyms | ||
kconfig | ||
ksymoops | ||
mod | ||
package | ||
selinux | ||
tracing | ||
.gitignore | -rw-r--r-- | 162 bytes |
Kbuild.include | -rw-r--r-- | 15.2 KB |
Lindent | -rwxr-xr-x | 467 bytes |
Makefile | -rw-r--r-- | 1.6 KB |
Makefile.asm-generic | -rw-r--r-- | 1.1 KB |
Makefile.build | -rw-r--r-- | 18.9 KB |
Makefile.clean | -rw-r--r-- | 2.9 KB |
Makefile.dtbinst | -rw-r--r-- | 1.1 KB |
Makefile.extrawarn | -rw-r--r-- | 2.5 KB |
Makefile.fwinst | -rw-r--r-- | 2.0 KB |
Makefile.gcc-plugins | -rw-r--r-- | 3.4 KB |
Makefile.headersinst | -rw-r--r-- | 4.0 KB |
Makefile.help | -rw-r--r-- | 68 bytes |
Makefile.host | -rw-r--r-- | 6.6 KB |
Makefile.kasan | -rw-r--r-- | 1005 bytes |
Makefile.lib | -rw-r--r-- | 15.6 KB |
Makefile.modbuiltin | -rw-r--r-- | 1.8 KB |
Makefile.modinst | -rw-r--r-- | 1.2 KB |
Makefile.modpost | -rw-r--r-- | 5.5 KB |
Makefile.modsign | -rw-r--r-- | 1005 bytes |
Makefile.ubsan | -rw-r--r-- | 1.0 KB |
adjust_autoksyms.sh | -rwxr-xr-x | 2.8 KB |
asn1_compiler.c | -rw-r--r-- | 35.5 KB |
bloat-o-meter | -rwxr-xr-x | 2.2 KB |
bootgraph.pl | -rwxr-xr-x | 6.3 KB |
check_00index.sh | -rwxr-xr-x | 1.3 KB |
check_extable.sh | -rwxr-xr-x | 4.9 KB |
checkincludes.pl | -rwxr-xr-x | 1.9 KB |
checkkconfigsymbols.py | -rwxr-xr-x | 15.5 KB |
checkpatch.pl | -rwxr-xr-x | 186.9 KB |
checkstack.pl | -rwxr-xr-x | 5.4 KB |
checksyscalls.sh | -rwxr-xr-x | 5.6 KB |
checkversion.pl | -rwxr-xr-x | 1.9 KB |
cleanfile | -rwxr-xr-x | 3.4 KB |
cleanpatch | -rwxr-xr-x | 5.0 KB |
coccicheck | -rwxr-xr-x | 7.1 KB |
config | -rwxr-xr-x | 4.5 KB |
conmakehash.c | -rw-r--r-- | 6.0 KB |
const_structs.checkpatch | -rw-r--r-- | 964 bytes |
decode_stacktrace.sh | -rwxr-xr-x | 3.7 KB |
decodecode | -rwxr-xr-x | 2.1 KB |
depmod.sh | -rwxr-xr-x | 1.7 KB |
diffconfig | -rwxr-xr-x | 3.7 KB |
export_report.pl | -rwxr-xr-x | 4.5 KB |
extract-cert.c | -rw-r--r-- | 3.5 KB |
extract-ikconfig | -rwxr-xr-x | 1.7 KB |
extract-module-sig.pl | -rwxr-xr-x | 3.6 KB |
extract-sys-certs.pl | -rwxr-xr-x | 3.7 KB |
extract-vmlinux | -rwxr-xr-x | 1.6 KB |
extract_xc3028.pl | -rwxr-xr-x | 44.6 KB |
faddr2line | -rwxr-xr-x | 5.1 KB |
gcc-goto.sh | -rwxr-xr-x | 495 bytes |
gcc-ld | -rwxr-xr-x | 676 bytes |
gcc-plugin.sh | -rwxr-xr-x | 1.0 KB |
gcc-version.sh | -rwxr-xr-x | 822 bytes |
gcc-x86_32-has-stack-protector.sh | -rwxr-xr-x | 184 bytes |
gcc-x86_64-has-stack-protector.sh | -rwxr-xr-x | 209 bytes |
gen_initramfs_list.sh | -rwxr-xr-x | 8.0 KB |
get_dvb_firmware | -rwxr-xr-x | 25.2 KB |
get_maintainer.pl | -rwxr-xr-x | 59.2 KB |
gfp-translate | -rwxr-xr-x | 1.7 KB |
headerdep.pl | -rwxr-xr-x | 3.5 KB |
headers.sh | -rwxr-xr-x | 477 bytes |
headers_check.pl | -rwxr-xr-x | 3.7 KB |
headers_install.sh | -rwxr-xr-x | 1.3 KB |
insert-sys-cert.c | -rw-r--r-- | 8.9 KB |
kallsyms.c | -rw-r--r-- | 18.7 KB |
kernel-doc | -rwxr-xr-x | 91.7 KB |
ld-version.sh | -rwxr-xr-x | 234 bytes |
link-vmlinux.sh | -rwxr-xr-x | 7.7 KB |
makelst | -rwxr-xr-x | 773 bytes |
markup_oops.pl | -rwxr-xr-x | 8.1 KB |
mkcompile_h | -rwxr-xr-x | 2.5 KB |
mkmakefile | -rwxr-xr-x | 1.2 KB |
mksysmap | -rwxr-xr-x | 1.3 KB |
mkuboot.sh | -rwxr-xr-x | 379 bytes |
mkversion | -rw-r--r-- | 74 bytes |
module-common.lds | -rw-r--r-- | 901 bytes |
namespace.pl | -rwxr-xr-x | 13.0 KB |
objdiff | -rwxr-xr-x | 2.8 KB |
patch-kernel | -rwxr-xr-x | 9.9 KB |
pnmtologo.c | -rw-r--r-- | 11.9 KB |
profile2linkerlist.pl | -rwxr-xr-x | 379 bytes |
prune-kernel | -rwxr-xr-x | 673 bytes |
recordmcount.c | -rw-r--r-- | 17.2 KB |
recordmcount.h | -rw-r--r-- | 16.4 KB |
recordmcount.pl | -rwxr-xr-x | 18.0 KB |
setlocalversion | -rwxr-xr-x | 3.9 KB |
show_delta | -rwxr-xr-x | 3.0 KB |
sign-file.c | -rw-r--r-- | 9.8 KB |
sortextable.c | -rw-r--r-- | 8.4 KB |
sortextable.h | -rw-r--r-- | 5.5 KB |
spelling.txt | -rw-r--r-- | 24.2 KB |
stackdelta | -rwxr-xr-x | 1.8 KB |
stackusage | -rwxr-xr-x | 759 bytes |
tags.sh | -rwxr-xr-x | 9.5 KB |
unifdef.c | -rw-r--r-- | 34.8 KB |
ver_linux | -rwxr-xr-x | 2.9 KB |
xen-hypercalls.sh | -rw-r--r-- | 351 bytes |
xz_wrap.sh | -rwxr-xr-x | 562 bytes |
Computing file changes ...