diff options
| -rw-r--r-- | fs/kernfs/file.c | 1 | ||||
| -rw-r--r-- | lib/lz4/lz4_decompress.c | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/fs/kernfs/file.c b/fs/kernfs/file.c index b684e8a132e6..2bacb9988566 100644 --- a/fs/kernfs/file.c +++ b/fs/kernfs/file.c | |||
| @@ -207,6 +207,7 @@ static ssize_t kernfs_file_direct_read(struct kernfs_open_file *of, | |||
| 207 | goto out_free; | 207 | goto out_free; |
| 208 | } | 208 | } |
| 209 | 209 | ||
| 210 | of->event = atomic_read(&of->kn->attr.open->event); | ||
| 210 | ops = kernfs_ops(of->kn); | 211 | ops = kernfs_ops(of->kn); |
| 211 | if (ops->read) | 212 | if (ops->read) |
| 212 | len = ops->read(of, buf, len, *ppos); | 213 | len = ops->read(of, buf, len, *ppos); |
diff --git a/lib/lz4/lz4_decompress.c b/lib/lz4/lz4_decompress.c index 7a85967060a5..f0f5c5c3de12 100644 --- a/lib/lz4/lz4_decompress.c +++ b/lib/lz4/lz4_decompress.c | |||
| @@ -139,6 +139,9 @@ static int lz4_uncompress(const char *source, char *dest, int osize) | |||
| 139 | /* Error: request to write beyond destination buffer */ | 139 | /* Error: request to write beyond destination buffer */ |
| 140 | if (cpy > oend) | 140 | if (cpy > oend) |
| 141 | goto _output_error; | 141 | goto _output_error; |
| 142 | if ((ref + COPYLENGTH) > oend || | ||
| 143 | (op + COPYLENGTH) > oend) | ||
| 144 | goto _output_error; | ||
| 142 | LZ4_SECURECOPY(ref, op, (oend - COPYLENGTH)); | 145 | LZ4_SECURECOPY(ref, op, (oend - COPYLENGTH)); |
| 143 | while (op < cpy) | 146 | while (op < cpy) |
| 144 | *op++ = *ref++; | 147 | *op++ = *ref++; |
