[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20191108.113003.601469804110215285.davem@davemloft.net>
Date: Fri, 08 Nov 2019 11:30:03 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: ktkhai@...tuozzo.com
Cc: pankaj.laxminarayan.bharadiya@...el.com, keescook@...omium.org,
viro@...iv.linux.org.uk, hare@...e.com, tglx@...utronix.de,
edumazet@...gle.com, arnd@...db.de, axboe@...nel.dk,
netdev@...r.kernel.org
Subject: Re: [PATCH 0/2] unix: Show number of scm files in fdinfo
From: Kirill Tkhai <ktkhai@...tuozzo.com>
Date: Thu, 07 Nov 2019 15:14:15 +0300
> Unix sockets like a block box. You never know what is pending there:
> there may be a file descriptor holding a mount or a block device,
> or there may be whole universes with namespaces, sockets with receive
> queues full of sockets etc.
>
> The patchset makes number of pending scm files be visible in fdinfo.
> This may be useful to determine, that socket should be investigated
> or which task should be killed to put reference counter on a resourse.
This doesn't even compile:
net/unix/af_unix.c: In function ‘scm_stat_add’:
./include/linux/lockdep.h:365:52: error: invalid type argument of ‘->’ (have ‘spinlock_t’ {aka ‘struct spinlock’})
#define lockdep_is_held(lock) lock_is_held(&(lock)->dep_map)
^~
./include/asm-generic/bug.h:113:25: note: in definition of macro ‘WARN_ON’
int __ret_warn_on = !!(condition); \
^~~~~~~~~
./include/linux/lockdep.h:391:27: note: in expansion of macro ‘lockdep_is_held’
WARN_ON(debug_locks && !lockdep_is_held(l)); \
^~~~~~~~~~~~~~~
net/unix/af_unix.c:1582:2: note: in expansion of macro ‘lockdep_assert_held’
lockdep_assert_held(sk->sk_receive_queue.lock);
^~~~~~~~~~~~~~~~~~~
net/unix/af_unix.c: In function ‘scm_stat_del’:
./include/linux/lockdep.h:365:52: error: invalid type argument of ‘->’ (have ‘spinlock_t’ {aka ‘struct spinlock’})
#define lockdep_is_held(lock) lock_is_held(&(lock)->dep_map)
^~
./include/asm-generic/bug.h:113:25: note: in definition of macro ‘WARN_ON’
int __ret_warn_on = !!(condition); \
^~~~~~~~~
./include/linux/lockdep.h:391:27: note: in expansion of macro ‘lockdep_is_held’
WARN_ON(debug_locks && !lockdep_is_held(l)); \
^~~~~~~~~~~~~~~
net/unix/af_unix.c:1593:2: note: in expansion of macro ‘lockdep_assert_held’
lockdep_assert_held(sk->sk_receive_queue.lock);
^~~~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:266: net/unix/af_unix.o] Error 1
make[1]: *** [scripts/Makefile.build:509: net/unix] Error 2
make[1]: *** Waiting for unfinished jobs....
Powered by blists - more mailing lists