lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sun, 21 Jul 2013 10:14:03 -0500
From:	Larry Finger <Larry.Finger@...inger.net>
To:	Vladimir Kondratiev <qca_vkondrat@....qualcomm.com>
CC:	linville@...driver.com, linux-wireless@...r.kernel.org,
	netdev@...r.kernel.org, wil6210@....qualcomm.com,
	Stable <stable@...r.kernel.org>,
	Thomas Fjellstrom <thomas@...llstrom.ca>
Subject: Re: [PATCH] ath: wil6210: Fix build error

On 07/21/2013 02:06 AM, Vladimir Kondratiev wrote:
> On Saturday, July 20, 2013 09:46:48 PM Larry Finger wrote:
>> Building driver wil6210 in 3.10 and 3.11 kernels yields the following errors:
>>
>>    CC [M]  drivers/net/wireless/ath/wil6210/debugfs.o
>> drivers/net/wireless/ath/wil6210/debugfs.c: In function 'wil_print_ring':
>> drivers/net/wireless/ath/wil6210/debugfs.c:163:11: error: pointer targets in passing argument 5 of 'hex_dump_to_buffer' differ in signedness [-Werror=pointer-sign]
>>             false);
>>             ^
>> In file included from include/linux/kernel.h:13:0,
>>                   from include/linux/cache.h:4,
>>                   from include/linux/time.h:4,
>>                   from include/linux/stat.h:18,
>>                   from include/linux/module.h:10,
>>                   from drivers/net/wireless/ath/wil6210/debugfs.c:17:
>> include/linux/printk.h:361:13: note: expected 'char *' but argument is of type 'unsigned char *'
>>   extern void hex_dump_to_buffer(const void *buf, size_t len,
>>               ^
>> drivers/net/wireless/ath/wil6210/debugfs.c: In function 'wil_txdesc_debugfs_show':
>> drivers/net/wireless/ath/wil6210/debugfs.c:429:10: error: pointer targets in passing argument 5 of 'hex_dump_to_buffer' differ in signedness [-Werror=pointer-sign]
>>            sizeof(printbuf), false);
>>            ^
>> In file included from include/linux/kernel.h:13:0,
>>                   from include/linux/cache.h:4,
>>                   from include/linux/time.h:4,
>>                   from include/linux/stat.h:18,
>>                   from include/linux/module.h:10,
>>                   from drivers/net/wireless/ath/wil6210/debugfs.c:17:
>> include/linux/printk.h:361:13: note: expected 'char *' but argument is of type 'unsigned char *'
>>   extern void hex_dump_to_buffer(const void *buf, size_t len,
>>               ^
>> cc1: all warnings being treated as errors
>> make[5]: *** [drivers/net/wireless/ath/wil6210/debugfs.o] Error 1
>> make[4]: *** [drivers/net/wireless/ath/wil6210] Error 2
>> make[3]: *** [drivers/net/wireless/ath] Error 2
>> make[2]: *** [drivers/net/wireless] Error 2
>> make[1]: *** [drivers/net] Error 2
>> make: *** [drivers] Error 2
>>
>> These errors are fixed by changing the type of the buffer from "unsigned char *" to "char *".
>>
>> Reported-by: Thomas Fjellstrom <thomas@...llstrom.ca>
>> Tested-by: Thomas Fjellstrom <thomas@...llstrom.ca>
>> Signed-off-by: Larry Finger <Larry.Finger@...inger.net>
>> Cc: Stable <stable@...r.kernel.org>  [3.10]
>> Cc: Thomas Fjellstrom <thomas@...llstrom.ca>
>> ---
>>   drivers/net/wireless/ath/wil6210/debugfs.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/wireless/ath/wil6210/debugfs.c b/drivers/net/wireless/ath/wil6210/debugfs.c
>> index e8308ec..ab63676 100644
>> --- a/drivers/net/wireless/ath/wil6210/debugfs.c
>> +++ b/drivers/net/wireless/ath/wil6210/debugfs.c
>> @@ -145,7 +145,7 @@ static void wil_print_ring(struct seq_file *s, const char *prefix,
>>   				   le16_to_cpu(hdr.type), hdr.flags);
>>   			if (len <= MAX_MBOXITEM_SIZE) {
>>   				int n = 0;
>> -				unsigned char printbuf[16 * 3 + 2];
>> +				char printbuf[16 * 3 + 2];
>>   				unsigned char databuf[MAX_MBOXITEM_SIZE];
>>   				void __iomem *src = wmi_buffer(wil, d.addr) +
>>   					sizeof(struct wil6210_mbox_hdr);
>> @@ -416,7 +416,7 @@ static int wil_txdesc_debugfs_show(struct seq_file *s, void *data)
>>   		seq_printf(s, "  SKB = %p\n", skb);
>>
>>   		if (skb) {
>> -			unsigned char printbuf[16 * 3 + 2];
>> +			char printbuf[16 * 3 + 2];
>>   			int i = 0;
>>   			int len = le16_to_cpu(d->dma.length);
>>   			void *p = skb->data;
>>
> Hmm, I have no warning for this with neither 3.10 nor 3.11 kernel version; but
> patch is correct, and here is my
> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@....qualcomm.com>

Thanks. I did not see any warning or error either; however, it did happen for 
Thomas. I'm not sure what combination of compiler version and/or switches lead 
to the problem, but his system apparently uses them.

Larry


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ