From: Willy Tarreau <w@1wt.eu>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Oleg Nesterov <oleg@redhat.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Willy Tarreau <w@1wt.eu>
Subject: [ 149/180] epoll: introduce POLLFREE to flush ->signalfd_wqh before kfree()
Date: Tue, 02 Oct 2012 00:54:26 +0200 [thread overview]
Message-ID: <20121001225203.927624379@1wt.eu> (raw)
In-Reply-To: <6a854f579a99b4fe2efaca1057e8ae22@local>
2.6.32-longterm review patch. If anyone has any objections, please let me know.
------------------
From: Oleg Nesterov <oleg@redhat.com>
commit d80e731ecab420ddcb79ee9d0ac427acbc187b4b upstream.
This patch is intentionally incomplete to simplify the review.
It ignores ep_unregister_pollwait() which plays with the same wqh.
See the next change.
epoll assumes that the EPOLL_CTL_ADD'ed file controls everything
f_op->poll() needs. In particular it assumes that the wait queue
can't go away until eventpoll_release(). This is not true in case
of signalfd, the task which does EPOLL_CTL_ADD uses its ->sighand
which is not connected to the file.
This patch adds the special event, POLLFREE, currently only for
epoll. It expects that init_poll_funcptr()'ed hook should do the
necessary cleanup. Perhaps it should be defined as EPOLLFREE in
eventpoll.
__cleanup_sighand() is changed to do wake_up_poll(POLLFREE) if
->signalfd_wqh is not empty, we add the new signalfd_cleanup()
helper.
ep_poll_callback(POLLFREE) simply does list_del_init(task_list).
This make this poll entry inconsistent, but we don't care. If you
share epoll fd which contains our sigfd with another process you
should blame yourself. signalfd is "really special". I simply do
not know how we can define the "right" semantics if it used with
epoll.
The main problem is, epoll calls signalfd_poll() once to establish
the connection with the wait queue, after that signalfd_poll(NULL)
returns the different/inconsistent results depending on who does
EPOLL_CTL_MOD/signalfd_read/etc. IOW: apart from sigmask, signalfd
has nothing to do with the file, it works with the current thread.
In short: this patch is the hack which tries to fix the symptoms.
It also assumes that nobody can take tasklist_lock under epoll
locks, this seems to be true.
Note:
- we do not have wake_up_all_poll() but wake_up_poll()
is fine, poll/epoll doesn't use WQ_FLAG_EXCLUSIVE.
- signalfd_cleanup() uses POLLHUP along with POLLFREE,
we need a couple of simple changes in eventpoll.c to
make sure it can't be "lost".
Reported-by: Maxime Bizon <mbizon@freebox.fr>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
---
fs/eventpoll.c | 4 ++++
fs/signalfd.c | 11 +++++++++++
include/asm-generic/poll.h | 2 ++
include/linux/signalfd.h | 5 ++++-
kernel/fork.c | 5 ++++-
5 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/fs/eventpoll.c b/fs/eventpoll.c
index f539204..15a7ef3 100644
--- a/fs/eventpoll.c
+++ b/fs/eventpoll.c
@@ -814,6 +814,10 @@ static int ep_poll_callback(wait_queue_t *wait, unsigned mode, int sync, void *k
struct epitem *epi = ep_item_from_wait(wait);
struct eventpoll *ep = epi->ep;
+ /* the caller holds eppoll_entry->whead->lock */
+ if ((unsigned long)key & POLLFREE)
+ list_del_init(&wait->task_list);
+
spin_lock_irqsave(&ep->lock, flags);
/*
diff --git a/fs/signalfd.c b/fs/signalfd.c
index d98bea8..6339cb4 100644
--- a/fs/signalfd.c
+++ b/fs/signalfd.c
@@ -29,6 +29,17 @@
#include <linux/signalfd.h>
#include <linux/syscalls.h>
+void signalfd_cleanup(struct sighand_struct *sighand)
+{
+ wait_queue_head_t *wqh = &sighand->signalfd_wqh;
+
+ if (likely(!waitqueue_active(wqh)))
+ return;
+
+ /* wait_queue_t->func(POLLFREE) should do remove_wait_queue() */
+ wake_up_poll(wqh, POLLHUP | POLLFREE);
+}
+
struct signalfd_ctx {
sigset_t sigmask;
};
diff --git a/include/asm-generic/poll.h b/include/asm-generic/poll.h
index 44bce83..9ce7f44 100644
--- a/include/asm-generic/poll.h
+++ b/include/asm-generic/poll.h
@@ -28,6 +28,8 @@
#define POLLRDHUP 0x2000
#endif
+#define POLLFREE 0x4000 /* currently only for epoll */
+
struct pollfd {
int fd;
short events;
diff --git a/include/linux/signalfd.h b/include/linux/signalfd.h
index b363b91..ed9b65e 100644
--- a/include/linux/signalfd.h
+++ b/include/linux/signalfd.h
@@ -60,13 +60,16 @@ static inline void signalfd_notify(struct task_struct *tsk, int sig)
wake_up(&tsk->sighand->signalfd_wqh);
}
+extern void signalfd_cleanup(struct sighand_struct *sighand);
+
#else /* CONFIG_SIGNALFD */
static inline void signalfd_notify(struct task_struct *tsk, int sig) { }
+static inline void signalfd_cleanup(struct sighand_struct *sighand) { }
+
#endif /* CONFIG_SIGNALFD */
#endif /* __KERNEL__ */
#endif /* _LINUX_SIGNALFD_H */
-
diff --git a/kernel/fork.c b/kernel/fork.c
index cd075bc..c28f804 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -64,6 +64,7 @@
#include <linux/magic.h>
#include <linux/perf_event.h>
#include <linux/posix-timers.h>
+#include <linux/signalfd.h>
#include <asm/pgtable.h>
#include <asm/pgalloc.h>
@@ -815,8 +816,10 @@ static int copy_sighand(unsigned long clone_flags, struct task_struct *tsk)
void __cleanup_sighand(struct sighand_struct *sighand)
{
- if (atomic_dec_and_test(&sighand->count))
+ if (atomic_dec_and_test(&sighand->count)) {
+ signalfd_cleanup(sighand);
kmem_cache_free(sighand_cachep, sighand);
+ }
}
--
1.7.2.1.45.g54fbc
next prev parent reply other threads:[~2012-10-01 23:02 UTC|newest]
Thread overview: 220+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <6a854f579a99b4fe2efaca1057e8ae22@local>
2012-10-01 22:51 ` [ 000/180] 2.6.32.60-longterm review Willy Tarreau
2012-10-01 22:51 ` [ 001/180] netxen: support for GbE port settings Willy Tarreau
2012-10-03 17:38 ` Sony Chacko
2012-10-01 22:51 ` [ 002/180] Fix sparc build with newer tools Willy Tarreau
2012-10-01 22:52 ` [ 003/180] powerpc/pmac: Fix SMP kernels on pre-core99 UP machines Willy Tarreau
2012-10-01 22:52 ` [ 004/180] Bluetooth: btusb: fix bInterval for high/super speed isochronous endpoints Willy Tarreau
2012-10-01 22:52 ` [ 005/180] jbd2: clear BH_Delay & BH_Unwritten in journal_unmap_buffer Willy Tarreau
2012-10-01 22:52 ` [ 006/180] fix pgd_lock deadlock Willy Tarreau
2012-10-01 22:52 ` [ 007/180] futex: Fix uninterruptible loop due to gate_area Willy Tarreau
2012-10-01 22:52 ` [ 008/180] 2.6.32.x: ntp: Fix leap-second hrtimer livelock Willy Tarreau
2012-10-03 14:50 ` Ben Hutchings
2012-10-03 16:01 ` Willy Tarreau
2012-10-03 17:01 ` John Stultz
2012-10-03 17:34 ` Ben Hutchings
2012-10-03 17:45 ` Willy Tarreau
2012-10-03 17:43 ` Willy Tarreau
2012-10-01 22:52 ` [ 009/180] 2.6.32.x: ntp: Correct TAI offset during leap second Willy Tarreau
2012-10-01 22:52 ` [ 010/180] 2.6.32.x: timekeeping: Fix CLOCK_MONOTONIC inconsistency during leapsecond Willy Tarreau
2012-10-01 22:52 ` [ 011/180] 2.6.32.x: time: Move common updates to a function Willy Tarreau
2012-10-01 22:52 ` [ 012/180] 2.6.32.x: hrtimer: Provide clock_was_set_delayed() Willy Tarreau
2012-10-01 22:52 ` [ 013/180] 2.6.32.x: timekeeping: Fix leapsecond triggered load spike issue Willy Tarreau
2012-10-01 22:52 ` [ 014/180] 2.6.32.x: timekeeping: Maintain ktime_t based offsets for hrtimers Willy Tarreau
2012-10-01 22:52 ` [ 015/180] 2.6.32.x: hrtimers: Move lock held region in hrtimer_interrupt() Willy Tarreau
2012-10-01 22:52 ` [ 016/180] 2.6.32.x: timekeeping: Provide hrtimer update function Willy Tarreau
2012-10-01 22:52 ` [ 017/180] 2.6.32.x: hrtimer: Update hrtimer base offsets each hrtimer_interrupt Willy Tarreau
2012-10-01 22:52 ` [ 018/180] 2.6.32.x: timekeeping: Add missing update call in timekeeping_resume() Willy Tarreau
2012-10-01 22:52 ` [ 019/180] 2.6.32.y: time: Improve sanity checking of timekeeping inputs Willy Tarreau
2012-10-01 22:52 ` [ 020/180] 2.6.32.y: time: Avoid making adjustments if we havent accumulated anything Willy Tarreau
2012-10-01 22:52 ` [ 021/180] 2.6.32.y: time: Move ktime_t overflow checking into timespec_valid_strict Willy Tarreau
2012-10-01 22:52 ` [ 022/180] ioat2: kill pending flag Willy Tarreau
2012-10-04 14:47 ` Ben Hutchings
2012-10-04 20:16 ` Willy Tarreau
2012-10-01 22:52 ` [ 023/180] drm/i915: Attempt to fix watermark setup on 85x (v2) Willy Tarreau
2012-10-01 22:52 ` [ 024/180] usb: Fix deadlock in hid_reset when Dell iDRAC is reset Willy Tarreau
2012-10-01 22:52 ` [ 025/180] eCryptfs: Copy up lower inode attrs after setting lower xattr Willy Tarreau
2012-10-01 22:52 ` [ 026/180] eCryptfs: Improve statfs reporting Willy Tarreau
2012-10-02 5:46 ` Tyler Hicks
2012-10-02 5:57 ` Willy Tarreau
2012-10-02 12:24 ` Tim Gardner
2012-10-03 15:13 ` Ben Hutchings
2012-10-01 22:52 ` [ 027/180] eCryptfs: Clear ECRYPTFS_NEW_FILE flag during truncate Willy Tarreau
2012-10-01 22:52 ` [ 028/180] oprofile: use KM_NMI slot for kmap_atomic Willy Tarreau
2012-10-01 22:52 ` [ 029/180] tty_audit: fix tty_audit_add_data live lock on audit disabled Willy Tarreau
2012-10-01 22:52 ` [ 030/180] bonding: 802.3ad - fix agg_device_up Willy Tarreau
2012-10-01 22:52 ` [ 031/180] usbnet: increase URB reference count before usb_unlink_urb Willy Tarreau
2012-10-01 22:52 ` [ 032/180] usbnet: dont clear urb->dev in tx_complete Willy Tarreau
2012-10-01 22:52 ` [ 033/180] sched: Fix signed unsigned comparison in check_preempt_tick() Willy Tarreau
2012-10-01 22:52 ` [ 034/180] x86/PCI: amd: factor out MMCONFIG discovery Willy Tarreau
2012-10-01 22:52 ` [ 035/180] PNP: fix "work around Dell 1536/1546 BIOS MMCONFIG bug that breaks USB" Willy Tarreau
2012-10-01 22:52 ` [ 036/180] KVM: Remove ability to assign a device without iommu support Willy Tarreau
2012-10-01 22:52 ` [ 037/180] KVM: Device assignment permission checks Willy Tarreau
2012-10-01 22:52 ` [ 038/180] KVM: x86: Prevent starting PIT timers in the absence of irqchip support Willy Tarreau
2012-10-01 22:52 ` [ 039/180] rose: Add length checks to CALL_REQUEST parsing Willy Tarreau
2012-10-01 22:52 ` [ 040/180] KVM: x86: extend "struct x86_emulate_ops" with "get_cpuid" Willy Tarreau
2012-10-04 17:15 ` Ben Hutchings
2012-10-01 22:52 ` [ 041/180] KVM: x86: fix missing checks in syscall emulation Willy Tarreau
2012-10-04 17:20 ` Ben Hutchings
2012-10-01 22:52 ` [ 042/180] block: Fix io_context leak after clone with CLONE_IO Willy Tarreau
2012-10-01 22:52 ` [ 043/180] block: Fix io_context leak after failure of " Willy Tarreau
2012-10-01 22:52 ` [ 044/180] KVM: x86: disallow multiple KVM_CREATE_IRQCHIP Willy Tarreau
2012-10-01 22:52 ` [ 045/180] KVM: Ensure all vcpus are consistent with in-kernel irqchip settings Willy Tarreau
2012-10-04 17:35 ` Ben Hutchings
2012-10-01 22:52 ` [ 046/180] xfs: Fix possible memory corruption in xfs_readlink Willy Tarreau
2012-10-03 15:01 ` Herton Ronaldo Krzesinski
2012-10-03 16:05 ` Willy Tarreau
2012-10-01 22:52 ` [ 047/180] fcaps: clear the same personality flags as suid when fcaps are used Willy Tarreau
2012-10-01 22:52 ` [ 048/180] security: fix compile error in commoncap.c Willy Tarreau
2012-10-01 22:52 ` [ 049/180] hugepages: fix use after free bug in "quota" handling Willy Tarreau
2012-10-01 22:52 ` [ 050/180] net: sock: validate data_len before allocating skb in sock_alloc_send_pskb() Willy Tarreau
2012-10-01 22:52 ` [ 051/180] dl2k: use standard #defines from mii.h Willy Tarreau
2012-10-01 22:52 ` [ 052/180] dl2k: Clean up rio_ioctl Willy Tarreau
2012-10-01 22:52 ` [ 053/180] hfsplus: Fix potential buffer overflows Willy Tarreau
2012-10-01 22:52 ` [ 054/180] cred: copy_process() should clear child->replacement_session_keyring Willy Tarreau
2012-10-01 22:52 ` [ 055/180] tcp: Dont change unlocked socket state in tcp_v4_err() Willy Tarreau
2012-10-01 22:52 ` [ 056/180] x86: Derandom delay_tsc for 64 bit Willy Tarreau
2012-10-01 22:52 ` [ 057/180] ipsec: be careful of non existing mac headers Willy Tarreau
2012-10-01 22:52 ` [ 058/180] block, sx8: fix pointer math issue getting fw version Willy Tarreau
2012-10-01 22:52 ` [ 059/180] nilfs2: fix NULL pointer dereference in nilfs_load_super_block() Willy Tarreau
2012-10-01 22:52 ` [ 060/180] USB: ftdi_sio: fix problem when the manufacture is a NULL string Willy Tarreau
2012-10-01 22:52 ` [ 061/180] ntp: Fix integer overflow when setting time Willy Tarreau
2012-10-01 22:52 ` [ 062/180] SUNRPC: We must not use list_for_each_entry_safe() in rpc_wake_up() Willy Tarreau
2012-10-01 22:53 ` [ 063/180] ext4: check for zero length extent Willy Tarreau
2012-10-01 22:53 ` [ 064/180] xfs: Fix oops on IO error during xlog_recover_process_iunlinks() Willy Tarreau
2012-10-01 22:53 ` [ 065/180] nfsd: dont allow zero length strings in cache_parse() Willy Tarreau
2012-10-01 22:53 ` [ 066/180] sched/x86: Fix overflow in cyc2ns_offset Willy Tarreau
2012-10-01 22:53 ` [ 067/180] Bluetooth: add NULL pointer check in HCI Willy Tarreau
2012-10-01 22:53 ` [ 068/180] Bluetooth: hci_ldisc: fix NULL-pointer dereference on tty_close Willy Tarreau
2012-10-01 22:53 ` [ 069/180] sparc64: Fix bootup crash on sun4v Willy Tarreau
2012-10-01 22:53 ` [ 070/180] video:uvesafb: Fix oops that uvesafb try to execute NX-protected page Willy Tarreau
2012-10-01 22:53 ` [ 071/180] USB: serial: fix race between probe and open Willy Tarreau
2012-10-01 22:53 ` [ 072/180] xhci: Dont write zeroed pointers to xHC registers Willy Tarreau
2012-10-01 22:53 ` [ 073/180] xHCI: Correct the #define XHCI_LEGACY_DISABLE_SMI Willy Tarreau
2012-10-01 22:53 ` [ 074/180] crypto: sha512 - Fix byte counter overflow in SHA-512 Willy Tarreau
2012-10-01 22:53 ` [ 075/180] PCI: Add quirk for still enabled interrupts on Intel Sandy Bridge GPUs Willy Tarreau
2012-10-01 22:53 ` [ 076/180] phonet: Check input from user before allocating Willy Tarreau
2012-10-01 22:53 ` [ 077/180] netlink: fix races after skb queueing Willy Tarreau
2012-10-01 22:53 ` [ 078/180] net: fix a race in sock_queue_err_skb() Willy Tarreau
2012-10-01 22:53 ` [ 079/180] atl1: fix kernel panic in case of DMA errors Willy Tarreau
2012-10-01 22:53 ` [ 080/180] net/ethernet: ks8851_mll fix rx frame buffer overflow Willy Tarreau
2012-10-01 22:53 ` [ 081/180] net_sched: gred: Fix oops in gred_dump() in WRED mode Willy Tarreau
2012-10-01 22:53 ` [ 082/180] ARM: 7410/1: Add extra clobber registers for assembly in kernel_execve Willy Tarreau
2012-10-01 22:53 ` [ 083/180] netem: fix possible skb leak Willy Tarreau
2012-10-01 22:53 ` [ 084/180] ALSA: echoaudio: Remove incorrect part of assertion Willy Tarreau
2012-10-01 22:53 ` [ 085/180] NFSv4: Revalidate uid/gid after open Willy Tarreau
2012-10-01 22:53 ` [ 086/180] ext3: Fix error handling on inode bitmap corruption Willy Tarreau
2012-10-01 22:53 ` [ 087/180] ext4: fix " Willy Tarreau
2012-10-01 22:53 ` [ 088/180] xhci: Reset reserved command ring TRBs on cleanup Willy Tarreau
2012-10-01 22:53 ` [ 089/180] SCSI: fix scsi_wait_scan Willy Tarreau
2012-10-04 20:34 ` Ben Hutchings
2012-10-04 20:38 ` Willy Tarreau
2012-10-04 20:57 ` Ben Hutchings
2012-10-04 21:08 ` Willy Tarreau
2012-10-01 22:53 ` [ 090/180] powerpc: Fix kernel panic during kernel module load Willy Tarreau
2012-10-01 22:53 ` [ 091/180] fuse: fix stat call on 32 bit platforms Willy Tarreau
2012-10-01 22:53 ` [ 092/180] udf: Avoid run away loop when partition table length is corrupted Willy Tarreau
2012-10-04 21:23 ` Ben Hutchings
2012-10-04 21:48 ` Willy Tarreau
2012-10-01 22:53 ` [ 093/180] stable: Allow merging of backports for serious user-visible performance issues Willy Tarreau
2012-10-01 22:53 ` [ 094/180] eCryptfs: Properly check for O_RDONLY flag before doing privileged open Willy Tarreau
2012-10-01 22:53 ` [ 095/180] USB: cdc-wdm: fix lockup on error in wdm_read Willy Tarreau
2012-10-01 22:53 ` [ 096/180] mm: Hold a file reference in madvise_remove Willy Tarreau
2012-10-01 22:53 ` [ 097/180] ntp: Fix STA_INS/DEL clearing bug Willy Tarreau
2012-10-01 22:53 ` [ 098/180] MIPS: Properly align the .data..init_task section Willy Tarreau
2012-10-01 22:53 ` [ 099/180] powerpc/ftrace: Fix assembly trampoline register usage Willy Tarreau
2012-10-02 13:45 ` Paul Gortmaker
2012-10-02 13:59 ` Willy Tarreau
2012-10-04 21:31 ` Ben Hutchings
2012-10-01 22:53 ` [ 100/180] powerpc: Add "memory" attribute for mfmsr() Willy Tarreau
2012-10-04 21:32 ` Ben Hutchings
2012-10-01 22:53 ` [ 101/180] SCSI: libsas: continue revalidation Willy Tarreau
2012-10-04 21:33 ` Ben Hutchings
2012-10-01 22:53 ` [ 102/180] SCSI: libsas: fix sas_discover_devices return code handling Willy Tarreau
2012-10-01 22:53 ` [ 103/180] SCSI: fix eh wakeup (scsi_schedule_eh vs scsi_restart_operations) Willy Tarreau
2012-10-01 22:53 ` [ 104/180] SCSI: Avoid dangling pointer in scsi_requeue_command() Willy Tarreau
2012-10-01 22:53 ` [ 105/180] usbdevfs: Correct amount of data copied to user in processcompl_compat Willy Tarreau
2012-10-01 22:53 ` [ 106/180] locks: fix checking of fcntl_setlease argument Willy Tarreau
2012-10-01 22:53 ` [ 107/180] ACPI/AC: prevent OOPS on some boxes due to missing check power_supply_register() return value check Willy Tarreau
2012-10-01 22:53 ` [ 108/180] Btrfs: call the ordered free operation without any locks held Willy Tarreau
2012-10-01 22:53 ` [ 109/180] nfsd4: our filesystems are normally case sensitive Willy Tarreau
2012-10-01 22:53 ` [ 110/180] ext4: dont let i_reserved_meta_blocks go negative Willy Tarreau
2012-10-04 21:55 ` Ben Hutchings
2012-10-05 11:59 ` Brian Foster
2012-10-05 12:37 ` Willy Tarreau
2012-10-05 13:00 ` Brian Foster
2012-10-07 1:47 ` Ben Hutchings
2012-10-07 6:21 ` Willy Tarreau
2012-10-01 22:53 ` [ 111/180] sctp: Fix list corruption resulting from freeing an association on a list Willy Tarreau
2012-10-01 22:53 ` [ 112/180] cipso: dont follow a NULL pointer when setsockopt() is called Willy Tarreau
2012-10-01 22:53 ` [ 113/180] wanmain: comparing array with NULL Willy Tarreau
2012-10-01 22:53 ` [ 114/180] USB: kaweth.c: use GFP_ATOMIC under spin_lock Willy Tarreau
2012-10-01 22:53 ` [ 115/180] tcp: perform DMA to userspace only if there is a task waiting for it Willy Tarreau
2012-10-01 22:53 ` [ 116/180] net/tun: fix ioctl() based info leaks Willy Tarreau
2012-10-01 22:53 ` [ 117/180] USB: echi-dbgp: increase the controller wait time to come out of halt Willy Tarreau
2012-10-01 22:53 ` [ 118/180] ALSA: mpu401: Fix missing initialization of irq field Willy Tarreau
2012-10-01 22:53 ` [ 119/180] futex: Test for pi_mutex on fault in futex_wait_requeue_pi() Willy Tarreau
2012-10-01 22:53 ` [ 120/180] futex: Fix bug in WARN_ON for NULL q.pi_state Willy Tarreau
2012-10-01 22:53 ` [ 121/180] futex: Forbid uaddr == uaddr2 in futex_wait_requeue_pi() Willy Tarreau
2012-10-01 22:53 ` [ 122/180] pcdp: use early_ioremap/early_iounmap to access pcdp table Willy Tarreau
2012-10-01 22:54 ` [ 123/180] mm: mmu_notifier: fix freed page still mapped in secondary MMU Willy Tarreau
2012-10-01 22:54 ` [ 124/180] fuse: verify all ioctl retry iov elements Willy Tarreau
2012-10-01 22:54 ` [ 125/180] xhci: Increase reset timeout for Renesas 720201 host Willy Tarreau
2012-10-01 22:54 ` [ 126/180] usb: serial: mos7840: Fixup mos7840_chars_in_buffer() Willy Tarreau
2012-10-01 22:54 ` [ 127/180] ALSA: hda - fix Copyright debug message Willy Tarreau
2012-10-01 22:54 ` [ 128/180] vfs: missed source of ->f_pos races Willy Tarreau
2012-10-01 22:54 ` [ 129/180] NFSv3: Ensure that do_proc_get_root() reports errors correctly Willy Tarreau
2012-10-01 22:54 ` [ 130/180] NFS: Alias the nfs module to nfs4 Willy Tarreau
2012-10-01 22:54 ` [ 131/180] svcrpc: fix svc_xprt_enqueue/svc_recv busy-looping Willy Tarreau
2012-10-01 22:54 ` [ 132/180] svcrpc: sends on closed socket should stop immediately Willy Tarreau
2012-10-01 22:54 ` [ 133/180] cciss: fix incorrect scsi status reporting Willy Tarreau
2012-10-04 22:49 ` Ben Hutchings
2012-10-04 23:27 ` Willy Tarreau
2012-10-01 22:54 ` [ 134/180] USB: CDC ACM: Fix NULL pointer dereference Willy Tarreau
2012-10-01 22:54 ` [ 135/180] Remove user-triggerable BUG from mpol_to_str Willy Tarreau
2012-10-01 22:54 ` [ 136/180] udf: Fix data corruption for files in ICB Willy Tarreau
2012-10-01 22:54 ` [ 137/180] ext3: Fix fdatasync() for files with only i_size changes Willy Tarreau
2012-10-01 22:54 ` [ 138/180] PARISC: Redefine ATOMIC_INIT and ATOMIC64_INIT to drop the casts Willy Tarreau
2012-10-01 22:54 ` [ 139/180] dccp: check ccid before dereferencing Willy Tarreau
2012-10-01 22:54 ` [ 140/180] ia64: Add accept4() syscall Willy Tarreau
2012-10-01 22:54 ` [ 141/180] tcp: do_tcp_sendpages() must try to push data out on oom conditions Willy Tarreau
2012-10-01 22:54 ` [ 142/180] tcp: drop SYN+FIN messages Willy Tarreau
2012-10-01 22:54 ` [ 143/180] xen: correctly check for pending events when restoring irq flags Willy Tarreau
2012-10-01 22:54 ` [ 144/180] x86, amd, xen: Avoid NULL pointer paravirt references Willy Tarreau
2012-10-01 22:54 ` [ 145/180] x86, tls: Off by one limit check Willy Tarreau
2012-10-01 22:54 ` [ 146/180] sparc64: Eliminate obsolete __handle_softirq() function Willy Tarreau
2012-10-01 22:54 ` [ 147/180] udf: Fortify loading of sparing table Willy Tarreau
2012-10-04 23:15 ` Ben Hutchings
2012-10-04 23:28 ` Willy Tarreau
2012-10-01 22:54 ` [ 148/180] mtd: cafe_nand: fix an & vs | mistake Willy Tarreau
2012-10-01 22:54 ` Willy Tarreau [this message]
2012-10-01 22:54 ` [ 150/180] epoll: ep_unregister_pollwait() can use the freed pwq->whead Willy Tarreau
2012-10-01 22:54 ` [ 151/180] epoll: limit paths Willy Tarreau
2012-10-01 22:54 ` [ 152/180] Dont limit non-nested epoll paths Willy Tarreau
2012-10-01 22:54 ` [ 153/180] epoll: clear the tfile_check_list on -ELOOP Willy Tarreau
2012-10-01 22:54 ` [ 154/180] random: Reorder struct entropy_store to remove padding on 64bits Willy Tarreau
2012-10-01 22:54 ` [ 155/180] random: update interface comments to reflect reality Willy Tarreau
2012-10-01 22:54 ` [ 156/180] random: simplify fips mode Willy Tarreau
2012-10-01 22:54 ` [ 157/180] x86, cpu: Add CPU flags for F16C and RDRND Willy Tarreau
2012-10-01 22:54 ` [ 158/180] x86, cpufeature: Update CPU feature RDRND to RDRAND Willy Tarreau
2012-10-01 22:54 ` [ 159/180] random: Add support for architectural random hooks Willy Tarreau
2012-10-01 22:54 ` [ 160/180] x86, random: Architectural inlines to get random integers with RDRAND Willy Tarreau
2012-10-01 22:54 ` [ 161/180] x86, random: Verify RDRAND functionality and allow it to be disabled Willy Tarreau
2012-10-01 22:54 ` [ 162/180] fix typo/thinko in get_random_bytes() Willy Tarreau
2012-10-01 22:54 ` [ 163/180] random: Use arch_get_random_int instead of cycle counter if avail Willy Tarreau
2012-10-01 22:54 ` [ 164/180] random: Use arch-specific RNG to initialize the entropy store Willy Tarreau
2012-10-01 22:54 ` [ 165/180] random: Adjust the number of loops when initializing Willy Tarreau
2012-10-01 22:54 ` [ 166/180] drivers/char/random.c: fix boot id uniqueness race Willy Tarreau
2012-10-01 22:54 ` [ 167/180] random: make add_interrupt_randomness() do something sane Willy Tarreau
2012-10-01 22:54 ` [ 168/180] random: use lockless techniques in the interrupt path Willy Tarreau
2012-10-01 22:54 ` [ 169/180] random: create add_device_randomness() interface Willy Tarreau
2012-10-01 22:54 ` [ 170/180] random: use the arch-specific rng in xfer_secondary_pool Willy Tarreau
2012-10-01 22:54 ` [ 171/180] random: add new get_random_bytes_arch() function Willy Tarreau
2012-10-01 22:54 ` [ 172/180] random: mix in architectural randomness in extract_buf() Willy Tarreau
2012-10-01 22:54 ` [ 173/180] MAINTAINERS: Theodore Tso is taking over the random driver Willy Tarreau
2012-10-01 22:54 ` [ 174/180] usb: feed USB device information to the /dev/random driver Willy Tarreau
2012-10-01 22:54 ` [ 175/180] net: feed /dev/random with the MAC address when registering a device Willy Tarreau
2012-10-01 22:54 ` [ 176/180] random: remove rand_initialize_irq() Willy Tarreau
2012-10-01 22:54 ` [ 177/180] random: Add comment to random_initialize() Willy Tarreau
2012-10-01 22:54 ` [ 178/180] rtc: wm831x: Feed the write counter into device_add_randomness() Willy Tarreau
2012-10-01 22:54 ` [ 179/180] mfd: wm831x: Feed the device UUID " Willy Tarreau
2012-10-01 22:54 ` [ 180/180] dmi: Feed DMI table to /dev/random driver Willy Tarreau
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=20121001225203.927624379@1wt.eu \
--to=w@1wt.eu \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=stable@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).