aboutsummaryrefslogtreecommitdiffstats
path: root/fs/dlm/rcom.c
diff options
context:
space:
mode:
authorHugh Dickins <hugh@veritas.com>2007-06-07 03:36:00 -0400
committerJens Axboe <jens.axboe@oracle.com>2007-06-08 02:34:05 -0400
commit475ecade683566b19ebb84972de864039ac5fce3 (patch)
treecd2043c6c951c440988be8057380dfaab1ceb481 /fs/dlm/rcom.c
parent20d698db67059a63d217030dfd02872cb5f88dfb (diff)
splice: __generic_file_splice_read: fix i_size_read() length checks
__generic_file_splice_read's partial page check, at eof after readpage, not only got its calculations wrong, but also reused the loff variable: causing data corruption when splicing from a non-0 offset in the file's last page (revealed by ext2 -b 1024 testing on a loop of a tmpfs file). Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'fs/dlm/rcom.c')
0 files changed, 0 insertions, 0 deletions
pan> #ifndef STV0288_H #define STV0288_H #include <linux/dvb/frontend.h> #include "dvb_frontend.h" struct stv0288_config { /* the demodulator's i2c address */ u8 demod_address; u8* inittab; /* minimum delay before retuning */ int min_delay_ms; int (*set_ts_params)(struct dvb_frontend *fe, int is_punctured); }; #if defined(CONFIG_DVB_STV0288) || (defined(CONFIG_DVB_STV0288_MODULE) && \ defined(MODULE)) extern struct dvb_frontend *stv0288_attach(const struct stv0288_config *config, struct i2c_adapter *i2c); #else static inline struct dvb_frontend *stv0288_attach(const struct stv0288_config *config, struct i2c_adapter *i2c) { printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); return NULL; } #endif /* CONFIG_DVB_STV0288 */ static inline int stv0288_writereg(struct dvb_frontend *fe, u8 reg, u8 val) { int r = 0; u8 buf[] = { reg, val }; if (fe->ops.write) r = fe->ops.write(fe, buf, 2); return r; } #endif /* STV0288_H */