[PATCH] xen: remove incorrect forward declaration

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[PATCH] xen: remove incorrect forward declaration

Arnd Bergmann
A bugfix patch for the xen balloon driver introduced a forward
declaration for a static function that is conditionally compiled,
causing a warning if only the declaration but not the definition
are there:

drivers/xen/balloon.c:154:13: error: 'release_memory_resource' declared 'static' but never defined [-Werror=unused-function]
 static void release_memory_resource(struct resource *resource);

This removes the declaration again and instead moves the function
definition to the right place, before its first caller and inside
of the #ifdef protecting both.

The patch that introduced the warning is marked for stable
backports, so if that gets applied to 4.4, so should this one.

Signed-off-by: Arnd Bergmann <[hidden email]>
Fixes: dfd74a1edfab ("xen/balloon: Fix crash when ballooning on x86 32 bit PAE")
Cc: [hidden email]
---
 drivers/xen/balloon.c | 28 +++++++++++++---------------
 1 file changed, 13 insertions(+), 15 deletions(-)

diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index d46839f51e73..e4db19e88ab1 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -151,8 +151,6 @@ static DECLARE_WAIT_QUEUE_HEAD(balloon_wq);
 static void balloon_process(struct work_struct *work);
 static DECLARE_DELAYED_WORK(balloon_worker, balloon_process);
 
-static void release_memory_resource(struct resource *resource);
-
 /* When ballooning out (allocating memory to return to Xen) we don't really
    want the kernel to try too hard since that can trigger the oom killer. */
 #define GFP_BALLOON \
@@ -248,6 +246,19 @@ static enum bp_state update_schedule(enum bp_state state)
 }
 
 #ifdef CONFIG_XEN_BALLOON_MEMORY_HOTPLUG
+static void release_memory_resource(struct resource *resource)
+{
+ if (!resource)
+ return;
+
+ /*
+ * No need to reset region to identity mapped since we now
+ * know that no I/O can be in this region
+ */
+ release_resource(resource);
+ kfree(resource);
+}
+
 static struct resource *additional_memory_resource(phys_addr_t size)
 {
  struct resource *res;
@@ -286,19 +297,6 @@ static struct resource *additional_memory_resource(phys_addr_t size)
  return res;
 }
 
-static void release_memory_resource(struct resource *resource)
-{
- if (!resource)
- return;
-
- /*
- * No need to reset region to identity mapped since we now
- * know that no I/O can be in this region
- */
- release_resource(resource);
- kfree(resource);
-}
-
 static enum bp_state reserve_additional_memory(void)
 {
  long credit;
--
2.7.0

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PATCH] xen: remove incorrect forward declaration

Juergen Gross
On 11/05/16 15:07, Arnd Bergmann wrote:

> A bugfix patch for the xen balloon driver introduced a forward
> declaration for a static function that is conditionally compiled,
> causing a warning if only the declaration but not the definition
> are there:
>
> drivers/xen/balloon.c:154:13: error: 'release_memory_resource' declared 'static' but never defined [-Werror=unused-function]
>  static void release_memory_resource(struct resource *resource);
>
> This removes the declaration again and instead moves the function
> definition to the right place, before its first caller and inside
> of the #ifdef protecting both.
>
> The patch that introduced the warning is marked for stable
> backports, so if that gets applied to 4.4, so should this one.
>
> Signed-off-by: Arnd Bergmann <[hidden email]>
> Fixes: dfd74a1edfab ("xen/balloon: Fix crash when ballooning on x86 32 bit PAE")
> Cc: [hidden email]

So you've CC'ed Ross, who sent the very same patch just yesterday, but
without the backport request.

Confused,

Juergen

> ---
>  drivers/xen/balloon.c | 28 +++++++++++++---------------
>  1 file changed, 13 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
> index d46839f51e73..e4db19e88ab1 100644
> --- a/drivers/xen/balloon.c
> +++ b/drivers/xen/balloon.c
> @@ -151,8 +151,6 @@ static DECLARE_WAIT_QUEUE_HEAD(balloon_wq);
>  static void balloon_process(struct work_struct *work);
>  static DECLARE_DELAYED_WORK(balloon_worker, balloon_process);
>  
> -static void release_memory_resource(struct resource *resource);
> -
>  /* When ballooning out (allocating memory to return to Xen) we don't really
>     want the kernel to try too hard since that can trigger the oom killer. */
>  #define GFP_BALLOON \
> @@ -248,6 +246,19 @@ static enum bp_state update_schedule(enum bp_state state)
>  }
>  
>  #ifdef CONFIG_XEN_BALLOON_MEMORY_HOTPLUG
> +static void release_memory_resource(struct resource *resource)
> +{
> + if (!resource)
> + return;
> +
> + /*
> + * No need to reset region to identity mapped since we now
> + * know that no I/O can be in this region
> + */
> + release_resource(resource);
> + kfree(resource);
> +}
> +
>  static struct resource *additional_memory_resource(phys_addr_t size)
>  {
>   struct resource *res;
> @@ -286,19 +297,6 @@ static struct resource *additional_memory_resource(phys_addr_t size)
>   return res;
>  }
>  
> -static void release_memory_resource(struct resource *resource)
> -{
> - if (!resource)
> - return;
> -
> - /*
> - * No need to reset region to identity mapped since we now
> - * know that no I/O can be in this region
> - */
> - release_resource(resource);
> - kfree(resource);
> -}
> -
>  static enum bp_state reserve_additional_memory(void)
>  {
>   long credit;
>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PATCH] xen: remove incorrect forward declaration

Ross Lagerwall-2
On 05/11/2016 03:05 PM, Juergen Gross wrote:

> On 11/05/16 15:07, Arnd Bergmann wrote:
>> A bugfix patch for the xen balloon driver introduced a forward
>> declaration for a static function that is conditionally compiled,
>> causing a warning if only the declaration but not the definition
>> are there:
>>
>> drivers/xen/balloon.c:154:13: error: 'release_memory_resource' declared 'static' but never defined [-Werror=unused-function]
>>   static void release_memory_resource(struct resource *resource);
>>
>> This removes the declaration again and instead moves the function
>> definition to the right place, before its first caller and inside
>> of the #ifdef protecting both.
>>
>> The patch that introduced the warning is marked for stable
>> backports, so if that gets applied to 4.4, so should this one.
>>
>> Signed-off-by: Arnd Bergmann <[hidden email]>
>> Fixes: dfd74a1edfab ("xen/balloon: Fix crash when ballooning on x86 32 bit PAE")
>> Cc: [hidden email]
>
> So you've CC'ed Ross, who sent the very same patch just yesterday, but
> without the backport request.
>

Well it wasn't clear to me whether it should be the maintainer or the
patch submitter who should request the backport and
Documentation/SubmittingPatches is not clear about it. Regardless, the
build fix should be backported to 4.4.

--
Ross Lagerwall
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [PATCH] xen: remove incorrect forward declaration

Stefano Stabellini-2
In reply to this post by Arnd Bergmann
On Wed, 11 May 2016, Arnd Bergmann wrote:

> A bugfix patch for the xen balloon driver introduced a forward
> declaration for a static function that is conditionally compiled,
> causing a warning if only the declaration but not the definition
> are there:
>
> drivers/xen/balloon.c:154:13: error: 'release_memory_resource' declared 'static' but never defined [-Werror=unused-function]
>  static void release_memory_resource(struct resource *resource);
>
> This removes the declaration again and instead moves the function
> definition to the right place, before its first caller and inside
> of the #ifdef protecting both.
>
> The patch that introduced the warning is marked for stable
> backports, so if that gets applied to 4.4, so should this one.
>
> Signed-off-by: Arnd Bergmann <[hidden email]>
> Fixes: dfd74a1edfab ("xen/balloon: Fix crash when ballooning on x86 32 bit PAE")
> Cc: [hidden email]

Reviewed-by: Stefano Stabellini <[hidden email]>


>  drivers/xen/balloon.c | 28 +++++++++++++---------------
>  1 file changed, 13 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
> index d46839f51e73..e4db19e88ab1 100644
> --- a/drivers/xen/balloon.c
> +++ b/drivers/xen/balloon.c
> @@ -151,8 +151,6 @@ static DECLARE_WAIT_QUEUE_HEAD(balloon_wq);
>  static void balloon_process(struct work_struct *work);
>  static DECLARE_DELAYED_WORK(balloon_worker, balloon_process);
>  
> -static void release_memory_resource(struct resource *resource);
> -
>  /* When ballooning out (allocating memory to return to Xen) we don't really
>     want the kernel to try too hard since that can trigger the oom killer. */
>  #define GFP_BALLOON \
> @@ -248,6 +246,19 @@ static enum bp_state update_schedule(enum bp_state state)
>  }
>  
>  #ifdef CONFIG_XEN_BALLOON_MEMORY_HOTPLUG
> +static void release_memory_resource(struct resource *resource)
> +{
> + if (!resource)
> + return;
> +
> + /*
> + * No need to reset region to identity mapped since we now
> + * know that no I/O can be in this region
> + */
> + release_resource(resource);
> + kfree(resource);
> +}
> +
>  static struct resource *additional_memory_resource(phys_addr_t size)
>  {
>   struct resource *res;
> @@ -286,19 +297,6 @@ static struct resource *additional_memory_resource(phys_addr_t size)
>   return res;
>  }
>  
> -static void release_memory_resource(struct resource *resource)
> -{
> - if (!resource)
> - return;
> -
> - /*
> - * No need to reset region to identity mapped since we now
> - * know that no I/O can be in this region
> - */
> - release_resource(resource);
> - kfree(resource);
> -}
> -
>  static enum bp_state reserve_additional_memory(void)
>  {
>   long credit;
> --
> 2.7.0
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Xen-devel] [PATCH] xen: remove incorrect forward declaration

Julien Grall-3
Hi Stefano,

On 16/05/2016 12:11, Stefano Stabellini wrote:

> On Wed, 11 May 2016, Arnd Bergmann wrote:
>> A bugfix patch for the xen balloon driver introduced a forward
>> declaration for a static function that is conditionally compiled,
>> causing a warning if only the declaration but not the definition
>> are there:
>>
>> drivers/xen/balloon.c:154:13: error: 'release_memory_resource' declared 'static' but never defined [-Werror=unused-function]
>>  static void release_memory_resource(struct resource *resource);
>>
>> This removes the declaration again and instead moves the function
>> definition to the right place, before its first caller and inside
>> of the #ifdef protecting both.
>>
>> The patch that introduced the warning is marked for stable
>> backports, so if that gets applied to 4.4, so should this one.
>>
>> Signed-off-by: Arnd Bergmann <[hidden email]>
>> Fixes: dfd74a1edfab ("xen/balloon: Fix crash when ballooning on x86 32 bit PAE")
>> Cc: [hidden email]
>
> Reviewed-by: Stefano Stabellini <[hidden email]>

You have applied this patch to the branch for-linus-4.8 but not
for-linus-4.7. Is it intentional?

Regards,

--
Julien Grall
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Xen-devel] [PATCH] xen: remove incorrect forward declaration

Stefano Stabellini-2
On Thu, 26 May 2016, Julien Grall wrote:

> Hi Stefano,
>
> On 16/05/2016 12:11, Stefano Stabellini wrote:
> > On Wed, 11 May 2016, Arnd Bergmann wrote:
> > > A bugfix patch for the xen balloon driver introduced a forward
> > > declaration for a static function that is conditionally compiled,
> > > causing a warning if only the declaration but not the definition
> > > are there:
> > >
> > > drivers/xen/balloon.c:154:13: error: 'release_memory_resource' declared
> > > 'static' but never defined [-Werror=unused-function]
> > >  static void release_memory_resource(struct resource *resource);
> > >
> > > This removes the declaration again and instead moves the function
> > > definition to the right place, before its first caller and inside
> > > of the #ifdef protecting both.
> > >
> > > The patch that introduced the warning is marked for stable
> > > backports, so if that gets applied to 4.4, so should this one.
> > >
> > > Signed-off-by: Arnd Bergmann <[hidden email]>
> > > Fixes: dfd74a1edfab ("xen/balloon: Fix crash when ballooning on x86 32 bit
> > > PAE")
> > > Cc: [hidden email]
> >
> > Reviewed-by: Stefano Stabellini <[hidden email]>
>
> You have applied this patch to the branch for-linus-4.8 but not for-linus-4.7.
> Is it intentional?

Yes it is. for-linus-4.7 is based on an older version of the kernel that
doesn't have dfd74a1edfab. Linus discourages rebasing the pull request
branches. That said, the patch could still go to Linus earlies in one of
the RCs.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Xen-devel] [PATCH] xen: remove incorrect forward declaration

David Vrabel
In reply to this post by Arnd Bergmann
On 11/05/16 14:07, Arnd Bergmann wrote:

> A bugfix patch for the xen balloon driver introduced a forward
> declaration for a static function that is conditionally compiled,
> causing a warning if only the declaration but not the definition
> are there:
>
> drivers/xen/balloon.c:154:13: error: 'release_memory_resource' declared 'static' but never defined [-Werror=unused-function]
>  static void release_memory_resource(struct resource *resource);
>
> This removes the declaration again and instead moves the function
> definition to the right place, before its first caller and inside
> of the #ifdef protecting both.

I've applied the equivalent patch from Ross, instead.

> The patch that introduced the warning is marked for stable
> backports, so if that gets applied to 4.4, so should this one.

Fixes for compiler warnings are not sufficiently important to be
backported to stable.

David
Loading...