The patch titled audit/accounting: tty locking has been added to the -mm tree. Its filename is audit-accounting-tty-locking.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: audit/accounting: tty locking From: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> Add tty locking around the audit and accounting code. The whole current->signal-> locking is all deeply strange but it's for someone else to sort out. Add rather than replace the lock for acct.c Signed-off-by: Alan Cox <alan@xxxxxxxxxx> Acked-by: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- kernel/acct.c | 6 +++++- kernel/auditsc.c | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff -puN kernel/acct.c~audit-accounting-tty-locking kernel/acct.c --- a/kernel/acct.c~audit-accounting-tty-locking +++ a/kernel/acct.c @@ -483,10 +483,14 @@ static void do_acct_process(struct file ac.ac_ppid = current->parent->tgid; #endif - read_lock(&tasklist_lock); /* pin current->signal */ + mutex_lock(&tty_mutex); + /* FIXME: Whoever is responsible for current->signal locking needs + to use the same locking all over the kernel and document it */ + read_lock(&tasklist_lock); ac.ac_tty = current->signal->tty ? old_encode_dev(tty_devnum(current->signal->tty)) : 0; read_unlock(&tasklist_lock); + mutex_unlock(&tty_mutex); spin_lock_irq(¤t->sighand->siglock); ac.ac_utime = encode_comp_t(jiffies_to_AHZ(cputime_to_jiffies(pacct->ac_utime))); diff -puN kernel/auditsc.c~audit-accounting-tty-locking kernel/auditsc.c --- a/kernel/auditsc.c~audit-accounting-tty-locking +++ a/kernel/auditsc.c @@ -766,6 +766,8 @@ static void audit_log_exit(struct audit_ audit_log_format(ab, " success=%s exit=%ld", (context->return_valid==AUDITSC_SUCCESS)?"yes":"no", context->return_code); + + mutex_lock(&tty_mutex); if (tsk->signal && tsk->signal->tty && tsk->signal->tty->name) tty = tsk->signal->tty->name; else @@ -787,6 +789,9 @@ static void audit_log_exit(struct audit_ context->gid, context->euid, context->suid, context->fsuid, context->egid, context->sgid, context->fsgid, tty); + + mutex_unlock(&tty_mutex); + audit_log_task_info(ab, tsk); if (context->filterkey) { audit_log_format(ab, " key="); _ Patches currently in -mm which might be from alan@xxxxxxxxxxxxxxxxxxx are git-libata-all.patch libata-add-40pin-short-cable-support-honour-drive.patch 1-of-2-jmicron-driver.patch 1-of-2-jmicron-driver-fix.patch 2-of-2-jmicron-driver-plumbing-and-quirk.patch non-libata-driver-for-jmicron-devices.patch via-pata-controller-xfer-fixes.patch via-pata-controller-xfer-fixes-fix.patch megaraid-gcc-41-warning-fix.patch voyager-tty-locking.patch edac-new-opteron-athlon64-memory-controller-driver.patch edac-new-opteron-athlon64-memory-controller-driver-tidy.patch sanitize-3c589_cs.patch make-prot_write-imply-prot_read.patch remove-unused-tty_struct-variable.patch there-is-no-devfs-there-has-never-been-a-devfs-we-have.patch tty-locking-on-resize.patch ahci-ati-sb600-sata-support-for-various-modes.patch atiixp-ati-sb600-ide-support-for-various-modes.patch dquot-add-proper-locking-when-using-current-signal-tty.patch tty-trivial-kzalloc-opportunity.patch tty-lock-ticogwinsz.patch tty-stop-the-tty-vanishing-under-procfs-access.patch exit-fix-crash-case.patch tty-make-termios_sem-a-mutex.patch tty-make-termios_sem-a-mutex-fix.patch solaris-emulation-incorrect-tty-locking.patch tty-fix-bits-and-note-more-bits-to-fix.patch build-sound-sound_firmwarec-only-for-oss.patch build-sound-sound_firmwarec-only-for-oss-doc.patch generic_serial-remove-private-decoding-of-baud-rate-bits.patch istallion-remove-private-baud-rate-decoding-which-is.patch switch-mxser-and-moxa-from-hand-decoding-speeds.patch specialix-remove-private-speed-decoding.patch fix-locking-for-tty-drivers-when-doing-urgent-characters.patch audit-accounting-tty-locking.patch support-piping-into-commands-in-proc-sys-kernel-core_pattern.patch support-piping-into-commands-in-proc-sys-kernel-core_pattern-fix-2.patch ide-claim-extra-dma-ports-regardless-of-channel.patch ide-always-release-dma-engine.patch ide-error-handling-fixes.patch ide-hpt3xxn-clocking-fixes.patch ide-fix-hpt37x-timing-tables.patch ide-optimize-hpt37x-timing-tables.patch ide-fix-hpt3xx-hotswap-support.patch ide-fix-the-case-of-multiple-hpt3xx-chips-present.patch ide-hpt3xx-fix-pci-clock-detection.patch ide-hpt3xx-fix-pci-clock-detection-fix-2.patch piix-fix-82371mx-enablebits.patch piix-remove-check-for-broken-mw-dma-mode-0.patch piix-slc90e66-pio-mode-fallback-fix.patch make-number-of-ide-interfaces-configurable.patch ide_dma_speed-fixes.patch hpt3xx-rework-rate-filtering.patch hpt3xx-rework-rate-filtering-tidy.patch hpt3xx-print-the-real-chip-name-at-startup.patch hpt3xx-switch-to-using-pci_get_slot.patch hpt3xx-cache-channels-mcr-address.patch hpt3x7-merge-speedproc-handlers.patch hpt370-clean-up-dma-timeout-handling.patch enable-cdrom-dma-access-with-pdc20265_old.patch ide-fix-revision-comparison-in-ide_in_drive_list.patch ide-backport-piix-fixes-from-libata-into-the-legacy-driver.patch hpt3xx-init-code-rewrite.patch move-ide-to-unmaintained-drop-reference-to-old-git-tree.patch drivers-ide-cleanups.patch ide-remove-dma_base2-field-from-ide_hwif_t.patch ide-reprogram-disk-pio-timings-on-resume.patch config_pm=n-slim-drivers-ide-pci-sc1200c.patch ide-fix-crash-on-repeated-reset.patch sstfb-clean-ups.patch pci_module_init-convertion-in-ata_genericc.patch pci_module_init-convertion-in-ata_genericc-fix.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html