Merge branch 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull initial set_fs() removal from Al Viro:
"Christoph's set_fs base series + fixups"
* 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
fs: Allow a NULL pos pointer to __kernel_read
fs: Allow a NULL pos pointer to __kernel_write
powerpc: remove address space overrides using set_fs()
powerpc: use non-set_fs based maccess routines
x86: remove address space overrides using set_fs()
x86: make TASK_SIZE_MAX usable from assembly code
x86: move PAGE_OFFSET, TASK_SIZE & friends to page_{32,64}_types.h
lkdtm: remove set_fs-based tests
test_bitmap: remove user bitmap tests
uaccess: add infrastructure for kernel builds with set_fs()
fs: don't allow splice read/write without explicit ops
fs: don't allow kernel reads and writes without iter ops
sysctl: Convert to iter interfaces
proc: add a read_iter method to proc proc_ops
proc: cleanup the compat vs no compat file ops
proc: remove a level of indentation in proc_get_inode
This commit is contained in:
@@ -108,11 +108,11 @@ static nokprobe_inline long address_ok(struct pt_regs *regs,
|
||||
{
|
||||
if (!user_mode(regs))
|
||||
return 1;
|
||||
if (__access_ok(ea, nb, USER_DS))
|
||||
if (__access_ok(ea, nb))
|
||||
return 1;
|
||||
if (__access_ok(ea, 1, USER_DS))
|
||||
if (__access_ok(ea, 1))
|
||||
/* Access overlaps the end of the user region */
|
||||
regs->dar = USER_DS.seg;
|
||||
regs->dar = TASK_SIZE_MAX - 1;
|
||||
else
|
||||
regs->dar = ea;
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user