Whamcloud - gitweb
LU-4856 obdclass: check val in proc_max_dirty_pages_in_mb() 69/12269/4
authorJian Yu <jian.yu@intel.com>
Fri, 10 Oct 2014 19:39:26 +0000 (12:39 -0700)
committerOleg Drokin <oleg.drokin@intel.com>
Tue, 4 Nov 2014 17:54:13 +0000 (17:54 +0000)
commit7ea002253e1fe5ad46165cd89d9a06fdfb7d83b1
tree23710165a45ff860f288635b08b81148a5b171db
parentcd8dc58c76b43c5dfa9ec238cc3f4264e9f5f89f
LU-4856 obdclass: check val in proc_max_dirty_pages_in_mb()

In proc_max_dirty_pages_in_mb(), assigning "__u64 val" to
"unsigned long obd_max_dirty_pages" will cause values over
2^32 to be truncated on a 32-bit client (where "unsigned long"
is 32 bits, and not 64 bits).

This patch fixes the above issue by checking "val" in an
acceptable range before assigning it to obd_max_dirty_pages.

Signed-off-by: Jian Yu <jian.yu@intel.com>
Change-Id: I838b5bab283a0068f72a86f5a990d909c892a9d9
Reviewed-on: http://review.whamcloud.com/12269
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
lustre/obdclass/linux/linux-sysctl.c