All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Hansen <dave.hansen@linux.intel.com>
To: Kevin Hao <haokexin@gmail.com>, Yu-cheng Yu <yu-cheng.yu@intel.com>
Cc: fenghua.yu@intel.com, dvlasenk@redhat.com, peterz@infradead.org,
	oleg@redhat.com, mingo@kernel.org, linux-kernel@vger.kernel.org,
	brgerst@gmail.com, luto@kernel.org, bp@alien8.de,
	jpoimboe@redhat.com, hpa@zytor.com,
	quentin.casasnovas@oracle.com, tglx@linutronix.de,
	torvalds@linux-foundation.org, riel@redhat.com,
	linux-tip-commits@vger.kernel.org
Subject: Re: [tip:x86/urgent] x86/fpu: Set the xcomp_bv when we fake up a XSAVES area
Date: Mon, 23 Jan 2017 16:53:25 -0800	[thread overview]
Message-ID: <0d717394-eaf0-4d29-1aae-218ffcc8f06b@linux.intel.com> (raw)
In-Reply-To: <20170124001447.GD15017@pek-khao-d1>

>> The fix I am proposing is...
>>
>> 	state->xsave.header.xcomp_bv = XCOMP_BV_COMPACTED_FORMAT |
>> 				       xfeatures_mask;
> 
> Actually I thought about this change before I made this patch, but I don't this
> is the right fix. It is always error prone to init the xcomp_bv to all the
> supported feature. In case like copyin_to_xsaves(), it is possible that the
> features which should be set in xcomp_bv do not equal to all the supported
> features. Please see the following codes in copyin_to_xsaves():
> 	/*
> 	 * The state that came in from userspace was user-state only.
> 	 * Mask all the user states out of 'xfeatures':
> 	 */
> 	xsave->header.xfeatures &= XFEATURE_MASK_SUPERVISOR;
> 
> 	/*
> 	 * Add back in the features that came in from userspace:
> 	 */
> 	xsave->header.xfeatures |= xfeatures;

Hi Kevin,

I think you may be confusing 'xfeatures' with 'xcomp_bv'.  xfeatures
tells you what features are present in the buffer while xcomp_bv tells
you what *format* the buffer is in.

Userspace never dictates the *format* of the kernel buffer, only the
contents of each state.  So, it makes sense that the copyin code would
not (and should not) modify xcomp_bv.

We ensure that xcomp_bv has all supported states set all the time, or
we're *supposed* to.

  reply	other threads:[~2017-01-24  0:53 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-22  8:50 [PATCH] x86/fpu: set the xcomp_bv when we fake up a XSAVES area Kevin Hao
2017-01-23  8:28 ` [tip:x86/urgent] x86/fpu: Set " tip-bot for Kevin Hao
2017-01-23 15:36   ` Dave Hansen
2017-01-23 16:55     ` Yu-cheng Yu
2017-01-23 17:23       ` Dave Hansen
2017-01-23 20:57         ` Yu-cheng Yu
2017-01-23 21:10           ` Dave Hansen
2017-01-23 21:16             ` Yu-cheng Yu
2017-01-23 21:28               ` Dave Hansen
2017-01-24  0:14               ` Kevin Hao
2017-01-24  0:53                 ` Dave Hansen [this message]
2017-01-24  1:50                   ` Kevin Hao
2017-01-24  2:01                     ` Dave Hansen
2017-01-24  2:09                       ` Kevin Hao
2017-01-24  2:38                         ` Dave Hansen
2017-01-24  5:18                           ` Kevin Hao
2017-01-24  8:08                         ` Ingo Molnar
2017-01-23  9:43 ` tip-bot for Kevin Hao
2017-02-14 16:47   ` Dave Hansen

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=0d717394-eaf0-4d29-1aae-218ffcc8f06b@linux.intel.com \
    --to=dave.hansen@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=brgerst@gmail.com \
    --cc=dvlasenk@redhat.com \
    --cc=fenghua.yu@intel.com \
    --cc=haokexin@gmail.com \
    --cc=hpa@zytor.com \
    --cc=jpoimboe@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mingo@kernel.org \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=quentin.casasnovas@oracle.com \
    --cc=riel@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=yu-cheng.yu@intel.com \
    /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.