08 Jan, 2013

3 commits

  • Commit 0d0863b02002 ("sctp: Change defaults on cookie hmac selection")
    added a "choice" to the sctp Kconfig file. It introduced a bug which
    led to an infinite loop when while running "make oldconfig".

    The problem is that the wrong symbol was defined as the default value
    for the choice. Using the correct value gets rid of the infinite loop.

    Note: if CONFIG_SCTP_COOKIE_HMAC_SHA1=y was present in the input
    config file, both that and CONFIG_SCTP_COOKIE_HMAC_MD5=y be present
    in the generated config file.

    Signed-off-by: Alex Elder
    Signed-off-by: Linus Torvalds

    Alex Elder
     
  • Pull ext4 regression fixes from Ted Ts'o:
    "Bug fixes, including two regressions introduced in v3.8. The most
    serious of these regressions is a buffer cache leak."

    * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
    ext4: remove duplicate call to ext4_bread() in ext4_init_new_dir()
    ext4: release buffer in failed path in dx_probe()
    ext4: fix configuration dependencies for ext4 ACLs and security labels

    Linus Torvalds
     
  • Pull NFS client bugfixes from Trond Myklebust:

    - Fix a permissions problem when opening NFSv4 files that only have the
    exec bit set.

    - Fix a couple of typos in pNFS (inverted logic), and the mount parsing
    (missing pointer dereference).

    - Work around a series of deadlock issues due to workqueues using
    struct work_struct pointer address comparisons in the re-entrancy
    tests. Ensure that we don't free struct work_struct prematurely if
    our work function involves waiting for completion of other work items
    (e.g. by calling rpc_shutdown_client).

    - Revert the part of commit 168e4b3 that is causing unnecessary
    warnings to be issued in the nfsd callback code.

    * tag 'nfs-for-3.8-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    nfs: avoid dereferencing null pointer in initiate_bulk_draining
    SUNRPC: Partial revert of commit 168e4b39d1afb79a7e3ea6c3bb246b4c82c6bdb9
    NFS: Ensure that we free the rpc_task after read and write cleanups are done
    SUNRPC: Ensure that we free the rpc_task after cleanups are done
    nfs: fix null checking in nfs_get_option_str()
    pnfs: Increase the refcount when LAYOUTGET fails the first time
    NFS: Fix access to suid/sgid executables

    Linus Torvalds
     

07 Jan, 2013

8 commits

  • Pull MIPS fixes from Ralf Baechle:
    "Various fixes across the tree. The modpost error due to
    virt_addr_valid() not being usable from modules required a number of
    preparatory cleanups so a clean fix was possible."

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: 64-bit: Fix build if !CONFIG_MODULES
    MIPS: Wire up finit_module syscall.
    MIPS: Fix modpost error in modules attepting to use virt_addr_valid().
    MIPS: page.h: Remove now unnecessary #ifndef __ASSEMBLY__ wrapper.
    MIPS: Switch remaining assembler PAGE_SIZE users to .
    MIPS: Include PAGE_S{IZE,HIFT} in .
    MIPS: Don't include unnecessarily.
    MIPS: Fix comment.
    Revert "MIPS: Optimise TLB handlers for MIPS32/64 R2 cores."
    MIPS: perf: Fix build failure in XLP perf support.
    MIPS: Alchemy: Make 32kHz and r4k timer coexist peacefully

    Linus Torvalds
     
  • Merge emailed fixes from Andrew Morton:
    "Bunch of fixes:

    - delayed IPC updates. I held back on this because of some possible
    outstanding bug reports, but they appear to have been addressed in
    later versions

    - A bunch of MAINTAINERS updates

    - Yet Another RTC driver. I'd held this back while a couple of
    little issues were being worked out.

    I'm expecting an intrusive-but-simple patchset from Joe Perches which
    splits up printk.c into kernel/printk/*. That will be a pig to
    maintain for two months so if it passes testing I'd like to get it
    upstream after a week or so."

    * emailed patches from Andrew Morton : (35 commits)
    printk: fix incorrect length from print_time() when seconds > 99999
    drivers/rtc/rtc-vt8500.c: fix handling of data passed in struct rtc_time
    drivers/rtc/rtc-vt8500.c: correct handling of CR_24H bitfield
    rtc: add RTC driver for TPS6586x
    MAINTAINERS: fix drivers/staging/sm7xx/
    MAINTAINERS: remove include/linux/of_pwm.h
    MAINTAINERS: remove arch/*/lib/perf_event*.c
    MAINTAINERS: remove drivers/mmc/host/imxmmc.*
    MAINTAINERS: fix Documentation/mei/
    MAINTAINERS: remove arch/x86/platform/mrst/pmu.*
    MAINTAINERS: remove firmware/isci/
    MAINTAINERS: fix drivers/ieee802154/
    MAINTAINERS: fix .../plat-mxc/include/mach/imxfb.h
    MAINTAINERS: remove drivers/video/epson1355fb.c
    MAINTAINERS: fix drivers/media/usb/dvb-usb/cxusb*
    MAINTAINERS: adjust for UAPI
    MAINTAINERS: fix drivers/media/platform/atmel-isi.c
    MAINTAINERS: fix arch/arm/mach-at91/include/mach/at_hdmac.h
    MAINTAINERS: fix drivers/rtc/rtc-vt8500.c
    MAINTAINERS: remove arch/arm/plat-s5p/
    ...

    Linus Torvalds
     
  • Pull microblaze update from Michal Simek:
    "This fixes noMMU kernel and I have also added defconfig updates which
    fix issue with one external dependency and enable all xilinx device
    drivers for 0-day testing system.

    Additionally wire up finit_module system call, and do highmem fixup
    and pci warnings reported by the 0-day testing system"

    * 'next' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: Update microblaze defconfigs
    microblaze: Fix pci compilation and sparse warnings
    microblaze: Add finit_module syscall
    microblaze: Kill __kmap_atomic()
    microblaze: Change section flags for noMMU
    microblaze: Microblaze wants sys_fork for noMMU too

    Linus Torvalds
     
  • Pull integrity subsystem regression fix from James Morris:
    "Commit fdf90729e578 "ima: support new kernel module syscall" by error
    modified init_module() to return INTEGRITY_UNKNOWN (which is 4) to
    user space if the kernel was built with CONFIG_IMA_APPRAISE=y.

    As a result, user space can no longer load kernel modules using
    init_module(). This commit fixes this regression."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
    ima: fallback to MODULE_SIG_ENFORCE for existing kernel module syscall

    Linus Torvalds
     
  • This fixes a buffer cache leak when creating a directory, introduced
    in commit a774f9c20.

    Signed-off-by: Guo Chao
    Signed-off-by: "Theodore Ts'o"
    Reviewed-by: Tao Ma

    Guo Chao
     
  • If checksum fails, we should also release the buffer
    read from previous iteration.

    Signed-off-by: Guo Chao
    Signed-off-by: "Theodore Ts'o"
    Reviewed-by: Darrick J. Wong -
    Cc: stable@vger.kernel.org
    --
    fs/ext4/namei.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    Guo Chao
     
  • Commit "ext4: Remove CONFIG_EXT4_FS_XATTR" removed the configuration
    dependencies for ext4 xattrs from the ext4 ACLs and security labels
    configuration options, but did not replace them with a dependency on
    ext4 itself. Add back the dependency on ext4 so the options only show
    up if ext4 is enabled.

    Signed-off-by: Valerie Aurora
    Signed-off-by: "Theodore Ts'o"
    Reviewed-by: Tao Ma

    Valerie Aurora
     
  • …linux-integrity into for-linus

    Pulled from Mimi's tree.

    James Morris
     

06 Jan, 2013

3 commits


05 Jan, 2013

26 commits

  • print_prefix() passes a NULL buf to print_time() to get the length of
    the time prefix; when printk times are enabled, the current code just
    returns the constant 15, which matches the format "[%5lu.%06lu] " used
    to print the time value. However, this is obviously incorrect when the
    whole seconds part of the time gets beyond 5 digits (100000 seconds is a
    bit more than a day of uptime).

    The simple fix is to use snprintf(NULL, 0, ...) to calculate the actual
    length of the time prefix. This could be micro-optimized but it seems
    better to have simpler, more readable code here.

    The bug leads to the syslog system call miscomputing which messages fit
    into the userspace buffer. If there are enough messages to fill
    log_buf_len and some have a timestamp >= 100000, dmesg may fail with:

    # dmesg
    klogctl: Bad address

    When this happens, strace shows that the failure is indeed EFAULT due to
    the kernel mistakenly accessing past the end of dmesg's buffer, since
    dmesg asks the kernel how big a buffer it needs, allocates a bit more,
    and then gets an error when it asks the kernel to fill it:

    syslog(0xa, 0, 0) = 1048576
    mmap(NULL, 1052672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa4d25d2000
    syslog(0x3, 0x7fa4d25d2010, 0x100008) = -1 EFAULT (Bad address)

    As far as I can see, the bug has been there as long as print_time(),
    which comes from commit 084681d14e42 ("printk: flush continuation lines
    immediately to console") in 3.5-rc5.

    Signed-off-by: Roland Dreier
    Signed-off-by: Greg Kroah-Hartman
    Cc: Joe Perches
    Cc: Sylvain Munaut
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roland Dreier
     
  • tm_mon is 0..11, whereas vt8500 expects 1..12 for the month field,
    causing invalid date errors for January, and causing the day field to
    roll over incorrectly.

    The century flag is only handled in vt8500_rtc_read_time, but not set in
    vt8500_rtc_set_time. This patch corrects the behaviour of the century
    flag.

    Signed-off-by: Edgar Toernig
    Signed-off-by: Tony Prisk
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tony Prisk
     
  • Control register bitfield for 12H/24H mode is handled incorrectly.
    Setting CR_24H actually enables 12H mode. This patch renames the define
    and changes the initialization code to correctly set 24H mode.

    Signed-off-by: Tony Prisk
    Cc: Edgar Toernig
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tony Prisk
     
  • Add an RTC driver for TPS6586X chips by TI. This driver supports:

    - Setting and getting time and date.
    - Setting and reading alarm time.
    - Alarm and interrupt functionlity.

    [akpm@linux-foundation.org: remove stray semicolons]
    [akpm@linux-foundation.org: start epoch in 2009]
    Signed-off-by: Laxman Dewangan
    Tested-by: Marc Dietrich
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Laxman Dewangan
     
  • This directory was moved to drivers/staging/sm7xxfb/ by commit
    925aa6600cee ("staging: sm7xxfb: sm7xx becomes sm7xxfb").

    Signed-off-by: Cesar Eduardo Barros
    Cc: Teddy Wang
    Acked-by: Javier Muñoz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • Added by commit 200efedd8766 ("pwm: Take over maintainership of the PWM
    subsystem"), but I could not find any trace of that file being ever
    added to the repository.

    Signed-off-by: Cesar Eduardo Barros
    Acked-by: Thierry Reding
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • This pattern only matched arch/frv/lib/perf_event.c, which was removed
    by commit e360adbe2924 ("irq_work: Add generic hardirq context
    callbacks").

    Signed-off-by: Cesar Eduardo Barros
    Cc: Peter Zijlstra
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • This driver was removed by commit 6187fee46f4b ("mmc: remove imxmmc
    driver").

    Signed-off-by: Cesar Eduardo Barros
    Cc: Sascha Hauer
    Acked-by: Pavel Pisa
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • The documentation was moved to Documentation/misc-devices/mei/ instead.

    Signed-off-by: Cesar Eduardo Barros
    Acked-by: Tomas Winkler
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • These files were removed by commit 1a8359e411eb ("x86/mid: Remove Intel
    Moorestown").

    Signed-off-by: Cesar Eduardo Barros
    Cc: Alan Cox
    Cc: Len Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • This directory was removed by commit 7d99b3abaf84 ("isci, firmware:
    Remove isci fallback parameter blob and generator").

    Signed-off-by: Cesar Eduardo Barros
    Cc: Ben Hutchings
    Cc: Dan Williams
    Cc: James Bottomley
    Cc: Intel SCU Linux support
    Cc: Lukasz Dorau
    Cc: Maciej Patelczyk
    Cc: Dave Jiang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • This directory was moved to drivers/net/ieee802154/ by commit
    31d178bffcff ("drivers/ieee802154: move ieee802154 drivers to net
    folder").

    Signed-off-by: Cesar Eduardo Barros
    Cc: Alexander Smirnov
    Cc: Dmitry Eremin-Solenikov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • This file was moved to include/linux/platform_data/video-imxfb.h by
    commit 82906b13a6f4 ("ARM: imx: move platform_data definitions").

    Signed-off-by: Cesar Eduardo Barros
    Acked-by: Sascha Hauer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • This driver was removed by commit 1c3a918f78b7 ("ARM: clps711x: Remove
    board support for CEIVA").

    Signed-off-by: Cesar Eduardo Barros
    Cc: Christopher Hoover
    Cc: Christopher Hoover
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • This driver was never at dvb-usb-v2, as far as I could see.

    Signed-off-by: Cesar Eduardo Barros
    Cc: Michael Krufky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • Several headers were moved or split to uapi/.

    Signed-off-by: Cesar Eduardo Barros
    Acked-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • This file was moved to drivers/media/platform/soc_camera/atmel-isi.c by
    commit b47ff4a3ed42 ("[media] move soc_camera to its own directory").

    Signed-off-by: Cesar Eduardo Barros
    Cc: Mauro Carvalho Chehab
    Cc: Josh Wu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • This file was moved to include/linux/platform_data/dma-atmel.h by commit
    7cdc39eeadf1 ("ARM: at91: move platform_data definitions").

    Signed-off-by: Cesar Eduardo Barros
    Cc: Nicolas Ferre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • Signed-off-by: Cesar Eduardo Barros
    Cc: Tony Prisk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • These files were merged into plat-samsung.

    Signed-off-by: Cesar Eduardo Barros
    Cc: Ben Dooks
    Acked-by: Kukjin Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • This file was moved to arch/arm/mach-rpc/time.c by commit a1be5d649699
    ("ARM: riscpc: move time-acorn.c to mach-rpc"), and the pattern for
    arch/arm/mach-rpc/ already exists.

    Signed-off-by: Cesar Eduardo Barros
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • This subdirectory entry was added by commit 8a5700cd6754 ("MAINTAINERS:
    add drivers/platform/msm to MSM subsystem") back in 2011, but I could
    not find any trace of that directory being ever added to the repository.

    Signed-off-by: Cesar Eduardo Barros
    Cc: Kenneth Heitke
    Acked-by: David Brown
    Cc: Daniel Walker
    Cc: Bryan Huntsman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • Since commit e303297e6c3a ("mm: extended batches for generic
    mmu_gather") we are batching pages to be freed until either
    tlb_next_batch cannot allocate a new batch or we are done.

    This works just fine most of the time but we can get in troubles with
    non-preemptible kernel (CONFIG_PREEMPT_NONE or CONFIG_PREEMPT_VOLUNTARY)
    on large machines where too aggressive batching might lead to soft
    lockups during process exit path (exit_mmap) because there are no
    scheduling points down the free_pages_and_swap_cache path and so the
    freeing can take long enough to trigger the soft lockup.

    The lockup is harmless except when the system is setup to panic on
    softlockup which is not that unusual.

    The simplest way to work around this issue is to limit the maximum
    number of batches in a single mmu_gather. 10k of collected pages should
    be safe to prevent from soft lockups (we would have 2ms for one) even if
    they are all freed without an explicit scheduling point.

    This patch doesn't add any new explicit scheduling points because it
    relies on zap_pmd_range during page tables zapping which calls
    cond_resched per PMD.

    The following lockup has been reported for 3.0 kernel with a huge
    process (in order of hundreds gigs but I do know any more details).

    BUG: soft lockup - CPU#56 stuck for 22s! [kernel:31053]
    Modules linked in: af_packet nfs lockd fscache auth_rpcgss nfs_acl sunrpc mptctl mptbase autofs4 binfmt_misc dm_round_robin dm_multipath bonding cpufreq_conservative cpufreq_userspace cpufreq_powersave pcc_cpufreq mperf microcode fuse loop osst sg sd_mod crc_t10dif st qla2xxx scsi_transport_fc scsi_tgt netxen_nic i7core_edac iTCO_wdt joydev e1000e serio_raw pcspkr edac_core iTCO_vendor_support acpi_power_meter rtc_cmos hpwdt hpilo button container usbhid hid dm_mirror dm_region_hash dm_log linear uhci_hcd ehci_hcd usbcore usb_common scsi_dh_emc scsi_dh_alua scsi_dh_hp_sw scsi_dh_rdac scsi_dh dm_snapshot pcnet32 mii edd dm_mod raid1 ext3 mbcache jbd fan thermal processor thermal_sys hwmon cciss scsi_mod
    Supported: Yes
    CPU 56
    Pid: 31053, comm: kernel Not tainted 3.0.31-0.9-default #1 HP ProLiant DL580 G7
    RIP: 0010: _raw_spin_unlock_irqrestore+0x8/0x10
    RSP: 0018:ffff883ec1037af0 EFLAGS: 00000206
    RAX: 0000000000000e00 RBX: ffffea01a0817e28 RCX: ffff88803ffd9e80
    RDX: 0000000000000200 RSI: 0000000000000206 RDI: 0000000000000206
    RBP: 0000000000000002 R08: 0000000000000001 R09: ffff887ec724a400
    R10: 0000000000000000 R11: dead000000200200 R12: ffffffff8144c26e
    R13: 0000000000000030 R14: 0000000000000297 R15: 000000000000000e
    FS: 00007ed834282700(0000) GS:ffff88c03f200000(0000) knlGS:0000000000000000
    CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    CR2: 000000000068b240 CR3: 0000003ec13c5000 CR4: 00000000000006e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process kernel (pid: 31053, threadinfo ffff883ec1036000, task ffff883ebd5d4100)
    Call Trace:
    release_pages+0xc5/0x260
    free_pages_and_swap_cache+0x9d/0xc0
    tlb_flush_mmu+0x5c/0x80
    tlb_finish_mmu+0xe/0x50
    exit_mmap+0xbd/0x120
    mmput+0x49/0x120
    exit_mm+0x122/0x160
    do_exit+0x17a/0x430
    do_group_exit+0x3d/0xb0
    get_signal_to_deliver+0x247/0x480
    do_signal+0x71/0x1b0
    do_notify_resume+0x98/0xb0
    int_signal+0x12/0x17
    DWARF2 unwinder stuck at int_signal+0x12/0x17

    Signed-off-by: Michal Hocko
    Cc: [3.0+]
    Cc: Mel Gorman
    Cc: Rik van Riel
    Cc: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Hocko
     
  • Commit 702d1a6e0766 ("memory-hotplug: fix kswapd looping forever
    problem") added an isolated pageblocks counter (nr_pageblock_isolate in
    struct zone) and used it to adjust free pages counter in
    zone_watermark_ok_safe() to prevent kswapd looping forever problem.

    Then later, commit 2139cbe627b8 ("cma: fix counting of isolated pages")
    fixed accounting of isolated pages in global free pages counter. It
    made the previous zone_watermark_ok_safe() fix unnecessary and
    potentially harmful (cause now isolated pages may be accounted twice
    making free pages counter incorrect).

    This patch removes the special isolated pageblocks counter altogether
    which fixes zone_watermark_ok_safe() free pages check.

    Reported-by: Tomasz Stanislawski
    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Kyungmin Park
    Cc: Minchan Kim
    Cc: KOSAKI Motohiro
    Cc: Aaditya Kumar
    Cc: KAMEZAWA Hiroyuki
    Cc: Mel Gorman
    Cc: Michal Hocko
    Cc: Marek Szyprowski
    Cc: Michal Nazarewicz
    Cc: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bartlomiej Zolnierkiewicz
     
  • Signed-off-by: Carlos Alberto Lopez Perez
    Cc: Rob Landley
    Cc: Larry Finger
    Cc: Neil Horman
    Cc: Mitsuo Hayasaka
    Cc: Tejun Heo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Carlos Alberto Lopez Perez
     
  • Signed-off-by: Stanislav Kinsbursky
    Cc: "Eric W. Biederman"
    Cc: James Morris
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stanislav Kinsbursky