1. 19 12月, 2013 8 次提交
  2. 05 12月, 2013 1 次提交
  3. 13 1月, 2012 1 次提交
  4. 26 5月, 2011 2 次提交
  5. 16 11月, 2010 1 次提交
    • J
      Fix gcc 4.5.1 miscompiling drivers/char/i8k.c (again) · 22d3243d
      Jim Bos 提交于
      The fix in commit 6b4e81db ("i8k: Tell gcc that *regs gets
      clobbered") to work around the gcc miscompiling i8k.c to add "+m
      (*regs)" caused register pressure problems and a build failure.
      
      Changing the 'asm' statement to 'asm volatile' instead should prevent
      that and works around the gcc bug as well, so we can remove the "+m".
      
      [ Background on the gcc bug: a memory clobber fails to mark the function
        the asm resides in as non-pure (aka "__attribute__((const))"), so if
        the function does nothing else that triggers the non-pure logic, gcc
        will think that that function has no side effects at all. As a result,
        callers will be mis-compiled.
      
        Adding the "+m" made gcc see that it's not a pure function, and so
        does "asm volatile". The problem was never really the need to mark
        "*regs" as changed, since the memory clobber did that part - the
        problem was just a bug in the gcc "pure" function analysis  - Linus ]
      Signed-off-by: NJim Bos <jim876@xs4all.nl>
      Acked-by: NJakub Jelinek <jakub@redhat.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Andreas Schwab <schwab@linux-m68k.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      22d3243d
  6. 14 11月, 2010 1 次提交
    • J
      i8k: Tell gcc that *regs gets clobbered · 6b4e81db
      Jim Bos 提交于
      More recent GCC caused the i8k driver to stop working, on Slackware
      compiler was upgraded from gcc-4.4.4 to gcc-4.5.1 after which it didn't
      work anymore, meaning the driver didn't load or gave total nonsensical
      output.
      
      As it turned out the asm(..) statement forgot to mention it modifies the
      *regs variable.
      
      Credits to Andi Kleen and Andreas Schwab for providing the fix.
      Signed-off-by: NJim Bos <jim876@xs4all.nl>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Andreas Schwab <schwab@linux-m68k.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6b4e81db
  7. 05 10月, 2010 1 次提交
    • A
      drivers: autoconvert trivial BKL users to private mutex · 613655fa
      Arnd Bergmann 提交于
      All these files use the big kernel lock in a trivial
      way to serialize their private file operations,
      typically resulting from an earlier semi-automatic
      pushdown from VFS.
      
      None of these drivers appears to want to lock against
      other code, and they all use the BKL as the top-level
      lock in their file operations, meaning that there
      is no lock-order inversion problem.
      
      Consequently, we can remove the BKL completely,
      replacing it with a per-file mutex in every case.
      Using a scripted approach means we can avoid
      typos.
      
      These drivers do not seem to be under active
      maintainance from my brief investigation. Apologies
      to those maintainers that I have missed.
      
      file=$1
      name=$2
      if grep -q lock_kernel ${file} ; then
          if grep -q 'include.*linux.mutex.h' ${file} ; then
                  sed -i '/include.*<linux\/smp_lock.h>/d' ${file}
          else
                  sed -i 's/include.*<linux\/smp_lock.h>.*$/include <linux\/mutex.h>/g' ${file}
          fi
          sed -i ${file} \
              -e "/^#include.*linux.mutex.h/,$ {
                      1,/^\(static\|int\|long\)/ {
                           /^\(static\|int\|long\)/istatic DEFINE_MUTEX(${name}_mutex);
      
      } }"  \
          -e "s/\(un\)*lock_kernel\>[ ]*()/mutex_\1lock(\&${name}_mutex)/g" \
          -e '/[      ]*cycle_kernel_lock();/d'
      else
          sed -i -e '/include.*\<smp_lock.h\>/d' ${file}  \
                      -e '/cycle_kernel_lock()/d'
      fi
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      613655fa
  8. 17 5月, 2010 1 次提交
    • F
      procfs: Push down the bkl from ioctl · d79b6f4d
      Frederic Weisbecker 提交于
      Push down the bkl from procfs's ioctl main handler to its users.
      Only three procfs users implement an ioctl (non unlocked) handler.
      Turn them into unlocked_ioctl and push down the Devil inside.
      
      v2: PDE(inode)->data doesn't need to be under bkl
      v3: And don't forget to git-add the result
      v4: Use wrappers to pushdown instead of an invasive and error prone
          handlers surgery.
      Signed-off-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: John Kacur <jkacur@redhat.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Al Viro <viro@ZenIV.linux.org.uk>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      d79b6f4d
  9. 03 1月, 2009 2 次提交
  10. 01 5月, 2008 1 次提交
  11. 29 4月, 2008 1 次提交
  12. 08 2月, 2008 2 次提交
  13. 07 2月, 2008 1 次提交
  14. 20 10月, 2007 1 次提交
  15. 10 10月, 2007 1 次提交
    • J
      drivers/firmware: const-ify DMI API and internals · 1855256c
      Jeff Garzik 提交于
      Three main sets of changes:
      
      1) dmi_get_system_info() return value should have been marked const,
         since callers should not be changing that data.
      
      2) const-ify DMI internals, since DMI firmware tables should,
         whenever possible, be marked const to ensure we never ever write to
         that data area.
      
      3) const-ify DMI API, to enable marking tables const where possible
         in low-level drivers.
      
      And if we're really lucky, this might enable some additional
      optimizations on the part of the compiler.
      
      The bulk of the changes are #2 and #3, which are interrelated.  #1 could
      have been a separate patch, but it was so small compared to the others,
      it was easier to roll it into this changeset.
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      1855256c
  16. 09 5月, 2007 1 次提交
  17. 04 7月, 2006 1 次提交
  18. 13 11月, 2005 1 次提交
  19. 26 6月, 2005 5 次提交
  20. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4