New issue
Advanced search Search tips

Issue 654094 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Oct 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Build failure in chromeos-4.4

Project Member Reported by groeck@chromium.org, Oct 7 2016

Issue description

Reported by 0day bot.

tree:   https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.4 
head:   70d97399ff6aa226a10464914fa5b06ed89bb6b4 
commit: 89692981f97a6f434875c72a644d2e51e5762902 [15/19] BACKPORT: drm/fence: add fence to drm_pending_event 
config: x86_64-randconfig-x001-201640 (attached as .config) 
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 
reproduce: 
        git checkout 89692981f97a6f434875c72a644d2e51e5762902 
        # save the attached .config to linux build tree 
        make ARCH=x86_64 

All errors (new ones prefixed by >>): 

   drivers/gpu/drm/vmwgfx/vmwgfx_fence.c: In function 'vmw_event_fence_fpriv_gone': 
>> drivers/gpu/drm/vmwgfx/vmwgfx_fence.c:841:8: error: 'struct drm_pending_event' has no member named 'destroy' 
      event->destroy(event); 
           ^~ 
   drivers/gpu/drm/vmwgfx/vmwgfx_fence.c: In function 'vmw_event_fence_action_create': 
   drivers/gpu/drm/vmwgfx/vmwgfx_fence.c:1057:13: error: 'struct drm_pending_event' has no member named 'destroy' 
     event->base.destroy = (void (*) (struct drm_pending_event *)) kfree; 
                ^ 
   drivers/gpu/drm/vmwgfx/vmwgfx_fence.c:1078:13: error: 'struct drm_pending_event' has no member named 'destroy' 
     event->base.destroy(&event->base); 
                ^ 

vim +841 drivers/gpu/drm/vmwgfx/vmwgfx_fence.c 

6b82ef50 Thomas Hellstrom 2012-02-09  835                                             struct vmw_event_fence_action, 
6b82ef50 Thomas Hellstrom 2012-02-09  836                                             fpriv_head); 
6b82ef50 Thomas Hellstrom 2012-02-09  837                  list_del_init(&eaction->fpriv_head); 
6b82ef50 Thomas Hellstrom 2012-02-09  838                  event = eaction->event; 
6b82ef50 Thomas Hellstrom 2012-02-09  839                  eaction->event = NULL; 
6b82ef50 Thomas Hellstrom 2012-02-09  840                  spin_unlock_irqrestore(&fman->lock, irq_flags); 
6b82ef50 Thomas Hellstrom 2012-02-09 @841                  event->destroy(event); 
6b82ef50 Thomas Hellstrom 2012-02-09  842          } 
6b82ef50 Thomas Hellstrom 2012-02-09  843  out_unlock: 
6b82ef50 Thomas Hellstrom 2012-02-09  844          spin_unlock_irqrestore(&fman->lock, irq_flags); 

:::::: The code at line 841 was first introduced by commit 
:::::: 6b82ef50d8617f3fcd51dda9d89d973fe3bc65b8 vmwgfx: Clean up pending event references to struct drm_file objects on close 

:::::: TO: Thomas Hellstrom <thellstrom@vmware.com> 
:::::: CC: Dave Airlie <airlied@redhat.com> 

--- 
 
Status: Started (was: Assigned)
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 12 2016

Labels: merge-merged-chromeos-4.4
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/ba294d4792a17055f5d6967b629f01274b89bc60

commit ba294d4792a17055f5d6967b629f01274b89bc60
Author: Guenter Roeck <groeck@chromium.org>
Date: Sat Oct 08 10:32:50 2016

FIXUP: BACKPORT: drm/fence: add fence to drm_pending_event

The backport removed the delete callback from struct drm_pending_event
but missed a number of callers. This results in the following build errors
when building various images.

drivers/gpu/drm/vc4/vc4_crtc.c: In function vc4_cancel_page_flip:
drivers/gpu/drm/vc4/vc4_crtc.c:511:24: error:
	struct drm_pending_event has no member named destroy

drivers/gpu/drm/vmwgfx/vmwgfx_fence.c: In function vmw_event_fence_fpriv_gone:
drivers/gpu/drm/vmwgfx/vmwgfx_fence.c:841:8: error:
	struct drm_pending_event has no member named destroy

drivers/gpu/drm/vmwgfx/vmwgfx_fence.c:
	In function vmw_event_fence_action_create:
drivers/gpu/drm/vmwgfx/vmwgfx_fence.c:1057:13: error:
	struct drm_pending_event has no member named destroy
drivers/gpu/drm/vmwgfx/vmwgfx_fence.c:1078:13: error:
	struct drm_pending_event has no member named destroy

drivers/gpu/drm/exynos/exynos_drm_drv.c: In function 'exynos_drm_postclose':
drivers/gpu/drm/exynos/exynos_drm_drv.c:387:4: error:
	'struct drm_pending_event' has no member named 'destroy'

drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c:
	In function 'atmel_hlcdc_crtc_cancel_page_flip':
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c:294:14: error:
	'struct drm_pending_event' has no member named 'destroy'

drivers/gpu/drm/exynos/exynos_drm_g2d.c:
	In function 'exynos_g2d_set_cmdlist_ioctl':
drivers/gpu/drm/exynos/exynos_drm_g2d.c:1117:10: error:
	'struct drm_pending_event' has no member named 'destroy'

drivers/gpu/drm/exynos/exynos_drm_ipp.c: In function 'ipp_get_event':
drivers/gpu/drm/exynos/exynos_drm_ipp.c:651:9: error:
	'struct drm_pending_event' has no member named 'destroy'

drivers/gpu/drm/omapdrm/omap_crtc.c: In function 'omap_crtc_complete_page_flip':
drivers/gpu/drm/omapdrm/omap_crtc.c:282:14: error:
	'struct drm_pending_event' has no member named 'destroy'

drivers/gpu/drm/rcar-du/rcar_du_crtc.c:
	In function 'rcar_du_crtc_cancel_page_flip':
drivers/gpu/drm/rcar-du/rcar_du_crtc.c:299:14: error:
	'struct drm_pending_event' has no member named 'destroy'

drivers/gpu/drm/shmobile/shmob_drm_crtc.c:
	In function 'shmob_drm_crtc_cancel_page_flip':
drivers/gpu/drm/shmobile/shmob_drm_crtc.c:455:14: error:
	'struct drm_pending_event' has no member named 'destroy'

drivers/gpu/drm/tegra/dc.c: In function 'tegra_dc_cancel_page_flip':
drivers/gpu/drm/tegra/dc.c:1000:18: error:
	'struct drm_pending_event' has no member named 'destroy'

drivers/gpu/drm/tilcdc/tilcdc_crtc.c: In function 'tilcdc_crtc_cancel_page_flip':
drivers/gpu/drm/tilcdc/tilcdc_crtc.c:679:14: error:
	'struct drm_pending_event' has no member named 'destroy'

Remove the assignments to the no longer existing structure element,
and replace the callbacks with direct calls to kfree().

BUG= chromium:652865 ,  chromium:654094 
TEST=build x86_64:allmodconfig, arm:allmodconfig

Note for rebase to later kernels: Drop this and the associated backport.

Change-Id: Id857c22dca0fbdd1a761b1691e7a6ee92954d556
Signed-off-by: Guenter Roeck <groeck@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/395631
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>

[modify] https://crrev.com/ba294d4792a17055f5d6967b629f01274b89bc60/drivers/gpu/drm/tegra/dc.c
[modify] https://crrev.com/ba294d4792a17055f5d6967b629f01274b89bc60/drivers/gpu/drm/rcar-du/rcar_du_crtc.c
[modify] https://crrev.com/ba294d4792a17055f5d6967b629f01274b89bc60/drivers/gpu/drm/shmobile/shmob_drm_crtc.c
[modify] https://crrev.com/ba294d4792a17055f5d6967b629f01274b89bc60/drivers/gpu/drm/exynos/exynos_drm_g2d.c
[modify] https://crrev.com/ba294d4792a17055f5d6967b629f01274b89bc60/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c
[modify] https://crrev.com/ba294d4792a17055f5d6967b629f01274b89bc60/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
[modify] https://crrev.com/ba294d4792a17055f5d6967b629f01274b89bc60/drivers/gpu/drm/vc4/vc4_crtc.c
[modify] https://crrev.com/ba294d4792a17055f5d6967b629f01274b89bc60/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
[modify] https://crrev.com/ba294d4792a17055f5d6967b629f01274b89bc60/drivers/gpu/drm/exynos/exynos_drm_drv.c
[modify] https://crrev.com/ba294d4792a17055f5d6967b629f01274b89bc60/drivers/gpu/drm/omapdrm/omap_crtc.c
[modify] https://crrev.com/ba294d4792a17055f5d6967b629f01274b89bc60/drivers/gpu/drm/exynos/exynos_drm_ipp.c

Comment 3 by groeck@chromium.org, Oct 17 2016

Status: Fixed (was: Started)

Comment 4 by ka...@chromium.org, Jan 13 2017

Status: Verified (was: Fixed)

Sign in to add a comment