summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@parallels.com>2011-12-15 03:46:14 +0100
committerDavid S. Miller <davem@davemloft.net>2011-12-16 19:48:28 +0100
commit2aac7a2cb0d9d8c65fc7dde3e19e46b3e878d23d (patch)
treea2308c69d4a03fdb99596f336b7cdfeb6692c7a8 /include
parentunix_diag: Unix peer inode NLA (diff)
downloadlinux-2aac7a2cb0d9d8c65fc7dde3e19e46b3e878d23d.tar.xz
linux-2aac7a2cb0d9d8c65fc7dde3e19e46b3e878d23d.zip
unix_diag: Pending connections IDs NLA
When establishing a unix connection on stream sockets the server end receives an skb with socket in its receive queue. Report who is waiting for these ends to be accepted for listening sockets via NLA. There's a lokcing issue with this -- the unix sk state lock is required to access the peer, and it is taken under the listening sk's queue lock. Strictly speaking the queue lock should be taken inside the state lock, but since in this case these two sockets are different it shouldn't lead to deadlock. Signed-off-by: Pavel Emelyanov <xemul@parallels.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/unix_diag.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/unix_diag.h b/include/linux/unix_diag.h
index 2d74a86024ac..03ffb7de15b6 100644
--- a/include/linux/unix_diag.h
+++ b/include/linux/unix_diag.h
@@ -14,6 +14,7 @@ struct unix_diag_req {
#define UDIAG_SHOW_NAME 0x00000001 /* show name (not path) */
#define UDIAG_SHOW_VFS 0x00000002 /* show VFS inode info */
#define UDIAG_SHOW_PEER 0x00000004 /* show peer socket info */
+#define UDIAG_SHOW_ICONS 0x00000008 /* show pending connections */
struct unix_diag_msg {
__u8 udiag_family;
@@ -29,6 +30,7 @@ enum {
UNIX_DIAG_NAME,
UNIX_DIAG_VFS,
UNIX_DIAG_PEER,
+ UNIX_DIAG_ICONS,
UNIX_DIAG_MAX,
};