1. 07 7月, 2012 1 次提交
  2. 12 6月, 2012 1 次提交
    • P
      hwrng: atmel-rng - fix data valid check · c475c06f
      Peter Korsgaard 提交于
      Brown paper bag: Data valid is LSB of the ISR (status register), and NOT
      of ODATA (current random data word)!
      
      With this, rngtest is a lot happier. Before:
      
      rngtest 3
      Copyright (c) 2004 by Henrique de Moraes Holschuh
      This is free software; see the source for copying conditions.  There is NO warr.
      
      rngtest: starting FIPS tests...
      rngtest: bits received from input: 20000032
      rngtest: FIPS 140-2 successes: 3
      rngtest: FIPS 140-2 failures: 997
      rngtest: FIPS 140-2(2001-10-10) Monobit: 604
      rngtest: FIPS 140-2(2001-10-10) Poker: 996
      rngtest: FIPS 140-2(2001-10-10) Runs: 36
      rngtest: FIPS 140-2(2001-10-10) Long run: 0
      rngtest: FIPS 140-2(2001-10-10) Continuous run: 117
      rngtest: input channel speed: (min=622.371; avg=23682.481; max=28224.350)Kibitss
      rngtest: FIPS tests speed: (min=12.361; avg=12.718; max=12.861)Mibits/s
      rngtest: Program run time: 2331696 microsecondsx
      
      After:
      rngtest 3
      Copyright (c) 2004 by Henrique de Moraes Holschuh
      This is free software; see the source for copying conditions.  There is NO warr.
      
      rngtest: starting FIPS tests...
      rngtest: bits received from input: 20000032
      rngtest: FIPS 140-2 successes: 999
      rngtest: FIPS 140-2 failures: 1
      rngtest: FIPS 140-2(2001-10-10) Monobit: 0
      rngtest: FIPS 140-2(2001-10-10) Poker: 0
      rngtest: FIPS 140-2(2001-10-10) Runs: 1
      rngtest: FIPS 140-2(2001-10-10) Long run: 0
      rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
      rngtest: input channel speed: (min=777.363; avg=43588.270; max=47870.711)Kibitss
      rngtest: FIPS tests speed: (min=11.943; avg=12.716; max=12.844)Mibits/s
      rngtest: Program run time: 1955282 microseconds
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NPeter Korsgaard <jacmet@sunsite.dk>
      Reported-by: NGeorge Pontis <GPontis@z9.com>
      Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      c475c06f
  3. 06 6月, 2012 1 次提交
  4. 31 5月, 2012 1 次提交
    • P
      hwrng: atmel-rng - fix race condition leading to repeated bits · 121daad8
      Peter Korsgaard 提交于
      Data valid gets cleared by reading the ISR (status register) and NOT from
      reading ODATA (data register). A new data word can become available between
      checking ISR and reading ODATA, causing us to reuse the same data word next
      time atmel_trng_read() gets called, if that happens before the following
      data word is ready.
      
      With this fixed, rngtest no longer complains of 'Continous run' errors.
      Before:
      
      rngtest -c 1000 < /dev/hwrng
      rngtest 3
      Copyright (c) 2004 by Henrique de Moraes Holschuh
      This is free software; see the source for copying conditions.  There is NO warr.
      
      rngtest: starting FIPS tests...
      rngtest: bits received from input: 20000032
      rngtest: FIPS 140-2 successes: 923
      rngtest: FIPS 140-2 failures: 77
      rngtest: FIPS 140-2(2001-10-10) Monobit: 0
      rngtest: FIPS 140-2(2001-10-10) Poker: 0
      rngtest: FIPS 140-2(2001-10-10) Runs: 1
      rngtest: FIPS 140-2(2001-10-10) Long run: 0
      rngtest: FIPS 140-2(2001-10-10) Continuous run: 76
      rngtest: input channel speed: (min=721.402; avg=46003.510; max=49321.338)Kibitss
      rngtest: FIPS tests speed: (min=11.442; avg=12.714; max=12.801)Mibits/s
      rngtest: Program run time: 1931860 microseconds
      
      After:
      
      rngtest -c 1000 < /dev/hwrng
      rngtest 3
      Copyright (c) 2004 by Henrique de Moraes Holschuh
      This is free software; see the source for copying conditions.  There is NO warr.
      
      rngtest: starting FIPS tests...
      rngtest: bits received from input: 20000032
      rngtest: FIPS 140-2 successes: 1000
      rngtest: FIPS 140-2 failures: 0
      rngtest: FIPS 140-2(2001-10-10) Monobit: 0
      rngtest: FIPS 140-2(2001-10-10) Poker: 0
      rngtest: FIPS 140-2(2001-10-10) Runs: 0
      rngtest: FIPS 140-2(2001-10-10) Long run: 0
      rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
      rngtest: input channel speed: (min=777.518; avg=36988.482; max=43115.342)Kibitss
      rngtest: FIPS tests speed: (min=11.951; avg=12.715; max=12.887)Mibits/s
      rngtest: Program run time: 2035543 microseconds
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NPeter Korsgaard <jacmet@sunsite.dk>
      Reported-by: NGeorge Pontis <GPontis@z9.com>
      Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      121daad8
  5. 20 5月, 2012 1 次提交
  6. 17 5月, 2012 1 次提交
  7. 16 5月, 2012 3 次提交
  8. 14 5月, 2012 1 次提交
  9. 10 5月, 2012 1 次提交
  10. 08 5月, 2012 2 次提交
    • K
      kmsg: export printk records to the /dev/kmsg interface · e11fea92
      Kay Sievers 提交于
      Support for multiple concurrent readers of /dev/kmsg, with read(),
      seek(), poll() support. Output of message sequence numbers, to allow
      userspace log consumers to reliably reconnect and reconstruct their
      state at any given time. After open("/dev/kmsg"), read() always
      returns *all* buffered records. If only future messages should be
      read, SEEK_END can be used. In case records get overwritten while
      /dev/kmsg is held open, or records get faster overwritten than they
      are read, the next read() will return -EPIPE and the current reading
      position gets updated to the next available record. The passed
      sequence numbers allow the log consumer to calculate the amount of
      lost messages.
      
        [root@mop ~]# cat /dev/kmsg
        5,0,0;Linux version 3.4.0-rc1+ (kay@mop) (gcc version 4.7.0 20120315 ...
        6,159,423091;ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
        7,160,424069;pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7] (ignored)
         SUBSYSTEM=acpi
         DEVICE=+acpi:PNP0A03:00
        6,339,5140900;NET: Registered protocol family 10
        30,340,5690716;udevd[80]: starting version 181
        6,341,6081421;FDC 0 is a S82078B
        6,345,6154686;microcode: CPU0 sig=0x623, pf=0x0, revision=0x0
        7,346,6156968;sr 1:0:0:0: Attached scsi CD-ROM sr0
         SUBSYSTEM=scsi
         DEVICE=+scsi:1:0:0:0
        6,347,6289375;microcode: CPU1 sig=0x623, pf=0x0, revision=0x0
      
      Cc: Karel Zak <kzak@redhat.com>
      Tested-by: NWilliam Douglas <william.douglas@intel.com>
      Signed-off-by: NKay Sievers <kay@vrfy.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e11fea92
    • K
      printk: convert byte-buffer to variable-length record buffer · 7ff9554b
      Kay Sievers 提交于
      - Record-based stream instead of the traditional byte stream
        buffer. All records carry a 64 bit timestamp, the syslog facility
        and priority in the record header.
      
      - Records consume almost the same amount, sometimes less memory than
        the traditional byte stream buffer (if printk_time is enabled). The record
        header is 16 bytes long, plus some padding bytes at the end if needed.
        The byte-stream buffer needed 3 chars for the syslog prefix, 15 char for
        the timestamp and a newline.
      
      - Buffer management is based on message sequence numbers. When records
        need to be discarded, the reading heads move on to the next full
        record. Unlike the byte-stream buffer, no old logged lines get
        truncated or partly overwritten by new ones. Sequence numbers also
        allow consumers of the log stream to get notified if any message in
        the stream they are about to read gets discarded during the time
        of reading.
      
      - Better buffered IO support for KERN_CONT continuation lines, when printk()
        is called multiple times for a single line. The use of KERN_CONT is now
        mandatory to use continuation; a few places in the kernel need trivial fixes
        here. The buffering could possibly be extended to per-cpu variables to allow
        better thread-safety for multiple printk() invocations for a single line.
      
      - Full-featured syslog facility value support. Different facilities
        can tag their messages. All userspace-injected messages enforce a
        facility value > 0 now, to be able to reliably distinguish them from
        the kernel-generated messages. Independent subsystems like a
        baseband processor running its own firmware, or a kernel-related
        userspace process can use their own unique facility values. Multiple
        independent log streams can co-exist that way in the same
        buffer. All share the same global sequence number counter to ensure
        proper ordering (and interleaving) and to allow the consumers of the
        log to reliably correlate the events from different facilities.
      Tested-by: NWilliam Douglas <william.douglas@intel.com>
      Signed-off-by: NKay Sievers <kay@vrfy.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      7ff9554b
  11. 30 4月, 2012 1 次提交
  12. 27 4月, 2012 1 次提交
  13. 20 4月, 2012 2 次提交
  14. 16 4月, 2012 1 次提交
  15. 13 4月, 2012 3 次提交
  16. 10 4月, 2012 2 次提交
  17. 06 4月, 2012 1 次提交
    • S
      simple_open: automatically convert to simple_open() · 234e3405
      Stephen Boyd 提交于
      Many users of debugfs copy the implementation of default_open() when
      they want to support a custom read/write function op.  This leads to a
      proliferation of the default_open() implementation across the entire
      tree.
      
      Now that the common implementation has been consolidated into libfs we
      can replace all the users of this function with simple_open().
      
      This replacement was done with the following semantic patch:
      
      <smpl>
      @ open @
      identifier open_f != simple_open;
      identifier i, f;
      @@
      -int open_f(struct inode *i, struct file *f)
      -{
      (
      -if (i->i_private)
      -f->private_data = i->i_private;
      |
      -f->private_data = i->i_private;
      )
      -return 0;
      -}
      
      @ has_open depends on open @
      identifier fops;
      identifier open.open_f;
      @@
      struct file_operations fops = {
      ...
      -.open = open_f,
      +.open = simple_open,
      ...
      };
      </smpl>
      
      [akpm@linux-foundation.org: checkpatch fixes]
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      234e3405
  18. 03 4月, 2012 2 次提交
  19. 02 4月, 2012 2 次提交
  20. 29 3月, 2012 9 次提交
  21. 28 3月, 2012 1 次提交
  22. 17 3月, 2012 1 次提交
  23. 16 3月, 2012 1 次提交