From 3da2a8c7d197a827076d241fe492cb63736d69ed Mon Sep 17 00:00:00 2001 From: Subbaraman Narayanamurthy Date: Tue, 26 Jan 2016 15:59:30 -0800 Subject: kobject: increase number of kobject uevent pointers to 64 Power supply framework uses uevents to notify the power supply change events to the userspace. Some power supplies have their properties increasing thus overflowing the number of kobject uevent pointers, triggering warning shown below. [ 10.577545] WARNING: CPU: 3 PID: 406 at kernel/lib/kobject_uevent.c:393 add_uevent_var+0xc0/0x100() [ 10.589680] add_uevent_var: too many keys [ 10.593809] Modules linked in: [ 10.596686] CPU: 3 PID: 406 Comm: kworker/3:2 Tainted: G W 3.18.20-g5e99605-00057-gd18285f #603 [ 10.606373] Hardware name: Qualcomm Technologies, Inc. MSM 8996 v3 + PMI8996 MTP (DT) [ 10.614188] Workqueue: events power_supply_changed_work [ 10.619366] Call trace: [ 10.621803] [] dump_backtrace+0x0/0x130 [ 10.627175] [] show_stack+0x10/0x1c [ 10.632237] [] dump_stack+0x74/0xb8 [ 10.637253] [] warn_slowpath_common+0x90/0xb8 [ 10.643170] [] warn_slowpath_fmt+0x4c/0x58 [ 10.648814] [] add_uevent_var+0xbc/0x100 [ 10.654259] [] kobject_uevent_env+0x498/0x5a8 [ 10.660185] [] kobject_uevent+0xc/0x18 [ 10.665457] [] power_supply_changed_work+0xb0/0xf0 [ 10.671830] [] process_one_work+0x23c/0x3f4 [ 10.677529] [] worker_thread+0x280/0x3a8 [ 10.683017] [] kthread+0xe0/0xec Fix this warning by increasing the number of kobject uevent pointers from 32 to 64. CRs-Fixed: 971954 Change-Id: Ide942d25006abd36ba7be945be397a535e91d970 Signed-off-by: Subbaraman Narayanamurthy --- include/linux/kobject.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/linux') diff --git a/include/linux/kobject.h b/include/linux/kobject.h index e6284591599e..74de8b60ce12 100644 --- a/include/linux/kobject.h +++ b/include/linux/kobject.h @@ -29,7 +29,7 @@ #include #define UEVENT_HELPER_PATH_LEN 256 -#define UEVENT_NUM_ENVP 32 /* number of env pointers */ +#define UEVENT_NUM_ENVP 64 /* number of env pointers */ #define UEVENT_BUFFER_SIZE 2048 /* buffer for the variables */ #ifdef CONFIG_UEVENT_HELPER -- cgit v1.2.3