# RE: \[PATCH v3\] net: bluetooth: hci\_sock: Use 'const u32 \*' instead of 'void \*' for 2nd parameter of hci\_test\_bit()

- From: David Laight \<hidden\>
- Date: 2015-02-09 10:45:54 
- List: netdev
- Page: https://ratatoskr.run/netdev/2015/02/4428141
- Thread: https://ratatoskr.run/linux-bluetooth/2015/02/4427530/t.md

```text
From: Chen Gang
...
> So at present, in kernel part, we can only say the original authors
> intended to do like this. And only within kernel part, it can not cause
> issue. I guess, original authors originally knew what we talk about.

I've just searched for hci_u*filter it is all horrid.
Look at the code for get/set_sockopt of HCI_FILTER.
Someone seems to have done a complete 'bodge job' of fixing the user interface
for apps (32bit and 64bit) on 64bit kernels.

> This patch is for fixing building warnings without any negative effect.
> And most of us are not the suitable members to continue analyzing. So
> at present, for me, we can accept this patch.

And, not uncommonly, it has shown up a 'bag of worms'.

If you change 'hci_filter' to contain u32[2] then you can drop
all of the casts and the temporary structures in the sockopt code.
Just be aware of the tail-padding.

	David
```
