tree: https://github.com/0day-ci/linux Mauro-Carvalho-Chehab/Don-t-use-stack-for-DMA-transers-on-dvb-usb-drivers/20161008-021635 head: 01e4e9b657c0de0c857817353b4ffbb3da5b9cb3 commit: 71eb7f5998d859d9de08128ebd4f3187b5f9fcbf [21/26] pctv452e: don't call BUG_ON() on non-fatal error config: sparc64-allmodconfig (attached as .config) compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 71eb7f5998d859d9de08128ebd4f3187b5f9fcbf # save the attached .config to linux build tree make.cross ARCH=sparc64
All warnings (new ones prefixed by >>):
drivers/media/usb/dvb-usb/pctv452e.c: In function 'tt3650_ci_msg':
drivers/media/usb/dvb-usb/pctv452e.c:112:19: warning: suggest parentheses
around '&&' within '||' [-Wparentheses]
if (NULL == data && 0 != (write_len | read_len) ||
drivers/media/usb/dvb-usb/pctv452e.c:113:26: error: expected expression
before '||' token
write_len > 64 - 4) || (read_len > 64 - 4)) {
^~
>> drivers/media/usb/dvb-usb/pctv452e.c:112:2: warning: this 'if' clause does
>> not guard... [-Wmisleading-indentation]
if (NULL == data && 0 != (write_len | read_len) ||
^~
drivers/media/usb/dvb-usb/pctv452e.c:113:48: note: ...this statement, but
the latter is misleadingly indented as if it is guarded by the 'if'
write_len > 64 - 4) || (read_len > 64 - 4)) {
^
drivers/media/usb/dvb-usb/pctv452e.c:113:48: error: expected statement
before ')' token
vim +/if +112 drivers/media/usb/dvb-usb/pctv452e.c
96
97 u8 c; /* transaction counter, wraps around... */
98 u8 initialized; /* set to 1 if 0x15 has been sent */
99 u16 last_rc_key;
100
101 unsigned char data[80];
102 };
103
104 static int tt3650_ci_msg(struct dvb_usb_device *d, u8 cmd, u8 *data,
105 unsigned int write_len, unsigned int read_len)
106 {
107 struct pctv452e_state *state = (struct pctv452e_state *)d->priv;
108 u8 id;
109 unsigned int rlen;
110 int ret;
111
> 112 if (NULL == data && 0 != (write_len | read_len) ||
113 write_len > 64 - 4) || (read_len > 64 - 4)) {
114 ret = -EIO;
115 goto failed;
116 };
117
118 id = state->c++;
119
120 state->data[0] = SYNC_BYTE_OUT;
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip
