diff options
Diffstat (limited to 'debian/patches-rt/0010-x86-fpu-Make-__raw_xsave_addr-use-feature-number-ins.patch')
-rw-r--r-- | debian/patches-rt/0010-x86-fpu-Make-__raw_xsave_addr-use-feature-number-ins.patch | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/debian/patches-rt/0010-x86-fpu-Make-__raw_xsave_addr-use-feature-number-ins.patch b/debian/patches-rt/0010-x86-fpu-Make-__raw_xsave_addr-use-feature-number-ins.patch deleted file mode 100644 index 7e4c8ec88..000000000 --- a/debian/patches-rt/0010-x86-fpu-Make-__raw_xsave_addr-use-feature-number-ins.patch +++ /dev/null @@ -1,98 +0,0 @@ -From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> -Date: Tue, 2 Oct 2018 10:28:15 +0200 -Subject: [PATCH 10/27] x86/fpu: Make __raw_xsave_addr() use feature number - instead of mask -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.0/older/patches-5.0.10-rt7.tar.xz - -Most users of __raw_xsave_addr() use a feature number, shift it to a -mask and then __raw_xsave_addr() shifts it back to the feature number. - -Make __raw_xsave_addr() use the feature number as an argument. - -Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> -Reviewed-by: Borislav Petkov <bp@suse.de> ---- - arch/x86/kernel/fpu/xstate.c | 22 +++++++++++----------- - 1 file changed, 11 insertions(+), 11 deletions(-) - ---- a/arch/x86/kernel/fpu/xstate.c -+++ b/arch/x86/kernel/fpu/xstate.c -@@ -805,20 +805,18 @@ void fpu__resume_cpu(void) - } - - /* -- * Given an xstate feature mask, calculate where in the xsave -+ * Given an xstate feature nr, calculate where in the xsave - * buffer the state is. Callers should ensure that the buffer - * is valid. - */ --static void *__raw_xsave_addr(struct xregs_state *xsave, int xstate_feature_mask) -+static void *__raw_xsave_addr(struct xregs_state *xsave, int xfeature_nr) - { -- int feature_nr = fls64(xstate_feature_mask) - 1; -- -- if (!xfeature_enabled(feature_nr)) { -+ if (!xfeature_enabled(xfeature_nr)) { - WARN_ON_FPU(1); - return NULL; - } - -- return (void *)xsave + xstate_comp_offsets[feature_nr]; -+ return (void *)xsave + xstate_comp_offsets[xfeature_nr]; - } - /* - * Given the xsave area and a state inside, this function returns the -@@ -840,6 +838,7 @@ static void *__raw_xsave_addr(struct xre - */ - void *get_xsave_addr(struct xregs_state *xsave, int xstate_feature) - { -+ int xfeature_nr; - /* - * Do we even *have* xsave state? - */ -@@ -867,7 +866,8 @@ void *get_xsave_addr(struct xregs_state - if (!(xsave->header.xfeatures & xstate_feature)) - return NULL; - -- return __raw_xsave_addr(xsave, xstate_feature); -+ xfeature_nr = fls64(xstate_feature) - 1; -+ return __raw_xsave_addr(xsave, xfeature_nr); - } - EXPORT_SYMBOL_GPL(get_xsave_addr); - -@@ -1014,7 +1014,7 @@ int copy_xstate_to_kernel(void *kbuf, st - * Copy only in-use xstates: - */ - if ((header.xfeatures >> i) & 1) { -- void *src = __raw_xsave_addr(xsave, 1 << i); -+ void *src = __raw_xsave_addr(xsave, i); - - offset = xstate_offsets[i]; - size = xstate_sizes[i]; -@@ -1100,7 +1100,7 @@ int copy_xstate_to_user(void __user *ubu - * Copy only in-use xstates: - */ - if ((header.xfeatures >> i) & 1) { -- void *src = __raw_xsave_addr(xsave, 1 << i); -+ void *src = __raw_xsave_addr(xsave, i); - - offset = xstate_offsets[i]; - size = xstate_sizes[i]; -@@ -1157,7 +1157,7 @@ int copy_kernel_to_xstate(struct xregs_s - u64 mask = ((u64)1 << i); - - if (hdr.xfeatures & mask) { -- void *dst = __raw_xsave_addr(xsave, 1 << i); -+ void *dst = __raw_xsave_addr(xsave, i); - - offset = xstate_offsets[i]; - size = xstate_sizes[i]; -@@ -1211,7 +1211,7 @@ int copy_user_to_xstate(struct xregs_sta - u64 mask = ((u64)1 << i); - - if (hdr.xfeatures & mask) { -- void *dst = __raw_xsave_addr(xsave, 1 << i); -+ void *dst = __raw_xsave_addr(xsave, i); - - offset = xstate_offsets[i]; - size = xstate_sizes[i]; |