mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Willy Tarreau <w@1wt.eu>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: "H. Peter Anvin" <hpa@linux.intel.com>,
	Ingo Molnar <mingo@kernel.org>,
	DJ Johnston <dj.johnston@intel.com>, Theodore Tso <tytso@mit.edu>,
	Paul Gortmaker <paul.gortmaker@windriver.com>,
	Willy Tarreau <w@1wt.eu>
Subject: [ 172/180] random: mix in architectural randomness in extract_buf()
Date: Tue, 02 Oct 2012 00:54:49 +0200	[thread overview]
Message-ID: <20121001225204.903698296@1wt.eu> (raw)
In-Reply-To: <6a854f579a99b4fe2efaca1057e8ae22@local>

2.6.32-longterm review patch.  If anyone has any objections, please let me know.

------------------

From: H. Peter Anvin <hpa@linux.intel.com>

commit d2e7c96af1e54b507ae2a6a7dd2baf588417a7e5 upstream.

Mix in any architectural randomness in extract_buf() instead of
xfer_secondary_buf().  This allows us to mix in more architectural
randomness, and it also makes xfer_secondary_buf() faster, moving a
tiny bit of additional CPU overhead to process which is extracting the
randomness.

[ Commit description modified by tytso to remove an extended
  advertisement for the RDRAND instruction. ]

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Acked-by: Ingo Molnar <mingo@kernel.org>
Cc: DJ Johnston <dj.johnston@intel.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Willy Tarreau <w@1wt.eu>
---
 drivers/char/random.c |   56 ++++++++++++++++++++++++++++---------------------
 1 files changed, 32 insertions(+), 24 deletions(-)

diff --git a/drivers/char/random.c b/drivers/char/random.c
index b038751..3ea1ddb 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -274,6 +274,8 @@
 #define SEC_XFER_SIZE 512
 #define EXTRACT_SIZE 10
 
+#define LONGS(x) (((x) + sizeof(unsigned long) - 1)/sizeof(unsigned long))
+
 /*
  * The minimum number of bits of entropy before we wake up a read on
  * /dev/random.  Should be enough to do a significant reseed.
@@ -835,11 +837,7 @@ static ssize_t extract_entropy(struct entropy_store *r, void *buf,
  */
 static void xfer_secondary_pool(struct entropy_store *r, size_t nbytes)
 {
-	union {
-		__u32	tmp[OUTPUT_POOL_WORDS];
-		long	hwrand[4];
-	} u;
-	int	i;
+	__u32	tmp[OUTPUT_POOL_WORDS];
 
 	if (r->pull && r->entropy_count < nbytes * 8 &&
 	    r->entropy_count < r->poolinfo->POOLBITS) {
@@ -850,23 +848,17 @@ static void xfer_secondary_pool(struct entropy_store *r, size_t nbytes)
 		/* pull at least as many as BYTES as wakeup BITS */
 		bytes = max_t(int, bytes, random_read_wakeup_thresh / 8);
 		/* but never more than the buffer size */
-		bytes = min_t(int, bytes, sizeof(u.tmp));
+		bytes = min_t(int, bytes, sizeof(tmp));
 
 		DEBUG_ENT("going to reseed %s with %d bits "
 			  "(%d of %d requested)\n",
 			  r->name, bytes * 8, nbytes * 8, r->entropy_count);
 
-		bytes = extract_entropy(r->pull, u.tmp, bytes,
+		bytes = extract_entropy(r->pull, tmp, bytes,
 					random_read_wakeup_thresh / 8, rsvd);
-		mix_pool_bytes(r, u.tmp, bytes, NULL);
+		mix_pool_bytes(r, tmp, bytes, NULL);
 		credit_entropy_bits(r, bytes*8);
 	}
-	kmemcheck_mark_initialized(&u.hwrand, sizeof(u.hwrand));
-	for (i = 0; i < 4; i++)
-		if (arch_get_random_long(&u.hwrand[i]))
-			break;
-	if (i)
-		mix_pool_bytes(r, &u.hwrand, sizeof(u.hwrand), 0);
 }
 
 /*
@@ -923,15 +915,19 @@ static size_t account(struct entropy_store *r, size_t nbytes, int min,
 static void extract_buf(struct entropy_store *r, __u8 *out)
 {
 	int i;
-	__u32 hash[5], workspace[SHA_WORKSPACE_WORDS];
+	union {
+		__u32 w[5];
+		unsigned long l[LONGS(EXTRACT_SIZE)];
+	} hash;
+	__u32 workspace[SHA_WORKSPACE_WORDS];
 	__u8 extract[64];
 	unsigned long flags;
 
 	/* Generate a hash across the pool, 16 words (512 bits) at a time */
-	sha_init(hash);
+	sha_init(hash.w);
 	spin_lock_irqsave(&r->lock, flags);
 	for (i = 0; i < r->poolinfo->poolwords; i += 16)
-		sha_transform(hash, (__u8 *)(r->pool + i), workspace);
+		sha_transform(hash.w, (__u8 *)(r->pool + i), workspace);
 
 	/*
 	 * We mix the hash back into the pool to prevent backtracking
@@ -942,14 +938,14 @@ static void extract_buf(struct entropy_store *r, __u8 *out)
 	 * brute-forcing the feedback as hard as brute-forcing the
 	 * hash.
 	 */
-	__mix_pool_bytes(r, hash, sizeof(hash), extract);
+	__mix_pool_bytes(r, hash.w, sizeof(hash.w), extract);
 	spin_unlock_irqrestore(&r->lock, flags);
 
 	/*
 	 * To avoid duplicates, we atomically extract a portion of the
 	 * pool while mixing, and hash one final time.
 	 */
-	sha_transform(hash, extract, workspace);
+	sha_transform(hash.w, extract, workspace);
 	memset(extract, 0, sizeof(extract));
 	memset(workspace, 0, sizeof(workspace));
 
@@ -958,11 +954,23 @@ static void extract_buf(struct entropy_store *r, __u8 *out)
 	 * pattern, we fold it in half. Thus, we always feed back
 	 * twice as much data as we output.
 	 */
-	hash[0] ^= hash[3];
-	hash[1] ^= hash[4];
-	hash[2] ^= rol32(hash[2], 16);
-	memcpy(out, hash, EXTRACT_SIZE);
-	memset(hash, 0, sizeof(hash));
+	hash.w[0] ^= hash.w[3];
+	hash.w[1] ^= hash.w[4];
+	hash.w[2] ^= rol32(hash.w[2], 16);
+
+	/*
+	 * If we have a architectural hardware random number
+	 * generator, mix that in, too.
+	 */
+	for (i = 0; i < LONGS(EXTRACT_SIZE); i++) {
+		unsigned long v;
+		if (!arch_get_random_long(&v))
+			break;
+		hash.l[i] ^= v;
+	}
+
+	memcpy(out, &hash, EXTRACT_SIZE);
+	memset(&hash, 0, sizeof(hash));
 }
 
 static ssize_t extract_entropy(struct entropy_store *r, void *buf,
-- 
1.7.2.1.45.g54fbc




  parent reply	other threads:[~2012-10-01 23:05 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 ` [ 149/180] epoll: introduce POLLFREE to flush ->signalfd_wqh before kfree() Willy Tarreau
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 ` Willy Tarreau [this message]
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=20121001225204.903698296@1wt.eu \
    --to=w@1wt.eu \
    --cc=dj.johnston@intel.com \
    --cc=hpa@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=paul.gortmaker@windriver.com \
    --cc=stable@vger.kernel.org \
    --cc=tytso@mit.edu \
    /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

all inboxes | Powered by JetHome®