From: Mike Galbraith <efault@gmx.de>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Oleg Nesterov <oleg@redhat.com>,
LKML <linux-kernel@vger.kernel.org>,
Pavel Emelyanov <xemul@parallels.com>,
Cyrill Gorcunov <gorcunov@openvz.org>,
Louis Rilling <louis.rilling@kerlabs.com>
Subject: Re: [PATCH] Re: [RFC PATCH] namespaces: fix leak on fork() failure
Date: Sat, 05 May 2012 07:56:02 +0200 [thread overview]
Message-ID: <1336197362.7346.9.camel@marge.simpson.net> (raw)
In-Reply-To: <m1fwbfd71h.fsf@fess.ebiederm.org>
On Fri, 2012-05-04 at 13:29 -0700, Eric W. Biederman wrote:
> Shrug. I have skimmed through all of that code and I don't see anything
> obvious. I guess it would take a few more data points to figure out
> where we are sleeping for a jiffy or two while we are reaping children.
GrimReaper meets SynchroZilla
vsftpd-7977 [003] .... 577.171463: sys_wait4 <-system_call_fastpath
vsftpd-7977 [003] .... 577.171463: do_wait <-sys_wait4
vsftpd-7977 [003] .... 577.171463: add_wait_queue <-do_wait
vsftpd-7977 [003] .... 577.171463: _raw_spin_lock_irqsave <-add_wait_queue
vsftpd-7977 [003] d... 577.171463: _raw_spin_unlock_irqrestore <-add_wait_queue
vsftpd-7977 [003] .... 577.171464: _raw_read_lock <-do_wait
vsftpd-7977 [003] .... 577.171464: wait_consider_task <-do_wait
vsftpd-7977 [003] .... 577.171464: wait_consider_task <-do_wait
vsftpd-7977 [003] .... 577.171464: wait_consider_task <-do_wait
vsftpd-7977 [003] .... 577.171465: __task_pid_nr_ns <-wait_consider_task
vsftpd-7977 [003] .... 577.171465: pid_nr_ns <-__task_pid_nr_ns
vsftpd-7977 [003] .... 577.171465: thread_group_times <-wait_consider_task
vsftpd-7977 [003] .... 577.171466: thread_group_cputime <-thread_group_times
vsftpd-7977 [003] .... 577.171466: task_sched_runtime <-thread_group_cputime
vsftpd-7977 [003] .... 577.171466: task_rq_lock <-task_sched_runtime
vsftpd-7977 [003] .... 577.171466: _raw_spin_lock_irqsave <-task_rq_lock
vsftpd-7977 [003] d... 577.171467: _raw_spin_lock <-task_rq_lock
vsftpd-7977 [003] d... 577.171467: _raw_spin_unlock_irqrestore <-task_sched_runtime
vsftpd-7977 [003] .... 577.171467: nsecs_to_jiffies <-thread_group_times
vsftpd-7977 [003] .... 577.171467: _raw_spin_lock_irq <-wait_consider_task
vsftpd-7977 [003] .... 577.171468: release_task <-wait_consider_task
vsftpd-7977 [003] .... 577.171468: proc_flush_task <-release_task
vsftpd-7977 [003] .... 577.171470: d_hash_and_lookup <-proc_flush_task
vsftpd-7977 [003] .... 577.171470: full_name_hash <-d_hash_and_lookup
vsftpd-7977 [003] .... 577.171470: d_lookup <-d_hash_and_lookup
vsftpd-7977 [003] .... 577.171470: __d_lookup <-d_lookup
vsftpd-7977 [003] .... 577.171471: d_hash_and_lookup <-proc_flush_task
vsftpd-7977 [003] .... 577.171471: full_name_hash <-d_hash_and_lookup
vsftpd-7977 [003] .... 577.171471: d_lookup <-d_hash_and_lookup
vsftpd-7977 [003] .... 577.171472: __d_lookup <-d_lookup
vsftpd-7977 [003] .... 577.171472: d_hash_and_lookup <-proc_flush_task
vsftpd-7977 [003] .... 577.171472: full_name_hash <-d_hash_and_lookup
vsftpd-7977 [003] .... 577.171472: d_lookup <-d_hash_and_lookup
vsftpd-7977 [003] .... 577.171473: __d_lookup <-d_lookup
vsftpd-7977 [003] .... 577.171473: d_hash_and_lookup <-proc_flush_task
vsftpd-7977 [003] .... 577.171473: full_name_hash <-d_hash_and_lookup
vsftpd-7977 [003] .... 577.171473: d_lookup <-d_hash_and_lookup
vsftpd-7977 [003] .... 577.171473: __d_lookup <-d_lookup
vsftpd-7977 [003] .... 577.171474: pid_ns_release_proc <-proc_flush_task
vsftpd-7977 [003] .... 577.171474: kern_unmount <-pid_ns_release_proc
vsftpd-7977 [003] .... 577.171474: mnt_make_shortterm <-kern_unmount
vsftpd-7977 [003] .... 577.171474: vfsmount_lock_global_lock_online <-mnt_make_shortterm
vsftpd-7977 [003] .... 577.171474: _raw_spin_lock <-vfsmount_lock_global_lock_online
vsftpd-7977 [003] .... 577.171475: vfsmount_lock_global_unlock_online <-mnt_make_shortterm
vsftpd-7977 [003] .... 577.171475: mntput <-kern_unmount
vsftpd-7977 [003] .... 577.171475: mntput_no_expire <-mntput
vsftpd-7977 [003] .... 577.171476: vfsmount_lock_local_lock <-mntput_no_expire
vsftpd-7977 [003] .... 577.171476: vfsmount_lock_global_lock_online <-mntput_no_expire
vsftpd-7977 [003] .... 577.171476: _raw_spin_lock <-vfsmount_lock_global_lock_online
vsftpd-7977 [003] .... 577.171476: mnt_get_count <-mntput_no_expire
vsftpd-7977 [003] .... 577.171477: vfsmount_lock_global_unlock_online <-mntput_no_expire
vsftpd-7977 [003] .... 577.171477: mnt_get_writers.isra.12 <-mntput_no_expire
vsftpd-7977 [003] .... 577.171477: __fsnotify_vfsmount_delete <-mntput_no_expire
vsftpd-7977 [003] .... 577.171477: fsnotify_clear_marks_by_mount <-__fsnotify_vfsmount_delete
vsftpd-7977 [003] .... 577.171478: _raw_spin_lock <-fsnotify_clear_marks_by_mount
vsftpd-7977 [003] .... 577.171478: dput <-mntput_no_expire
vsftpd-7977 [003] .... 577.171478: _raw_spin_lock <-dput
vsftpd-7977 [003] .... 577.171478: free_vfsmnt <-mntput_no_expire
vsftpd-7977 [003] .... 577.171478: kfree <-free_vfsmnt
vsftpd-7977 [003] .... 577.171479: __phys_addr <-kfree
vsftpd-7977 [003] .... 577.171479: __slab_free <-kfree
vsftpd-7977 [003] .... 577.171479: free_debug_processing <-__slab_free
vsftpd-7977 [003] d... 577.171479: check_slab <-free_debug_processing
vsftpd-7977 [003] d... 577.171479: slab_pad_check.part.42 <-check_slab
vsftpd-7977 [003] d... 577.171480: on_freelist <-free_debug_processing
vsftpd-7977 [003] d... 577.171480: check_object <-free_debug_processing
vsftpd-7977 [003] d... 577.171480: check_bytes_and_report <-check_object
vsftpd-7977 [003] d... 577.171480: check_bytes_and_report <-check_object
vsftpd-7977 [003] d... 577.171481: set_track <-free_debug_processing
vsftpd-7977 [003] d... 577.171481: dump_trace <-save_stack_trace
vsftpd-7977 [003] d... 577.171481: print_context_stack <-dump_trace
vsftpd-7977 [003] d... 577.171484: init_object <-free_debug_processing
vsftpd-7977 [003] .... 577.171485: _raw_spin_lock_irqsave <-__slab_free
vsftpd-7977 [003] d... 577.171485: _raw_spin_unlock_irqrestore <-__slab_free
vsftpd-7977 [003] .... 577.171485: mnt_free_id.isra.20 <-free_vfsmnt
vsftpd-7977 [003] .... 577.171485: _raw_spin_lock <-mnt_free_id.isra.20
vsftpd-7977 [003] .... 577.171486: free_percpu <-free_vfsmnt
vsftpd-7977 [003] .... 577.171486: _raw_spin_lock_irqsave <-free_percpu
vsftpd-7977 [003] d... 577.171486: pcpu_free_area <-free_percpu
vsftpd-7977 [003] d... 577.171487: pcpu_chunk_slot <-pcpu_free_area
vsftpd-7977 [003] d... 577.171487: pcpu_chunk_relocate <-pcpu_free_area
vsftpd-7977 [003] d... 577.171488: pcpu_chunk_slot <-pcpu_chunk_relocate
vsftpd-7977 [003] d... 577.171488: _raw_spin_unlock_irqrestore <-free_percpu
vsftpd-7977 [003] .... 577.171488: kmem_cache_free <-free_vfsmnt
vsftpd-7977 [003] .... 577.171488: __phys_addr <-kmem_cache_free
vsftpd-7977 [003] .... 577.171489: __slab_free <-kmem_cache_free
vsftpd-7977 [003] .... 577.171489: free_debug_processing <-__slab_free
vsftpd-7977 [003] d... 577.171489: check_slab <-free_debug_processing
vsftpd-7977 [003] d... 577.171489: slab_pad_check.part.42 <-check_slab
vsftpd-7977 [003] d... 577.171489: on_freelist <-free_debug_processing
vsftpd-7977 [003] d... 577.171490: check_object <-free_debug_processing
vsftpd-7977 [003] d... 577.171490: check_bytes_and_report <-check_object
vsftpd-7977 [003] d... 577.171490: check_bytes_and_report <-check_object
vsftpd-7977 [003] d... 577.171491: set_track <-free_debug_processing
vsftpd-7977 [003] d... 577.171491: dump_trace <-save_stack_trace
vsftpd-7977 [003] d... 577.171491: print_context_stack <-dump_trace
vsftpd-7977 [003] d... 577.171494: init_object <-free_debug_processing
vsftpd-7977 [003] .... 577.171495: deactivate_super <-mntput_no_expire
vsftpd-7977 [003] .... 577.171495: down_write <-deactivate_super
vsftpd-7977 [003] .... 577.171495: _cond_resched <-down_write
vsftpd-7977 [003] .... 577.171495: deactivate_locked_super <-deactivate_super
vsftpd-7977 [003] .... 577.171496: proc_kill_sb <-deactivate_locked_super
vsftpd-7977 [003] .... 577.171496: kill_anon_super <-proc_kill_sb
vsftpd-7977 [003] .... 577.171496: generic_shutdown_super <-kill_anon_super
vsftpd-7977 [003] .... 577.171496: shrink_dcache_for_umount <-generic_shutdown_super
vsftpd-7977 [003] .... 577.171496: down_read_trylock <-shrink_dcache_for_umount
vsftpd-7977 [003] .... 577.171497: shrink_dcache_for_umount_subtree <-shrink_dcache_for_umount
vsftpd-7977 [003] .... 577.171497: dentry_lru_prune <-shrink_dcache_for_umount_subtree
vsftpd-7977 [003] .... 577.171498: __d_shrink <-shrink_dcache_for_umount_subtree
vsftpd-7977 [003] .... 577.171498: iput <-shrink_dcache_for_umount_subtree
vsftpd-7977 [003] .... 577.171498: _raw_spin_lock <-_atomic_dec_and_lock
vsftpd-7977 [003] .... 577.171499: generic_delete_inode <-iput
vsftpd-7977 [003] .... 577.171499: evict <-iput
vsftpd-7977 [003] .... 577.171499: _raw_spin_lock <-evict
vsftpd-7977 [003] .... 577.171500: proc_evict_inode <-evict
vsftpd-7977 [003] .... 577.171500: truncate_inode_pages <-proc_evict_inode
vsftpd-7977 [003] .... 577.171500: truncate_inode_pages_range <-truncate_inode_pages
vsftpd-7977 [003] .... 577.171501: end_writeback <-proc_evict_inode
vsftpd-7977 [003] .... 577.171501: _cond_resched <-end_writeback
vsftpd-7977 [003] .... 577.171501: _raw_spin_lock_irq <-end_writeback
vsftpd-7977 [003] .... 577.171501: _cond_resched <-end_writeback
vsftpd-7977 [003] .... 577.171501: put_pid <-proc_evict_inode
vsftpd-7977 [003] .... 577.171502: put_pid: put_pid: NULL
vsftpd-7977 [003] .... 577.171502: pde_put <-proc_evict_inode
vsftpd-7977 [003] .... 577.171502: __remove_inode_hash <-evict
vsftpd-7977 [003] .... 577.171503: _raw_spin_lock <-__remove_inode_hash
vsftpd-7977 [003] .... 577.171503: _raw_spin_lock <-__remove_inode_hash
vsftpd-7977 [003] .... 577.171503: _raw_spin_lock <-evict
vsftpd-7977 [003] .... 577.171504: wake_up_bit <-evict
vsftpd-7977 [003] .... 577.171504: bit_waitqueue <-wake_up_bit
vsftpd-7977 [003] .... 577.171504: __phys_addr <-bit_waitqueue
vsftpd-7977 [003] .... 577.171504: __wake_up_bit <-wake_up_bit
vsftpd-7977 [003] .... 577.171504: destroy_inode <-evict
vsftpd-7977 [003] .... 577.171505: __destroy_inode <-destroy_inode
vsftpd-7977 [003] .... 577.171505: inode_has_buffers <-__destroy_inode
vsftpd-7977 [003] .... 577.171505: __fsnotify_inode_delete <-__destroy_inode
vsftpd-7977 [003] .... 577.171505: fsnotify_clear_marks_by_inode <-__fsnotify_inode_delete
vsftpd-7977 [003] .... 577.171505: _raw_spin_lock <-fsnotify_clear_marks_by_inode
vsftpd-7977 [003] .... 577.171506: proc_destroy_inode <-destroy_inode
vsftpd-7977 [003] .... 577.171506: call_rcu_sched <-proc_destroy_inode
vsftpd-7977 [003] .... 577.171506: __call_rcu <-call_rcu_sched
vsftpd-7977 [003] .... 577.171506: d_free <-shrink_dcache_for_umount_subtree
vsftpd-7977 [003] .... 577.171507: __d_free <-d_free
vsftpd-7977 [003] .... 577.171507: kmem_cache_free <-__d_free
vsftpd-7977 [003] .... 577.171507: __phys_addr <-kmem_cache_free
vsftpd-7977 [003] .... 577.171507: __slab_free <-kmem_cache_free
vsftpd-7977 [003] .... 577.171507: free_debug_processing <-__slab_free
vsftpd-7977 [003] d... 577.171508: check_slab <-free_debug_processing
vsftpd-7977 [003] d... 577.171508: slab_pad_check.part.42 <-check_slab
vsftpd-7977 [003] d... 577.171508: on_freelist <-free_debug_processing
vsftpd-7977 [003] d... 577.171509: check_object <-free_debug_processing
vsftpd-7977 [003] d... 577.171509: check_bytes_and_report <-check_object
vsftpd-7977 [003] d... 577.171510: check_bytes_and_report <-check_object
vsftpd-7977 [003] d... 577.171510: set_track <-free_debug_processing
vsftpd-7977 [003] d... 577.171510: dump_trace <-save_stack_trace
vsftpd-7977 [003] d... 577.171510: print_context_stack <-dump_trace
vsftpd-7977 [003] d... 577.171514: init_object <-free_debug_processing
vsftpd-7977 [003] .... 577.171515: sync_filesystem <-generic_shutdown_super
vsftpd-7977 [003] .... 577.171515: __sync_filesystem <-sync_filesystem
vsftpd-7977 [003] .... 577.171515: __sync_filesystem <-sync_filesystem
vsftpd-7977 [003] .... 577.171516: fsnotify_unmount_inodes <-generic_shutdown_super
vsftpd-7977 [003] .... 577.171516: _raw_spin_lock <-fsnotify_unmount_inodes
vsftpd-7977 [003] .... 577.171516: evict_inodes <-generic_shutdown_super
vsftpd-7977 [003] .... 577.171516: _raw_spin_lock <-evict_inodes
vsftpd-7977 [003] .... 577.171516: dispose_list <-evict_inodes
vsftpd-7977 [003] .... 577.171517: _raw_spin_lock <-generic_shutdown_super
vsftpd-7977 [003] .... 577.171517: up_write <-generic_shutdown_super
vsftpd-7977 [003] .... 577.171517: free_anon_bdev <-kill_anon_super
vsftpd-7977 [003] .... 577.171517: _raw_spin_lock <-free_anon_bdev
vsftpd-7977 [003] .... 577.171518: proc_kill_sb: put_pid_ns: 0xffff8801dc56f320 count:2->1
vsftpd-7977 [003] .... 577.171518: unregister_shrinker <-deactivate_locked_super
vsftpd-7977 [003] .... 577.171518: down_write <-unregister_shrinker
vsftpd-7977 [003] .... 577.171518: _cond_resched <-down_write
vsftpd-7977 [003] .... 577.171519: up_write <-unregister_shrinker
vsftpd-7977 [003] .... 577.171519: rcu_barrier <-deactivate_locked_super
vsftpd-7977 [003] .... 577.171519: rcu_barrier_sched <-rcu_barrier
vsftpd-7977 [003] .... 577.171519: _rcu_barrier.isra.31 <-rcu_barrier_sched
vsftpd-7977 [003] .... 577.171519: mutex_lock <-_rcu_barrier.isra.31
vsftpd-7977 [003] .... 577.171520: _cond_resched <-mutex_lock
vsftpd-7977 [003] .... 577.171520: __init_waitqueue_head <-_rcu_barrier.isra.31
vsftpd-7977 [003] .... 577.171520: on_each_cpu <-_rcu_barrier.isra.31
vsftpd-7977 [003] .... 577.171520: smp_call_function <-on_each_cpu
vsftpd-7977 [003] .... 577.171521: smp_call_function_many <-smp_call_function
vsftpd-7977 [003] .... 577.171521: _raw_spin_lock_irqsave <-smp_call_function_many
vsftpd-7977 [003] d... 577.171521: _raw_spin_unlock_irqrestore <-smp_call_function_many
vsftpd-7977 [003] .... 577.171522: native_send_call_func_ipi <-smp_call_function_many
vsftpd-7977 [003] .... 577.171522: flat_send_IPI_allbutself <-native_send_call_func_ipi
vsftpd-7977 [003] d... 577.171532: rcu_barrier_func <-on_each_cpu
vsftpd-7977 [003] d... 577.171532: call_rcu_sched <-rcu_barrier_func
vsftpd-7977 [003] d... 577.171533: __call_rcu <-call_rcu_sched
vsftpd-7977 [003] .... 577.171533: wait_for_completion <-_rcu_barrier.isra.31
vsftpd-7977 [003] .... 577.171533: wait_for_common <-wait_for_completion
vsftpd-7977 [003] .... 577.171533: _cond_resched <-wait_for_common
vsftpd-7977 [003] .... 577.171533: _raw_spin_lock_irq <-wait_for_common
vsftpd-7977 [003] .... 577.171534: schedule_timeout <-wait_for_common
vsftpd-7977 [003] .... 577.171534: schedule <-schedule_timeout
vsftpd-7977 [003] .... 577.171534: __schedule <-schedule
next prev parent reply other threads:[~2012-05-05 5:56 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-28 9:19 [RFC PATCH] namespaces: fix leak on fork() failure Mike Galbraith
2012-04-28 14:26 ` Oleg Nesterov
2012-04-29 4:13 ` Mike Galbraith
2012-04-29 7:57 ` Eric W. Biederman
2012-04-29 9:49 ` Mike Galbraith
2012-04-29 16:58 ` Oleg Nesterov
2012-04-30 2:59 ` Eric W. Biederman
2012-04-30 3:25 ` Mike Galbraith
2012-05-02 12:40 ` Oleg Nesterov
2012-05-02 17:37 ` Eric W. Biederman
2012-04-30 3:01 ` [PATCH] " Mike Galbraith
[not found] ` <m1zk9rmyh4.fsf@fess.ebiederm.org>
2012-05-01 20:42 ` Andrew Morton
2012-05-03 3:12 ` Mike Galbraith
2012-05-03 14:56 ` Mike Galbraith
2012-05-04 4:27 ` Mike Galbraith
2012-05-04 7:55 ` Eric W. Biederman
2012-05-04 8:34 ` Mike Galbraith
2012-05-04 9:45 ` Mike Galbraith
2012-05-04 14:13 ` Eric W. Biederman
2012-05-04 14:49 ` Mike Galbraith
2012-05-04 15:36 ` Eric W. Biederman
2012-05-04 16:57 ` Mike Galbraith
2012-05-04 20:29 ` Eric W. Biederman
2012-05-05 5:56 ` Mike Galbraith [this message]
2012-05-05 6:08 ` Mike Galbraith
2012-05-05 7:12 ` Mike Galbraith
2012-05-05 11:37 ` Eric W. Biederman
2012-05-07 21:51 ` [PATCH] vfs: Speed up deactivate_super for non-modular filesystems Eric W. Biederman
2012-05-07 22:17 ` Al Viro
2012-05-07 23:56 ` Paul E. McKenney
2012-05-08 1:07 ` Eric W. Biederman
2012-05-08 4:53 ` Mike Galbraith
2012-05-09 7:55 ` Nick Piggin
2012-05-09 11:02 ` Eric W. Biederman
2012-05-09 11:02 ` Eric W. Biederman
2012-05-15 8:40 ` Nick Piggin
2012-05-16 0:34 ` Eric W. Biederman
2012-05-16 0:34 ` Eric W. Biederman
2012-05-09 13:59 ` Paul E. McKenney
2012-05-04 8:03 ` [PATCH] Re: [RFC PATCH] namespaces: fix leak on fork() failure Eric W. Biederman
2012-05-04 8:19 ` Mike Galbraith
2012-05-04 8:54 ` Mike Galbraith
2012-05-07 0:32 ` [PATCH 0/3] pidns: Closing the pid namespace exit race Eric W. Biederman
2012-05-07 0:33 ` [PATCH 1/3] pidns: Use task_active_pid_ns in do_notify_parent Eric W. Biederman
2012-05-07 0:35 ` [PATCH 2/3] pidns: Guarantee that the pidns init will be the last pidns process reaped Eric W. Biederman
2012-05-08 22:50 ` Andrew Morton
2012-05-16 18:39 ` Oleg Nesterov
2012-05-16 19:34 ` Oleg Nesterov
2012-05-16 20:54 ` Eric W. Biederman
2012-05-17 17:00 ` Oleg Nesterov
2012-05-17 21:46 ` Eric W. Biederman
2012-05-18 12:39 ` Oleg Nesterov
2012-05-19 0:03 ` Eric W. Biederman
2012-05-21 12:44 ` Oleg Nesterov
2012-05-22 0:16 ` Eric W. Biederman
2012-05-22 0:20 ` [PATCH] pidns: Guarantee that the pidns init will be the last pidns process reaped. v2 Eric W. Biederman
2012-05-22 16:54 ` Oleg Nesterov
2012-05-22 19:23 ` Andrew Morton
2012-05-23 14:52 ` Oleg Nesterov
2012-05-25 15:15 ` [PATCH -mm] pidns-guarantee-that-the-pidns-init-will-be-the-last-pidns-process-r eaped-v2-fix-fix Oleg Nesterov
2012-05-25 15:59 ` [PATCH -mm 0/1] pidns: find_new_reaper() can no longer switch to init_pid_ns.child_reaper Oleg Nesterov
2012-05-25 16:00 ` [PATCH -mm 1/1] " Oleg Nesterov
2012-05-25 21:43 ` Eric W. Biederman
2012-05-27 19:10 ` [PATCH v2 -mm 0/1] " Oleg Nesterov
2012-05-27 19:11 ` [PATCH v2 -mm 1/1] " Oleg Nesterov
2012-05-29 6:34 ` Eric W. Biederman
2012-05-25 21:25 ` [PATCH -mm] pidns-guarantee-that-the-pidns-init-will-be-the-last-pidns-process-r eaped-v2-fix-fix Eric W. Biederman
2012-05-27 18:41 ` [PATCH -mm v2] " Oleg Nesterov
2012-05-07 0:35 ` [PATCH 3/3] pidns: Make killed children autoreap Eric W. Biederman
2012-05-08 22:51 ` Andrew Morton
2012-04-30 13:57 ` [RFC PATCH] namespaces: fix leak on fork() failure Mike Galbraith
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1336197362.7346.9.camel@marge.simpson.net \
--to=efault@gmx.de \
--cc=akpm@linux-foundation.org \
--cc=ebiederm@xmission.com \
--cc=gorcunov@openvz.org \
--cc=linux-kernel@vger.kernel.org \
--cc=louis.rilling@kerlabs.com \
--cc=oleg@redhat.com \
--cc=xemul@parallels.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.