From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: [tglx-devel:queue/core 1/1] lib/debugobjects.c:730 debug_object_activate() error: 'obj' dereferencing possible ERR_PTR()
Date: Thu, 9 Nov 2023 21:25:51 +0800 [thread overview]
Message-ID: <202311092147.YQefKK78-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Andrzej Hajda <andrzej.hajda@intel.com>
CC: Thomas Gleixner <tglx@linutronix.de>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git queue/core
head: 265c43c4e983edc38cb9b0b75fc82eda0808512d
commit: 265c43c4e983edc38cb9b0b75fc82eda0808512d [1/1] debugobjects: Stop accessing objects after releasing hash bucket lock
:::::: branch date: 3 days ago
:::::: commit date: 3 days ago
config: i386-randconfig-141-20231107 (https://download.01.org/0day-ci/archive/20231109/202311092147.YQefKK78-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231109/202311092147.YQefKK78-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202311092147.YQefKK78-lkp@intel.com/
smatch warnings:
lib/debugobjects.c:730 debug_object_activate() error: 'obj' dereferencing possible ERR_PTR()
vim +/obj +730 lib/debugobjects.c
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 687
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 688 /**
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 689 * debug_object_activate - debug checks when an object is activated
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 690 * @addr: address of the object
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 691 * @descr: pointer to an object specific debug description structure
b778ae25366e6f Paul E. McKenney 2013-04-23 692 * Returns 0 for success, -EINVAL for check failed.
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 693 */
aedcade6f4fa9a Stephen Boyd 2020-08-14 694 int debug_object_activate(void *addr, const struct debug_obj_descr *descr)
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 695 {
63a759694eed61 Thomas Gleixner 2023-04-12 696 struct debug_obj o = { .object = addr, .state = ODEBUG_STATE_NOTAVAILABLE, .descr = descr };
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 697 struct debug_bucket *db;
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 698 struct debug_obj *obj;
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 699 unsigned long flags;
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 700
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 701 if (!debug_objects_enabled)
b778ae25366e6f Paul E. McKenney 2013-04-23 702 return 0;
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 703
0af462f19e635a Thomas Gleixner 2023-05-01 704 debug_objects_fill_pool();
0af462f19e635a Thomas Gleixner 2023-05-01 705
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 706 db = get_bucket((unsigned long) addr);
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 707
aef9cb05247df3 Thomas Gleixner 2009-11-17 708 raw_spin_lock_irqsave(&db->lock, flags);
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 709
63a759694eed61 Thomas Gleixner 2023-04-12 710 obj = lookup_object_or_alloc(addr, db, descr, false, true);
265c43c4e983ed Andrzej Hajda 2023-10-25 711 if (unlikely(!obj)) {
265c43c4e983ed Andrzej Hajda 2023-10-25 712 raw_spin_unlock_irqrestore(&db->lock, flags);
265c43c4e983ed Andrzej Hajda 2023-10-25 713 debug_objects_oom();
265c43c4e983ed Andrzej Hajda 2023-10-25 714 return 0;
265c43c4e983ed Andrzej Hajda 2023-10-25 715 } else if (likely(!IS_ERR(obj))) {
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 716 switch (obj->state) {
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 717 case ODEBUG_STATE_ACTIVE:
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 718 case ODEBUG_STATE_DESTROYED:
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 719 break;
265c43c4e983ed Andrzej Hajda 2023-10-25 720 case ODEBUG_STATE_INIT:
265c43c4e983ed Andrzej Hajda 2023-10-25 721 case ODEBUG_STATE_INACTIVE:
265c43c4e983ed Andrzej Hajda 2023-10-25 722 obj->state = ODEBUG_STATE_ACTIVE;
265c43c4e983ed Andrzej Hajda 2023-10-25 723 fallthrough;
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 724 default:
aef9cb05247df3 Thomas Gleixner 2009-11-17 725 raw_spin_unlock_irqrestore(&db->lock, flags);
265c43c4e983ed Andrzej Hajda 2023-10-25 726 return 0;
265c43c4e983ed Andrzej Hajda 2023-10-25 727 }
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 728 }
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 729
265c43c4e983ed Andrzej Hajda 2023-10-25 @730 o = *obj;
aef9cb05247df3 Thomas Gleixner 2009-11-17 731 raw_spin_unlock_irqrestore(&db->lock, flags);
265c43c4e983ed Andrzej Hajda 2023-10-25 732 debug_print_object(&o, "activate");
d5f34153e52690 Waiman Long 2019-05-20 733
265c43c4e983ed Andrzej Hajda 2023-10-25 734 switch (o.state) {
265c43c4e983ed Andrzej Hajda 2023-10-25 735 case ODEBUG_STATE_ACTIVE:
265c43c4e983ed Andrzej Hajda 2023-10-25 736 case ODEBUG_STATE_NOTAVAILABLE:
265c43c4e983ed Andrzej Hajda 2023-10-25 737 if (debug_object_fixup(descr->fixup_activate, addr, o.state))
63a759694eed61 Thomas Gleixner 2023-04-12 738 return 0;
265c43c4e983ed Andrzej Hajda 2023-10-25 739 fallthrough;
265c43c4e983ed Andrzej Hajda 2023-10-25 740 default:
265c43c4e983ed Andrzej Hajda 2023-10-25 741 return -EINVAL;
63a759694eed61 Thomas Gleixner 2023-04-12 742 }
b778ae25366e6f Paul E. McKenney 2013-04-23 743 }
f8ff04e2be0815 Chris Wilson 2016-11-30 744 EXPORT_SYMBOL_GPL(debug_object_activate);
3ac7fe5a4aab40 Thomas Gleixner 2008-04-30 745
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2023-11-09 13:26 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-09 13:25 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-11-20 8:55 [tglx-devel:queue/core 1/1] lib/debugobjects.c:730 debug_object_activate() error: 'obj' dereferencing possible ERR_PTR() Dan Carpenter
2023-11-21 15:17 ` Thomas Gleixner
2023-11-22 9:21 ` Thomas Gleixner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202311092147.YQefKK78-lkp@intel.com \
--to=lkp@intel.com \
--cc=error27@gmail.com \
--cc=oe-kbuild@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.