30 Nov, 2008
1 commit
-
With the introduction of CONFIG_DYNAMIC_PRINTK_DEBUG it is possible to
allow debugging without having to recompile the kernel. This patch turns
all BT_DBG() calls into pr_debug() to support dynamic debug messages.As a side effect all CONFIG_BT_*_DEBUG statements are now removed and
some broken debug entries have been fixed.Signed-off-by: Marcel Holtmann
15 Jul, 2008
1 commit
-
With the Simple Pairing support, the authentication requirements are
an explicit setting during the bonding process. Track and enforce the
requirements and allow higher layers like L2CAP and RFCOMM to increase
them if needed.This patch introduces a new IOCTL that allows to query the current
authentication requirements. It is also possible to detect Simple
Pairing support in the kernel this way.Signed-off-by: Marcel Holtmann
03 May, 2008
1 commit
-
Signed-off-by: Harvey Harrison
Acked-by: Marcel Holtmann
Signed-off-by: David S. Miller
29 Mar, 2008
1 commit
-
The older RW_LOCK_UNLOCKED macros defeat lockdep state tracing so
replace them with the newer __RW_LOCK_UNLOCKED macros.Signed-off-by: Robert P. J. Day
Acked-by: Marcel Holtmann
Signed-off-by: Andrew Morton
Signed-off-by: David S. Miller
06 Mar, 2008
1 commit
-
hci_sock_cleanup() always returns 0 and its return value isn't used
anywhere in the code.Compile-tested with 'make allyesconfig && make net/bluetooth/bluetooth.ko'
Signed-off-by: Tobias Klauser
Signed-off-by: Andrew Morton
Acked-by: Marcel Holtmann
01 Nov, 2007
1 commit
-
Finally, the zero_it argument can be completely removed from
the callers and from the function prototype.Besides, fix the checkpatch.pl warnings about using the
assignments inside if-s.This patch is rather big, and it is a part of the previous one.
I splitted it wishing to make the patches more readable. Hope
this particular split helped.Signed-off-by: Pavel Emelyanov
Signed-off-by: David S. Miller
22 Oct, 2007
1 commit
-
The Bluetooth HCI commands are divided into logical OGF groups for
easier identification of their purposes. While this still makes sense
for the written specification, its makes the code only more complex
and harder to read. So instead of using separate OGF and OCF values
to identify the commands, use a common 16-bit opcode that combines
both values. As a side effect this also reduces the complexity of
OGF and OCF calculations during command header parsing.Signed-off-by: Marcel Holtmann
11 Oct, 2007
1 commit
-
This patch passes in the namespace a new socket should be created in
and has the socket code do the appropriate reference counting. By
virtue of this all socket create methods are touched. In addition
the socket create methods are modified so that they will fail if
you attempt to create a socket in a non-default network namespace.Failing if we attempt to create a socket outside of the default
network namespace ensures that as we incrementally make the network stack
network namespace aware we will not export functionality that someone
has not audited and made certain is network namespace safe.
Allowing us to partially enable network namespaces before all of the
exotic protocols are supported.Any protocol layers I have missed will fail to compile because I now
pass an extra parameter into the socket creation code.[ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ]
Signed-off-by: Eric W. Biederman
Signed-off-by: David S. Miller
12 Sep, 2007
1 commit
-
Signed-off-by: David S. Miller
09 Sep, 2007
2 commits
-
This patch updates the HCI security filter with support for the
Bluetooth 2.1 commands and events.Signed-off-by: Marcel Holtmann
-
The timestamp structure needs special handling in case of compat
programs. Use the same wrapping method the network core uses.Signed-off-by: Marcel Holtmann
18 May, 2007
1 commit
-
We presently use lock_sock() to acquire a lock on a socket in
hci_sock_dev_event(), but this goes BUG because lock_sock()
can sleep and we're already holding a read-write spinlock at
that point. So, we must use the non-sleeping BH version,
bh_lock_sock().However, hci_sock_dev_event() is called from user context and
hence using simply bh_lock_sock() will deadlock against a
concurrent softirq that tries to acquire a lock on the same
socket. Hence, disabling BH's before acquiring the socket lock
and enable them afterwards, is the proper solution to fix
socket locking in hci_sock_dev_event().Signed-off-by: Satyam Sharma
Signed-off-by: Marcel Holtmann
Signed-off-by: Jiri Kosina
Signed-off-by: David S. Miller
05 May, 2007
1 commit
-
The L2CAP and HCI setsockopt() implementations have a small information
leak that makes it possible to leak kernel stack memory to userspace.If the optlen parameter is 0, no data will be copied by copy_from_user(),
but the uninitialized stack buffer will be read and stored later. A call
to getsockopt() can now retrieve the leaked information.To fix this problem the stack buffer given to copy_from_user() must be
initialized with the current settings.Signed-off-by: Marcel Holtmann
26 Apr, 2007
1 commit
-
For the common, open coded 'skb->h.raw = skb->data' operation, so that we can
later turn skb->h.raw into a offset, reducing the size of struct sk_buff in
64bit land while possibly keeping it as a pointer on 32bit.This one touches just the most simple cases:
skb->h.raw = skb->data;
skb->h.raw = {skb_push|[__]skb_pull}()The next ones will handle the slightly more "complex" cases.
Signed-off-by: Arnaldo Carvalho de Melo
Signed-off-by: David S. Miller
08 Mar, 2007
1 commit
-
[Bluetooth] Fix socket locking in hci_sock_dev_event()
hci_sock_dev_event() uses bh_lock_sock() to lock the socket lock.
This is not deadlock-safe against locking of the same socket lock in
l2cap_connect_cfm() from softirq context. In addition to that,
hci_sock_dev_event() doesn't seem to be called from softirq context,
so it is safe to use lock_sock()/release_sock() instead.The lockdep warning can be triggered on my T42p simply by switching
the Bluetooth off by the keyboard button.=================================
[ INFO: inconsistent lock state ]
2.6.21-rc2 #4
---------------------------------
inconsistent {in-softirq-W} -> {softirq-on-W} usage.
khubd/156 [HC0[0]:SC0[0]:HE1:SE1] takes:
(slock-AF_BLUETOOTH){-+..}, at: [] hci_sock_dev_event+0xa8/0xc5 [bluetooth]
{in-softirq-W} state was registered at:
[] mark_lock+0x59/0x414
[] l2cap_connect_cfm+0x4e/0x11f [l2cap]
[] __lock_acquire+0x3e5/0xb99
[] l2cap_connect_cfm+0x4e/0x11f [l2cap]
[] lock_acquire+0x67/0x81
[] l2cap_connect_cfm+0x4e/0x11f [l2cap]
[] _spin_lock+0x29/0x34
[] l2cap_connect_cfm+0x4e/0x11f [l2cap]
[] l2cap_connect_cfm+0x4e/0x11f [l2cap]
[] hci_send_cmd+0x126/0x14f [bluetooth]
[] hci_event_packet+0x729/0xebd [bluetooth]
[] hci_rx_task+0x2a/0x20f [bluetooth]
[] hci_rx_task+0x6c/0x20f [bluetooth]
[] trace_hardirqs_on+0x10d/0x14e
[] tasklet_action+0x3d/0x68
[] __do_softirq+0x41/0x92
[] do_softirq+0x27/0x3d
[] do_IRQ+0x7b/0x8f
[] common_interrupt+0x24/0x34
[] common_interrupt+0x2e/0x34
[] acpi_processor_idle+0x1b3/0x34a
[] acpi_processor_idle+0x1b6/0x34a
[] cpu_idle+0x39/0x4e
[] start_kernel+0x372/0x37a
[] unknown_bootoption+0x0/0x202
[] 0xffffffffSigned-off-by: Jiri Kosina
Acked-by: Marcel Holtmann
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
15 Feb, 2007
1 commit
-
After Al Viro (finally) succeeded in removing the sched.h #include in module.h
recently, it makes sense again to remove other superfluous sched.h includes.
There are quite a lot of files which include it but don't actually need
anything defined in there. Presumably these includes were once needed for
macros that used to live in sched.h, but moved to other header files in the
course of cleaning it up.To ease the pain, this time I did not fiddle with any header files and only
removed #includes from .c-files, which tend to cause less trouble.Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
configs in arch/arm/configs on arm. I also checked that no new warnings were
introduced by the patch (actually, some warnings are removed that were emitted
by unnecessarily included header files).Signed-off-by: Tim Schmielau
Acked-by: Russell King
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
11 Feb, 2007
1 commit
-
Signed-off-by: YOSHIFUJI Hideaki
Signed-off-by: David S. Miller
14 Dec, 2006
1 commit
-
Signed-off-by: Al Viro
Acked-by: Marcel Holtmann
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
22 Nov, 2006
1 commit
-
The "u16 *" derefs of skb->data need to be wrapped inside of
a get_unaligned().Thanks to Gustavo Zacarias for the bug report.
Signed-off-by: David S. Miller
16 Oct, 2006
1 commit
-
The bt_proto array needs to be protected by some kind of locking to
prevent a race condition between bt_sock_create and bt_sock_register.And in addition all calls to sk_alloc need to be made GFP_ATOMIC now.
Signed-off-by: Masatake YAMATO
Signed-off-by: Frederik Deweerdt
Signed-off-by: Marcel Holtmann
01 Jul, 2006
1 commit
-
Signed-off-by: Jörn Engel
Signed-off-by: Adrian Bunk
13 Feb, 2006
1 commit
-
This patch fixes the two NULL pointer dereferences found by the sfuzz
tool from Ilja van Sprundel. The first one was a call of getsockname()
for an unbound socket and the second was calling accept() while this
operation isn't implemented for the HCI socket interface.Signed-off-by: Marcel Holtmann
12 Jan, 2006
1 commit
-
net: Use where capable() is used.
Signed-off-by: Randy Dunlap
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
04 Jan, 2006
1 commit
-
I noticed that some of 'struct proto_ops' used in the kernel may share
a cache line used by locks or other heavily modified data. (default
linker alignement is 32 bytes, and L1_CACHE_LINE is 64 or 128 at
least)This patch makes sure a 'struct proto_ops' can be declared as const,
so that all cpus can share all parts of it without false sharing.This is not mandatory : a driver can still use a read/write structure
if it needs to (and eventually a __read_mostly)I made a global stubstitute to change all existing occurences to make
them const.This should reduce the possibility of false sharing on SMP, and
speedup some socket system calls.Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller
09 Nov, 2005
1 commit
-
This patch adds the endian annotations to the Bluetooth core.
Signed-off-by: Marcel Holtmann
Signed-off-by: David S. Miller
29 Oct, 2005
1 commit
-
This patch updates the HCI security filter with support for the Extended
Inquiry Response (EIR) feature.Signed-off-by: Marcel Holtmann
30 Aug, 2005
2 commits
-
Reduces skb size by 8 bytes on 64-bit.
Signed-off-by: Patrick McHardy
Signed-off-by: David S. Miller -
This patch moves the usage of packet type into the SKB control
buffer. After this patch it is now possible to shrink the sk_buff
structure and redefine its pkt_type.Signed-off-by: Marcel Holtmann
Signed-off-by: David S. Miller
26 Apr, 2005
1 commit
-
A lot of places in there are including major.h for no reason whatsoever.
Removed. And yes, it still builds.The history of that stuff is often amusing. E.g. for net/core/sock.c
the story looks so, as far as I've been able to reconstruct it: we used
to need major.h in net/socket.c circa 1.1.early. In 1.1.13 that need
had disappeared, along with register_chrdev(SOCKET_MAJOR, "socket",
&net_fops) in sock_init(). Include had not. When 1.2 -> 1.3 reorg of
net/* had moved a lot of stuff from net/socket.c to net/core/sock.c,
this crap had followed...Signed-off-by: Al Viro
Signed-off-by: Linus Torvalds
17 Apr, 2005
1 commit
-
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.Let it rip!