mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
fs: fix kernel_read prototype
Use proper ssize_t and size_t types for the return value and count argument, move the offset last and make it an in/out argument like all other read/write helpers, and make the buf argument a void pointer to get rid of lots of casts in the callers. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
committed by
Al Viro
parent
c41fbad015
commit
bdd1d2d3d2
@@ -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);
|
||||
@@ -204,13 +199,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;
|
||||
|
||||
@@ -276,7 +269,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;
|
||||
@@ -284,7 +277,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