1. 18 11月, 2008 2 次提交
    • J
      tracing: kernel/trace/trace.c: introduce missing kfree() · 0bb943c7
      Julia Lawall 提交于
      Impact: fix memory leak
      
      Error handling code following a kzalloc should free the allocated data.
      
      The semantic match that finds the problem is as follows:
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @r exists@
      local idexpression x;
      statement S;
      expression E;
      identifier f,l;
      position p1,p2;
      expression *ptr != NULL;
      @@
      
      (
      if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S
      |
      x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
      ...
      if (x == NULL) S
      )
      <... when != x
           when != if (...) { <+...x...+> }
      x->f = E
      ...>
      (
       return \(0\|<+...x...+>\|ptr\);
      |
       return@p2 ...;
      )
      
      @script:python@
      p1 << r.p1;
      p2 << r.p2;
      @@
      
      print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line)
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NSteven Rostedt <srostedt@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      0bb943c7
    • R
      kernel/profile.c: fix section mismatch warning · e270219f
      Rakib Mullick 提交于
      Impact: fix section mismatch warning in kernel/profile.c
      
      Here, profile_nop function has been called from a non-init function
      create_hash_tables(void). Which generetes a section mismatch warning.
      Previously, create_hash_tables(void) was a init function. So, removing
      __init from create_hash_tables(void) requires profile_nop to be
      non-init.
      
      This patch makes profile_nop function inline and fixes the
      following warning:
      
       WARNING: vmlinux.o(.text+0x6ebb6): Section mismatch in reference from
       the function create_hash_tables() to the function
       .init.text:profile_nop()
       The function create_hash_tables() references
       the function __init profile_nop().
       This is often because create_hash_tables lacks a __init
       annotation or the annotation of profile_nop is wrong.
      Signed-off-by: NRakib Mullick <rakib.mullick@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e270219f
  2. 16 11月, 2008 1 次提交
    • W
      function tracing: fix wrong pos computing when read buffer has been fulfilled · 5821e1b7
      walimis 提交于
      Impact: make output of available_filter_functions complete
      
      phenomenon:
      
      The first value of dyn_ftrace_total_info is not equal with
      `cat available_filter_functions | wc -l`, but they should be equal.
      
      root cause:
      
      When printing functions with seq_printf in t_show, if the read buffer
      is just overflowed by current function record, then this function
      won't be printed to user space through read buffer, it will
      just be dropped. So we can't see this function printing.
      
      So, every time the last function to fill the read buffer, if overflowed,
      will be dropped.
      
      This also applies to set_ftrace_filter if set_ftrace_filter has
      more bytes than read buffer.
      
      fix:
      
      Through checking return value of seq_printf, if less than 0, we know
      this function doesn't be printed. Then we decrease position to force
      this function to be printed next time, in next read buffer.
      
      Another little fix is to show correct allocating pages count.
      Signed-off-by: Nwalimis <walimisdev@gmail.com>
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      5821e1b7
  3. 13 11月, 2008 1 次提交
  4. 12 11月, 2008 16 次提交
    • S
      ring-buffer: no preempt for sched_clock() · 47e74f2b
      Steven Rostedt 提交于
      Impact: disable preemption when calling sched_clock()
      
      The ring_buffer_time_stamp still uses sched_clock as its counter.
      But it is a bug to call it with preemption enabled. This requirement
      should not be pushed to the ring_buffer_time_stamp callers, so
      the ring_buffer_time_stamp needs to disable preemption when calling
      sched_clock.
      Signed-off-by: NSteven Rostedt <srostedt@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      47e74f2b
    • I
      Merge branch 'devel' of... · c1e7abbc
      Ingo Molnar 提交于
      Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent
      c1e7abbc
    • S
      ring-buffer: buffer record on/off switch · a3583244
      Steven Rostedt 提交于
      Impact: enable/disable ring buffer recording API added
      
      Several kernel developers have requested that there be a way to stop
      recording into the ring buffers with a simple switch that can also
      be enabled from userspace. This patch addes a new kernel API to the
      ring buffers called:
      
       tracing_on()
       tracing_off()
      
      When tracing_off() is called, all ring buffers will not be able to record
      into their buffers.
      
      tracing_on() will enable the ring buffers again.
      
      These two act like an on/off switch. That is, there is no counting of the
      number of times tracing_off or tracing_on has been called.
      
      A new file is added to the debugfs/tracing directory called
      
        tracing_on
      
      This allows for userspace applications to also flip the switch.
      
        echo 0 > debugfs/tracing/tracing_on
      
      disables the tracing.
      
        echo 1 > /debugfs/tracing/tracing_on
      
      enables it.
      
      Note, this does not disable or enable any tracers. It only sets or clears
      a flag that needs to be set in order for the ring buffers to write to
      their buffers. It is a global flag, and affects all ring buffers.
      
      The buffers start out with tracing_on enabled.
      
      There are now three flags that control recording into the buffers:
      
       tracing_on: which affects all ring buffer tracers.
      
       buffer->record_disabled: which affects an allocated buffer, which may be set
           if an anomaly is detected, and tracing is disabled.
      
       cpu_buffer->record_disabled: which is set by tracing_stop() or if an
           anomaly is detected. tracing_start can not reenable this if
           an anomaly occurred.
      
      The userspace debugfs/tracing/tracing_enabled is implemented with
      tracing_stop() but the user space code can not enable it if the kernel
      called tracing_stop().
      
      Userspace can enable the tracing_on even if the kernel disabled it.
      It is just a switch used to stop tracing if a condition was hit.
      tracing_on is not for protecting critical areas in the kernel nor is
      it for stopping tracing if an anomaly occurred. This is because userspace
      can reenable it at any time.
      
      Side effect: With this patch, I discovered a dead variable in ftrace.c
        called tracing_on. This patch removes it.
      Signed-off-by: NSteven Rostedt <srostedt@redhat.com>
      a3583244
    • L
      Merge branch 'timers-fixes-for-linus' of... · f21f237c
      Linus Torvalds 提交于
      Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        timers: handle HRTIMER_CB_IRQSAFE_UNLOCKED correctly from softirq context
        nohz: disable tick_nohz_kick_tick() for now
        irq: call __irq_enter() before calling the tick_idle_check
        x86: HPET: enter hpet_interrupt_handler with interrupts disabled
        x86: HPET: read from HPET_Tn_CMP() not HPET_T0_CMP
        x86: HPET: convert WARN_ON to WARN_ON_ONCE
      f21f237c
    • L
      Merge branch 'sched-fixes-for-linus' of... · 2f96cb57
      Linus Torvalds 提交于
      Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/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: release buddies on yield
        fix for account_group_exec_runtime(), make sure ->signal can't be freed under rq->lock
        sched: clean up debug info
      2f96cb57
    • L
      Merge branch 'tracing-fixes-for-linus' of... · 09eb3b5b
      Linus Torvalds 提交于
      Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        ring-buffer: prevent infinite looping on time stamping
        ftrace: disable tracing on resize
        ftrace: fix breakage in bin_fmt results
        ftrace: ftrace.txt version update
        ftrace: update txt document
      09eb3b5b
    • L
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · 04ca2c17
      Linus Torvalds 提交于
      * 'for-linus' of git://oss.sgi.com/xfs/xfs:
        [XFS] XFS: Check for valid transaction headers in recovery
        [XFS] handle memory allocation failures during log initialisation
        [XFS] Account for allocated blocks when expanding directories
        [XFS] Wait for all I/O on truncate to zero file size
        [XFS] Fix use-after-free with log and quotas
      04ca2c17
    • L
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 · ad1164b7
      Linus Torvalds 提交于
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: (21 commits)
        ocfs2: Check search result in ocfs2_xattr_block_get()
        ocfs2: fix printk related build warnings in xattr.c
        ocfs2: truncate outstanding block after direct io failure
        ocfs2/xattr: Proper hash collision handle in bucket division
        ocfs2: return 0 in page_mkwrite to let VFS retry.
        ocfs2: Set journal descriptor to NULL after journal shutdown
        ocfs2: Fix check of return value of ocfs2_start_trans() in xattr.c.
        ocfs2: Let inode be really deleted when ocfs2_mknod_locked() fails
        ocfs2: Fix checking of return value of new_inode()
        ocfs2: Fix check of return value of ocfs2_start_trans()
        ocfs2: Fix some typos in xattr annotations.
        ocfs2: Remove unused ocfs2_restore_xattr_block().
        ocfs2: Don't repeat ocfs2_xattr_block_find()
        ocfs2: Specify appropriate journal access for new xattr buckets.
        ocfs2: Check errors from ocfs2_xattr_update_xattr_search()
        ocfs2: Don't return -EFAULT from a corrupt xattr entry.
        ocfs2: Check xattr block signatures properly.
        ocfs2: add handler_map array bounds checking
        ocfs2: remove duplicate definition in xattr
        ocfs2: fix function declaration and definition in xattr
        ...
      ad1164b7
    • A
      telephony: trivial: fix up email address · 0906dd9d
      Alan Cox 提交于
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0906dd9d
    • A
      8eb04cf3
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 · 853041f0
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (35 commits)
        V4L/DVB (9516): cx18: Move DVB buffer transfer handling from irq handler to work_queue
        V4L/DVB (9557): gspca: Small changes for the sensor HV7131B in zc3xx.
        V4L/DVB (9556): gspca: Bad init sequence for sensor HV7131B in zc3xx.
        V4L/DVB (9549): gspca: Fix a typo in one of gspca chips name.
        V4L/DVB (9515): cx18: Use correct Mailbox IRQ Ack values and misc IRQ handling cleanup
        V4L/DVB (9493): kconfig patch
        V4L/DVB (9527): af9015: fix compile warnings
        V4L/DVB (9524): af9013: fix bug in status reading
        V4L/DVB (9511): cx18: Mark CX18_CPU_DE_RELEASE_MDL as a slow API call
        V4L/DVB (9510): cx18: Fix write retries for registers that always change - part 2.
        V4L/DVB (9506): ivtv/cx18: fix test whether modules should be loaded or not.
        V4L/DVB (9499): cx88-mpeg: final fix for analogue only compilation + de-alloc fix
        V4L/DVB (9496): cx88-blackbird: bugfix: cx88-blackbird-mpeg-users
        V4L/DVB (9495): cx88-blackbird: bugfix: cx88-blackbird-poll-fix
        V4L/DVB (9494): anysee: initialize anysee_usb_mutex statically
        V4L/DVB (9492): unplug oops from dvb_frontend_init...
        V4L/DVB (9486): ivtv/ivtvfb: no longer experimental
        V4L/DVB (9485): ivtv: remove incorrect V4L1 & tvaudio dependency
        V4L/DVB (9482): Documentation, especially regarding audio and informational links
        V4L/DVB (9475): cx18: Disable write retries for registers that always change - part 1.
        ...
      853041f0
    • L
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc · e892873c
      Linus Torvalds 提交于
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
        powerpc: Update desktop/server defconfigs
        powerpc: Fix msr check in compat_sys_swapcontext
        powerpc: Repair device bindings documentation
        powerpc: Updated Freescale PPC related defconfigs
        powerpc: Update QE/CPM2 usb_ctlr structures for USB support
        powerpc/86xx: Correct SOC bus-frequency in GE Fanuc SBC610 DTS
        powerpc: Fix Book-E watchdog timer interval setting
        powerpc/fsl-booke: Fix synchronization bug w/local tlb invalidates
      e892873c
    • L
      Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · eda1be63
      Linus Torvalds 提交于
      * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
        drm/i915: Move legacy breadcrumb out of the reserved status page area
        drm/i915: Filter pci devices based on PCI_CLASS_DISPLAY_VGA
        drm/radeon: map registers at load time
        drm: Remove infrastructure for supporting i915's vblank swapping.
        i915: Remove racy delayed vblank swap ioctl.
        i915: Don't whine when pci_enable_msi() fails.
        i915: Don't attempt to short-circuit object_wait_rendering by checking domains.
        i915: Clean up sarea pointers on leavevt
        i915: Save/restore MCHBAR_RENDER_STANDBY on GM965/GM45
      eda1be63
    • L
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 5da38d32
      Linus Torvalds 提交于
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        libata: fix last_reset timestamp handling
        libata: Avoid overflow in ata_tf_read_block() when tf->hba_lbal > 127
        [libata] pata_pcmcia: another memory card support
        [libata] pata_sch: notice attached slave devices
        [libata] pata_cs553*.c: cleanup kernel-doc
      5da38d32
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · 7e2cec86
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
        sparc64: Update defconfig.
        Revert "sparc: correct section of current_pc()"
      7e2cec86
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 0a4cf2c8
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
        dsa: fix master interface allmulti/promisc handling
        dsa: fix skb->pkt_type when mac address of slave interface differs
        net: fix setting of skb->tail in skb_recycle_check()
        net: fix /proc/net/snmp as memory corruptor
        mac80211: fix a buffer overrun in station debug code
        netfilter: payload_len is be16, add size of struct rather than size of pointer
        ipv6: fix ip6_mr_init error path
        [4/4] dca: fixup initialization dependency
        [3/4] I/OAT: fix async_tx.callback checking
        [2/4] I/OAT: fix dma_pin_iovec_pages() error handling
        [1/4] I/OAT: fix channel resources free for not allocated channels
        ssb: Fix DMA-API compilation for non-PCI systems
        SSB: hide empty sub menu
        vlan: Fix typos in proc output string
        [netdrvr] usb/hso: Cleanup rfkill error handling
        sfc: Correct address of gPXE boot configuration in EEPROM
        el3_common_init() should be __devinit, not __init
        hso: rfkill type should be WWAN
        mlx4_en: Start port error flow bug fix
        af_key: mark policy as dead before destroying
      0a4cf2c8
  5. 11 11月, 2008 20 次提交