OSDN Git Service

taskstats: fix the length of cgroupstats_cmd_get_policy
authorWANG Cong <xiyou.wangcong@gmail.com>
Thu, 3 Nov 2016 16:42:36 +0000 (09:42 -0700)
committerJeff Johnson <jjohnson@codeaurora.org>
Thu, 3 May 2018 21:03:24 +0000 (14:03 -0700)
commit28307e7f246706589657f5cb5b07b54dad3994ad
treea61a3f5a85d3c4737581c2bfc00bad46fd30df31
parentcebf59e49427f15f2dd8758a4039c37ff886ebce
taskstats: fix the length of cgroupstats_cmd_get_policy

cgroupstats_cmd_get_policy is [CGROUPSTATS_CMD_ATTR_MAX+1],
taskstats_cmd_get_policy[TASKSTATS_CMD_ATTR_MAX+1],
but their family.maxattr is TASKSTATS_CMD_ATTR_MAX.
CGROUPSTATS_CMD_ATTR_MAX is less than TASKSTATS_CMD_ATTR_MAX,
so we could end up accessing out-of-bound.

Change cgroupstats_cmd_get_policy to TASKSTATS_CMD_ATTR_MAX+1,
this is safe because the rest are initialized to 0's.

Reported-by: Andrey Konovalov <andreyknvl@google.com>
Tested-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Git-commit: 243d52126184b072a18fe2130ce0008f8aa3a340
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: Ie03c41de881d8e0e88ba35f5369e4e955d8d8682
CRs-Fixed: 2234354
Signed-off-by: Jeff Johnson <jjohnson@codeaurora.org>
kernel/taskstats.c