stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "gregkh @ linuxfoundation . org" <gregkh@linuxfoundation.org>
To: Vineet Gupta <Vineet.Gupta1@synopsys.com>
Cc: "stable @ vger . kernel . org" <stable@vger.kernel.org>
Subject: Re: [PATCH] ARC: mm: fix build breakage with STRICT_MM_TYPECHECKS
Date: Mon, 12 Sep 2016 19:08:45 +0200	[thread overview]
Message-ID: <20160912170845.GA27012@kroah.com> (raw)
In-Reply-To: <1473697975-29097-1-git-send-email-vgupta@synopsys.com>

On Mon, Sep 12, 2016 at 09:32:55AM -0700, Vineet Gupta wrote:
> |  CC      mm/memory.o
> | In file included from ../mm/memory.c:53:0:
> | ../include/linux/pfn_t.h: In function ‘pfn_t_pte’:
> | ../include/linux/pfn_t.h:78:2: error: conversion to non-scalar type requested
> |  return pfn_pte(pfn_t_to_pfn(pfn), pgprot);
> 
> With STRICT_MM_TYPECHECKS pte_t is a struct and the offending code
> forces a cast which ends up shifting a struct and hence the gcc warning.
> 
> Note that in recent past some of the arches (aarch64, s390) made
> STRICT_MM_TYPECHECKS default, but we don't for ARC as this leads to slightly
> worse generated code, given ARC ABI definition of returning structs
> (which pte_t would become)
> 
> Quoting from ARC ABI...
> 
>   "Results of type struct are returned in a caller-supplied temporary
>   variable whose address is passed in r0.
>   For such functions, the arguments are shifted so that they are
>   passed in r1 and up."
> 
> So
>  - struct to be returned would be allocated on stack requiring extra
>    code at call sites
>  - callee updates stack memory to facilitate the return (vs. simple
>    MOV into return reg r0)
> 
> Hence STRICT_MM_TYPECHECKS is not enabled by default for ARC
> 
> Cc: <stable@vger.kernel.org>   #4.4+
> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> ---
>  arch/arc/include/asm/pgtable.h | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/arch/arc/include/asm/pgtable.h b/arch/arc/include/asm/pgtable.h
> index 3cab04255ae0..e5fec320f158 100644
> --- a/arch/arc/include/asm/pgtable.h
> +++ b/arch/arc/include/asm/pgtable.h
> @@ -277,8 +277,7 @@ static inline void pmd_set(pmd_t *pmdp, pte_t *ptep)
>  
>  #define mk_pte(page, prot)	pfn_pte(page_to_pfn(page), prot)
>  #define pte_pfn(pte)		(pte_val(pte) >> PAGE_SHIFT)
> -#define pfn_pte(pfn, prot)	(__pte(((pte_t)(pfn) << PAGE_SHIFT) | \
> -				 pgprot_val(prot)))
> +#define pfn_pte(pfn, prot)	(__pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot)))
>  #define __pte_index(addr)	(((addr) >> PAGE_SHIFT) & (PTRS_PER_PTE - 1))
>  
>  /*
> -- 
> 2.7.4

Whitespace is correct this time, thanks.  You can't cut-and-paste in a
web email client...

But, you forgot to say what the git commit id is for this patch :(

Can you resend it with that info?

thanks,

greg k-h

  reply	other threads:[~2016-09-12 17:33 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-05 13:06 FAILED: patch "[PATCH] ARC: mm: fix build breakage with STRICT_MM_TYPECHECKS" failed to apply to 4.4-stable tree gregkh
2016-09-06 17:24 ` Vineet Gupta
2016-09-09 14:19   ` gregkh
2016-09-09 16:47     ` Vineet Gupta
2016-09-10 15:50       ` gregkh
2016-09-12 16:32         ` [PATCH] ARC: mm: fix build breakage with STRICT_MM_TYPECHECKS Vineet Gupta
2016-09-12 17:08           ` gregkh @ linuxfoundation . org [this message]
2016-09-12 17:39             ` Vineet Gupta
2016-09-12 18:04             ` Vineet Gupta
2016-09-13  6:12               ` gregkh
2016-09-13 16:29                 ` Vineet Gupta

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=20160912170845.GA27012@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=Vineet.Gupta1@synopsys.com \
    --cc=stable@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).