1. 23 6月, 2015 2 次提交
  2. 29 9月, 2013 1 次提交
    • E
      net: introduce SO_MAX_PACING_RATE · 62748f32
      Eric Dumazet 提交于
      As mentioned in commit afe4fd06 ("pkt_sched: fq: Fair Queue packet
      scheduler"), this patch adds a new socket option.
      
      SO_MAX_PACING_RATE offers the application the ability to cap the
      rate computed by transport layer. Value is in bytes per second.
      
      u32 val = 1000000;
      setsockopt(sockfd, SOL_SOCKET, SO_MAX_PACING_RATE, &val, sizeof(val));
      
      To be effectively paced, a flow must use FQ packet scheduler.
      
      Note that a packet scheduler takes into account the headers for its
      computations. The effective payload rate depends on MSS and retransmits
      if any.
      
      I chose to make this pacing rate a SOL_SOCKET option instead of a
      TCP one because this can be used by other protocols.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Steinar H. Gunderson <sesse@google.com>
      Cc: Michael Kerrisk <mtk.manpages@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      62748f32
  3. 25 9月, 2013 1 次提交
  4. 17 9月, 2013 1 次提交
  5. 11 7月, 2013 1 次提交
  6. 29 6月, 2013 1 次提交
  7. 23 6月, 2013 3 次提交
    • G
      h8300: Wire up asm-generic/xor.h · e71eccdb
      Geert Uytterhoeven 提交于
      crypto/xor.c:25:21: fatal error: asm/xor.h: No such file or directory
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      e71eccdb
    • G
      h8300: Fix <asm/tlb.h> · 1e2b3bda
      Geert Uytterhoeven 提交于
      Ten years ago, a mismerge happened, concatenating two slightly different
      versions of the same file. As a consequence, <asm-generic/tlb.h> was never
      included, leading to a build failure only now:
      
      kernel/cpu/idle.c: In function 'cpu_idle_loop':
      kernel/cpu/idle.c:70:4: error: implicit declaration of function 'check_pgt_cache' [-Werror=implicit-function-declaration]
      
      Remove the duplicates, and the header comment with the no longer correct
      file name.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: NYoshinori Sato <ysato@users.sourceforge.jp>
      1e2b3bda
    • G
      h8300: Hardcode symbol prefixes in asm sources · db5ede6f
      Geert Uytterhoeven 提交于
      Commit e1b5bb6d ("consolidate cond_syscall
      and SYSCALL_ALIAS declarations") broke the h8300 build because it removed
      the duplicate SYMBOL_NAME() macro from arch/h8300/include/asm/linkage.h,
      and all the h8300 asm files include <asm/linkage.h> instead of
      <linux/linkage.h>:
      
          arch/h8300/kernel/entry.S: Assembler messages:
          arch/h8300/kernel/entry.S:158: Error: junk at end of line, first unrecognized character is `('
          ...
          arch/h8300/kernel/syscalls.S: Assembler messages:
          arch/h8300/kernel/syscalls.S:6: Error: junk at end of line, first unrecognized character is `('
          ...
          arch/h8300/lib/abs.S: Assembler messages:
          arch/h8300/lib/abs.S:12: Error: junk at end of line, first unrecognized character is `('
          ...
          arch/h8300/lib/memcpy.S: Assembler messages:
          arch/h8300/lib/memcpy.S:13: Error: junk at end of line, first unrecognized character is `('
          ...
          arch/h8300/lib/memset.S: Assembler messages:
          arch/h8300/lib/memset.S:13: Error: junk at end of line, first unrecognized character is `('
          ...
      
      Commit 126de6b2 ("linkage.h: fix build
      breakage due to symbol prefix handling") broke it even more, by removing
      SYMBOL_NAME() and replacing it by __SYMBOL_NAME().
      
      Commit f8ce1faf ("Merge tag
      'modules-next-for-linus' of
      git://git.kernel.org/pub/scm/linuxkernel/git/rusty/linux")
      also removed __SYMBOL_NAME(), hidden in a merge conflict resolution.
      
      Hence, replace the use of SYMBOL_NAME() and SYMBOL_NAME_LABEL() in h8300
      assembler sources by hardcoding the underscore symbol prefix, like other
      architectures (blackfin/metag) do.
      
      This allows to kill SYMBOL_NAME_LABEL(). Now <asm/linkage.h> becomes empty,
      and h8300 can be switched to asm-generic/linkage.h.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      db5ede6f
  8. 18 6月, 2013 1 次提交
  9. 16 6月, 2013 1 次提交
    • J
      h8300: add missing definition for read_barries_depends() · c805a5b7
      Jiang Liu 提交于
      Add missing definition for read_barries_depends() for h8300 to fix error:
      kernel/task_work.c: In function 'task_work_cancel':
      kernel/task_work.c:38:3: error: implicit declaration of function 'read_barrier_depends' [-Werror=implicit-function-declaration]
      cc1: some warnings being treated as errors
      make[1]: *** [kernel/task_work.o] Error 1
      make: *** [kernel] Error 2
      
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NJiang Liu <jiang.liu@huawei.com>
      c805a5b7
  10. 01 4月, 2013 1 次提交
    • K
      net: add option to enable error queue packets waking select · 7d4c04fc
      Keller, Jacob E 提交于
      Currently, when a socket receives something on the error queue it only wakes up
      the socket on select if it is in the "read" list, that is the socket has
      something to read. It is useful also to wake the socket if it is in the error
      list, which would enable software to wait on error queue packets without waking
      up for regular data on the socket. The main use case is for receiving
      timestamped transmit packets which return the timestamp to the socket via the
      error queue. This enables an application to select on the socket for the error
      queue only instead of for the regular traffic.
      
      -v2-
      * Added the SO_SELECT_ERR_QUEUE socket option to every architechture specific file
      * Modified every socket poll function that checks error queue
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Cc: Jeffrey Kirsher <jeffrey.t.kirsher@intel.com>
      Cc: Richard Cochran <richardcochran@gmail.com>
      Cc: Matthew Vick <matthew.vick@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7d4c04fc
  11. 04 3月, 2013 1 次提交
  12. 26 2月, 2013 1 次提交
  13. 14 2月, 2013 1 次提交
    • A
      burying unused conditionals · d64008a8
      Al Viro 提交于
      __ARCH_WANT_SYS_RT_SIGACTION,
      __ARCH_WANT_SYS_RT_SIGSUSPEND,
      __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND,
      __ARCH_WANT_COMPAT_SYS_SCHED_RR_GET_INTERVAL - not used anymore
      CONFIG_GENERIC_{SIGALTSTACK,COMPAT_RT_SIG{ACTION,QUEUEINFO,PENDING,PROCMASK}} -
      can be assumed always set.
      d64008a8
  14. 04 2月, 2013 3 次提交
  15. 24 1月, 2013 1 次提交
  16. 17 1月, 2013 1 次提交
    • V
      sk-filter: Add ability to lock a socket filter program · d59577b6
      Vincent Bernat 提交于
      While a privileged program can open a raw socket, attach some
      restrictive filter and drop its privileges (or send the socket to an
      unprivileged program through some Unix socket), the filter can still
      be removed or modified by the unprivileged program. This commit adds a
      socket option to lock the filter (SO_LOCK_FILTER) preventing any
      modification of a socket filter program.
      
      This is similar to OpenBSD BIOCLOCK ioctl on bpf sockets, except even
      root is not allowed change/drop the filter.
      
      The state of the lock can be read with getsockopt(). No error is
      triggered if the state is not changed. -EPERM is returned when a user
      tries to remove the lock or to change/remove the filter while the lock
      is active. The check is done directly in sk_attach_filter() and
      sk_detach_filter() and does not affect only setsockopt() syscall.
      Signed-off-by: NVincent Bernat <bernat@luffy.cx>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d59577b6
  17. 20 12月, 2012 4 次提交
  18. 10 12月, 2012 1 次提交
  19. 29 11月, 2012 3 次提交
  20. 14 11月, 2012 1 次提交
  21. 09 11月, 2012 1 次提交
  22. 01 11月, 2012 1 次提交
    • P
      sk-filter: Add ability to get socket filter program (v2) · a8fc9277
      Pavel Emelyanov 提交于
      The SO_ATTACH_FILTER option is set only. I propose to add the get
      ability by using SO_ATTACH_FILTER in getsockopt. To be less
      irritating to eyes the SO_GET_FILTER alias to it is declared. This
      ability is required by checkpoint-restore project to be able to
      save full state of a socket.
      
      There are two issues with getting filter back.
      
      First, kernel modifies the sock_filter->code on filter load, thus in
      order to return the filter element back to user we have to decode it
      into user-visible constants. Fortunately the modification in question
      is interconvertible.
      
      Second, the BPF_S_ALU_DIV_K code modifies the command argument k to
      speed up the run-time division by doing kernel_k = reciprocal(user_k).
      Bad news is that different user_k may result in same kernel_k, so we
      can't get the original user_k back. Good news is that we don't have
      to do it. What we need to is calculate a user2_k so, that
      
        reciprocal(user2_k) == reciprocal(user_k) == kernel_k
      
      i.e. if it's re-loaded back the compiled again value will be exactly
      the same as it was. That said, the user2_k can be calculated like this
      
        user2_k = reciprocal(kernel_k)
      
      with an exception, that if kernel_k == 0, then user2_k == 1.
      
      The optlen argument is treated like this -- when zero, kernel returns
      the amount of sock_fprog elements in filter, otherwise it should be
      large enough for the sock_fprog array.
      
      changes since v1:
      * Declared SO_GET_FILTER in all arch headers
      * Added decode of vlan-tag codes
      Signed-off-by: NPavel Emelyanov <xemul@parallels.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a8fc9277
  23. 15 10月, 2012 2 次提交
  24. 06 10月, 2012 1 次提交
    • J
      cross-arch: don't corrupt personality flags upon exec() · 16f3e95b
      Jiri Kosina 提交于
      Historically, the top three bytes of personality have been used for
      things such as ADDR_NO_RANDOMIZE, which made sense only for specific
      architectures.
      
      We now however have a flag there that is general no matter the
      architecture (UNAME26); generally we have to be careful to preserve the
      personality flags across exec().
      
      This patch tries to fix all architectures that forcefully overwrite
      personality flags during exec() (ppc32 and s390 have been fixed recently
      by commits f9783ec8 ("[S390] Do not clobber personality flags on
      exec") and 59e4c3a2 ("powerpc/32: Don't clobber personality flags on
      exec") in a similar way already).
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
      Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
      Cc: Mike Frysinger <vapier@gentoo.org>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Richard Kuo <rkuo@codeaurora.org>
      Cc: Hirokazu Takata <takata@linux-m32r.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
      Cc: Jonas Bonn <jonas@southpole.se>
      Cc: Chen Liqin <liqin.chen@sunplusct.com>
      Cc: Lennox Wu <lennox.wu@gmail.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Chris Zankel <chris@zankel.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      16f3e95b
  25. 04 10月, 2012 1 次提交
  26. 03 10月, 2012 1 次提交
  27. 01 10月, 2012 3 次提交