All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiang Liu <jiang.liu@linux.intel.com>
To: Stephen Rothwell <sfr@canb.auug.org.au>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Subject: Re: linux-next: build failure after merge of the pm tree
Date: Mon, 09 Feb 2015 10:53:05 +0800	[thread overview]
Message-ID: <54D82111.9090003@linux.intel.com> (raw)
In-Reply-To: <20150209132642.0d61b6ed@canb.auug.org.au>



On 2015/2/9 10:26, Stephen Rothwell wrote:
> Hi Rafael,
> 
> After merging the pm tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
> 
> In file included from drivers/of/of_pci.c:1:0:
> drivers/of/of_pci.c: In function 'of_pci_get_host_bridge_resources':
> include/linux/list.h:447:43: error: dereferencing pointer to incomplete type
>   for (pos = list_first_entry(head, typeof(*pos), member); \
>                                            ^
> include/linux/kernel.h:799:18: note: in definition of macro 'container_of'
>   const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                   ^
> include/linux/list.h:363:2: note: in expansion of macro 'list_entry'
>   list_entry((ptr)->next, type, member)
>   ^
> include/linux/list.h:447:13: note: in expansion of macro 'list_first_entry'
>   for (pos = list_first_entry(head, typeof(*pos), member); \
>              ^
> drivers/of/of_pci.c:229:2: note: in expansion of macro 'list_for_each_entry'
>   list_for_each_entry(window, resources, list)
>   ^
> include/linux/kernel.h:799:48: warning: initialization from incompatible pointer type
>   const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                 ^
> include/linux/list.h:352:2: note: in expansion of macro 'container_of'
>   container_of(ptr, type, member)
>   ^
> include/linux/list.h:363:2: note: in expansion of macro 'list_entry'
>   list_entry((ptr)->next, type, member)
>   ^
> include/linux/list.h:447:13: note: in expansion of macro 'list_first_entry'
>   for (pos = list_first_entry(head, typeof(*pos), member); \
>              ^
> drivers/of/of_pci.c:229:2: note: in expansion of macro 'list_for_each_entry'
>   list_for_each_entry(window, resources, list)
>   ^
> include/linux/list.h:447:43: error: dereferencing pointer to incomplete type
>   for (pos = list_first_entry(head, typeof(*pos), member); \
>                                            ^
> include/linux/kernel.h:800:3: note: in definition of macro 'container_of'
>   (type *)( (char *)__mptr - offsetof(type,member) );})
>    ^
> include/linux/list.h:363:2: note: in expansion of macro 'list_entry'
>   list_entry((ptr)->next, type, member)
>   ^
> include/linux/list.h:447:13: note: in expansion of macro 'list_first_entry'
>   for (pos = list_first_entry(head, typeof(*pos), member); \
>              ^
> drivers/of/of_pci.c:229:2: note: in expansion of macro 'list_for_each_entry'
>   list_for_each_entry(window, resources, list)
>   ^
> In file included from include/linux/compiler-gcc.h:106:0,
>                  from include/linux/compiler.h:54,
>                  from include/linux/linkage.h:4,
>                  from include/linux/kernel.h:6,
>                  from drivers/of/of_pci.c:1:
> include/linux/list.h:447:43: error: dereferencing pointer to incomplete type
>   for (pos = list_first_entry(head, typeof(*pos), member); \
>                                            ^
> include/linux/compiler-gcc4.h:14:53: note: in definition of macro '__compiler_offsetof'
>  #define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
>                                                      ^
> include/linux/kernel.h:800:29: note: in expansion of macro 'offsetof'
>   (type *)( (char *)__mptr - offsetof(type,member) );})
>                              ^
> include/linux/list.h:352:2: note: in expansion of macro 'container_of'
>   container_of(ptr, type, member)
>   ^
> include/linux/list.h:363:2: note: in expansion of macro 'list_entry'
>   list_entry((ptr)->next, type, member)
>   ^
> include/linux/list.h:447:13: note: in expansion of macro 'list_first_entry'
>   for (pos = list_first_entry(head, typeof(*pos), member); \
>              ^
> drivers/of/of_pci.c:229:2: note: in expansion of macro 'list_for_each_entry'
>   list_for_each_entry(window, resources, list)
>   ^
> In file included from include/linux/kobject.h:20:0,
>                  from include/linux/of.h:21,
>                  from drivers/of/of_pci.c:3:
> include/linux/list.h:448:11: error: dereferencing pointer to incomplete type
>        &pos->member != (head);     \
>            ^
> drivers/of/of_pci.c:229:2: note: in expansion of macro 'list_for_each_entry'
>   list_for_each_entry(window, resources, list)
>   ^
> In file included from drivers/of/of_pci.c:1:0:
> include/linux/list.h:393:40: error: dereferencing pointer to incomplete type
>   list_entry((pos)->member.next, typeof(*(pos)), member)
>                                         ^
> include/linux/kernel.h:799:18: note: in definition of macro 'container_of'
>   const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                   ^
> include/linux/list.h:393:2: note: in expansion of macro 'list_entry'
>   list_entry((pos)->member.next, typeof(*(pos)), member)
>   ^
> include/linux/list.h:449:13: note: in expansion of macro 'list_next_entry'
>        pos = list_next_entry(pos, member))
>              ^
> drivers/of/of_pci.c:229:2: note: in expansion of macro 'list_for_each_entry'
>   list_for_each_entry(window, resources, list)
>   ^
> include/linux/list.h:393:18: error: dereferencing pointer to incomplete type
>   list_entry((pos)->member.next, typeof(*(pos)), member)
>                   ^
> include/linux/kernel.h:799:49: note: in definition of macro 'container_of'
>   const typeof( ((type *)0)->member ) *__mptr = (ptr); \
>                                                  ^
> include/linux/list.h:393:2: note: in expansion of macro 'list_entry'
>   list_entry((pos)->member.next, typeof(*(pos)), member)
>   ^
> include/linux/list.h:449:13: note: in expansion of macro 'list_next_entry'
>        pos = list_next_entry(pos, member))
>              ^
> drivers/of/of_pci.c:229:2: note: in expansion of macro 'list_for_each_entry'
>   list_for_each_entry(window, resources, list)
>   ^
> include/linux/list.h:393:40: error: dereferencing pointer to incomplete type
>   list_entry((pos)->member.next, typeof(*(pos)), member)
>                                         ^
> include/linux/kernel.h:800:3: note: in definition of macro 'container_of'
>   (type *)( (char *)__mptr - offsetof(type,member) );})
>    ^
> include/linux/list.h:393:2: note: in expansion of macro 'list_entry'
>   list_entry((pos)->member.next, typeof(*(pos)), member)
>   ^
> include/linux/list.h:449:13: note: in expansion of macro 'list_next_entry'
>        pos = list_next_entry(pos, member))
>              ^
> drivers/of/of_pci.c:229:2: note: in expansion of macro 'list_for_each_entry'
>   list_for_each_entry(window, resources, list)
>   ^
> In file included from include/linux/compiler-gcc.h:106:0,
>                  from include/linux/compiler.h:54,
>                  from include/linux/linkage.h:4,
>                  from include/linux/kernel.h:6,
>                  from drivers/of/of_pci.c:1:
> include/linux/list.h:393:40: error: dereferencing pointer to incomplete type
>   list_entry((pos)->member.next, typeof(*(pos)), member)
>                                         ^
> include/linux/compiler-gcc4.h:14:53: note: in definition of macro '__compiler_offsetof'
>  #define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
>                                                      ^
> include/linux/kernel.h:800:29: note: in expansion of macro 'offsetof'
>   (type *)( (char *)__mptr - offsetof(type,member) );})
>                              ^
> include/linux/list.h:352:2: note: in expansion of macro 'container_of'
>   container_of(ptr, type, member)
>   ^
> include/linux/list.h:393:2: note: in expansion of macro 'list_entry'
>   list_entry((pos)->member.next, typeof(*(pos)), member)
>   ^
> include/linux/list.h:449:13: note: in expansion of macro 'list_next_entry'
>        pos = list_next_entry(pos, member))
>              ^
> drivers/of/of_pci.c:229:2: note: in expansion of macro 'list_for_each_entry'
>   list_for_each_entry(window, resources, list)
>   ^
> drivers/of/of_pci.c:230:15: error: dereferencing pointer to incomplete type
>    kfree(window->res);
>                ^
> 
> Caused by commit 14d76b68f281 ("PCI: Use common resource list
> management code instead of private implementation") interacting with
> commit d2be00c0fb5a ("of/pci: Free resources on failure in
> of_pci_get_host_bridge_resources()") from the pci tree.
> 
> I applied the following merge fix patch (which may need more work?).
Hi Stephen,
	Thanks for fixing it and there should no more work needed.
Regards!
Gerry

> Someone needs to remember to tell Linus about this fix (or similar)
> when these trees get merged.
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Mon, 9 Feb 2015 13:08:24 +1100
> Subject: [PATCH] of/pci: fix up for "PCI: Use common resource list management
>  code instead of private implementation"
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  drivers/of/of_pci.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c
> index 60dc36c865b5..110fece2ff53 100644
> --- a/drivers/of/of_pci.c
> +++ b/drivers/of/of_pci.c
> @@ -140,7 +140,7 @@ int of_pci_get_host_bridge_resources(struct device_node *dev,
>  			unsigned char busno, unsigned char bus_max,
>  			struct list_head *resources, resource_size_t *io_base)
>  {
> -	struct pci_host_bridge_window *window;
> +	struct resource_entry *window;
>  	struct resource *res;
>  	struct resource *bus_range;
>  	struct of_pci_range range;
> @@ -226,7 +226,7 @@ int of_pci_get_host_bridge_resources(struct device_node *dev,
>  conversion_failed:
>  	kfree(res);
>  parse_failed:
> -	list_for_each_entry(window, resources, list)
> +	resource_list_for_each_entry(window, resources)
>  		kfree(window->res);
>  	pci_free_resource_list(resources);
>  	kfree(bus_range);
> 

  reply	other threads:[~2015-02-09  2:53 UTC|newest]

Thread overview: 133+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-09  2:26 linux-next: build failure after merge of the pm tree Stephen Rothwell
2015-02-09  2:53 ` Jiang Liu [this message]
2015-02-09  3:22   ` Rafael J. Wysocki
2015-02-09  5:36     ` Jiang Liu
2015-02-09  6:23       ` Lorenzo Pieralisi
2015-02-09 15:10         ` Rafael J. Wysocki
2015-02-09 15:21           ` Jiang Liu
2015-02-09 15:50             ` Lorenzo Pieralisi
2015-02-09  3:19 ` Rafael J. Wysocki
2015-02-09  3:53   ` Lorenzo Pieralisi
  -- strict thread matches above, loose matches on Subject: below --
2026-03-30 19:56 Mark Brown
2026-03-30 19:59 ` Rafael J. Wysocki
2025-04-14  1:57 Stephen Rothwell
2025-04-14 15:25 ` Rafael J. Wysocki
2025-03-12 12:58 Stephen Rothwell
2024-07-12  1:48 Stephen Rothwell
2024-07-12 13:21 ` Rafael J. Wysocki
2024-02-08  3:42 Stephen Rothwell
2024-01-24  0:51 Stephen Rothwell
2024-01-24 15:56 ` Wysocki, Rafael J
2023-12-18 23:37 Stephen Rothwell
2023-11-21  2:46 Stephen Rothwell
2023-07-14  1:00 Stephen Rothwell
2023-07-14 18:19 ` Wysocki, Rafael J
2023-07-14 18:50   ` Rafael J. Wysocki
2023-04-03 10:18 Stephen Rothwell
2023-04-03  1:25 Stephen Rothwell
2023-04-03  1:16 Stephen Rothwell
2023-04-03  1:06 Stephen Rothwell
2022-06-29  0:23 Stephen Rothwell
2022-06-29 13:01 ` Rafael J. Wysocki
2022-04-28  1:00 Stephen Rothwell
2022-04-28  3:07 ` Zhang Rui
2022-04-28  8:53 ` Zhang Rui
2022-04-28  8:56 ` Zhang Rui
2022-04-28 12:32   ` Rafael J. Wysocki
2022-01-04  0:15 Stephen Rothwell
2022-01-04  7:29 ` Heiner Kallweit
2022-01-04  8:02   ` Stephen Rothwell
2022-01-04 14:43     ` Heiner Kallweit
2022-01-04 14:57       ` Rafael J. Wysocki
2021-12-01 23:28 Stephen Rothwell
2021-12-02 10:04 ` Daniel Lezcano
2021-12-03 16:50   ` Rafael J. Wysocki
2021-12-03 17:22     ` Daniel Lezcano
2021-02-05  0:51 Stephen Rothwell
     [not found] ` <CAHp75VfiyAtxg+wqZ30kSzCfFFsLndLjzrUc1njZG0x6vQeyBQ@mail.gmail.com>
2021-02-05 11:15   ` Andy Shevchenko
2021-02-08 19:30     ` Rafael J. Wysocki
2021-02-08 19:47       ` Andy Shevchenko
2021-02-08 19:48         ` Andy Shevchenko
2021-02-09 14:32           ` Rafael J. Wysocki
2021-02-09 16:04             ` Andy Shevchenko
2020-12-09  9:57 Stephen Rothwell
2020-03-17  7:52 Stephen Rothwell
2020-03-18 11:44 ` Stephen Rothwell
2020-03-18 11:52   ` Colin Ian King
2020-03-18 12:18     ` Stephen Rothwell
2020-03-19  5:42       ` Stephen Rothwell
2020-03-19  9:32         ` Rafael J. Wysocki
2019-07-31  5:34 Stephen Rothwell
2019-07-31 10:27 ` Rafael J. Wysocki
2019-07-15  0:02 Stephen Rothwell
2019-07-15  9:44 ` Rafael J. Wysocki
2019-07-04  9:41 Stephen Rothwell
2019-07-04  9:48 ` Viresh Kumar
2019-07-04 10:33   ` Rafael J. Wysocki
2019-07-01  3:37 Stephen Rothwell
2019-07-01  7:48 ` Viresh Kumar
2018-05-24 14:16 Mark Brown
2018-05-24 14:16 ` Mark Brown
2016-09-14  4:27 Stephen Rothwell
2016-09-14 21:38 ` Rafael J. Wysocki
2016-07-22  1:56 Stephen Rothwell
2016-07-22  2:26 ` Steve Muckle
2016-07-22 12:08   ` Rafael J. Wysocki
2016-07-22 12:16     ` Fengguang Wu
2016-07-11  1:46 Stephen Rothwell
2016-07-11  4:48 ` Mika Westerberg
2016-07-11  5:29   ` Stephen Rothwell
2016-07-11 12:57     ` Rafael J. Wysocki
2016-06-02  2:12 Stephen Rothwell
2016-04-01  1:27 Stephen Rothwell
2016-04-01 20:51 ` Rafael J. Wysocki
2015-12-09  1:54 Stephen Rothwell
2015-12-09  2:00 ` Viresh Kumar
2015-11-01  6:57 Stephen Rothwell
2015-11-01  6:57 ` Stephen Rothwell
2015-11-01  6:57 ` Stephen Rothwell
2015-11-02  0:37 ` Rafael J. Wysocki
2015-11-02  0:37   ` Rafael J. Wysocki
2015-04-13  4:24 Stephen Rothwell
2015-04-13 12:06 ` Rafael J. Wysocki
2015-04-15  2:30 ` Stephen Rothwell
2014-08-11  1:57 Stephen Rothwell
2014-08-12  1:10 ` Rafael J. Wysocki
2013-12-18  1:00 Stephen Rothwell
2013-12-18  1:17 ` Rafael J. Wysocki
2013-07-05  1:24 Stephen Rothwell
2013-07-05  1:37 ` Rafael J. Wysocki
2013-03-03 23:58 Stephen Rothwell
2013-03-04 11:54 ` Rafael J. Wysocki
2013-01-30  8:48 Stephen Rothwell
2013-01-30 12:50 ` Rafael J. Wysocki
2013-01-14  0:03 Stephen Rothwell
2013-01-14 12:37 ` Rafael J. Wysocki
2013-01-14 13:22 ` Sedat Dilek
2013-01-14 18:54   ` Rafael J. Wysocki
2012-11-28  4:02 Stephen Rothwell
2012-11-28  9:32 ` Rafael J. Wysocki
2012-11-26  6:09 Stephen Rothwell
2012-11-26 10:10 ` Rafael J. Wysocki
2012-09-25  4:30 Stephen Rothwell
2012-09-25 11:51 ` Rafael J. Wysocki
2012-06-20  5:01 Stephen Rothwell
2012-06-20 22:54 ` Rafael J. Wysocki
2012-01-27  1:53 Stephen Rothwell
2012-01-27  9:35 ` Rafael J. Wysocki
2011-11-10  2:31 Stephen Rothwell
2011-11-10 12:11 ` Rafael J. Wysocki
2011-11-10 15:48   ` Tejun Heo
2011-11-11 12:27 ` Rafael J. Wysocki
2011-09-28  4:51 Stephen Rothwell
2011-09-28  5:11 ` Ming Lei
2011-09-28 13:58   ` Rafael J. Wysocki
2011-09-28 14:47     ` Ming Lei
2011-09-28 19:32       ` Rafael J. Wysocki
2011-09-29  1:32         ` Ming Lei
2011-09-29  9:26           ` Rafael J. Wysocki
2011-09-29  9:32             ` Ming Lei
2011-09-29 20:25               ` Rafael J. Wysocki
2011-09-28 14:47     ` Rafael J. Wysocki
2011-08-19 13:47 Stephen Rothwell
2011-08-19 21:31 ` Rafael J. Wysocki

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=54D82111.9090003@linux.intel.com \
    --to=jiang.liu@linux.intel.com \
    --cc=bhelgaas@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=rjw@rjwysocki.net \
    --cc=sfr@canb.auug.org.au \
    /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.