mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
Merge branch 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull more set_fs removal from Al Viro: "Christoph's 'use kernel_read and friends rather than open-coding set_fs()' series" * 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: fs: unexport vfs_readv and vfs_writev fs: unexport vfs_read and vfs_write fs: unexport __vfs_read/__vfs_write lustre: switch to kernel_write gadget/f_mass_storage: stop messing with the address limit mconsole: switch to kernel_read btrfs: switch write_buf to kernel_write net/9p: switch p9_fd_read to kernel_write mm/nommu: switch do_mmap_private to kernel_read serial2002: switch serial2002_tty_write to kernel_{read/write} fs: make the buf argument to __kernel_write a void pointer fs: fix kernel_write prototype fs: fix kernel_read prototype fs: move kernel_read to fs/read_write.c fs: move kernel_write to fs/read_write.c autofs4: switch autofs4_write to __kernel_write ashmem: switch to ->read_iter
This commit is contained in:
@@ -176,19 +176,14 @@ static int create_flat_tables(struct linux_binprm *bprm, unsigned long arg_start
|
||||
#define ENCRYPTED 0x20 /* bit 5 set: file is encrypted */
|
||||
#define RESERVED 0xC0 /* bit 6,7: reserved */
|
||||
|
||||
static int decompress_exec(
|
||||
struct linux_binprm *bprm,
|
||||
unsigned long offset,
|
||||
char *dst,
|
||||
long len,
|
||||
int fd)
|
||||
static int decompress_exec(struct linux_binprm *bprm, loff_t fpos, char *dst,
|
||||
long len, int fd)
|
||||
{
|
||||
unsigned char *buf;
|
||||
z_stream strm;
|
||||
loff_t fpos;
|
||||
int ret, retval;
|
||||
|
||||
pr_debug("decompress_exec(offset=%lx,buf=%p,len=%lx)\n", offset, dst, len);
|
||||
pr_debug("decompress_exec(offset=%llx,buf=%p,len=%lx)\n", fpos, dst, len);
|
||||
|
||||
memset(&strm, 0, sizeof(strm));
|
||||
strm.workspace = kmalloc(zlib_inflate_workspacesize(), GFP_KERNEL);
|
||||
@@ -202,13 +197,11 @@ static int decompress_exec(
|
||||
}
|
||||
|
||||
/* Read in first chunk of data and parse gzip header. */
|
||||
fpos = offset;
|
||||
ret = kernel_read(bprm->file, offset, buf, LBUFSIZE);
|
||||
ret = kernel_read(bprm->file, buf, LBUFSIZE, &fpos);
|
||||
|
||||
strm.next_in = buf;
|
||||
strm.avail_in = ret;
|
||||
strm.total_in = 0;
|
||||
fpos += ret;
|
||||
|
||||
retval = -ENOEXEC;
|
||||
|
||||
@@ -274,7 +267,7 @@ static int decompress_exec(
|
||||
}
|
||||
|
||||
while ((ret = zlib_inflate(&strm, Z_NO_FLUSH)) == Z_OK) {
|
||||
ret = kernel_read(bprm->file, fpos, buf, LBUFSIZE);
|
||||
ret = kernel_read(bprm->file, buf, LBUFSIZE, &fpos);
|
||||
if (ret <= 0)
|
||||
break;
|
||||
len -= ret;
|
||||
@@ -282,7 +275,6 @@ static int decompress_exec(
|
||||
strm.next_in = buf;
|
||||
strm.avail_in = ret;
|
||||
strm.total_in = 0;
|
||||
fpos += ret;
|
||||
}
|
||||
|
||||
if (ret < 0) {
|
||||
|
Reference in New Issue
Block a user