31 Jul, 2009

1 commit

  • sg_miter_start() is currently unaware of the direction of the copy
    process (to or from the scatter list). It is important to know the
    direction because the page has to be flushed in case the data written
    is seen on a different mapping in user land on cache incoherent
    architectures.

    Signed-off-by: Sebastian Andrzej Siewior
    Acked-by: FUJITA Tomonori
    Acked-by: Tejun Heo
    Signed-off-by: Pierre Ossman

    Sebastian Andrzej Siewior
     

30 Jul, 2009

12 commits

  • I've been doing this for years, and akpm picked me up on it about 12
    months ago. lguest partly serves as example code, so let's do it Right.

    Also, remove two unused fields in struct vblk_info in the example launcher.

    Signed-off-by: Rusty Russell
    Cc: Ingo Molnar

    Rusty Russell
     
  • I don't really notice it (except to begrudge the extra vertical
    space), but Ingo does. And he pointed out that one excuse of lguest
    is as a teaching tool, it should set a good example.

    Signed-off-by: Rusty Russell
    Cc: Ingo Molnar

    Rusty Russell
     
  • * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
    PM / Hibernate: Replace bdget call with simple atomic_inc of i_count
    PM / ACPI: HP G7000 Notebook needs a SCI_EN resume quirk

    Linus Torvalds
     
  • To avoid userspace build failures such as:

    .../linux/uio.h:37: error: expected `=', `,', `;', `asm' or `__attribute__' before `iov_length'
    .../linux/uio.h:47: error: expected declaration specifiers or `...' before `size_t'

    move uio functions inside a __KERNEL__ block.

    Signed-off-by: Jiri Slaby
    Acked-by: Sam Ravnborg
    Cc: Alexander Viro
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Once a structure goes over PAGE_SIZE*2, we see occasional allocation
    failures. Some people have chosen to switch over to things like vmalloc()
    that will let them keep array-like access to such a large structures.
    But, vmalloc() has plenty of downsides.

    Here's an alternative. I think it's what Andrew was suggesting here:

    http://lkml.org/lkml/2009/7/2/518

    I call it a flexible array. It does all of its work in PAGE_SIZE bits, so
    never does an order>0 allocation. The base level has
    PAGE_SIZE-2*sizeof(int) bytes of storage for pointers to the second level.
    So, with a 32-bit arch, you get about 4MB (4183112 bytes) of total
    storage when the objects pack nicely into a page. It is half that on
    64-bit because the pointers are twice the size. There's a table detailing
    this in the code.

    There are kerneldocs for the functions, but here's an
    overview:

    flex_array_alloc() - dynamically allocate a base structure
    flex_array_free() - free the array and all of the
    second-level pages
    flex_array_free_parts() - free the second-level pages, but
    not the base (for static bases)
    flex_array_put() - copy into the array at the given index
    flex_array_get() - copy out of the array at the given index
    flex_array_prealloc() - preallocate the second-level pages
    between the given indexes to
    guarantee no allocs will occur at
    put() time.

    We could also potentially just pass the "element_size" into each of the
    API functions instead of storing it internally. That would get us one
    more base pointer on 32-bit.

    I've been testing this by running it in userspace. The header and patch
    that I've been using are here, as well as the little script I'm using to
    generate the size table which goes in the kerneldocs.

    http://sr71.net/~dave/linux/flexarray/

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Dave Hansen
    Reviewed-by: KAMEZAWA Hiroyuki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Hansen
     
  • Found with make headers_check

    /usr/include/linux/pps.h:52: found __[us]{8,16,32,64} type without #include

    Signed-off-by: Dave Jones
    Cc: Rodolfo Giometti
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • After commit ec64f51545fffbc4cb968f0cea56341a4b07e85a ("cgroup: fix
    frequent -EBUSY at rmdir"), cgroup's rmdir (especially against memcg)
    doesn't return -EBUSY by temporary ref counts. That commit expects all
    refs after pre_destroy() is temporary but...it wasn't. Then, rmdir can
    wait permanently. This patch tries to fix that and change followings.

    - set CGRP_WAIT_ON_RMDIR flag before pre_destroy().
    - clear CGRP_WAIT_ON_RMDIR flag when the subsys finds racy case.
    if there are sleeping ones, wakes them up.
    - rmdir() sleeps only when CGRP_WAIT_ON_RMDIR flag is set.

    Tested-by: Daisuke Nishimura
    Reported-by: Daisuke Nishimura
    Reviewed-by: Paul Menage
    Acked-by: Balbir Sigh
    Signed-off-by: KAMEZAWA Hiroyuki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • The bug was introduced by commit cc31edceee04a7b87f2be48f9489ebb72d264844
    ("cgroups: convert tasks file to use a seq_file with shared pid array").

    We cache a pid array for all threads that are opening the same "tasks"
    file, but the pids in the array are always from the namespace of the
    last process that opened the file, so all other threads will read pids
    from that namespace instead of their own namespaces.

    To fix it, we maintain a list of pid arrays, which is keyed by pid_ns.
    The list will be of length 1 at most time.

    Reported-by: Paul Menage
    Idea-by: Paul Menage
    Signed-off-by: Li Zefan
    Reviewed-by: Serge Hallyn
    Cc: Balbir Singh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Li Zefan
     
  • * 'drm-radeon-kms' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (35 commits)
    drm/radeon: set fb aperture sizes for framebuffer handoff.
    drm/ttm: fix highuser vs dma32 confusion.
    drm/radeon: Fix size used for benchmarking BO copies.
    drm/radeon: Add radeon.test parameter for running BO GPU copy tests.
    drm/radeon/kms: allow interruptible waits for objects.
    drm/ttm: powerpc: Fix Highmem cache flushing.
    x86: Export kmap_atomic_prot() needed for TTM.
    drm/ttm: Fix ttm in-kernel copying of pages with non-standard caching attributes.
    drm/ttm: Fix an oops and sync object leak.
    drm/radeon/kms: vram sizing on certain r100 chips needs workaround.
    drm/radeon: Pay more attention to object placement requested by userspace.
    drm/radeon: Fall back to evicting BOs with memcpy if necessary.
    drm/radeon: Don't unreserve twice on failure to validate.
    drm/radeon/kms: fix bandwidth computation on avivo hardware
    drm/radeon/kms: add initial colortiling support.
    drm/radeon/kms: fix hotspot handling on pre-avivo chips
    drm/radeon/kms: enable frac fb divs on rs600/rs690/rs740
    drm/radeon/kms: add PLL flag to prefer frequencies <= the target freq
    drm/radeon/kms: block RN50 from using 3D engine.
    drm/radeon/kms: fix VRAM sizing like DDX does it.
    ...

    Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    libata: accept late unlocking of HPA
    libata: Updates and fixes for pata_at91 driver
    ata_piix: Add new short cable ID
    ata_piix: Add new laptop short cable IDs
    ahci: add device IDs for Ibex Peak ahci controllers
    libata: remove superfluous NULL pointer checks
    libata: add missing NULL pointer check to ata_eh_reset()
    pata_pcmcia: add CNF-CDROM-ID

    Linus Torvalds
     
  • We really don't want to mark the pty as a low-latency device, because as
    Alan points out, the ->write method can be called from an IRQ (ppp?),
    and that means we can't use ->low_latency=1 as we take mutexes in the
    low_latency case.

    So rather than using low_latency to force the written data to be pushed
    to the ldisc handling at 'write()' time, just make the reader side (or
    the poll function) do the flush when it checks whether there is data to
    be had.

    This also fixes the problem with lost data in an emacs compile buffer
    (bugzilla 13815), and we can thus revert the low_latency pty hack
    (commit 3a54297478e6578f96fd54bf4daa1751130aca86: "pty: quickfix for the
    pty ENXIO timing problems").

    Signed-off-by: OGAWA Hirofumi
    Tested-by: Aneesh Kumar K.V
    [ Modified to do the tty_flush_to_ldisc() inside input_available_p() so
    that it triggers for both read and poll() - Linus]
    Signed-off-by: Linus Torvalds

    OGAWA Hirofumi
     
  • Create bdgrab(). This function copies an existing reference to a
    block_device. It is safe to call from any context.

    Hibernation code wishes to copy a reference to the active swap device.
    Right now it calls bdget() under a spinlock, but this is wrong because
    bdget() can sleep. It doesn't need a full bdget() because we already
    hold a reference to active swap devices (and the spinlock protects
    against swapoff).

    Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13827

    Signed-off-by: Alan Jenkins
    Signed-off-by: Rafael J. Wysocki

    Alan Jenkins
     

29 Jul, 2009

2 commits

  • This adds new set/get tiling interfaces where the pitch
    and macro/micro tiling enables can be set. Along with
    a flag to decide if this object should have a surface when mapped.

    The only thing we need to allocate with a mapped surface should be
    the frontbuffer. Note rotate scanout shouldn't require one, and
    back/depth shouldn't either, though mesa needs some fixes.

    It fixes the TTM interfaces along Thomas's suggestions, and I've tested
    the surface stealing code with two X servers and not seen any lockdep issues.

    I've stopped tiling the fbcon frontbuffer, as I don't see there being
    any advantage other than testing, I've left the testing commands in there,
    just flip the fb_tiled to true in radeon_fb.c

    Open: Can we integrate endian swapping in with this?

    Future features:
    texture tiling - need to relocate texture registers TXOFFSET* with tiling info.

    This also merges Michel's cleanup surfaces regs at init time patch
    even though it makes sense on its own, this patch really relies on it.

    Some PowerMac firmwares set up a tiling surface at the beginning of VRAM
    which messes us up otherwise.
    that patch is:
    Signed-off-by: Michel Dänzer

    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • On certain configurations, HPA isn't or can't be unlocked during
    probing but it somehow ends up unlocked afterwards. In the following
    thread, the problem can be reliably reproduced after resuming from
    STR. The BIOS turns on HPA during boot but forgets to do it during
    resume.

    http://thread.gmane.org/gmane.linux.kernel/858310

    This patch updates libata revalidation such that it considers native
    n_sectors. If the device size has increased to match native
    n_sectors, it's assumed that HPA has been unlocked involuntarily and
    the device is recognized as the same one. This should be fairly safe
    while nicely working around the problem.

    Signed-off-by: Tejun Heo
    Reported-by: Christof Warlich
    Signed-off-by: Jeff Garzik

    Tejun Heo
     

28 Jul, 2009

6 commits

  • * 'for-linus' of git://git.infradead.org/users/eparis/notify:
    inotify: use GFP_NOFS under potential memory pressure
    fsnotify: fix inotify tail drop check with path entries
    inotify: check filename before dropping repeat events
    fsnotify: use def_bool in kconfig instead of letting the user choose
    inotify: fix error paths in inotify_update_watch
    inotify: do not leak inode marks in inotify_add_watch
    inotify: drop user watch count when a watch is removed

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (45 commits)
    cnic: Fix ISCSI_KEVENT_IF_DOWN message handling.
    net: irda: init spinlock after memcpy
    ixgbe: fix for 82599 errata marking UDP checksum errors
    r8169: WakeOnLan fix for the 8168
    netxen: reset ring consumer during cleanup
    net/bridge: use kobject_put to release kobject in br_add_if error path
    smc91x.h: add config for Nomadik evaluation kit
    NET: ROSE: Don't use static buffer.
    eepro: Read buffer overflow
    tokenring: Read buffer overflow
    at1700: Read buffer overflow
    fealnx: Write outside array bounds
    ixgbe: remove unnecessary call to device_init_wakeup
    ixgbe: Don't priority tag control frames in DCB mode
    ixgbe: Enable FCoE offload when DCB is enabled for 82599
    net: Rework mdio-ofgpio driver to use of_mdio infrastructure
    register at91_ether using platform_driver_probe
    skge: Enable WoL by default if supported
    net: KS8851 needs to depend on MII
    be2net: Bug fix in the non-lro path. Size of received packet was not updated in statistics properly.
    ...

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (34 commits)
    V4L/DVB (12303): cx23885: check pointers before dereferencing in dprintk macro
    V4L/DVB (12302): cx23885-417: fix broken IOCTL handling
    V4L/DVB (12300): bttv: fix regression: tvaudio must be loaded before tuner
    V4L/DVB (12291): b2c2: fix frontends compiled into kernel
    V4L/DVB (12286): sn9c20x: reorder includes to be like other drivers
    V4L/DVB (12284): gspca - jpeg subdrivers: Check the result of kmalloc(jpeg header).
    V4L/DVB (12283): gspca - sn9c20x: New subdriver for sn9c201 and sn9c202 bridges.
    V4L/DVB (12282): gspca - main: Support for vidioc_g_chip_ident and vidioc_g/s_register.
    V4L/DVB (12269): af9013: auto-detect parameters in case of garbage given by app
    V4L/DVB (12267): gspca - sonixj: Bad sensor init of non ov76xx sensors.
    V4L/DVB (12265): em28xx: fix tuning problem in HVR-900 (R1)
    V4L/DVB (12263): em28xx: set demod profile for Pinnacle Hybrid Pro 320e
    V4L/DVB (12262): em28xx: Make sure the tuner is initialized if generic empia USB id was used
    V4L/DVB (12261): em28xx: set GPIO properly for Pinnacle Hybrid Pro analog support
    V4L/DVB (12260): em28xx: make support work for the Pinnacle Hybrid Pro (eb1a:2881)
    V4L/DVB (12258): em28xx: fix typo in mt352 init sequence for Terratec Cinergy T XS USB
    V4L/DVB (12257): em28xx: make tuning work for Terratec Cinergy T XS USB (mt352 variant)
    V4L/DVB (12245): em28xx: add support for mt9m001 webcams
    V4L/DVB (12244): em28xx: adjust vinmode/vinctl based on the stream input format
    V4L/DVB (12243): em28xx: allow specifying sensor xtal frequency
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:
    dm table: pass correct dev area size to device_area_is_valid
    dm: remove queue next_ordered workaround for barriers
    dm raid1: wake kmirrord when requeueing delayed bios after remote recovery

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:
    jbd: fix race between write_metadata_buffer and get_write_access
    ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle()
    jbd: Fix a race between checkpointing code and journal_get_write_access()
    ext3: Fix truncation of symlinks after failed write
    jbd: Fail to load a journal if it is too short

    Linus Torvalds
     
  • mm: Pass virtual address to [__]p{te,ud,md}_free_tlb()

    Upcoming paches to support the new 64-bit "BookE" powerpc architecture
    will need to have the virtual address corresponding to PTE page when
    freeing it, due to the way the HW table walker works.

    Basically, the TLB can be loaded with "large" pages that cover the whole
    virtual space (well, sort-of, half of it actually) represented by a PTE
    page, and which contain an "indirect" bit indicating that this TLB entry
    RPN points to an array of PTEs from which the TLB can then create direct
    entries. Thus, in order to invalidate those when PTE pages are deleted,
    we need the virtual address to pass to tlbilx or tlbivax instructions.

    The old trick of sticking it somewhere in the PTE page struct page sucks
    too much, the address is almost readily available in all call sites and
    almost everybody implemets these as macros, so we may as well add the
    argument everywhere. I added it to the pmd and pud variants for consistency.

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: David Howells [MN10300 & FRV]
    Acked-by: Nick Piggin
    Acked-by: Martin Schwidefsky [s390]
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     

27 Jul, 2009

1 commit

  • The use of a static buffer in rose2asc() to return its result is not
    threadproof and can result in corruption if multiple threads are trying
    to use one of the procfs files based on rose2asc().

    Signed-off-by: Ralf Baechle
    Signed-off-by: David S. Miller

    Ralf Baechle
     

25 Jul, 2009

1 commit


24 Jul, 2009

1 commit

  • Incorrect device area lengths are being passed to device_area_is_valid().

    The regression appeared in 2.6.31-rc1 through commit
    754c5fc7ebb417b23601a6222a6005cc2e7f2913.

    With the dm-stripe target, the size of the target (ti->len) was used
    instead of the stripe_width (ti->len/#stripes). An example of a
    consequent incorrect error message is:

    device-mapper: table: 254:0: sdb too small for target

    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Mike Snitzer
     

23 Jul, 2009

8 commits

  • …nel/git/peterz/linux-2.6-perf

    * 'perf-counters-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-perf: (31 commits)
    perf_counter tools: Give perf top inherit option
    perf_counter tools: Fix vmlinux symbol generation breakage
    perf_counter: Detect debugfs location
    perf_counter: Add tracepoint support to perf list, perf stat
    perf symbol: C++ demangling
    perf: avoid structure size confusion by using a fixed size
    perf_counter: Fix throttle/unthrottle event logging
    perf_counter: Improve perf stat and perf record option parsing
    perf_counter: PERF_SAMPLE_ID and inherited counters
    perf_counter: Plug more stack leaks
    perf: Fix stack data leak
    perf_counter: Remove unused variables
    perf_counter: Make call graph option consistent
    perf_counter: Add perf record option to log addresses
    perf_counter: Log vfork as a fork event
    perf_counter: Synthesize VDSO mmap event
    perf_counter: Make sure we dont leak kernel memory to userspace
    perf_counter tools: Fix index boundary check
    perf_counter: Fix the tracepoint channel to perfcounters
    perf_counter, x86: Extend perf_counter Pentium M support
    ...

    Linus Torvalds
     
  • David S. Miller
     
  • …el/git/tip/linux-2.6-tip

    * 'core-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    softirq: introduce tasklet_hrtimer infrastructure

    Linus Torvalds
     
  • …git/tip/linux-2.6-tip

    * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    genirq: Delegate irq affinity setting to the irq thread

    Linus Torvalds
     
  • …l/git/tip/linux-2.6-tip

    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: fix nr_uninterruptible accounting of frozen tasks really
    sched: fix load average accounting vs. cpu hotplug
    sched: Account for vruntime wrapping

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (37 commits)
    sky2: Avoid races in sky2_down
    drivers/net/mlx4: Adjust constant
    drivers/net: Move a dereference below a NULL test
    drivers/net: Move a dereference below a NULL test
    connector: maintainer/mail update.
    USB host CDC Phonet network interface driver
    macsonic, jazzsonic: fix oops on module unload
    macsonic: move probe function to .devinit.text
    can: switch carrier on if device was stopped while in bus-off state
    can: restart device even if dev_alloc_skb() fails
    can: sja1000: remove duplicated includes
    New device ID for sc92031 [1088:2031]
    3c589_cs: re-initialize the multicast in the tc589_reset
    Fix error return for setsockopt(SO_TIMESTAMPING)
    netxen: fix thermal check and shutdown
    netxen: fix deadlock on dev close
    netxen: fix context deletion sequence
    net: Micrel KS8851 SPI network driver
    tcp: Use correct peer adr when copying MD5 keys
    tcp: Fix MD5 signature checking on IPv4 mapped sockets
    ...

    Linus Torvalds
     
  • Fixed-link support is broken for the ucc_eth, gianfar, and fs_enet
    device drivers. The "OF MDIO rework" patches removed most of the
    support. Instead of re-adding fixed-link stuff to the drivers, this
    patch adds a support function for parsing the fixed-link property
    and obtaining a dummy phy to match.

    Note: the dummy phy handling in arch/powerpc is a bit of a hack and
    needs to be reworked. This function is being added now to solve the
    regression in the Ethernet drivers, but it should be considered a
    temporary measure until the fixed link handling can be reworked.

    Signed-off-by: Anton Vorontsov
    Signed-off-by: Grant Likely
    Signed-off-by: David S. Miller

    Anton Vorontsov
     
  • Anton noted that for inherited counters the counter-id as provided by
    PERF_SAMPLE_ID isn't mappable to the id found through PERF_RECORD_ID
    because each inherited counter gets its own id.

    His suggestion was to always return the parent counter id, since that
    is the primary counter id as exposed. However, these inherited
    counters have a unique identifier so that events like
    PERF_EVENT_PERIOD and PERF_EVENT_THROTTLE can be specific about which
    counter gets modified, which is important when trying to normalize the
    sample streams.

    This patch removes PERF_EVENT_PERIOD in favour of PERF_SAMPLE_PERIOD,
    which is more useful anyway, since changing periods became a lot more
    common than initially thought -- rendering PERF_EVENT_PERIOD the less
    useful solution (also, PERF_SAMPLE_PERIOD reports the more accurate
    value, since it reports the value used to trigger the overflow,
    whereas PERF_EVENT_PERIOD simply reports the requested period changed,
    which might only take effect on the next cycle).

    This still leaves us PERF_EVENT_THROTTLE to consider, but since that
    _should_ be a rare occurrence, and linking it to a primary id is the
    most useful bit to diagnose the problem, we introduce a
    PERF_SAMPLE_STREAM_ID, for those few cases where the full
    reconstruction is important.

    [Does change the ABI a little, but I see no other way out]

    Suggested-by: Anton Blanchard
    Signed-off-by: Peter Zijlstra
    LKML-Reference:

    Peter Zijlstra
     

22 Jul, 2009

3 commits

  • commit ca109491f (hrtimer: removing all ur callback modes) moved all
    hrtimer callbacks into hard interrupt context when high resolution
    timers are active. That breaks code which relied on the assumption
    that the callback happens in softirq context.

    Provide a generic infrastructure which combines tasklets and hrtimers
    together to provide an in-softirq hrtimer experience.

    Signed-off-by: Peter Zijlstra
    Cc: torvalds@linux-foundation.org
    Cc: kaber@trash.net
    Cc: David Miller
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    Peter Zijlstra
     
  • inotify can have a watchs removed under filesystem reclaim.

    =================================
    [ INFO: inconsistent lock state ]
    2.6.31-rc2 #16
    ---------------------------------
    inconsistent {IN-RECLAIM_FS-W} -> {RECLAIM_FS-ON-W} usage.
    khubd/217 [HC0[0]:SC0[0]:HE1:SE1] takes:
    (iprune_mutex){+.+.?.}, at: [] invalidate_inodes+0x20/0xe3
    {IN-RECLAIM_FS-W} state was registered at:
    [] __lock_acquire+0x2c9/0xac4
    [] lock_acquire+0x9f/0xc2
    [] __mutex_lock_common+0x2d/0x323
    [] mutex_lock_nested+0x2e/0x36
    [] shrink_icache_memory+0x38/0x1b2
    [] shrink_slab+0xe2/0x13c
    [] kswapd+0x3d1/0x55d
    [] kthread+0x66/0x6b
    [] kernel_thread_helper+0x7/0x10
    [] 0xffffffff

    Two things are needed to fix this. First we need a method to tell
    fsnotify_create_event() to use GFP_NOFS and second we need to stop using
    one global IN_IGNORED event and allocate them one at a time. This solves
    current issues with multiple IN_IGNORED on a queue having tail drop
    problems and simplifies the allocations since we don't have to worry about
    two tasks opperating on the IGNORED event concurrently.

    Signed-off-by: Eric Paris

    Eric Paris
     
  • Some drivers don't need the return value of rfkill_set_hw_state(),
    so it should not be marked as __must_check.

    Signed-off-by: Alan Jenkins
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Alan Jenkins
     

21 Jul, 2009

2 commits

  • irq_set_thread_affinity() calls set_cpus_allowed_ptr() which might
    sleep, but irq_set_thread_affinity() is called with desc->lock held
    and can be called from hard interrupt context as well. The code has
    another bug as it does not hold a ref on the task struct as required
    by set_cpus_allowed_ptr().

    Just set the IRQTF_AFFINITY bit in action->thread_flags. The next time
    the thread runs it migrates itself. Solves all of the above problems
    nicely.

    Add kerneldoc to irq_set_thread_affinity() while at it.

    Signed-off-by: Thomas Gleixner
    LKML-Reference:

    Thomas Gleixner
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:
    vmlinux.lds.h: restructure BSS linker script macros
    kconfig: initialize the screen before using curses(3) functions
    kconfig: variable argument lists needs `stdarg.h'
    kbuild, deb-pkg: fix install scripts for posix sh

    Linus Torvalds
     

20 Jul, 2009

1 commit


18 Jul, 2009

2 commits

  • commit e3c8ca8336 (sched: do not count frozen tasks toward load) broke
    the nr_uninterruptible accounting on freeze/thaw. On freeze the task
    is excluded from accounting with a check for (task->flags &
    PF_FROZEN), but that flag is cleared before the task is thawed. So
    while we prevent that the task with state TASK_UNINTERRUPTIBLE
    is accounted to nr_uninterruptible on freeze we decrement
    nr_uninterruptible on thaw.

    Use a separate flag which is handled by the freezing task itself. Set
    it before calling the scheduler with TASK_UNINTERRUPTIBLE state and
    clear it after we return from frozen state.

    Cc:
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm: Move a dereference below a NULL test
    fb/intelfb: conflict with DRM_I915 and hide by default
    drm/ttm: fix misplaced parentheses
    drm/via: Fix vblank IRQ on VIA hardware.
    drm: drm_gem, check kzalloc retval
    drm: drm_debugfs, check kmalloc retval
    drm/radeon: add some missing pci ids

    Linus Torvalds