All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [drm-misc:drm-misc-next 1/2] drivers/video/fbdev/core/fbmem.c:1610:0-1: preceding lock on line 1598
Date: Tue, 17 May 2022 08:29:48 +0800	[thread overview]
Message-ID: <202205170855.Q26EPT2e-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 8850 bytes --]

CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Javier Martinez Canillas <javierm@redhat.com>
CC: Daniel Vetter <daniel.vetter@ffwll.ch>

tree:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
head:   a9ad5822366c5065e6a65fe5ff5090295ba98986
commit: 3367aa7d74d240261de2543ddb35531ccad9d884 [1/2] fbdev: Restart conflicting fb removal loop when unregistering devices
:::::: branch date: 10 hours ago
:::::: commit date: 4 days ago
config: openrisc-randconfig-c004-20220516 (https://download.01.org/0day-ci/archive/20220517/202205170855.Q26EPT2e-lkp(a)intel.com/config)
compiler: or1k-linux-gcc (GCC) 11.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Julia Lawall <julia.lawall@lip6.fr>


cocci warnings: (new ones prefixed by >>)
>> drivers/video/fbdev/core/fbmem.c:1610:0-1: preceding lock on line 1598

vim +1610 drivers/video/fbdev/core/fbmem.c

712f3147aee0fb drivers/video/fbmem.c            Linus Torvalds           2011-05-13  1551  
3b9676e7ac6eff drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1552  #define VGA_FB_PHYS 0xA0000
deb00d2785bedd drivers/video/fbdev/core/fbmem.c Daniel Vetter            2019-05-28  1553  static void do_remove_conflicting_framebuffers(struct apertures_struct *a,
3b9676e7ac6eff drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1554  					       const char *name, bool primary)
06415c564fb985 drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1555  {
deb00d2785bedd drivers/video/fbdev/core/fbmem.c Daniel Vetter            2019-05-28  1556  	int i;
06415c564fb985 drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1557  
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11  1558  restart_removal:
06415c564fb985 drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1559  	/* check all firmware fbs and kick off if the base addr overlaps */
10ac86884b4d76 drivers/video/fbdev/core/fbmem.c Yisheng Xie              2018-07-24  1560  	for_each_registered_fb(i) {
3b9676e7ac6eff drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1561  		struct apertures_struct *gen_aper;
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-01-25  1562  		struct device *device;
06415c564fb985 drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1563  
06415c564fb985 drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1564  		if (!(registered_fb[i]->flags & FBINFO_MISC_FIRMWARE))
06415c564fb985 drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1565  			continue;
06415c564fb985 drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1566  
3b9676e7ac6eff drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1567  		gen_aper = registered_fb[i]->apertures;
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-01-25  1568  		device = registered_fb[i]->device;
3b9676e7ac6eff drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1569  		if (fb_do_apertures_overlap(gen_aper, a) ||
3b9676e7ac6eff drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1570  			(primary && gen_aper && gen_aper->count &&
3b9676e7ac6eff drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1571  			 gen_aper->ranges[0].base == VGA_FB_PHYS)) {
3b9676e7ac6eff drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1572  
fbc42d455a2982 drivers/video/fbdev/core/fbmem.c Michał Mirosław          2018-09-01  1573  			printk(KERN_INFO "fb%d: switching to %s from %s\n",
fbc42d455a2982 drivers/video/fbdev/core/fbmem.c Michał Mirosław          2018-09-01  1574  			       i, name, registered_fb[i]->fix.id);
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-01-25  1575  
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-01-25  1576  			/*
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-01-25  1577  			 * If we kick-out a firmware driver, we also want to remove
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-01-25  1578  			 * the underlying platform device, such as simple-framebuffer,
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-01-25  1579  			 * VESA, EFI, etc. A native driver will then be able to
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-01-25  1580  			 * allocate the memory range.
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-01-25  1581  			 *
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-01-25  1582  			 * If it's not a platform device, at least print a warning. A
b76ecff8317eed drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-04-19  1583  			 * fix would add code to remove the device from the system. For
b76ecff8317eed drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-04-19  1584  			 * framebuffers without any Linux device, print a warning as
b76ecff8317eed drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-04-19  1585  			 * well.
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-01-25  1586  			 */
0f525289ff0dde drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-04-04  1587  			if (!device) {
b76ecff8317eed drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-04-19  1588  				pr_warn("fb%d: no device set\n", i);
0f525289ff0dde drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-04-04  1589  				do_unregister_framebuffer(registered_fb[i]);
0f525289ff0dde drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-04-04  1590  			} else if (dev_is_platform(device)) {
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11  1591  				/*
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11  1592  				 * Drop the lock because if the device is unregistered, its
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11  1593  				 * driver will call to unregister_framebuffer(), that takes
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11  1594  				 * this lock.
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11  1595  				 */
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11  1596  				mutex_unlock(&registration_lock);
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-01-25  1597  				platform_device_unregister(to_platform_device(device));
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 @1598  				mutex_lock(&registration_lock);
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-01-25  1599  			} else {
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-01-25  1600  				pr_warn("fb%d: cannot remove device\n", i);
deb00d2785bedd drivers/video/fbdev/core/fbmem.c Daniel Vetter            2019-05-28  1601  				do_unregister_framebuffer(registered_fb[i]);
06415c564fb985 drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1602  			}
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11  1603  			/*
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11  1604  			 * Restart the removal loop now that the device has been
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11  1605  			 * unregistered and its associated framebuffer gone.
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11  1606  			 */
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11  1607  			goto restart_removal;
06415c564fb985 drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1608  		}
06415c564fb985 drivers/video/fbmem.c            Marcin Slusarz           2010-05-16  1609  	}
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann        2022-01-25 @1610  }
^1da177e4c3f41 drivers/video/fbmem.c            Linus Torvalds           2005-04-16  1611  

:::::: The code at line 1610 was first introduced by commit
:::::: 27599aacbaefcbf2af7b06b0029459bbf682000d fbdev: Hot-unplug firmware fb devices on forced removal

:::::: TO: Thomas Zimmermann <tzimmermann@suse.de>
:::::: CC: Thomas Zimmermann <tzimmermann@suse.de>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

             reply	other threads:[~2022-05-17  0:29 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-17  0:29 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-06-09  5:14 [drm-misc:drm-misc-next 1/2] drivers/video/fbdev/core/fbmem.c:1610:0-1: preceding lock on line 1598 kernel test robot

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=202205170855.Q26EPT2e-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /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.