The patch titled audit/accounting: tty locking has been removed from the -mm tree. Its filename is audit-accounting-tty-locking.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ 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 @@ -817,6 +817,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 @@ -838,6 +840,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 origin.patch git-agpgart.patch fix-gregkh-driver-nozomi.patch git-dvb.patch libata-add-40pin-short-cable-support-honour-drive.patch via-pata-controller-xfer-fixes.patch edac-new-opteron-athlon64-memory-controller-driver.patch edac-new-opteron-athlon64-memory-controller-driver-tidy.patch ahci-ati-sb600-sata-support-for-various-modes.patch serial-fix-up-offenders-peering-at-baud-bits-directly.patch pci-via82cxxx_audio-use-pci_get_device.patch pci-cs46xx-oss-switch-to-pci_get_device.patch pci-piix-use-refcounted-interface-when-searching-for-a-450nx.patch pci-serverworks-switch-to-pci-refcounted-interfaces.patch pci-sis5513-switch-to-pci-refcounting.patch pci-via-switch-to-pci_get_device-refcounted-pci-api.patch ip2-use-newer-pci_get-functions.patch i2o-switch-to-pci_get-api.patch cardbus-switch-to-ref-counting-hotplug-safe-api.patch char-specialix-kill-unneeded-page-alloc.patch ioremap-balanced-with-iounmap-for-drivers-serial-8250_acorn.patch ioremap-balanced-with-iounmap-for-drivers-serial-8250_gsc.patch ioremap-balanced-with-iounmap-for-drivers-serial-ioc4_serial.patch ioremap-balanced-with-iounmap-for-drivers-serial-ip22zilog.patch ioremap-balanced-with-iounmap-for-drivers-serial-mpc52xx_uart.patch ioremap-balanced-with-iounmap-for-drivers-serial-mpsc.patch ioremap-balanced-with-iounmap-for-drivers-serial-mux.patch ioremap-balanced-with-iounmap-for-drivers-serial-sunsu.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 pci-mxser-pci-refcounts.patch mxser-make-an-experimental-clone.patch char-mxser_new-correct-include-file.patch char-mxser_new-upgrade-to-191.patch char-mxser_new-rework-to-allow-dynamic-structs.patch non-libata-driver-for-jmicron-devices.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 ide-fix-crash-on-repeated-reset-tidy.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