1. 01 Dec, 2009 3 commits
    • David Howells's avatar
      SLOW_WORK: Fix the CONFIG_MODULES=n case · fa1dae49
      David Howells authored
      Commits 3d7a641e ("SLOW_WORK: Wait for outstanding work items belonging to a
      module to clear") introduced some code to make sure that all of a module's
      slow-work items were complete before that module was removed, and commit
      3bde31a4 ("SLOW_WORK: Allow a requeueable work item to sleep till the thread is
      needed") further extended that, breaking it in the process if CONFIG_MODULES=n:
      
          CC      kernel/slow-work.o
        kernel/slow-work.c: In function 'slow_work_execute':
        kernel/slow-work.c:313: error: 'slow_work_thread_processing' undeclared (first use in this function)
        kernel/slow-work.c:313: error: (Each undeclared identifier is reported only once
        kernel/slow-work.c:313: error: for each function it appears in.)
        kernel/slow-work.c: In function 'slow_work_wait_for_items':
        kernel/slow-work.c:950: error: 'slow_work_unreg_sync_lock' undeclared (first use in this function)
        kernel/slow-work.c:951: error: 'slow_work_unreg_wq' undeclared (first use in this function)
        kernel/slow-work.c:961: error: 'slow_work_unreg_work_item' undeclared (first use in this function)
        kernel/slow-work.c:974: error: 'slow_work_unreg_module' undeclared (first use in this function)
        kernel/slow-work.c:977: error: 'slow_work_thread_processing' undeclared (first use in this function)
        make[1]: *** [kernel/slow-work.o] Error 1
      
      Fix this by:
      
       (1) Extracting the bits of slow_work_execute() that are contingent on
           CONFIG_MODULES, and the bits that should be, into inline functions and
           placing them into the #ifdef'd section that defines the relevant variables
           and adding stubs for moduleless kernels.  This allows the removal of some
           #ifdefs.
      
       (2) #ifdef'ing out the contents of slow_work_wait_for_items() in moduleless
           kernels.
      
      The four functions related to handling module unloading synchronisation (and
      their associated variables) could be offloaded into a separate .c file, but
      each function is only used once and three of them are tiny, so doing so would
      prevent them from being inlined.
      Reported-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fa1dae49
    • David Howells's avatar
      9p: fix build breakage introduced by FS-Cache · 6f054164
      David Howells authored
      While building 2.6.32-rc8-git2 for Fedora I noticed the following thinko
      in commit 201a1542 ("FS-Cache: Handle
      pages pending storage that get evicted under OOM conditions"):
      
        fs/9p/cache.c: In function '__v9fs_fscache_release_page':
        fs/9p/cache.c:346: error: 'vnode' undeclared (first use in this function)
        fs/9p/cache.c:346: error: (Each undeclared identifier is reported only once
        fs/9p/cache.c:346: error: for each function it appears in.)
        make[2]: *** [fs/9p/cache.o] Error 1
      
      Fix the 9P filesystem to correctly construct the argument to
      fscache_maybe_release_page().
      Signed-off-by: default avatarKyle McMartin <kyle@redhat.com>
      Signed-off-by: Xiaotian Feng <dfeng@redhat.com> [from identical patch]
      Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [from identical patch]
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6f054164
    • Linus Torvalds's avatar
      Merge branch 'security' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 · 29e55363
      Linus Torvalds authored
      * 'security' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6:
        mac80211: fix spurious delBA handling
        mac80211: fix two remote exploits
      29e55363
  2. 30 Nov, 2009 37 commits