1. 06 10月, 2009 1 次提交
  2. 03 10月, 2009 3 次提交
  3. 23 9月, 2009 1 次提交
    • S
      proc connector: add event for process becoming session leader · 02b51df1
      Scott James Remnant 提交于
      The act of a process becoming a session leader is a useful signal to a
      supervising init daemon such as Upstart.
      
      While a daemon will normally do this as part of the process of becoming a
      daemon, it is rare for its children to do so.  When the children do, it is
      nearly always a sign that the child should be considered detached from the
      parent and not supervised along with it.
      
      The poster-child example is OpenSSH; the per-login children call setsid()
      so that they may control the pty connected to them.  If the primary daemon
      dies or is restarted, we do not want to consider the per-login children
      and want to respawn the primary daemon without killing the children.
      
      This patch adds a new PROC_SID_EVENT and associated structure to the
      proc_event event_data union, it arranges for this to be emitted when the
      special PIDTYPE_SID pid is set.
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: NScott James Remnant <scott@ubuntu.com>
      Acked-by: NMatt Helsley <matthltc@us.ibm.com>
      Cc: Oleg Nesterov <oleg@tv-sign.ru>
      Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
      Acked-by: N"David S. Miller" <davem@davemloft.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      02b51df1
  4. 22 7月, 2009 1 次提交
  5. 18 7月, 2009 1 次提交
    • M
      connector: make callback argument type explicit · 0741241c
      Mike Frysinger 提交于
      The connector documentation states that the argument to the callback
      function is always a pointer to a struct cn_msg, but rather than encode it
      in the API itself, it uses a void pointer everywhere.  This doesn't make
      much sense to encode the pointer in documentation as it prevents proper C
      type checking from occurring and can easily allow people to use the wrong
      pointer type.  So convert the argument type to an explicit struct cn_msg
      pointer.
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0741241c
  6. 13 6月, 2009 1 次提交
  7. 03 2月, 2009 1 次提交
    • F
      connector: create connector workqueue only while needed once · 1a5645bc
      Frederic Weisbecker 提交于
      The netlink connector uses its own workqueue to relay the datas sent
      from userspace to the appropriate callback.  If you launch the test
      from Documentation/connector and change it a bit to send a high flow
      of data, you will see thousands of events coming to the "cqueue"
      workqueue by looking at the workqueue tracer.
      
      This flow of events can be sent very quickly. So, to not encumber the
      kevent workqueue and delay other jobs, the "cqueue" workqueue should
      remain.
      
      But this workqueue is pointless most of the time, it will always be
      created (assuming you have built it of course) although only
      developpers with specific needs will use it.
      
      So avoid this "most of the time useless task", this patch proposes to
      create this workqueue only when needed once.  The first jobs to be
      sent to connector callbacks will be sent to kevent while the "cqueue"
      thread creation will be scheduled to kevent too.
      
      The following jobs will continue to be scheduled to keventd until the
      cqueue workqueue is created, and then the rest of the jobs will
      continue to perform as usual, through this dedicated workqueue.
      
      Each time I tested this patch, only the first event was sent to
      keventd, the rest has been sent to cqueue which have been created
      quickly.
      
      Also, this patch fixes some trailing whitespaces on the connector files.
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Acked-by: NEvgeniy Polyakov <zbr@ioremap.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1a5645bc
  8. 14 11月, 2008 2 次提交
  9. 28 6月, 2008 1 次提交
    • L
      CONNECTOR: add a proc entry to list connectors · a0a61a60
      Li Zefan 提交于
      I got a problem when I wanted to check if the kernel supports process
      event connector, and It seems there's no way to do this check.
      
      At best I can check if the kernel supports connector or not, by looking
      into /proc/net/netlink, or maybe checking the return value of bind() to
      see if it's ENOENT.
      
      So it would be useful to add /proc/net/connector to list all supported
      connectors:
       # cat /proc/net/connector
       Name            ID
       connector       4294967295:4294967295
       cn_proc         1:1
       w1              3:1
      
      Changelog:
      - fix memory leak: s/seq_release/single_release
      - use spin_lock_bh instead of spin_lock_irqsave
      Signed-off-by: NLi Zefan <lizf@cn.fujitsu.com>
      Acked-by: NEvgeniy Polyakov <johnpol@2ka.mipt.ru>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a0a61a60
  10. 24 3月, 2008 1 次提交
  11. 27 2月, 2008 1 次提交
  12. 29 1月, 2008 5 次提交
  13. 09 1月, 2008 1 次提交
  14. 04 1月, 2008 1 次提交
  15. 31 10月, 2007 1 次提交
  16. 11 10月, 2007 2 次提交
    • D
      [NET]: make netlink user -> kernel interface synchronious · cd40b7d3
      Denis V. Lunev 提交于
      This patch make processing netlink user -> kernel messages synchronious.
      This change was inspired by the talk with Alexey Kuznetsov about current
      netlink messages processing. He says that he was badly wrong when introduced 
      asynchronious user -> kernel communication.
      
      The call netlink_unicast is the only path to send message to the kernel
      netlink socket. But, unfortunately, it is also used to send data to the
      user.
      
      Before this change the user message has been attached to the socket queue
      and sk->sk_data_ready was called. The process has been blocked until all
      pending messages were processed. The bad thing is that this processing
      may occur in the arbitrary process context.
      
      This patch changes nlk->data_ready callback to get 1 skb and force packet
      processing right in the netlink_unicast.
      
      Kernel -> user path in netlink_unicast remains untouched.
      
      EINTR processing for in netlink_run_queue was changed. It forces rtnl_lock
      drop, but the process remains in the cycle until the message will be fully
      processed. So, there is no need to use this kludges now.
      Signed-off-by: NDenis V. Lunev <den@openvz.org>
      Acked-by: NAlexey Kuznetsov <kuznet@ms2.inr.ac.ru>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cd40b7d3
    • E
      [NET]: Support multiple network namespaces with netlink · b4b51029
      Eric W. Biederman 提交于
      Each netlink socket will live in exactly one network namespace,
      this includes the controlling kernel sockets.
      
      This patch updates all of the existing netlink protocols
      to only support the initial network namespace.  Request
      by clients in other namespaces will get -ECONREFUSED.
      As they would if the kernel did not have the support for
      that netlink protocol compiled in.
      
      As each netlink protocol is updated to be multiple network
      namespace safe it can register multiple kernel sockets
      to acquire a presence in the rest of the network namespaces.
      
      The implementation in af_netlink is a simple filter implementation
      at hash table insertion and hash table look up time.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b4b51029
  17. 17 7月, 2007 1 次提交
  18. 26 4月, 2007 2 次提交
  19. 08 3月, 2007 1 次提交
  20. 06 1月, 2007 1 次提交
  21. 18 12月, 2006 2 次提交
  22. 22 11月, 2006 1 次提交
  23. 01 8月, 2006 1 次提交
    • C
      [PATCH] Process Events: Fix biarch compatibility issue. use __u64 timestamp · 822cfbff
      Chandra Seetharaman 提交于
      Events sent by Process Events Connector from a 64-bit kernel are not binary
      compatible with a 32-bit userspace program because the "timestamp" field
      (struct timespec) is not arch independent.  This affects the fields that
      follow "timestamp" as they will be be off by 8 bytes.
      
      This is a problem for 32-bit userspace programs running with 64-bit kernels
      on ppc64, s390, x86-64..  any "biarch" system.
      
      Matt had submitted a different solution to lkml as an RFC earlier.  We have
      since switched to a solution recommended by Evgeniy Polyakov.
      
      This patch fixes the problem by changing the timestamp to be a __u64, which
      stores the number of nanoseconds.
      
      Tested on a x86_64 system with both 32 bit application and 64 bit
      application and on a i386 system.
      Signed-off-by: NChandra Seetharaman <sekharan@us.ibm.com>
      Signed-off-by: NMatt Helsley <matthltc@us.ibm.com>
      Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
      Cc: Guillaume Thouvenin <guillaume.thouvenin@bull.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      822cfbff
  24. 23 6月, 2006 2 次提交
  25. 20 6月, 2006 1 次提交
  26. 18 6月, 2006 1 次提交
  27. 23 3月, 2006 1 次提交
  28. 21 3月, 2006 1 次提交
  29. 11 1月, 2006 1 次提交