1. 05 4月, 2012 11 次提交
    • S
      sparc32,leon: fix leon build · d657784b
      Sam Ravnborg 提交于
      Minimal fix to allow leon to be built.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Konrad Eisele <konrad@gaisler.com>
      Cc: Daniel Hellstrom <daniel@gaisler.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d657784b
    • K
      sparc/mm/fault_32.c: Port OOM changes to do_sparc_fault · c29554f5
      Kautuk Consul 提交于
      Commit d065bd81
      (mm: retry page fault when blocking on disk transfer) and
      commit 37b23e05
      (x86,mm: make pagefault killable)
      
      The above commits introduced changes into the x86 pagefault handler
      for making the page fault handler retryable as well as killable.
      
      These changes reduce the mmap_sem hold time, which is crucial
      during OOM killer invocation.
      
      Port these changes to 32-bit sparc.
      Signed-off-by: NKautuk Consul <consul.kautuk@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c29554f5
    • K
      sparc/mm/fault_64.c: Port OOM changes to do_sparc64_fault · 7358e510
      Kautuk Consul 提交于
      Commit d065bd81
      (mm: retry page fault when blocking on disk transfer) and
      commit 37b23e05
      (x86,mm: make pagefault killable)
      
      The above commits introduced changes into the x86 pagefault handler
      for making the page fault handler retryable as well as killable.
      
      These changes reduce the mmap_sem hold time, which is crucial
      during OOM killer invocation.
      
      Port these changes to 64-bit sparc.
      Signed-off-by: NKautuk Consul <consul.kautuk@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7358e510
    • L
      Merge tag 'pm-for-3.4-part-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 64ebe987
      Linus Torvalds 提交于
      Pull more power management updates from Rafael Wysocki:
       - Patch series that hopefully fixes races between the freezer and
         request_firmware() and request_firmware_nowait() for good, with two
         cleanups from Stephen Boyd on top.
       - Runtime PM fix from Alan Stern preventing tasks from getting stuck
         indefinitely in the runtime PM wait queue.
       - Device PM QoS update from MyungJoo Ham introducing a new variant of
         pm_qos_update_request() allowing the callers to specify a timeout.
      
      * tag 'pm-for-3.4-part-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM / QoS: add pm_qos_update_request_timeout() API
        firmware_class: Move request_firmware_nowait() to workqueues
        firmware_class: Reorganize fw_create_instance()
        PM / Sleep: Mitigate race between the freezer and request_firmware()
        PM / Sleep: Move disabling of usermode helpers to the freezer
        PM / Hibernate: Disable usermode helpers right before freezing tasks
        firmware_class: Do not warn that system is not ready from async loads
        firmware_class: Split _request_firmware() into three functions, v2
        firmware_class: Rework usermodehelper check
        PM / Runtime: don't forget to wake up waitqueue on failure
      64ebe987
    • L
      Merge branch 'selinux' ("struct common_audit_data" sanitizer) · a5149bf3
      Linus Torvalds 提交于
      Merge common_audit_data cleanup patches from Eric Paris.
      
      This is really too late, but it's a long-overdue cleanup of the costly
      wrapper functions for the security layer.
      
      The "struct common_audit_data" is used all over in critical paths,
      allocated and initialized on the stack.  And used to be much too large,
      causing not only unnecessarily big stack frames but the clearing of the
      (mostly useless) data was also very visible in profiles.
      
      As a particular example, in one microbenchmark for just doing "stat()"
      over files a lot, selinux_inode_permission() used 7% of the CPU time.
      That's despite the fact that it doesn't actually *do* anything: it is
      just a helper wrapper function in the selinux security layer.
      
      This patch-series shrinks "struct common_audit_data" sufficiently that
      code generation for these kinds of wrapper functions is improved
      noticeably, and we spend much less time just initializing data that we
      will never use.
      
      The functions still get called all the time, and it still shows up at
      3.5+% in my microbenchmark, but it's quite a bit lower down the list,
      and much less noticeable.
      
      * Emailed patches from Eric Paris <eparis@redhat.com>:
        lsm_audit: don't specify the audit pre/post callbacks in 'struct common_audit_data'
        SELinux: do not allocate stack space for AVC data unless needed
        SELinux: remove avd from slow_avc_audit()
        SELinux: remove avd from selinux_audit_data
        LSM: shrink the common_audit_data data union
        LSM: shrink sizeof LSM specific portion of common_audit_data
      a5149bf3
    • L
      Merge tag 'regmap-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 3ff8f932
      Linus Torvalds 提交于
      Pull a single regmap fix from Mark Brown:
       "A simple bug that's been lurking for a while but not terribly visible
        since a high proportion of chips have no register 0 so the normal
        failure is that we end up doing a bit of extra I/O."
      
      * tag 'regmap-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: rbtree: Fix register default look-up in sync
      3ff8f932
    • L
      Merge tag 'regulator-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 4a1e8ebc
      Linus Torvalds 提交于
      Pull regulator fixes from Mark Brown:
       "A bunch of smallish fixes that came up during the merge window as
        things got more testing - even more fixes from Axel, a fix for error
        handling in more complex systems using -EPROBE_DEFER and a couple of
        small fixes for the new dummy regulators."
      
      * tag 'regulator-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: Remove non-existent parameter from fixed-helper.c kernel doc
        regulator: Fix setting new voltage in s5m8767_set_voltage
        regulator: fix sysfs name collision between dummy and fixed dummy regulator
        regulator: Fix deadlock on removal of regulators with supplies
        regulator: Fix comments in include/linux/regulator/machine.h
        regulator: Only update [LDOx|DCx]_HIB_MODE bits in wm8350_[ldo|dcdc]_set_suspend_disable
        regulator: Fix setting low power mode for wm831x aldo
        regulator: Return microamps in wm8350_isink_get_current
        regulator: wm8350: Fix the logic to choose best current limit setting
        regulator: wm831x-isink: Fix the logic to choose best current limit setting
        regulator: wm831x-dcdc: Fix the logic to choose best current limit setting
        regulator: anatop: patching to device-tree property "reg".
        regulator: Do proper shift to set correct bit for DC[2|5]_HIB_MODE setting
        regulator: Fix restoring pmic.dcdcx_hib_mode settings in wm8350_dcdc_set_suspend_enable
        regulator: Fix unbalanced lock/unlock in mc13892_regulator_probe error path
        regulator: Fix set and get current limit for wm831x_buckv
        regulator: tps6586x: Fix list minimal voltage setting for LDO0
      4a1e8ebc
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 66cfb327
      Linus Torvalds 提交于
      Pull perf fixes from Ingo Molnar.
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/p4: Add format attributes
        tracing, sched, vfs: Fix 'old_pid' usage in trace_sched_process_exec()
      66cfb327
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 67422598
      Linus Torvalds 提交于
      Pull x86 fixes from Ingo Molnar.
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, kvm: Call restore_sched_clock_state() only after %gs is initialized
        x86: Use -mno-avx when available
        x86: Remove the ancient and deprecated disable_hlt() and enable_hlt() facility
        x86: Preserve lazy irq disable semantics in fixup_irqs()
      67422598
    • L
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 20d9d9a0
      Linus Torvalds 提交于
      Pull hwmon patches from Guenter Roeck:
       - Fix crash in ad7314 driver
       - Add support for AMD Trinity CPUs to k10temp driver
       - Fix __initdata/__initconst mixup in w83627ehf driver
       - Fix runtime warnings in acpi_power_meter and max6639 drivers
       - Fix build warnings in adm1031, f75375s, sht15, and gpio-fan drivers
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (ad7314) Adds missing spi_dev initialization
        hwmon: (k10temp) Add support for AMD Trinity CPUs
        hwmon: (w83627ehf) mark const init data with __initconst instead of __initdata
        hwmon: (acpi_power_meter) fix lockdep spew due to non-static lock class
        hwmon: (adm1031) Fix compiler warning
        hwmon: (f75375s) Fix warning message seen in some configurations
        hwmon: (max6639) Convert to dev_pm_ops
        hwmon: (sht15) Fix Kconfig dependencies
        hwmon: (gpio-fan) Fix Kconfig dependencies
      20d9d9a0
    • L
      Merge tag 'mce-fix-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 7114a72f
      Linus Torvalds 提交于
      Pull MCE fixlet from Borislav Petkov:
       "One fix which makes MCE decoding much more "liberal" wrt families."
      
      * tag 'mce-fix-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        MCE, AMD: Drop too granulary family model checks
      7114a72f
  2. 04 4月, 2012 18 次提交
    • L
      Merge tag 'md-3.4-fixes' of git://neil.brown.name/md · 36bbffc0
      Linus Torvalds 提交于
      Pull assorted md fixes from Neil Brown:
       - some RAID levels didn't clear up properly if md_integrity_register
        failed
       - a 'check' of RAID5/RAID6 doesn't actually read any data since a
         recent patch - so fix that (and mark for -stable)
       - a couple of other minor bugs.
      
      * tag 'md-3.4-fixes' of git://neil.brown.name/md:
        md/raid1,raid10: don't compare excess byte during consistency check.
        md/raid5: Fix a bug about judging if the operation is syncing or replacing
        md/raid1:Remove unnecessary rcu_dereference(conf->mirrors[i].rdev).
        md: Avoid OOPS when reshaping raid1 to raid0
        md/raid5: fix handling of bad blocks during recovery.
        md/raid1: If md_integrity_register() failed,run() must free the mem
        md/raid0: If md_integrity_register() fails, raid0_run() must free the mem.
        md/linear: If md_integrity_register() fails, linear_run() must free the mem.
      36bbffc0
    • L
      Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm · 20a2a811
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
       "Nothing too big here, just small fixes."
      
      * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: fix more fallout from 9f97da78 (Disintegrate asm/system.h for ARM)
        ARM: fix bios32.c build warning
        ARM: 7337/1: ptrace: fix ptrace_read_user for !CONFIG_MMU platforms
        ARM: fix missing bug.h include in arch/arm/kernel/insn.c
        ARM: sa11x0: fix build errors from DMA engine API updates
      20a2a811
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · a92bc5a6
      Linus Torvalds 提交于
      Pull Sparc fixes from David Miller:
       "One build regression and one serial probe regression fix on sparc."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        serial/sunzilog: fix keyboard on SUN SPARCstation
        sparc: pgtable_64: change include order
      a92bc5a6
    • P
      avr32: fix nop compile fails from system.h split up · 167d8215
      Paul Gortmaker 提交于
      To fix:
      
        In file included from kernel/exit.c:61:
        arch/avr32/include/asm/mmu_context.h: In function 'enable_mmu':
        arch/avr32/include/asm/mmu_context.h:135: error: implicit declaration of function 'nop'
      
      It needs an include of the new file created in commit ae473946
      ("Disintegrate asm/system.h for AVR32"), but since that file only
      contains "nop", and since other arch already have precedent of putting
      nop in asm/barrier.h we should just delete the new file and put nop in
      barrier.h
      Suggested-and-acked-by: NDavid Howells <dhowells@redhat.com>
      Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
      Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
      Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      167d8215
    • L
      Revert "nouveau/bios: Fix tracking of BIOS image data" · f3718a81
      Linus Torvalds 提交于
      This reverts commit d06221c0.
      
      It turns out to trigger the "BUG_ON(!PageCompound(page))" in kfree(),
      apparently because the code ends up trying to free somethng that was
      never kmalloced in the first place.
      
      BenH points out that the patch was untested and wasn't meant to go into
      the upstream kernel that quickly in the first place.
      
      Backtrace:
        bios_shadow
        bios_shadow_prom
        nv_mask
        init_io
        bios_shadow
        nouveau_bios_init
        NVReadVgaCrtc
        NVSetOwner
        nouveau_card_init
        nouveau_load
      Reported-by: NMeelis Roos <mroos@linux.ee>
      Requested-by: NDave Airlie <airlied@gmail.com>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f3718a81
    • B
      MCE, AMD: Drop too granulary family model checks · ec3e82d6
      Borislav Petkov 提交于
      MCA details seldom change inbetween the models of a family so don't
      be too conservative and enable decoding on everything starting from
      K8 onwards. Minor adjustments can come in later but most importantly,
      we have some decoding infrastructure in place for upcoming models by
      default.
      Signed-off-by: NBorislav Petkov <borislav.petkov@amd.com>
      ec3e82d6
    • S
      serial/sunzilog: fix keyboard on SUN SPARCstation · ca6f327d
      Sam Ravnborg 提交于
      The keyboard on my SUN SPARCstation 5 no longer worked.
      
          The culprint was: d4e33fac
          ("serial: Kill off NO_IRQ")
      
      Fix up logic for no irq / irq so the keyboard works again.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Cc: Alan Cox <alan@linux.intel.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ca6f327d
    • G
      hwmon: (ad7314) Adds missing spi_dev initialization · e16de913
      Graeme Smecher 提交于
      This driver was recently moved from IIO (where it worked) to hwmon (where
      it doesn't.) This breakage occured because the hwmon version neglected to
      correctly initialize a reference to spi_dev in its drvdata. The result is a
      segfault every time the temperature is queried.
      Signed-off-by: NGraeme Smecher <gsmecher@threespeedlogic.com>
      Cc: stable@vger.kernel.org # 3.2+
      Signed-off-by: NGuenter Roeck <guenter.roeck@ericsson.com>
      e16de913
    • L
      Merge branch 'drm-fixes-intel' of git://people.freedesktop.org/~airlied/linux · 01627d96
      Linus Torvalds 提交于
      Pull drm update from Dave Airlie:
       "This pull just contains a forward of the Intel fixes from Daniel.
      
        The only annoyance is the RC6 enable, which really should have made
        -next, but since Ubuntu are shipping it I reckon its getting a good
        testing now by the time 3.4 comes out.
      
        The pull from Daniel contains his pull message to me:
      
          "A few patches for 3.4, major part is 3 regression fixes:
           - ppgtt broke hibernate on snb/ivb.  Somehow our QA claims that it
             still works, which is why this has not been caught earlier.
           - ppgtt flails in combination with dmar.  I kinda expected this one :(
           - fence handling bugfix for gen2/3.  Iirc this one is about a year
             old, fix curtesy Chris Wilson.  I've created an shockingly simple
             i-g-t test to catch this in the future."
      
           Wrt regressions I've just got a report that gmbus (newly enabled
           again in 3.4) is a bit noisy.  I'm looking into this atm.
      
           Also included are the rc6 enable patches for snb from Eugeni.  I
           wanted to include these in the main 3.4 pull but screwed it up.
           Please hit me.  Imo these kind of patches really should go in
           before -rc1, but in thise case rc6 has brought us tons of press and
           guinea pigs^W^W testers and ubuntu is already running with it.  So
           I estimate a pretty small chance for this to blow up.
      
           And some smaller things:
            - two minor locking snafus
            - server gt2 ivb pciid
            - 2 patches to sanitize the register state left behind by the bios
              some more
            - 2 new quirk entries
            - cs readback trick against missed IRQs from ivb also enabled on snb
            - sprite fix from Jesse"
      
      Let's see if the "enable RC6 on sandybridge" finally works and sticks.
      I've been enabling it by hand (i915.i915_enable_rc6=1) for several
      months on my Macbook Air, and it definitely makes a difference (and has
      worked for me).  But every time we enabled it before it showed some odd
      hw buglet for *somebody*.
      
      This time it's all good, I'm sure.
      
      * 'drm-fixes-intel' of git://people.freedesktop.org/~airlied/linux:
        drm/i915: treat src w & h as fixed point in sprite handling code
        drm/i915: no-lvds quirk on MSI DC500
        drm/i915: Add lock on drm_helper_resume_force_mode
        drm/i915: don't leak struct_mutex lock on ppgtt init failures
        drm/i915: disable ppgtt on snb when dmar is enabled
        drm/i915: add Ivy Bridge GT2 Server entries
        drm/i915: properly clear SSC1 bit in the pch refclock init code
        drm/i915: apply CS reg readback trick against missed IRQ on snb
        drm/i915: quirk away broken OpRegion VBT
        drm/i915: enable plain RC6 on Sandy Bridge by default
        drm/i915: allow to select rc6 modes via kernel parameter
        drm/i915: Mark untiled BLT commands as fenced on gen2/3
        drm/i915: properly restore the ppgtt page directory on resume
        drm/i915: Sanitize BIOS debugging bits from PIPECONF
      01627d96
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · e1a7eb08
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Mainly nouveau fixes, one for a regressions in -rc1, fixes for booting
        on a ppc G5, and a Kconfig fix.  Two radeon fixes, one oops, one s/r
        fix.  One udl mmap fix.  And one core drm fix to stop bad fbdev apps
        overwriting bits of ram."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm: Validate requested virtual size against allocated fb size
        drm/radeon: Don't dereference possibly-NULL pointer.
        mm, drm/udl: fixup vma flags on mmap
        drm/radeon/kms: fix fans after resume
        nouveau/bios: Fix tracking of BIOS image data
        nouveau: Fix crash when pci_ram_rom() returns a size of 0
        drm/nouveau: select POWER_SUPPLY
        drm/nouveau: inform userspace of relaxed kernel subchannel requirements
        Revert "drm/nouveau: inform userspace of new kernel subchannel requirements"
        drm/nouveau: oops, create m2mf for nvd9 too
      e1a7eb08
    • L
      Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze · 464662b9
      Linus Torvalds 提交于
      Pull arch/microblaze fixes from Michal Simek.
      
      * 'next' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: Fix ret_from_fork declaration
        microblaze: Do not use tlb_skip in early_printk
        microblaze: Add missing headers caused by disintegration asm/system.h
        microblaze: Fix stack usage in PAGE_SIZE copy_tofrom_user
        microblaze: Fix tlb_skip variable on noMMU system
        microblaze: Fix __futex_atomic_op macro register usage
      464662b9
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 1e649afd
      Linus Torvalds 提交于
      Pull m68k fixes from Geert Uytterhoeven:
       "Here are a few fixes for the m68k architecture.  Nothing fancy this
        time, just a build fix for the asm/system.h disintegration, and two
        fixes for missing platform checks (one got in during last merge
        window), which can cause crashes in multi-platform kernels."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/q40: Add missing platform check before registering platform devices
        m68k/mac: Add missing platform check before registering platform devices
        m68k: include asm/cmpxchg.h in our m68k atomic.h
      1e649afd
    • L
      lsm_audit: don't specify the audit pre/post callbacks in 'struct common_audit_data' · b61c37f5
      Linus Torvalds 提交于
      It just bloats the audit data structure for no good reason, since the
      only time those fields are filled are just before calling the
      common_lsm_audit() function, which is also the only user of those
      fields.
      
      So just make them be the arguments to common_lsm_audit(), rather than
      bloating that structure that is passed around everywhere, and is
      initialized in hot paths.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b61c37f5
    • E
      SELinux: do not allocate stack space for AVC data unless needed · 3f0882c4
      Eric Paris 提交于
      Instead of declaring the entire selinux_audit_data on the stack when we
      start an operation on declare it on the stack if we are going to use it.
      We know it's usefulness at the end of the security decision and can declare
      it there.
      Signed-off-by: NEric Paris <eparis@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3f0882c4
    • E
      SELinux: remove avd from slow_avc_audit() · f8294f11
      Eric Paris 提交于
      We don't use the argument, so remove it.
      Signed-off-by: NEric Paris <eparis@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f8294f11
    • E
      SELinux: remove avd from selinux_audit_data · 7f6a47cf
      Eric Paris 提交于
      We do not use it.  Remove it.
      Signed-off-by: NEric Paris <eparis@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7f6a47cf
    • E
      LSM: shrink the common_audit_data data union · 48c62af6
      Eric Paris 提交于
      After shrinking the common_audit_data stack usage for private LSM data I'm
      not going to shrink the data union.  To do this I'm going to move anything
      larger than 2 void * ptrs to it's own structure and require it to be declared
      separately on the calling stack.  Thus hot paths which don't need more than
      a couple pointer don't have to declare space to hold large unneeded
      structures.  I could get this down to one void * by dealing with the key
      struct and the struct path.  We'll see if that is helpful after taking care of
      networking.
      Signed-off-by: NEric Paris <eparis@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      48c62af6
    • E
      LSM: shrink sizeof LSM specific portion of common_audit_data · 3b3b0e4f
      Eric Paris 提交于
      Linus found that the gigantic size of the common audit data caused a big
      perf hit on something as simple as running stat() in a loop.  This patch
      requires LSMs to declare the LSM specific portion separately rather than
      doing it in a union.  Thus each LSM can be responsible for shrinking their
      portion and don't have to pay a penalty just because other LSMs have a
      bigger space requirement.
      Signed-off-by: NEric Paris <eparis@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3b3b0e4f
  3. 03 4月, 2012 11 次提交