diff options
Diffstat (limited to 'arch/x86/kernel/ldt.c')
| -rw-r--r-- | arch/x86/kernel/ldt.c | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/kernel/ldt.c b/arch/x86/kernel/ldt.c index ebc98739892..c37886d759c 100644 --- a/arch/x86/kernel/ldt.c +++ b/arch/x86/kernel/ldt.c @@ -229,6 +229,11 @@ static int write_ldt(void __user *ptr, unsigned long bytecount, int oldmode)  		}  	} +	if (!IS_ENABLED(CONFIG_X86_16BIT) && !ldt_info.seg_32bit) { +		error = -EINVAL; +		goto out_unlock; +	} +  	fill_ldt(&ldt, &ldt_info);  	if (oldmode)  		ldt.avl = 0;  | 
