tty: audit: Fix audit source
Subsystems (2)
PATCH 1/1 tty: audit: Fix audit source
The data to audit/record is in the 'from' buffer (ie., the input read buffer).
--- drivers/tty/n_tty.c | 2 +- drivers/tty/tty_audit.c | 2 +- include/linux/tty.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
drivers/tty/n_tty.c +1 -1
@@ -169,7 +169,7 @@ static inline int tty_copy_to_user(struct tty_struct *tty, {struct n_tty_data *ldata = tty->disc_data; -tty_audit_add_data (tty, to, n, ldata->icanon); +tty_audit_add_data (tty, from, n, ldata->icanon);return copy_to_user (to, from, n); }
drivers/tty/tty_audit.c +1 -1
@@ -265,7 +265,7 @@ static struct tty_audit_buf *tty_audit_buf_get(struct tty_struct *tty,* * Audit @data of @size from @tty, if necessary. */ -void tty_audit_add_data (struct tty_struct *tty,unsigned char *data, +void tty_audit_add_data (struct tty_struct *tty,const void *data,size_t size,unsigned icanon) {struct tty_audit_buf *buf;
include/linux/tty.h +1 -1
@@ -607,7 +607,7 @@ extern void n_tty_inherit_ops(struct tty_ldisc_ops *ops);/* tty_audit.c */ #ifdef CONFIG_AUDIT -extern void tty_audit_add_data (struct tty_struct *tty,unsigned char *data, +extern void tty_audit_add_data (struct tty_struct *tty,const void *data,size_t size,unsigned icanon);extern void tty_audit_exit (void );extern void tty_audit_fork (struct signal_struct *sig);
Signature · 1 line
2.6.3
kbuild test robot
build botreproduce:
Hi Peter,
[auto build test WARNING on: v4.3-rc7]
[also build test WARNING on: next-20151106]
url: https://github.com/0day-ci/linux/commits/Peter-Hurley/tty-audit-Fix-audit-source/20151108-205330 config: x86_64-randconfig-x019-201545 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64
All warnings (new ones prefixed by >>):
drivers/tty/n_tty.c: In function 'tty_copy_to_user':
>> drivers/tty/n_tty.c:172:26: warning: passing argument 2 of 'tty_audit_add_data' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
tty_audit_add_data(tty, from, n, ldata->icanon);
^ In file included from drivers/tty/n_tty.c:40:0:
include/linux/tty.h:616:20: note: expected 'unsigned char *' but argument is of type 'const void *'
static inline void tty_audit_add_data(struct tty_struct *tty,
^
vim +172 drivers/tty/n_tty.c
156 static inline int tty_put_user(struct tty_struct *tty, unsigned char x,
157 unsigned char __user *ptr)
158 {
159 struct n_tty_data *ldata = tty->disc_data;
160
161 tty_audit_add_data(tty, &x, 1, ldata->icanon);
162 return put_user(x, ptr);
163 }
164
165 static inline int tty_copy_to_user(struct tty_struct *tty,
166 void __user *to,
167 const void *from,
168 unsigned long n)
169 {
170 struct n_tty_data *ldata = tty->disc_data;
171
> 172 tty_audit_add_data(tty, from, n, ldata->icanon);
173 return copy_to_user(to, from, n);
174 }
175
176 /**
177 * n_tty_kick_worker - start input worker (if required)
178 * @tty: terminal
179 *
180 * Re-schedules the flip buffer work if it may have stopped
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Quoted 13 lines · kbuild test robot
Hi Peter,
[auto build test WARNING on: v4.3-rc7]
[also build test WARNING on: next-20151106]url: https://github.com/0day-ci/linux/commits/Peter-Hurley/tty-audit-Fix-audit-source/20151108-205330 config: x86_64-randconfig-x019-201545 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64All warnings (new ones prefixed by >>):
Quoted 7 lines
drivers/tty/n_tty.c: In function 'tty_copy_to_user':Quoted 1 line
Quoted 1 line
drivers/tty/n_tty.c:172:26: warning: passing argument 2 of 'tty_audit_add_data' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]tty_audit_add_data(tty, from, n, ldata->icanon); ^In file included from
drivers/tty/n_tty.c:40:0:
include/linux/tty.h:616:20: note: expected 'unsigned char *' but argument is of type 'const void *'
static inline void tty_audit_add_data(structtty_struct*tty,
Thanks for the build report. I caused this during a manual rebase squash. Re-testing v2 now :/
Regards,
Peter Hurley
PATCH v2 1/1 tty: audit: Fix audit source
In reply to Peter HurleyThe data to audit/record is in the 'from' buffer (ie., the input read buffer).
---
v2: Fix rebase error, !CONFIG_AUDIT build fix
drivers/tty/n_tty.c | 2 +- drivers/tty/tty_audit.c | 2 +- include/linux/tty.h | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-)
drivers/tty/n_tty.c +1 -1
@@ -169,7 +169,7 @@ static inline int tty_copy_to_user(struct tty_struct *tty, {struct n_tty_data *ldata = tty->disc_data; -tty_audit_add_data (tty, to, n, ldata->icanon); +tty_audit_add_data (tty, from, n, ldata->icanon);return copy_to_user (to, from, n); }
drivers/tty/tty_audit.c +1 -1
@@ -265,7 +265,7 @@ static struct tty_audit_buf *tty_audit_buf_get(struct tty_struct *tty,* * Audit @data of @size from @tty, if necessary. */ -void tty_audit_add_data (struct tty_struct *tty,unsigned char *data, +void tty_audit_add_data (struct tty_struct *tty,const void *data,size_t size,unsigned icanon) {struct tty_audit_buf *buf;
include/linux/tty.h +3 -3
@@ -607,7 +607,7 @@ extern void n_tty_inherit_ops(struct tty_ldisc_ops *ops);/* tty_audit.c */ #ifdef CONFIG_AUDIT -extern void tty_audit_add_data (struct tty_struct *tty,unsigned char *data, +extern void tty_audit_add_data (struct tty_struct *tty,const void *data,size_t size,unsigned icanon);extern void tty_audit_exit (void );extern void tty_audit_fork (struct signal_struct *sig);
@@ -615,8 +615,8 @@ extern void tty_audit_tiocsti(struct tty_struct *tty, char ch);extern void tty_audit_push (struct tty_struct *tty);extern int tty_audit_push_current (void );#else -static inline void tty_audit_add_data (struct tty_struct *tty, -unsigned char *data,size_t size,unsigned icanon) +static inline void tty_audit_add_data (struct tty_struct *tty,const void *data, +size_t size,unsigned icanon) { }static inline void tty_audit_tiocsti (struct tty_struct *tty,char ch)
Signature · 1 line
2.6.3
Quoted 8 lines · Peter Hurley
The data to audit/record is in the 'from' buffer (ie., the input read buffer).
Fixes 72586c6061ab ("n_tty: Fix auditing support for cannonical mode")Cc Laura Abbott <[email protected]>Cc Miloslav Trmač <[email protected]>Cc <[email protected]>Signed-off-by Peter Hurley <[email protected]>
Whoops, sorry about that.