Zhen Lei
1792eac72e
kobject: Add sanity check for kset->kobj.ktype in kset_register()
...
[ Upstream commit 4d0fe8c52bb3029d83e323c961221156ab98680b ]
When I register a kset in the following way:
static struct kset my_kset;
kobject_set_name(&my_kset.kobj, "my_kset");
ret = kset_register(&my_kset);
A null pointer dereference exception is occurred:
[ 4453.568337] Unable to handle kernel NULL pointer dereference at \
virtual address 0000000000000028
... ...
[ 4453.810361] Call trace:
[ 4453.813062] kobject_get_ownership+0xc/0x34
[ 4453.817493] kobject_add_internal+0x98/0x274
[ 4453.822005] kset_register+0x5c/0xb4
[ 4453.825820] my_kobj_init+0x44/0x1000 [my_kset]
... ...
Because I didn't initialize my_kset.kobj.ktype.
According to the description in Documentation/core-api/kobject.rst:
- A ktype is the type of object that embeds a kobject. Every structure
that embeds a kobject needs a corresponding ktype.
So add sanity check to make sure kset->kobj.ktype is not NULL.
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Link: https://lore.kernel.org/r/20230805084114.1298-2-thunder.leizhen@huaweicloud.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-09-23 10:47:05 +02:00
..
2017-11-02 11:10:55 +01:00
2022-06-25 11:46:27 +02:00
2020-11-10 10:29:03 +01:00
2017-10-03 17:54:25 -07:00
2017-11-02 11:10:55 +01:00
2023-09-23 10:47:04 +02:00
2022-04-20 09:08:12 +02:00
2019-07-31 07:28:30 +02:00
2021-11-26 11:40:28 +01:00
2020-06-25 15:41:57 +02:00
2017-08-15 09:02:08 -07:00
2017-11-02 11:10:55 +01:00
2017-12-14 09:52:52 +01:00
2022-06-06 08:20:56 +02:00
2017-07-14 15:05:13 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2020-01-29 15:02:39 +01:00
2019-04-05 22:31:33 +02:00
2021-05-22 10:57:32 +02:00
2017-11-02 11:10:55 +01:00
2022-06-25 11:46:31 +02:00
2017-11-02 11:10:55 +01:00
2023-08-30 16:35:15 +02:00
2017-11-02 11:10:55 +01:00
2017-09-08 18:26:49 -07:00
2017-11-02 11:10:55 +01:00
2023-06-14 10:35:25 +02:00
2017-11-02 11:10:55 +01:00
2017-06-09 11:52:07 +02:00
2020-10-29 09:07:10 +01:00
2017-11-02 11:10:55 +01:00
2020-11-10 10:29:04 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-11-13 11:14:51 -08:00
2023-08-11 11:33:47 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2021-07-20 16:17:51 +02:00
2021-11-26 11:40:28 +01:00
2017-11-02 11:10:55 +01:00
2020-01-27 14:46:39 +01:00
2017-10-12 17:16:40 +01:00
2019-04-20 09:15:07 +02:00
2022-06-14 16:53:45 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-11-12 19:18:01 +01:00
2023-06-09 10:22:53 +02:00
2017-11-02 11:10:55 +01:00
2018-05-09 09:51:54 +02:00
2017-07-10 16:32:35 -07:00
2017-08-10 15:54:06 -07:00
2020-04-24 08:00:31 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2021-01-12 20:09:06 +01:00
2017-02-24 17:46:57 -08:00
2017-02-24 17:46:57 -08:00
2022-05-12 12:17:06 +02:00
2017-11-02 11:10:55 +01:00
2022-07-12 16:27:29 +02:00
2017-11-02 11:10:55 +01:00
2019-04-05 22:31:24 +02:00
2018-12-17 09:28:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-08-17 21:01:11 +02:00
2022-02-23 11:57:35 +01:00
2017-11-02 11:10:55 +01:00
2017-03-02 08:42:38 +01:00
2017-11-02 11:10:55 +01:00
2022-03-23 09:01:34 +01:00
2022-06-25 11:46:40 +02:00
2018-02-16 20:23:04 +01:00
2017-05-16 08:44:22 -03:00
2016-12-14 16:04:08 -08:00
2020-01-27 14:46:44 +01:00
2018-10-03 17:00:48 -07:00
2021-05-22 10:57:41 +02:00
2023-09-23 10:47:05 +02:00
2021-07-20 16:17:33 +02:00
2021-07-20 16:17:33 +02:00
2017-06-08 17:36:03 +08:00
2017-02-24 17:46:56 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2022-06-25 11:46:27 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2021-05-22 10:57:39 +02:00
2018-09-05 09:26:35 +02:00
2022-06-14 16:54:01 +02:00
2023-01-18 09:26:10 +01:00
2017-11-02 11:10:55 +01:00
2018-02-25 11:08:01 +01:00
2023-01-18 09:26:04 +01:00
2017-02-03 16:35:42 -05:00
2017-11-02 11:10:55 +01:00
2017-03-02 08:42:34 +01:00
2017-03-22 19:18:43 -07:00
2017-03-02 08:42:27 +01:00
2017-01-23 09:17:12 +01:00
2023-08-11 11:33:32 +02:00
2022-06-25 11:46:36 +02:00
2022-09-05 10:25:04 +02:00
2017-11-02 11:10:55 +01:00
2018-12-17 09:28:55 +01:00
2017-09-08 18:26:48 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-04-03 06:25:09 +02:00
2019-05-31 06:47:10 -07:00
2020-11-05 11:06:58 +01:00
2021-07-20 16:17:47 +02:00
2022-06-25 11:46:27 +02:00
2017-02-22 16:41:30 -08:00
2022-06-25 11:46:39 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2021-05-22 10:57:43 +02:00
2017-09-13 18:53:16 -07:00
2021-02-23 14:00:30 +01:00
2020-06-20 10:24:58 +02:00
2020-06-20 10:24:58 +02:00
2022-07-02 16:18:11 +02:00
2017-11-02 11:10:55 +01:00
2018-05-22 18:53:58 +02:00
2021-10-17 10:08:32 +02:00
2019-01-13 10:01:07 +01:00
2023-08-30 16:35:13 +02:00
2018-12-08 13:03:35 +01:00
2020-02-14 16:32:08 -05:00
2022-04-20 09:08:21 +02:00
2017-05-08 17:15:10 -07:00
2017-02-26 11:03:38 -05:00
2017-07-25 12:35:23 -07:00
2017-01-09 13:58:57 -05:00
2017-05-08 17:15:10 -07:00
2017-07-12 16:26:00 -07:00
2017-05-01 09:36:30 +02:00
2017-07-21 09:38:30 +02:00
2021-10-09 14:09:46 +02:00
2023-08-11 11:33:35 +02:00
2017-10-22 03:14:07 +01:00
2017-10-22 03:14:07 +01:00
2023-09-23 10:46:52 +02:00
2023-09-23 10:46:52 +02:00
2017-11-02 11:10:55 +01:00
2023-02-25 11:50:31 +01:00
2017-06-05 16:59:05 +02:00
2021-07-20 16:17:33 +02:00
2017-11-02 11:10:55 +01:00
2017-08-15 09:02:07 -07:00